@wordpress/block-editor 12.3.4 → 12.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +4 -0
  3. package/build/components/block-heading-level-dropdown/heading-level-icon.js +10 -2
  4. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  5. package/build/components/block-heading-level-dropdown/index.native.js +4 -3
  6. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  7. package/build/components/block-parent-selector/index.js +8 -5
  8. package/build/components/block-parent-selector/index.js.map +1 -1
  9. package/build/components/block-removal-warning-modal/index.js +18 -25
  10. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  11. package/build/components/block-tools/block-contextual-toolbar.js +7 -11
  12. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  13. package/build/components/global-styles/color-panel.js +1 -1
  14. package/build/components/global-styles/color-panel.js.map +1 -1
  15. package/build/components/global-styles/hooks.js +2 -2
  16. package/build/components/global-styles/hooks.js.map +1 -1
  17. package/build/components/global-styles/typography-panel.js +34 -2
  18. package/build/components/global-styles/typography-panel.js.map +1 -1
  19. package/build/components/index.js +19 -1
  20. package/build/components/index.js.map +1 -1
  21. package/build/components/inserter/media-tab/hooks.js +2 -21
  22. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  23. package/build/components/inserter/reusable-block-rename-hint.js +62 -0
  24. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -0
  25. package/build/components/inserter/reusable-blocks-tab.js +5 -1
  26. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  27. package/build/components/inserter/reusable-blocks-tab.native.js +2 -2
  28. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  29. package/build/components/inserter/tabs.native.js +1 -1
  30. package/build/components/inserter/tabs.native.js.map +1 -1
  31. package/build/components/inserter-draggable-blocks/index.js +9 -1
  32. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  33. package/build/components/link-control/constants.js +1 -1
  34. package/build/components/link-control/constants.js.map +1 -1
  35. package/build/components/link-control/search-create-button.js +5 -21
  36. package/build/components/link-control/search-create-button.js.map +1 -1
  37. package/build/components/link-control/search-item.js +13 -30
  38. package/build/components/link-control/search-item.js.map +1 -1
  39. package/build/components/link-control/search-results.js +2 -2
  40. package/build/components/link-control/search-results.js.map +1 -1
  41. package/build/components/list-view/appender.js +2 -6
  42. package/build/components/list-view/appender.js.map +1 -1
  43. package/build/components/provider/index.js +5 -2
  44. package/build/components/provider/index.js.map +1 -1
  45. package/build/components/writing-flow/use-tab-nav.js +10 -27
  46. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  47. package/build/components/writing-mode-control/index.js +70 -0
  48. package/build/components/writing-mode-control/index.js.map +1 -0
  49. package/build/hooks/behaviors.js +25 -20
  50. package/build/hooks/behaviors.js.map +1 -1
  51. package/build/hooks/supports.js +7 -1
  52. package/build/hooks/supports.js.map +1 -1
  53. package/build/hooks/typography.js +2 -1
  54. package/build/hooks/typography.js.map +1 -1
  55. package/build/hooks/utils.js +4 -2
  56. package/build/hooks/utils.js.map +1 -1
  57. package/build/private-apis.js +3 -0
  58. package/build/private-apis.js.map +1 -1
  59. package/build/private-apis.native.js +3 -0
  60. package/build/private-apis.native.js.map +1 -1
  61. package/build/store/actions.js +195 -1
  62. package/build/store/actions.js.map +1 -1
  63. package/build/store/index.js +10 -1
  64. package/build/store/index.js.map +1 -1
  65. package/build/store/private-actions.js +46 -40
  66. package/build/store/private-actions.js.map +1 -1
  67. package/build/store/private-selectors.js +3 -3
  68. package/build/store/private-selectors.js.map +1 -1
  69. package/build/store/reducer.js +22 -8
  70. package/build/store/reducer.js.map +1 -1
  71. package/build/store/selectors.js +6 -4
  72. package/build/store/selectors.js.map +1 -1
  73. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +9 -2
  74. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  75. package/build-module/components/block-heading-level-dropdown/index.native.js +4 -3
  76. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  77. package/build-module/components/block-parent-selector/index.js +7 -5
  78. package/build-module/components/block-parent-selector/index.js.map +1 -1
  79. package/build-module/components/block-removal-warning-modal/index.js +19 -23
  80. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  81. package/build-module/components/block-tools/block-contextual-toolbar.js +8 -11
  82. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  83. package/build-module/components/global-styles/color-panel.js +1 -1
  84. package/build-module/components/global-styles/color-panel.js.map +1 -1
  85. package/build-module/components/global-styles/hooks.js +2 -2
  86. package/build-module/components/global-styles/hooks.js.map +1 -1
  87. package/build-module/components/global-styles/typography-panel.js +33 -2
  88. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  89. package/build-module/components/index.js +6 -0
  90. package/build-module/components/index.js.map +1 -1
  91. package/build-module/components/inserter/media-tab/hooks.js +2 -21
  92. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  93. package/build-module/components/inserter/reusable-block-rename-hint.js +48 -0
  94. package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -0
  95. package/build-module/components/inserter/reusable-blocks-tab.js +4 -1
  96. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  97. package/build-module/components/inserter/reusable-blocks-tab.native.js +2 -2
  98. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  99. package/build-module/components/inserter/tabs.native.js +1 -1
  100. package/build-module/components/inserter/tabs.native.js.map +1 -1
  101. package/build-module/components/inserter-draggable-blocks/index.js +9 -2
  102. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  103. package/build-module/components/link-control/constants.js +1 -1
  104. package/build-module/components/link-control/constants.js.map +1 -1
  105. package/build-module/components/link-control/search-create-button.js +7 -20
  106. package/build-module/components/link-control/search-create-button.js.map +1 -1
  107. package/build-module/components/link-control/search-item.js +14 -28
  108. package/build-module/components/link-control/search-item.js.map +1 -1
  109. package/build-module/components/link-control/search-results.js +3 -3
  110. package/build-module/components/link-control/search-results.js.map +1 -1
  111. package/build-module/components/list-view/appender.js +2 -6
  112. package/build-module/components/list-view/appender.js.map +1 -1
  113. package/build-module/components/provider/index.js +5 -2
  114. package/build-module/components/provider/index.js.map +1 -1
  115. package/build-module/components/writing-flow/use-tab-nav.js +8 -26
  116. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  117. package/build-module/components/writing-mode-control/index.js +57 -0
  118. package/build-module/components/writing-mode-control/index.js.map +1 -0
  119. package/build-module/hooks/behaviors.js +26 -20
  120. package/build-module/hooks/behaviors.js.map +1 -1
  121. package/build-module/hooks/supports.js +7 -1
  122. package/build-module/hooks/supports.js.map +1 -1
  123. package/build-module/hooks/typography.js +2 -1
  124. package/build-module/hooks/typography.js.map +1 -1
  125. package/build-module/hooks/utils.js +4 -2
  126. package/build-module/hooks/utils.js.map +1 -1
  127. package/build-module/private-apis.js +2 -0
  128. package/build-module/private-apis.js.map +1 -1
  129. package/build-module/private-apis.native.js +2 -0
  130. package/build-module/private-apis.native.js.map +1 -1
  131. package/build-module/store/actions.js +191 -1
  132. package/build-module/store/actions.js.map +1 -1
  133. package/build-module/store/index.js +10 -1
  134. package/build-module/store/index.js.map +1 -1
  135. package/build-module/store/private-actions.js +45 -36
  136. package/build-module/store/private-actions.js.map +1 -1
  137. package/build-module/store/private-selectors.js +2 -2
  138. package/build-module/store/private-selectors.js.map +1 -1
  139. package/build-module/store/reducer.js +22 -8
  140. package/build-module/store/reducer.js.map +1 -1
  141. package/build-module/store/selectors.js +6 -4
  142. package/build-module/store/selectors.js.map +1 -1
  143. package/build-style/style-rtl.css +88 -81
  144. package/build-style/style.css +88 -81
  145. package/package.json +31 -31
  146. package/src/components/block-draggable/style.scss +1 -0
  147. package/src/components/block-heading-level-dropdown/heading-level-icon.js +6 -1
  148. package/src/components/block-heading-level-dropdown/index.native.js +8 -4
  149. package/src/components/block-inspector/style.scss +2 -1
  150. package/src/components/block-parent-selector/index.js +13 -8
  151. package/src/components/block-removal-warning-modal/index.js +16 -27
  152. package/src/components/block-tools/block-contextual-toolbar.js +5 -11
  153. package/src/components/block-tools/style.scss +69 -26
  154. package/src/components/font-family/README.md +71 -0
  155. package/src/components/global-styles/color-panel.js +1 -1
  156. package/src/components/global-styles/hooks.js +2 -0
  157. package/src/components/global-styles/typography-panel.js +40 -0
  158. package/src/components/index.js +6 -0
  159. package/src/components/inserter/media-tab/hooks.js +2 -22
  160. package/src/components/inserter/reusable-block-rename-hint.js +52 -0
  161. package/src/components/inserter/reusable-blocks-tab.js +4 -0
  162. package/src/components/inserter/reusable-blocks-tab.native.js +2 -2
  163. package/src/components/inserter/style.scss +28 -0
  164. package/src/components/inserter/tabs.native.js +5 -1
  165. package/src/components/inserter-draggable-blocks/index.js +13 -2
  166. package/src/components/link-control/constants.js +1 -1
  167. package/src/components/link-control/search-create-button.js +8 -26
  168. package/src/components/link-control/search-item.js +21 -43
  169. package/src/components/link-control/search-results.js +48 -46
  170. package/src/components/link-control/style.scss +18 -68
  171. package/src/components/link-control/test/index.js +6 -7
  172. package/src/components/list-view/appender.js +5 -6
  173. package/src/components/panel-color-settings/README.md +98 -0
  174. package/src/components/provider/index.js +9 -2
  175. package/src/components/recursion-provider/README.md +101 -0
  176. package/src/components/writing-flow/use-tab-nav.js +10 -33
  177. package/src/components/writing-mode-control/index.js +68 -0
  178. package/src/components/writing-mode-control/style.scss +18 -0
  179. package/src/hooks/behaviors.js +25 -16
  180. package/src/hooks/supports.js +7 -0
  181. package/src/hooks/typography.js +2 -0
  182. package/src/hooks/utils.js +3 -0
  183. package/src/private-apis.js +2 -0
  184. package/src/private-apis.native.js +2 -0
  185. package/src/store/actions.js +194 -1
  186. package/src/store/index.js +10 -0
  187. package/src/store/private-actions.js +39 -39
  188. package/src/store/private-selectors.js +2 -2
  189. package/src/store/reducer.js +22 -8
  190. package/src/store/selectors.js +9 -6
  191. package/src/store/test/actions.js +111 -0
  192. package/src/store/test/private-actions.js +56 -0
@@ -22,7 +22,7 @@ const EMPTY_CONFIG = {
22
22
  settings: {},
23
23
  styles: {}
24
24
  };
25
- const VALID_SETTINGS = ['appearanceTools', 'useRootPaddingAwareAlignments', 'border.color', 'border.radius', 'border.style', 'border.width', 'shadow.presets', 'shadow.defaultPresets', 'color.background', 'color.button', 'color.caption', 'color.custom', 'color.customDuotone', 'color.customGradient', 'color.defaultDuotone', 'color.defaultGradients', 'color.defaultPalette', 'color.duotone', 'color.gradients', 'color.heading', 'color.link', 'color.palette', 'color.text', 'custom', 'dimensions.minHeight', 'layout.contentSize', 'layout.definitions', 'layout.wideSize', 'position.fixed', 'position.sticky', 'spacing.customSpacingSize', 'spacing.spacingSizes', 'spacing.spacingScale', 'spacing.blockGap', 'spacing.margin', 'spacing.padding', 'spacing.units', 'typography.fluid', 'typography.customFontSize', 'typography.dropCap', 'typography.fontFamilies', 'typography.fontSizes', 'typography.fontStyle', 'typography.fontWeight', 'typography.letterSpacing', 'typography.lineHeight', 'typography.textColumns', 'typography.textDecoration', 'typography.textTransform'];
25
+ const VALID_SETTINGS = ['appearanceTools', 'useRootPaddingAwareAlignments', 'border.color', 'border.radius', 'border.style', 'border.width', 'shadow.presets', 'shadow.defaultPresets', 'color.background', 'color.button', 'color.caption', 'color.custom', 'color.customDuotone', 'color.customGradient', 'color.defaultDuotone', 'color.defaultGradients', 'color.defaultPalette', 'color.duotone', 'color.gradients', 'color.heading', 'color.link', 'color.palette', 'color.text', 'custom', 'dimensions.minHeight', 'layout.contentSize', 'layout.definitions', 'layout.wideSize', 'position.fixed', 'position.sticky', 'spacing.customSpacingSize', 'spacing.spacingSizes', 'spacing.spacingScale', 'spacing.blockGap', 'spacing.margin', 'spacing.padding', 'spacing.units', 'typography.fluid', 'typography.customFontSize', 'typography.dropCap', 'typography.fontFamilies', 'typography.fontSizes', 'typography.fontStyle', 'typography.fontWeight', 'typography.letterSpacing', 'typography.lineHeight', 'typography.textColumns', 'typography.textDecoration', 'typography.textTransform', 'typography.writingMode'];
26
26
  export const useGlobalStylesReset = () => {
27
27
  const {
28
28
  user: config,
@@ -180,7 +180,7 @@ export function useSettingsForBlockElement(parentSettings, blockName, element) {
180
180
  updatedSettings.color.customDuotone = false;
181
181
  }
182
182
 
183
- ['lineHeight', 'fontStyle', 'fontWeight', 'letterSpacing', 'textTransform', 'textDecoration'].forEach(key => {
183
+ ['lineHeight', 'fontStyle', 'fontWeight', 'letterSpacing', 'textTransform', 'textDecoration', 'writingMode'].forEach(key => {
184
184
  if (!supportedStyles.includes(key)) {
185
185
  updatedSettings.typography = { ...updatedSettings.typography,
186
186
  [key]: false
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"names":["fastDeepEqual","get","set","useContext","useCallback","useMemo","useSelect","store","blocksStore","_x","getValueFromVariable","getPresetVariableFromValue","GlobalStylesContext","unlock","EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","config","setUserConfig","canReset","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","configToUse","result","forEach","setting","value","setSetting","newValue","currentConfig","newUserConfig","JSON","parse","stringify","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","rawResult","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","select","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","defaultDuotone","customDuotone","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","minHeight","charAt","toUpperCase","slice","border","shadow","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\nimport { get, set } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tget( configToUse, contextualPath ) ??\n\t\t\t\tget( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tconst result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tget(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ?? get( configToUse, `settings.${ setting }` );\n\t\t\tif ( value ) {\n\t\t\t\tset( result, setting, value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset( newUserConfig, contextualPath, newValue );\n\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset(\n\t\t\t\tnewUserConfig,\n\t\t\t\tfinalPath,\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t);\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult = get( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = get( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = get( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t// If filters are not supported by the block/element, disable duotone.\n\t\tif ( ! supportedStyles.includes( 'filter' ) ) {\n\t\t\tupdatedSettings.color.defaultDuotone = false;\n\t\t\tupdatedSettings.color.customDuotone = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\tif ( sides?.length ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! supportedStyles.includes( 'minHeight' ) ) {\n\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\tminHeight: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tupdatedSettings.shadow = supportedStyles.includes( 'shadow' )\n\t\t\t? updatedSettings.shadow\n\t\t\t: false;\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/hooks.js"],"names":["fastDeepEqual","get","set","useContext","useCallback","useMemo","useSelect","store","blocksStore","_x","getValueFromVariable","getPresetVariableFromValue","GlobalStylesContext","unlock","EMPTY_CONFIG","settings","styles","VALID_SETTINGS","useGlobalStylesReset","user","config","setUserConfig","canReset","useGlobalSetting","propertyPath","blockName","source","configs","appendedBlockPath","appendedPropertyPath","contextualPath","globalPath","sourceKey","settingValue","configToUse","result","forEach","setting","value","setSetting","newValue","currentConfig","newUserConfig","JSON","parse","stringify","useGlobalStyle","path","shouldDecodeEncode","merged","mergedConfig","base","baseConfig","userConfig","appendedPath","finalPath","setStyle","rawResult","useSettingsForBlockElement","parentSettings","element","supportedStyles","supports","select","getSupportedStyles","getBlockType","updatedSettings","includes","typography","fontSizes","customFontSize","fontFamilies","color","text","background","button","heading","link","caption","gradients","customGradient","defaultDuotone","customDuotone","key","textColumns","layout","spacing","sides","Array","isArray","length","dimensions","minHeight","charAt","toUpperCase","slice","border","shadow","useColorsPerOrigin","customColors","palette","custom","themeColors","theme","defaultColors","default","shouldDisplayDefaultColors","defaultPalette","push","name","colors","useGradientsPerOrigin","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\nimport { get, set } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, getPresetVariableFromValue } from './utils';\nimport { GlobalStylesContext } from './context';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_CONFIG = { settings: {}, styles: {} };\n\nconst VALID_SETTINGS = [\n\t'appearanceTools',\n\t'useRootPaddingAwareAlignments',\n\t'border.color',\n\t'border.radius',\n\t'border.style',\n\t'border.width',\n\t'shadow.presets',\n\t'shadow.defaultPresets',\n\t'color.background',\n\t'color.button',\n\t'color.caption',\n\t'color.custom',\n\t'color.customDuotone',\n\t'color.customGradient',\n\t'color.defaultDuotone',\n\t'color.defaultGradients',\n\t'color.defaultPalette',\n\t'color.duotone',\n\t'color.gradients',\n\t'color.heading',\n\t'color.link',\n\t'color.palette',\n\t'color.text',\n\t'custom',\n\t'dimensions.minHeight',\n\t'layout.contentSize',\n\t'layout.definitions',\n\t'layout.wideSize',\n\t'position.fixed',\n\t'position.sticky',\n\t'spacing.customSpacingSize',\n\t'spacing.spacingSizes',\n\t'spacing.spacingScale',\n\t'spacing.blockGap',\n\t'spacing.margin',\n\t'spacing.padding',\n\t'spacing.units',\n\t'typography.fluid',\n\t'typography.customFontSize',\n\t'typography.dropCap',\n\t'typography.fontFamilies',\n\t'typography.fontSizes',\n\t'typography.fontStyle',\n\t'typography.fontWeight',\n\t'typography.letterSpacing',\n\t'typography.lineHeight',\n\t'typography.textColumns',\n\t'typography.textDecoration',\n\t'typography.textTransform',\n\t'typography.writingMode',\n];\n\nexport const useGlobalStylesReset = () => {\n\tconst { user: config, setUserConfig } = useContext( GlobalStylesContext );\n\tconst canReset = !! config && ! fastDeepEqual( config, EMPTY_CONFIG );\n\treturn [\n\t\tcanReset,\n\t\tuseCallback(\n\t\t\t() => setUserConfig( () => EMPTY_CONFIG ),\n\t\t\t[ setUserConfig ]\n\t\t),\n\t];\n};\n\nexport function useGlobalSetting( propertyPath, blockName, source = 'all' ) {\n\tconst { setUserConfig, ...configs } = useContext( GlobalStylesContext );\n\n\tconst appendedBlockPath = blockName ? '.blocks.' + blockName : '';\n\tconst appendedPropertyPath = propertyPath ? '.' + propertyPath : '';\n\tconst contextualPath = `settings${ appendedBlockPath }${ appendedPropertyPath }`;\n\tconst globalPath = `settings${ appendedPropertyPath }`;\n\tconst sourceKey = source === 'all' ? 'merged' : source;\n\n\tconst settingValue = useMemo( () => {\n\t\tconst configToUse = configs[ sourceKey ];\n\t\tif ( ! configToUse ) {\n\t\t\tthrow 'Unsupported source';\n\t\t}\n\n\t\tif ( propertyPath ) {\n\t\t\treturn (\n\t\t\t\tget( configToUse, contextualPath ) ??\n\t\t\t\tget( configToUse, globalPath )\n\t\t\t);\n\t\t}\n\n\t\tconst result = {};\n\t\tVALID_SETTINGS.forEach( ( setting ) => {\n\t\t\tconst value =\n\t\t\t\tget(\n\t\t\t\t\tconfigToUse,\n\t\t\t\t\t`settings${ appendedBlockPath }.${ setting }`\n\t\t\t\t) ?? get( configToUse, `settings.${ setting }` );\n\t\t\tif ( value ) {\n\t\t\t\tset( result, setting, value );\n\t\t\t}\n\t\t} );\n\t\treturn result;\n\t}, [\n\t\tconfigs,\n\t\tsourceKey,\n\t\tpropertyPath,\n\t\tcontextualPath,\n\t\tglobalPath,\n\t\tappendedBlockPath,\n\t] );\n\n\tconst setSetting = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset( newUserConfig, contextualPath, newValue );\n\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\treturn [ settingValue, setSetting ];\n}\n\nexport function useGlobalStyle(\n\tpath,\n\tblockName,\n\tsource = 'all',\n\t{ shouldDecodeEncode = true } = {}\n) {\n\tconst {\n\t\tmerged: mergedConfig,\n\t\tbase: baseConfig,\n\t\tuser: userConfig,\n\t\tsetUserConfig,\n\t} = useContext( GlobalStylesContext );\n\tconst appendedPath = path ? '.' + path : '';\n\tconst finalPath = ! blockName\n\t\t? `styles${ appendedPath }`\n\t\t: `styles.blocks.${ blockName }${ appendedPath }`;\n\n\tconst setStyle = ( newValue ) => {\n\t\tsetUserConfig( ( currentConfig ) => {\n\t\t\t// Deep clone `currentConfig` to avoid mutating it later.\n\t\t\tconst newUserConfig = JSON.parse( JSON.stringify( currentConfig ) );\n\t\t\tset(\n\t\t\t\tnewUserConfig,\n\t\t\t\tfinalPath,\n\t\t\t\tshouldDecodeEncode\n\t\t\t\t\t? getPresetVariableFromValue(\n\t\t\t\t\t\t\tmergedConfig.settings,\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t )\n\t\t\t\t\t: newValue\n\t\t\t);\n\t\t\treturn newUserConfig;\n\t\t} );\n\t};\n\n\tlet rawResult, result;\n\tswitch ( source ) {\n\t\tcase 'all':\n\t\t\trawResult = get( mergedConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\trawResult = get( userConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( mergedConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tcase 'base':\n\t\t\trawResult = get( baseConfig, finalPath );\n\t\t\tresult = shouldDecodeEncode\n\t\t\t\t? getValueFromVariable( baseConfig, blockName, rawResult )\n\t\t\t\t: rawResult;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow 'Unsupported source';\n\t}\n\n\treturn [ result, setStyle ];\n}\n\n/**\n * React hook that overrides a global settings object with block and element specific settings.\n *\n * @param {Object} parentSettings Settings object.\n * @param {blockName?} blockName Block name.\n * @param {element?} element Element name.\n *\n * @return {Object} Merge of settings and supports.\n */\nexport function useSettingsForBlockElement(\n\tparentSettings,\n\tblockName,\n\telement\n) {\n\tconst { supportedStyles, supports } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tsupportedStyles: unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t).getSupportedStyles( blockName, element ),\n\t\t\t\tsupports:\n\t\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.supports,\n\t\t\t};\n\t\t},\n\t\t[ blockName, element ]\n\t);\n\n\treturn useMemo( () => {\n\t\tconst updatedSettings = { ...parentSettings };\n\n\t\tif ( ! supportedStyles.includes( 'fontSize' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontSizes: {},\n\t\t\t\tcustomFontSize: false,\n\t\t\t};\n\t\t}\n\n\t\tif ( ! supportedStyles.includes( 'fontFamily' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\tfontFamilies: {},\n\t\t\t};\n\t\t}\n\n\t\tupdatedSettings.color = {\n\t\t\t...updatedSettings.color,\n\t\t\ttext:\n\t\t\t\tupdatedSettings.color?.text &&\n\t\t\t\tsupportedStyles.includes( 'color' ),\n\t\t\tbackground:\n\t\t\t\tupdatedSettings.color?.background &&\n\t\t\t\t( supportedStyles.includes( 'background' ) ||\n\t\t\t\t\tsupportedStyles.includes( 'backgroundColor' ) ),\n\t\t\tbutton:\n\t\t\t\tupdatedSettings.color?.button &&\n\t\t\t\tsupportedStyles.includes( 'buttonColor' ),\n\t\t\theading:\n\t\t\t\tupdatedSettings.color?.heading &&\n\t\t\t\tsupportedStyles.includes( 'headingColor' ),\n\t\t\tlink:\n\t\t\t\tupdatedSettings.color?.link &&\n\t\t\t\tsupportedStyles.includes( 'linkColor' ),\n\t\t\tcaption:\n\t\t\t\tupdatedSettings.color?.caption &&\n\t\t\t\tsupportedStyles.includes( 'captionColor' ),\n\t\t};\n\n\t\t// Some blocks can enable background colors but disable gradients.\n\t\tif ( ! supportedStyles.includes( 'background' ) ) {\n\t\t\tupdatedSettings.color.gradients = [];\n\t\t\tupdatedSettings.color.customGradient = false;\n\t\t}\n\n\t\t// If filters are not supported by the block/element, disable duotone.\n\t\tif ( ! supportedStyles.includes( 'filter' ) ) {\n\t\t\tupdatedSettings.color.defaultDuotone = false;\n\t\t\tupdatedSettings.color.customDuotone = false;\n\t\t}\n\n\t\t[\n\t\t\t'lineHeight',\n\t\t\t'fontStyle',\n\t\t\t'fontWeight',\n\t\t\t'letterSpacing',\n\t\t\t'textTransform',\n\t\t\t'textDecoration',\n\t\t\t'writingMode',\n\t\t].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.typography = {\n\t\t\t\t\t...updatedSettings.typography,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t// The column-count style is named text column to reduce confusion with\n\t\t// the columns block and manage expectations from the support.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/33587\n\t\tif ( ! supportedStyles.includes( 'columnCount' ) ) {\n\t\t\tupdatedSettings.typography = {\n\t\t\t\t...updatedSettings.typography,\n\t\t\t\ttextColumns: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'contentSize', 'wideSize' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.layout = {\n\t\t\t\t\t...updatedSettings.layout,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\t[ 'padding', 'margin', 'blockGap' ].forEach( ( key ) => {\n\t\t\tif ( ! supportedStyles.includes( key ) ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst sides = Array.isArray( supports?.spacing?.[ key ] )\n\t\t\t\t? supports?.spacing?.[ key ]\n\t\t\t\t: supports?.spacing?.[ key ]?.sides;\n\t\t\tif ( sides?.length ) {\n\t\t\t\tupdatedSettings.spacing = {\n\t\t\t\t\t...updatedSettings.spacing,\n\t\t\t\t\t[ key ]: {\n\t\t\t\t\t\t...updatedSettings.spacing?.[ key ],\n\t\t\t\t\t\tsides,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tif ( ! supportedStyles.includes( 'minHeight' ) ) {\n\t\t\tupdatedSettings.dimensions = {\n\t\t\t\t...updatedSettings.dimensions,\n\t\t\t\tminHeight: false,\n\t\t\t};\n\t\t}\n\n\t\t[ 'radius', 'color', 'style', 'width' ].forEach( ( key ) => {\n\t\t\tif (\n\t\t\t\t! supportedStyles.includes(\n\t\t\t\t\t'border' + key.charAt( 0 ).toUpperCase() + key.slice( 1 )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdatedSettings.border = {\n\t\t\t\t\t...updatedSettings.border,\n\t\t\t\t\t[ key ]: false,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\n\t\tupdatedSettings.shadow = supportedStyles.includes( 'shadow' )\n\t\t\t? updatedSettings.shadow\n\t\t\t: false;\n\n\t\treturn updatedSettings;\n\t}, [ parentSettings, supportedStyles, supports ] );\n}\n\nexport function useColorsPerOrigin( settings ) {\n\tconst customColors = settings?.color?.palette?.custom;\n\tconst themeColors = settings?.color?.palette?.theme;\n\tconst defaultColors = settings?.color?.palette?.default;\n\tconst shouldDisplayDefaultColors = settings?.color?.defaultPalette;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n}\n\nexport function useGradientsPerOrigin( settings ) {\n\tconst customGradients = settings?.color?.gradients?.custom;\n\tconst themeGradients = settings?.color?.gradients?.theme;\n\tconst defaultGradients = settings?.color?.gradients?.default;\n\tconst shouldDisplayDefaultGradients = settings?.color?.defaultGradients;\n\n\treturn useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n}\n"]}
@@ -16,6 +16,7 @@ import LineHeightControl from '../line-height-control';
16
16
  import LetterSpacingControl from '../letter-spacing-control';
17
17
  import TextTransformControl from '../text-transform-control';
18
18
  import TextDecorationControl from '../text-decoration-control';
19
+ import WritingModeControl from '../writing-mode-control';
19
20
  import { getValueFromVariable } from './utils';
20
21
  import { setImmutably } from '../../utils/object';
21
22
  const MIN_TEXT_COLUMNS = 1;
@@ -27,9 +28,10 @@ export function useHasTypographyPanel(settings) {
27
28
  const hasLetterSpacing = useHasLetterSpacingControl(settings);
28
29
  const hasTextTransform = useHasTextTransformControl(settings);
29
30
  const hasTextDecoration = useHasTextDecorationControl(settings);
31
+ const hasWritingMode = useHasWritingModeControl(settings);
30
32
  const hasTextColumns = useHasTextColumnsControl(settings);
31
33
  const hasFontSize = useHasFontSizeControl(settings);
32
- return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || hasTextTransform || hasFontSize || hasTextDecoration || hasTextColumns;
34
+ return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || hasTextTransform || hasFontSize || hasTextDecoration || hasWritingMode || hasTextColumns;
33
35
  }
34
36
 
35
37
  function useHasFontSizeControl(settings) {
@@ -86,6 +88,10 @@ function useHasTextDecorationControl(settings) {
86
88
  return settings?.typography?.textDecoration;
87
89
  }
88
90
 
91
+ function useHasWritingModeControl(settings) {
92
+ return settings?.typography?.writingMode;
93
+ }
94
+
89
95
  function useHasTextColumnsControl(settings) {
90
96
  return settings?.typography?.textColumns;
91
97
  }
@@ -117,6 +123,7 @@ const DEFAULT_CONTROLS = {
117
123
  letterSpacing: true,
118
124
  textTransform: true,
119
125
  textDecoration: true,
126
+ writingMode: true,
120
127
  textColumns: true
121
128
  };
122
129
  export default function TypographyPanel({
@@ -251,7 +258,19 @@ export default function TypographyPanel({
251
258
 
252
259
  const hasTextDecoration = () => !!value?.typography?.textDecoration;
253
260
 
254
- const resetTextDecoration = () => setTextDecoration(undefined);
261
+ const resetTextDecoration = () => setTextDecoration(undefined); // Text Orientation
262
+
263
+
264
+ const hasWritingModeControl = useHasWritingModeControl(settings);
265
+ const writingMode = decodeValue(inheritedValue?.typography?.writingMode);
266
+
267
+ const setWritingMode = newValue => {
268
+ onChange(setImmutably(value, ['typography', 'writingMode'], newValue || undefined));
269
+ };
270
+
271
+ const hasWritingMode = () => !!value?.typography?.writingMode;
272
+
273
+ const resetWritingMode = () => setWritingMode(undefined);
255
274
 
256
275
  const resetAllFilter = useCallback(previousValue => {
257
276
  return { ...previousValue,
@@ -360,6 +379,18 @@ export default function TypographyPanel({
360
379
  onChange: setTextDecoration,
361
380
  size: "__unstable-large",
362
381
  __unstableInputWidth: "auto"
382
+ })), hasWritingModeControl && createElement(ToolsPanelItem, {
383
+ className: "single-column",
384
+ label: __('Text orientation'),
385
+ hasValue: hasWritingMode,
386
+ onDeselect: resetWritingMode,
387
+ isShownByDefault: defaultControls.writingMode,
388
+ panelId: panelId
389
+ }, createElement(WritingModeControl, {
390
+ value: writingMode,
391
+ onChange: setWritingMode,
392
+ size: "__unstable-large",
393
+ __nextHasNoMarginBottom: true
363
394
  })), hasTextTransformControl && createElement(ToolsPanelItem, {
364
395
  label: __('Letter case'),
365
396
  hasValue: hasTextTransform,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"names":["FontSizePicker","__experimentalNumberControl","NumberControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useCallback","FontFamilyControl","FontAppearanceControl","LineHeightControl","LetterSpacingControl","TextTransformControl","TextDecorationControl","getValueFromVariable","setImmutably","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","concat","custom","theme","default","length","fontFamiliesPerOrigin","fontFamilies","sort","a","b","name","slug","localeCompare","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","textColumns","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasFontFamilyEnabled","setFontFamily","newValue","find","f","undefined","resetFontFamily","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","previousValue"],"mappings":"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","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 } 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 TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\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 hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( 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\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] )\n\t\t.sort( ( a, b ) =>\n\t\t\t( a?.name || a?.slug ).localeCompare( b?.name || a?.slug )\n\t\t);\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\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 useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\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>\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\ttextTransform: true,\n\ttextDecoration: 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} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] );\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\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 fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\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 = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\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\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 family' ) }\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 && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font 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={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\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\t__nextHasNoMarginBottom\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\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{ 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__nextHasNoMarginBottom\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={ __( 'Text 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={ __( 'Text 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={ __( 'Text 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{ 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</Wrapper>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"names":["FontSizePicker","__experimentalNumberControl","NumberControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useCallback","FontFamilyControl","FontAppearanceControl","LineHeightControl","LetterSpacingControl","TextTransformControl","TextDecorationControl","WritingModeControl","getValueFromVariable","setImmutably","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","concat","custom","theme","default","length","fontFamiliesPerOrigin","fontFamilies","sort","a","b","name","slug","localeCompare","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","writingMode","textColumns","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasFontFamilyEnabled","setFontFamily","newValue","find","f","undefined","resetFontFamily","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","previousValue"],"mappings":"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","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 } 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 TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\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 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\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] )\n\t\t.sort( ( a, b ) =>\n\t\t\t( a?.name || a?.slug ).localeCompare( b?.name || a?.slug )\n\t\t);\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\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 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\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\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>\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\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} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] );\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\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 fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\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 = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\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\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 family' ) }\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 && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font 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={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\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\t__nextHasNoMarginBottom\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\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{ 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__nextHasNoMarginBottom\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={ __( 'Text 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={ __( 'Text 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={ __( 'Text 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={ __( 'Text 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</Wrapper>\n\t);\n}\n"]}
@@ -37,6 +37,7 @@ export { default as __experimentalFontFamilyControl } from './font-family';
37
37
  export { default as __experimentalLetterSpacingControl } from './letter-spacing-control';
38
38
  export { default as __experimentalTextDecorationControl } from './text-decoration-control';
39
39
  export { default as __experimentalTextTransformControl } from './text-transform-control';
40
+ export { default as __experimentalWritingModeControl } from './writing-mode-control';
40
41
  export { default as __experimentalColorGradientControl } from './colors-gradients/control';
41
42
  export { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';
42
43
  export { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';
@@ -116,4 +117,9 @@ export { default as __experimentalInspectorPopoverHeader } from './inspector-pop
116
117
 
117
118
  export { default as BlockEditorProvider } from './provider';
118
119
  export { default as useSetting } from './use-setting';
120
+ /*
121
+ * The following rename hint component can be removed in 6.4.
122
+ */
123
+
124
+ export { default as ReusableBlocksRenameHint } from './inserter/reusable-block-rename-hint';
119
125
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":["AlignmentControl","AlignmentToolbar","default","Autocomplete","BlockAlignmentControl","BlockAlignmentToolbar","__experimentalBlockFullHeightAligmentControl","__experimentalBlockAlignmentMatrixControl","BlockBreadcrumb","__experimentalUseBlockOverlayActive","BlockContextProvider","BlockControls","BlockFormatControls","BlockColorsStyleSelector","BlockEdit","useBlockEditContext","BlockIcon","BlockNavigationDropdown","BlockStyles","HeadingLevelDropdown","__experimentalBlockVariationPicker","__experimentalBlockPatternSetup","__experimentalBlockVariationTransforms","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","__experimentalBorderRadiusControl","ButtonBlockerAppender","ButtonBlockAppender","ColorPalette","ColorPaletteControl","ContrastChecker","__experimentalDateFormatPicker","__experimentalDuotoneControl","__experimentalFontAppearanceControl","__experimentalFontFamilyControl","__experimentalLetterSpacingControl","__experimentalTextDecorationControl","__experimentalTextTransformControl","__experimentalColorGradientControl","__experimentalColorGradientSettingsDropdown","__experimentalPanelColorGradientSettings","__experimentalUseMultipleOriginColorsAndGradients","HeightControl","__experimentalImageEditor","__experimentalImageSizeControl","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","__experimentalLinkControl","__experimentalLinkControlSearchInput","__experimentalLinkControlSearchResults","__experimentalLinkControlSearchItem","LineHeightControl","__experimentalListView","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MediaUploadCheck","PanelColorSettings","PlainText","__experimentalResponsiveBlockControl","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","ToolSelector","__experimentalUnitControl","URLInput","URLInputButton","URLPopover","__experimentalImageURLInputUI","withColorContext","__experimentalSpacingSizesControl","getSpacingPresetCssVar","isValueSpacingPreset","getCustomValueFromPreset","__unstableBlockSettingsMenuFirstItem","__unstableBlockToolbarLastItem","__unstableBlockNameContext","__unstableInserterMenuExtension","__experimentalPreviewOptions","__experimentalUseResizeCanvas","BlockInspector","BlockList","useBlockProps","BlockMover","BlockPreview","useBlockPreview","__experimentalUseBlockPreview","BlockSelectionClearer","useBlockSelectionClearer","__unstableUseBlockSelectionClearer","BlockSettingsMenu","BlockSettingsMenuControls","BlockTitle","BlockToolbar","BlockTools","CopyHandler","useClipboardHandler","__unstableUseClipboardHandler","DefaultBlockAppender","__unstableEditorStyles","Inserter","__experimentalLibrary","BlockEditorKeyboardShortcuts","MultiSelectScrollIntoView","NavigableToolbar","ObserveTyping","useTypingObserver","__unstableUseTypingObserver","useMouseMoveTypingReset","__unstableUseMouseMoveTypingReset","SkipToSelectedBlock","Typewriter","useTypewriter","__unstableUseTypewriter","Warning","WritingFlow","useBlockDisplayInformation","__unstableIframe","RecursionProvider","__experimentalRecursionProvider","useHasRecursion","__experimentalUseHasRecursion","__experimentalBlockPatternsList","__experimentalPublishDateTimePicker","__experimentalInspectorPopoverHeader","BlockEditorProvider","useSetting"],"mappings":"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","sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport * from './duotone';\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 {\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 __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 { default as __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __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 ToolSelector } from './tool-selector';\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\tuseClipboardHandler as __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 as __experimentalRecursionProvider,\n\tuseHasRecursion 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';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":["AlignmentControl","AlignmentToolbar","default","Autocomplete","BlockAlignmentControl","BlockAlignmentToolbar","__experimentalBlockFullHeightAligmentControl","__experimentalBlockAlignmentMatrixControl","BlockBreadcrumb","__experimentalUseBlockOverlayActive","BlockContextProvider","BlockControls","BlockFormatControls","BlockColorsStyleSelector","BlockEdit","useBlockEditContext","BlockIcon","BlockNavigationDropdown","BlockStyles","HeadingLevelDropdown","__experimentalBlockVariationPicker","__experimentalBlockPatternSetup","__experimentalBlockVariationTransforms","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","__experimentalBorderRadiusControl","ButtonBlockerAppender","ButtonBlockAppender","ColorPalette","ColorPaletteControl","ContrastChecker","__experimentalDateFormatPicker","__experimentalDuotoneControl","__experimentalFontAppearanceControl","__experimentalFontFamilyControl","__experimentalLetterSpacingControl","__experimentalTextDecorationControl","__experimentalTextTransformControl","__experimentalWritingModeControl","__experimentalColorGradientControl","__experimentalColorGradientSettingsDropdown","__experimentalPanelColorGradientSettings","__experimentalUseMultipleOriginColorsAndGradients","HeightControl","__experimentalImageEditor","__experimentalImageSizeControl","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","__experimentalLinkControl","__experimentalLinkControlSearchInput","__experimentalLinkControlSearchResults","__experimentalLinkControlSearchItem","LineHeightControl","__experimentalListView","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MediaUploadCheck","PanelColorSettings","PlainText","__experimentalResponsiveBlockControl","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","ToolSelector","__experimentalUnitControl","URLInput","URLInputButton","URLPopover","__experimentalImageURLInputUI","withColorContext","__experimentalSpacingSizesControl","getSpacingPresetCssVar","isValueSpacingPreset","getCustomValueFromPreset","__unstableBlockSettingsMenuFirstItem","__unstableBlockToolbarLastItem","__unstableBlockNameContext","__unstableInserterMenuExtension","__experimentalPreviewOptions","__experimentalUseResizeCanvas","BlockInspector","BlockList","useBlockProps","BlockMover","BlockPreview","useBlockPreview","__experimentalUseBlockPreview","BlockSelectionClearer","useBlockSelectionClearer","__unstableUseBlockSelectionClearer","BlockSettingsMenu","BlockSettingsMenuControls","BlockTitle","BlockToolbar","BlockTools","CopyHandler","useClipboardHandler","__unstableUseClipboardHandler","DefaultBlockAppender","__unstableEditorStyles","Inserter","__experimentalLibrary","BlockEditorKeyboardShortcuts","MultiSelectScrollIntoView","NavigableToolbar","ObserveTyping","useTypingObserver","__unstableUseTypingObserver","useMouseMoveTypingReset","__unstableUseMouseMoveTypingReset","SkipToSelectedBlock","Typewriter","useTypewriter","__unstableUseTypewriter","Warning","WritingFlow","useBlockDisplayInformation","__unstableIframe","RecursionProvider","__experimentalRecursionProvider","useHasRecursion","__experimentalUseHasRecursion","__experimentalBlockPatternsList","__experimentalPublishDateTimePicker","__experimentalInspectorPopoverHeader","BlockEditorProvider","useSetting","ReusableBlocksRenameHint"],"mappings":"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","sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport * from './duotone';\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 {\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 { default as __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __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 ToolSelector } from './tool-selector';\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\tuseClipboardHandler as __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 as __experimentalRecursionProvider,\n\tuseHasRecursion 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';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\n\n/*\n * The following rename hint component can be removed in 6.4.\n */\nexport { default as ReusableBlocksRenameHint } from './inserter/reusable-block-rename-hint';\n"]}
@@ -8,28 +8,9 @@ import { useSelect } from '@wordpress/data';
8
8
  */
9
9
 
10
10
  import { store as blockEditorStore } from '../../../store';
11
- /**
12
- * Interface for inserter media requests.
13
- *
14
- * @typedef {Object} InserterMediaRequest
15
- * @property {number} per_page How many items to fetch per page.
16
- * @property {string} search The search term to use for filtering the results.
17
- */
11
+ /** @typedef {import('./api').InserterMediaRequest} InserterMediaRequest */
18
12
 
19
- /**
20
- * Interface for inserter media responses. Any media resource should
21
- * map their response to this interface, in order to create the core
22
- * WordPress media blocks (image, video, audio).
23
- *
24
- * @typedef {Object} InserterMediaItem
25
- * @property {string} title The title of the media item.
26
- * @property {string} url The source url of the media item.
27
- * @property {string} [previewUrl] The preview source url of the media item to display in the media list.
28
- * @property {number} [id] The WordPress id of the media item.
29
- * @property {number|string} [sourceId] The id of the media item from external source.
30
- * @property {string} [alt] The alt text of the media item.
31
- * @property {string} [caption] The caption of the media item.
32
- */
13
+ /** @typedef {import('./api').InserterMediaItem} InserterMediaItem */
33
14
 
34
15
  /**
35
16
  * Fetches media items based on the provided category.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/media-tab/hooks.js"],"names":["useEffect","useState","useRef","useMemo","useSelect","store","blockEditorStore","useMediaResults","category","query","mediaList","setMediaList","isLoading","setIsLoading","lastRequest","key","JSON","stringify","name","current","_media","fetch","Object","values","useInserterMediaCategories","inserterMediaCategories","allowedMimeTypes","enableOpenverseMediaCategory","select","settings","getSettings","allowedCategories","filter","some","mimeType","startsWith","mediaType","useMediaCategories","rootClientId","categories","setCategories","canInsertImage","canInsertVideo","canInsertAudio","canInsertBlockType","_categories","categoriesHaveMedia","Map","Promise","all","map","isExternalResource","results","per_page","e","length","canInsertMediaType","image","video","audio","forEach","get","push"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * Interface for inserter media requests.\n *\n * @typedef {Object} InserterMediaRequest\n * @property {number} per_page How many items to fetch per page.\n * @property {string} search The search term to use for filtering the results.\n */\n\n/**\n * Interface for inserter media responses. Any media resource should\n * map their response to this interface, in order to create the core\n * WordPress media blocks (image, video, audio).\n *\n * @typedef {Object} InserterMediaItem\n * @property {string} title The title of the media item.\n * @property {string} url The source url of the media item.\n * @property {string} [previewUrl] The preview source url of the media item to display in the media list.\n * @property {number} [id] The WordPress id of the media item.\n * @property {number|string} [sourceId] The id of the media item from external source.\n * @property {string} [alt] The alt text of the media item.\n * @property {string} [caption] The caption of the media item.\n */\n\n/**\n * Fetches media items based on the provided category.\n * Each media category is responsible for providing a `fetch` function.\n *\n * @param {Object} category The media category to fetch results for.\n * @param {InserterMediaRequest} query The query args to use for the request.\n * @return {InserterMediaItem[]} The media results.\n */\nexport function useMediaResults( category, query = {} ) {\n\tconst [ mediaList, setMediaList ] = useState();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\t// We need to keep track of the last request made because\n\t// multiple request can be fired without knowing the order\n\t// of resolution, and we need to ensure we are showing\n\t// the results of the last request.\n\t// In the future we could use AbortController to cancel previous\n\t// requests, but we don't for now as it involves adding support\n\t// for this to `core-data` package.\n\tconst lastRequest = useRef();\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tconst key = JSON.stringify( {\n\t\t\t\tcategory: category.name,\n\t\t\t\t...query,\n\t\t\t} );\n\t\t\tlastRequest.current = key;\n\t\t\tsetIsLoading( true );\n\t\t\tsetMediaList( [] ); // Empty the previous results.\n\t\t\tconst _media = await category.fetch?.( query );\n\t\t\tif ( key === lastRequest.current ) {\n\t\t\t\tsetMediaList( _media );\n\t\t\t\tsetIsLoading( false );\n\t\t\t}\n\t\t} )();\n\t}, [ category.name, ...Object.values( query ) ] );\n\treturn { mediaList, isLoading };\n}\n\nfunction useInserterMediaCategories() {\n\tconst {\n\t\tinserterMediaCategories,\n\t\tallowedMimeTypes,\n\t\tenableOpenverseMediaCategory,\n\t} = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tinserterMediaCategories: settings.inserterMediaCategories,\n\t\t\tallowedMimeTypes: settings.allowedMimeTypes,\n\t\t\tenableOpenverseMediaCategory: settings.enableOpenverseMediaCategory,\n\t\t};\n\t}, [] );\n\t// The allowed `mime_types` can be altered by `upload_mimes` filter and restrict\n\t// some of them. In this case we shouldn't add the category to the available media\n\t// categories list in the inserter.\n\tconst allowedCategories = useMemo( () => {\n\t\tif ( ! inserterMediaCategories || ! allowedMimeTypes ) {\n\t\t\treturn;\n\t\t}\n\t\treturn inserterMediaCategories.filter( ( category ) => {\n\t\t\t// Check if Openverse category is enabled.\n\t\t\tif (\n\t\t\t\t! enableOpenverseMediaCategory &&\n\t\t\t\tcategory.name === 'openverse'\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn Object.values( allowedMimeTypes ).some( ( mimeType ) =>\n\t\t\t\tmimeType.startsWith( `${ category.mediaType }/` )\n\t\t\t);\n\t\t} );\n\t}, [\n\t\tinserterMediaCategories,\n\t\tallowedMimeTypes,\n\t\tenableOpenverseMediaCategory,\n\t] );\n\treturn allowedCategories;\n}\n\nexport function useMediaCategories( rootClientId ) {\n\tconst [ categories, setCategories ] = useState( [] );\n\tconst { canInsertImage, canInsertVideo, canInsertAudio } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tcanInsertImage: canInsertBlockType(\n\t\t\t\t\t'core/image',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertVideo: canInsertBlockType(\n\t\t\t\t\t'core/video',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertAudio: canInsertBlockType(\n\t\t\t\t\t'core/audio',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\tconst inserterMediaCategories = useInserterMediaCategories();\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tconst _categories = [];\n\t\t\t// If `inserterMediaCategories` is not defined in\n\t\t\t// block editor settings, do not show any media categories.\n\t\t\tif ( ! inserterMediaCategories ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Loop through categories to check if they have at least one media item.\n\t\t\tconst categoriesHaveMedia = new Map(\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tinserterMediaCategories.map( async ( category ) => {\n\t\t\t\t\t\t// Some sources are external and we don't need to make a request.\n\t\t\t\t\t\tif ( category.isExternalResource ) {\n\t\t\t\t\t\t\treturn [ category.name, true ];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet results = [];\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresults = await category.fetch( {\n\t\t\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\t// If the request fails, we shallow the error and just don't show\n\t\t\t\t\t\t\t// the category, in order to not break the media tab.\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [ category.name, !! results.length ];\n\t\t\t\t\t} )\n\t\t\t\t)\n\t\t\t);\n\t\t\t// We need to filter out categories that don't have any media items or\n\t\t\t// whose corresponding block type is not allowed to be inserted, based\n\t\t\t// on the category's `mediaType`.\n\t\t\tconst canInsertMediaType = {\n\t\t\t\timage: canInsertImage,\n\t\t\t\tvideo: canInsertVideo,\n\t\t\t\taudio: canInsertAudio,\n\t\t\t};\n\t\t\tinserterMediaCategories.forEach( ( category ) => {\n\t\t\t\tif (\n\t\t\t\t\tcanInsertMediaType[ category.mediaType ] &&\n\t\t\t\t\tcategoriesHaveMedia.get( category.name )\n\t\t\t\t) {\n\t\t\t\t\t_categories.push( category );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( !! _categories.length ) {\n\t\t\t\tsetCategories( _categories );\n\t\t\t}\n\t\t} )();\n\t}, [\n\t\tcanInsertImage,\n\t\tcanInsertVideo,\n\t\tcanInsertAudio,\n\t\tinserterMediaCategories,\n\t] );\n\treturn categories;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/media-tab/hooks.js"],"names":["useEffect","useState","useRef","useMemo","useSelect","store","blockEditorStore","useMediaResults","category","query","mediaList","setMediaList","isLoading","setIsLoading","lastRequest","key","JSON","stringify","name","current","_media","fetch","Object","values","useInserterMediaCategories","inserterMediaCategories","allowedMimeTypes","enableOpenverseMediaCategory","select","settings","getSettings","allowedCategories","filter","some","mimeType","startsWith","mediaType","useMediaCategories","rootClientId","categories","setCategories","canInsertImage","canInsertVideo","canInsertAudio","canInsertBlockType","_categories","categoriesHaveMedia","Map","Promise","all","map","isExternalResource","results","per_page","e","length","canInsertMediaType","image","video","audio","forEach","get","push"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/** @typedef {import('./api').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('./api').InserterMediaItem} InserterMediaItem */\n\n/**\n * Fetches media items based on the provided category.\n * Each media category is responsible for providing a `fetch` function.\n *\n * @param {Object} category The media category to fetch results for.\n * @param {InserterMediaRequest} query The query args to use for the request.\n * @return {InserterMediaItem[]} The media results.\n */\nexport function useMediaResults( category, query = {} ) {\n\tconst [ mediaList, setMediaList ] = useState();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\t// We need to keep track of the last request made because\n\t// multiple request can be fired without knowing the order\n\t// of resolution, and we need to ensure we are showing\n\t// the results of the last request.\n\t// In the future we could use AbortController to cancel previous\n\t// requests, but we don't for now as it involves adding support\n\t// for this to `core-data` package.\n\tconst lastRequest = useRef();\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tconst key = JSON.stringify( {\n\t\t\t\tcategory: category.name,\n\t\t\t\t...query,\n\t\t\t} );\n\t\t\tlastRequest.current = key;\n\t\t\tsetIsLoading( true );\n\t\t\tsetMediaList( [] ); // Empty the previous results.\n\t\t\tconst _media = await category.fetch?.( query );\n\t\t\tif ( key === lastRequest.current ) {\n\t\t\t\tsetMediaList( _media );\n\t\t\t\tsetIsLoading( false );\n\t\t\t}\n\t\t} )();\n\t}, [ category.name, ...Object.values( query ) ] );\n\treturn { mediaList, isLoading };\n}\n\nfunction useInserterMediaCategories() {\n\tconst {\n\t\tinserterMediaCategories,\n\t\tallowedMimeTypes,\n\t\tenableOpenverseMediaCategory,\n\t} = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tinserterMediaCategories: settings.inserterMediaCategories,\n\t\t\tallowedMimeTypes: settings.allowedMimeTypes,\n\t\t\tenableOpenverseMediaCategory: settings.enableOpenverseMediaCategory,\n\t\t};\n\t}, [] );\n\t// The allowed `mime_types` can be altered by `upload_mimes` filter and restrict\n\t// some of them. In this case we shouldn't add the category to the available media\n\t// categories list in the inserter.\n\tconst allowedCategories = useMemo( () => {\n\t\tif ( ! inserterMediaCategories || ! allowedMimeTypes ) {\n\t\t\treturn;\n\t\t}\n\t\treturn inserterMediaCategories.filter( ( category ) => {\n\t\t\t// Check if Openverse category is enabled.\n\t\t\tif (\n\t\t\t\t! enableOpenverseMediaCategory &&\n\t\t\t\tcategory.name === 'openverse'\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn Object.values( allowedMimeTypes ).some( ( mimeType ) =>\n\t\t\t\tmimeType.startsWith( `${ category.mediaType }/` )\n\t\t\t);\n\t\t} );\n\t}, [\n\t\tinserterMediaCategories,\n\t\tallowedMimeTypes,\n\t\tenableOpenverseMediaCategory,\n\t] );\n\treturn allowedCategories;\n}\n\nexport function useMediaCategories( rootClientId ) {\n\tconst [ categories, setCategories ] = useState( [] );\n\tconst { canInsertImage, canInsertVideo, canInsertAudio } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tcanInsertImage: canInsertBlockType(\n\t\t\t\t\t'core/image',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertVideo: canInsertBlockType(\n\t\t\t\t\t'core/video',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertAudio: canInsertBlockType(\n\t\t\t\t\t'core/audio',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\tconst inserterMediaCategories = useInserterMediaCategories();\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tconst _categories = [];\n\t\t\t// If `inserterMediaCategories` is not defined in\n\t\t\t// block editor settings, do not show any media categories.\n\t\t\tif ( ! inserterMediaCategories ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Loop through categories to check if they have at least one media item.\n\t\t\tconst categoriesHaveMedia = new Map(\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tinserterMediaCategories.map( async ( category ) => {\n\t\t\t\t\t\t// Some sources are external and we don't need to make a request.\n\t\t\t\t\t\tif ( category.isExternalResource ) {\n\t\t\t\t\t\t\treturn [ category.name, true ];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet results = [];\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresults = await category.fetch( {\n\t\t\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\t// If the request fails, we shallow the error and just don't show\n\t\t\t\t\t\t\t// the category, in order to not break the media tab.\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [ category.name, !! results.length ];\n\t\t\t\t\t} )\n\t\t\t\t)\n\t\t\t);\n\t\t\t// We need to filter out categories that don't have any media items or\n\t\t\t// whose corresponding block type is not allowed to be inserted, based\n\t\t\t// on the category's `mediaType`.\n\t\t\tconst canInsertMediaType = {\n\t\t\t\timage: canInsertImage,\n\t\t\t\tvideo: canInsertVideo,\n\t\t\t\taudio: canInsertAudio,\n\t\t\t};\n\t\t\tinserterMediaCategories.forEach( ( category ) => {\n\t\t\t\tif (\n\t\t\t\t\tcanInsertMediaType[ category.mediaType ] &&\n\t\t\t\t\tcategoriesHaveMedia.get( category.name )\n\t\t\t\t) {\n\t\t\t\t\t_categories.push( category );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( !! _categories.length ) {\n\t\t\t\tsetCategories( _categories );\n\t\t\t}\n\t\t} )();\n\t}, [\n\t\tcanInsertImage,\n\t\tcanInsertVideo,\n\t\tcanInsertAudio,\n\t\tinserterMediaCategories,\n\t] );\n\treturn categories;\n}\n"]}