@wordpress/block-editor 9.7.0 → 9.7.1-next.d6164808d3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/block-alignment-control/use-available-alignments.js +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-edit-visually-button/index.js +46 -0
- package/build/components/block-edit-visually-button/index.js.map +1 -0
- package/build/components/block-popover/inbetween.js +4 -2
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-settings-menu/index.js +2 -6
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-switcher/index.js +10 -16
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +5 -1
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js +31 -3
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/index.js +20 -6
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +21 -6
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/utils.js +13 -16
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/colors/with-colors.js +17 -4
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/copy-handler/index.js +6 -0
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +2 -7
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/duotone/components.js +5 -5
- package/build/components/duotone/components.js.map +1 -1
- package/build/components/font-family/index.js +1 -1
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +17 -4
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/index.js +9 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inserter/search-items.js +22 -4
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/link-control/link-preview.js +0 -1
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/list-view/block-select-button.js +5 -2
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +1 -7
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/rich-text/use-enter.js +0 -4
- package/build/components/rich-text/use-enter.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +8 -11
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/spacing-sizes-control/all-input-control.js +53 -0
- package/build/components/spacing-sizes-control/all-input-control.js.map +1 -0
- package/build/components/spacing-sizes-control/axial-input-controls.js +69 -0
- package/build/components/spacing-sizes-control/axial-input-controls.js.map +1 -0
- package/build/components/spacing-sizes-control/index.js +100 -0
- package/build/components/spacing-sizes-control/index.js.map +1 -0
- package/build/components/spacing-sizes-control/input-controls.js +52 -0
- package/build/components/spacing-sizes-control/input-controls.js.map +1 -0
- package/build/components/spacing-sizes-control/linked-button.js +38 -0
- package/build/components/spacing-sizes-control/linked-button.js.map +1 -0
- package/build/components/spacing-sizes-control/spacing-input-control.js +208 -0
- package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -0
- package/build/components/spacing-sizes-control/utils.js +202 -0
- package/build/components/spacing-sizes-control/utils.js.map +1 -0
- package/build/components/url-input/index.js +1 -1
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/writing-flow/use-multi-selection.js +4 -2
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js +10 -2
- package/build/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build/hooks/border-radius.js +2 -7
- package/build/hooks/border-radius.js.map +1 -1
- package/build/hooks/border.js +2 -2
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +4 -1
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/dimensions.js +15 -0
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +4 -4
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/gap.js +6 -4
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/generated-class-name.js +1 -7
- package/build/hooks/generated-class-name.js.map +1 -1
- package/build/hooks/layout.js +20 -12
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/margin.js +28 -12
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +19 -8
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/style.js +4 -50
- package/build/hooks/style.js.map +1 -1
- package/build/layouts/constrained.js +215 -0
- package/build/layouts/constrained.js.map +1 -0
- package/build/layouts/flex.js +1 -1
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +7 -169
- package/build/layouts/flow.js.map +1 -1
- package/build/layouts/index.js +3 -1
- package/build/layouts/index.js.map +1 -1
- package/build/layouts/utils.js +43 -0
- package/build/layouts/utils.js.map +1 -1
- package/build/store/actions.js +25 -3
- package/build/store/actions.js.map +1 -1
- package/build/store/selectors.js +4 -6
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-edit-visually-button/index.js +35 -0
- package/build-module/components/block-edit-visually-button/index.js.map +1 -0
- package/build-module/components/block-popover/inbetween.js +4 -2
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +3 -6
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +10 -16
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +4 -1
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/border-radius-control/all-input-control.js +32 -4
- package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +20 -6
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +22 -7
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js +13 -16
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js +16 -3
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/copy-handler/index.js +7 -1
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +2 -6
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/duotone/components.js +5 -5
- package/build-module/components/duotone/components.js.map +1 -1
- package/build-module/components/font-family/index.js +1 -1
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +16 -3
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inserter/search-items.js +19 -5
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +0 -1
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +5 -2
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +1 -6
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/rich-text/use-enter.js +0 -4
- package/build-module/components/rich-text/use-enter.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +8 -10
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/spacing-sizes-control/all-input-control.js +41 -0
- package/build-module/components/spacing-sizes-control/all-input-control.js.map +1 -0
- package/build-module/components/spacing-sizes-control/axial-input-controls.js +57 -0
- package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +1 -0
- package/build-module/components/spacing-sizes-control/index.js +83 -0
- package/build-module/components/spacing-sizes-control/index.js.map +1 -0
- package/build-module/components/spacing-sizes-control/input-controls.js +41 -0
- package/build-module/components/spacing-sizes-control/input-controls.js.map +1 -0
- package/build-module/components/spacing-sizes-control/linked-button.js +28 -0
- package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -0
- package/build-module/components/spacing-sizes-control/spacing-input-control.js +192 -0
- package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -0
- package/build-module/components/spacing-sizes-control/utils.js +174 -0
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -0
- package/build-module/components/url-input/index.js +1 -1
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/writing-flow/use-multi-selection.js +4 -2
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js +10 -2
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build-module/hooks/border-radius.js +2 -7
- package/build-module/hooks/border-radius.js.map +1 -1
- package/build-module/hooks/border.js +2 -2
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +4 -1
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/dimensions.js +13 -0
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +4 -4
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/gap.js +3 -2
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/generated-class-name.js +1 -6
- package/build-module/hooks/generated-class-name.js.map +1 -1
- package/build-module/hooks/layout.js +20 -12
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/margin.js +26 -12
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +17 -8
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/style.js +7 -53
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/layouts/constrained.js +197 -0
- package/build-module/layouts/constrained.js.map +1 -0
- package/build-module/layouts/flex.js +1 -1
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +8 -163
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/layouts/index.js +2 -1
- package/build-module/layouts/index.js.map +1 -1
- package/build-module/layouts/utils.js +40 -0
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/store/actions.js +25 -3
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/selectors.js +5 -7
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +115 -20
- package/build-style/style.css +115 -20
- package/package.json +30 -28
- package/src/components/block-alignment-control/use-available-alignments.js +1 -1
- package/src/components/block-edit-visually-button/index.js +39 -0
- package/src/components/block-popover/inbetween.js +4 -1
- package/src/components/block-settings-menu/index.js +11 -15
- package/src/components/block-switcher/index.js +9 -13
- package/src/components/block-switcher/test/index.js +1 -0
- package/src/components/block-toolbar/index.js +2 -0
- package/src/components/border-radius-control/all-input-control.js +41 -4
- package/src/components/border-radius-control/index.js +25 -5
- package/src/components/border-radius-control/input-controls.js +40 -13
- package/src/components/border-radius-control/test/utils.js +22 -60
- package/src/components/border-radius-control/utils.js +12 -16
- package/src/components/colors/with-colors.js +11 -1
- package/src/components/copy-handler/index.js +18 -0
- package/src/components/date-format-picker/index.js +12 -14
- package/src/components/date-format-picker/style.scss +0 -4
- package/src/components/duotone/components.js +5 -5
- package/src/components/duotone-control/style.scss +0 -4
- package/src/components/font-appearance-control/style.scss +0 -2
- package/src/components/font-family/index.js +1 -1
- package/src/components/font-sizes/with-font-sizes.js +11 -1
- package/src/components/index.js +1 -0
- package/src/components/inserter/search-items.js +17 -5
- package/src/components/link-control/link-preview.js +0 -1
- package/src/components/link-control/test/index.js +540 -893
- package/src/components/list-view/block-select-button.js +7 -2
- package/src/components/list-view/style.scss +11 -4
- package/src/components/list-view/use-block-selection.js +2 -8
- package/src/components/media-replace-flow/style.scss +1 -0
- package/src/components/rich-text/use-enter.js +0 -3
- package/src/components/rich-text/use-format-types.js +6 -6
- package/src/components/spacing-sizes-control/all-input-control.js +40 -0
- package/src/components/spacing-sizes-control/axial-input-controls.js +62 -0
- package/src/components/spacing-sizes-control/index.js +91 -0
- package/src/components/spacing-sizes-control/input-controls.js +46 -0
- package/src/components/spacing-sizes-control/linked-button.js +25 -0
- package/src/components/spacing-sizes-control/spacing-input-control.js +280 -0
- package/src/components/spacing-sizes-control/style.scss +122 -0
- package/src/components/spacing-sizes-control/test/utils.js +156 -0
- package/src/components/spacing-sizes-control/utils.js +195 -0
- package/src/components/url-input/index.js +1 -1
- package/src/components/url-input/style.scss +2 -2
- package/src/components/url-popover/style.scss +0 -3
- package/src/components/writing-flow/use-multi-selection.js +4 -1
- package/src/components/writing-flow/use-selection-observer.js +10 -2
- package/src/hooks/border-radius.js +2 -6
- package/src/hooks/border.js +2 -2
- package/src/hooks/color.js +13 -3
- package/src/hooks/dimensions.js +15 -0
- package/src/hooks/duotone.js +4 -4
- package/src/hooks/gap.js +7 -2
- package/src/hooks/generated-class-name.js +6 -9
- package/src/hooks/layout.js +45 -14
- package/src/hooks/margin.js +49 -17
- package/src/hooks/padding.js +41 -14
- package/src/hooks/style.js +5 -56
- package/src/hooks/test/gap.js +22 -0
- package/src/hooks/typography.scss +0 -1
- package/src/layouts/constrained.js +217 -0
- package/src/layouts/flex.js +1 -1
- package/src/layouts/flow.js +6 -173
- package/src/layouts/index.js +2 -1
- package/src/layouts/test/constrained.js +21 -0
- package/src/layouts/utils.js +34 -0
- package/src/store/actions.js +32 -4
- package/src/store/selectors.js +5 -4
- package/src/style.scss +1 -0
- package/build/components/block-settings-menu/block-edit-visually-button.js +0 -70
- package/build/components/block-settings-menu/block-edit-visually-button.js.map +0 -1
- package/build-module/components/block-settings-menu/block-edit-visually-button.js +0 -56
- package/build-module/components/block-settings-menu/block-edit-visually-button.js.map +0 -1
- package/src/components/block-settings-menu/block-edit-visually-button.js +0 -52
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"names":["DEFAULT_FONT_SIZES","fontSizeNames","fontSizeAttributeNames","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","WrappedComponent","props","fontSizes","Component","constructor","setters","createSetters","state","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","previousState","attributes","didAttributesChange","newState","newStateAccumulator","fontSizeAttributeValue","class","render"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, pickBy, reduce, some, upperFirst } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport useSetting from '../use-setting';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = reduce(\n\t\tfontSizeNames,\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst fontSizes =\n\t\t\t\t\t\tuseSetting( 'typography.fontSizes' ) ||\n\t\t\t\t\t\tDEFAULT_FONT_SIZES;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn reduce(\n\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = find( this.props.fontSizes, {\n\t\t\t\t\t\t\t\tsize: Number( fontSizeValue ),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! some(\n\t\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = reduce(\n\t\t\t\t\t\t\tpickBy(\n\t\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tnewStateAccumulator[ fontSizeAttributeName ] = {\n\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn newStateAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withFontSizes'\n\t);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/font-sizes/with-font-sizes.js"],"names":["DEFAULT_FONT_SIZES","upperFirst","firstLetter","rest","toUpperCase","join","fontSizeNames","fontSizeAttributeNames","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","WrappedComponent","props","fontSizes","Component","constructor","setters","createSetters","state","settersAccumulator","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","fontSizeObject","size","Number","setAttributes","slug","undefined","getDerivedStateFromProps","previousState","attributes","didAttributesChange","newState","newStateAccumulator","fontSizeAttributeValue","class","render"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, pickBy, reduce, some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\nimport useSetting from '../use-setting';\n\nconst DEFAULT_FONT_SIZES = [];\n\n/**\n * Capitalizes the first letter in a string.\n *\n * @param {string} str The string whose first letter the function will capitalize.\n *\n * @return {string} Capitalized string.\n */\nconst upperFirst = ( [ firstLetter, ...rest ] ) =>\n\tfirstLetter.toUpperCase() + rest.join( '' );\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(Object|string)} fontSizeNames The arguments should all be strings.\n * Each string contains the font size\n * attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t * Computes an object whose key is the font size attribute name as passed in the array,\n\t * and the value is the custom font size attribute name.\n\t * Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t */\n\tconst fontSizeAttributeNames = reduce(\n\t\tfontSizeNames,\n\t\t( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\t\tfontSizeAttributeNamesAccumulator[\n\t\t\t\tfontSizeAttributeName\n\t\t\t] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\t\treturn fontSizeAttributeNamesAccumulator;\n\t\t},\n\t\t{}\n\t);\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\tcreateHigherOrderComponent(\n\t\t\t\t( WrappedComponent ) => ( props ) => {\n\t\t\t\t\tconst fontSizes =\n\t\t\t\t\t\tuseSetting( 'typography.fontSizes' ) ||\n\t\t\t\t\t\tDEFAULT_FONT_SIZES;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t'withFontSizes'\n\t\t\t),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn reduce(\n\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tsettersAccumulator,\n\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName =\n\t\t\t\t\t\t\t\t\tupperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\t\tsettersAccumulator[\n\t\t\t\t\t\t\t\t\t`set${ upperFirstFontSizeAttributeName }`\n\t\t\t\t\t\t\t\t] = this.createSetFontSize(\n\t\t\t\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize(\n\t\t\t\t\t\tfontSizeAttributeName,\n\t\t\t\t\t\tcustomFontSizeAttributeName\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = find( this.props.fontSizes, {\n\t\t\t\t\t\t\t\tsize: Number( fontSizeValue ),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]:\n\t\t\t\t\t\t\t\t\tfontSizeObject && fontSizeObject.slug\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps(\n\t\t\t\t\t\t{ attributes, fontSizes },\n\t\t\t\t\t\tpreviousState\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst didAttributesChange = (\n\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// If new font size is name compare with the previous slug.\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ] !==\n\t\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t\t.slug\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tpreviousState[ fontSizeAttributeName ]\n\t\t\t\t\t\t\t\t\t\t.size !==\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// In this case we need to build the font size object.\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! some(\n\t\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = reduce(\n\t\t\t\t\t\t\tpickBy(\n\t\t\t\t\t\t\t\tfontSizeAttributeNames,\n\t\t\t\t\t\t\t\tdidAttributesChange\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tnewStateAccumulator,\n\t\t\t\t\t\t\t\tcustomFontSizeAttributeName,\n\t\t\t\t\t\t\t\tfontSizeAttributeName\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tconst fontSizeAttributeValue =\n\t\t\t\t\t\t\t\t\tattributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tnewStateAccumulator[ fontSizeAttributeName ] = {\n\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\tclass: getFontSizeClass(\n\t\t\t\t\t\t\t\t\t\tfontSizeAttributeValue\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn newStateAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t...this.props,\n\t\t\t\t\t\t\t\t\tfontSizes: undefined,\n\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t...this.setters,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withFontSizes'\n\t);\n};\n"]}
|
|
@@ -79,6 +79,7 @@ var _exportNames = {
|
|
|
79
79
|
URLPopover: true,
|
|
80
80
|
__experimentalImageURLInputUI: true,
|
|
81
81
|
withColorContext: true,
|
|
82
|
+
__experimentalSpacingSizesControl: true,
|
|
82
83
|
__unstableBlockSettingsMenuFirstItem: true,
|
|
83
84
|
__unstableBlockToolbarLastItem: true,
|
|
84
85
|
__unstableBlockNameContext: true,
|
|
@@ -684,6 +685,12 @@ Object.defineProperty(exports, "__experimentalResponsiveBlockControl", {
|
|
|
684
685
|
return _responsiveBlockControl.default;
|
|
685
686
|
}
|
|
686
687
|
});
|
|
688
|
+
Object.defineProperty(exports, "__experimentalSpacingSizesControl", {
|
|
689
|
+
enumerable: true,
|
|
690
|
+
get: function () {
|
|
691
|
+
return _spacingSizesControl.default;
|
|
692
|
+
}
|
|
693
|
+
});
|
|
687
694
|
Object.defineProperty(exports, "__experimentalTextDecorationControl", {
|
|
688
695
|
enumerable: true,
|
|
689
696
|
get: function () {
|
|
@@ -1017,6 +1024,8 @@ var _imageUrlInputUi = require("./url-popover/image-url-input-ui");
|
|
|
1017
1024
|
|
|
1018
1025
|
var _withColorContext = _interopRequireDefault(require("./color-palette/with-color-context"));
|
|
1019
1026
|
|
|
1027
|
+
var _spacingSizesControl = _interopRequireDefault(require("./spacing-sizes-control"));
|
|
1028
|
+
|
|
1020
1029
|
var _blockSettingsMenuFirstItem = _interopRequireDefault(require("./block-settings-menu/block-settings-menu-first-item"));
|
|
1021
1030
|
|
|
1022
1031
|
var _blockToolbarLastItem = _interopRequireDefault(require("./block-toolbar/block-toolbar-last-item"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AAMA;;AACA","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 __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 {\n\tdefault as __experimentalImageEditor,\n\tImageEditingProvider as __experimentalImageEditingProvider,\n} 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';\n\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 { LayoutStyle as __experimentalLayoutStyle } from './block-list/layout';\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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AAMA;;AACA","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 __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 {\n\tdefault as __experimentalImageEditor,\n\tImageEditingProvider as __experimentalImageEditingProvider,\n} 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';\n\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 { LayoutStyle as __experimentalLayoutStyle } from './block-list/layout';\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,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.getItemSearchRank = getItemSearchRank;
|
|
7
9
|
exports.searchItems = exports.searchBlockItems = exports.getNormalizedSearchTerms = void 0;
|
|
8
10
|
|
|
11
|
+
var _changeCase = require("change-case");
|
|
12
|
+
|
|
13
|
+
var _removeAccents = _interopRequireDefault(require("remove-accents"));
|
|
14
|
+
|
|
9
15
|
var _lodash = require("lodash");
|
|
10
16
|
|
|
11
17
|
/**
|
|
@@ -36,7 +42,7 @@ function normalizeSearchInput() {
|
|
|
36
42
|
let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
37
43
|
// Disregard diacritics.
|
|
38
44
|
// Input: "média"
|
|
39
|
-
input = (0,
|
|
45
|
+
input = (0, _removeAccents.default)(input); // Accommodate leading slash, matching autocomplete expectations.
|
|
40
46
|
// Input: "/media"
|
|
41
47
|
|
|
42
48
|
input = input.replace(/^\//, ''); // Lowercase.
|
|
@@ -45,6 +51,19 @@ function normalizeSearchInput() {
|
|
|
45
51
|
input = input.toLowerCase();
|
|
46
52
|
return input;
|
|
47
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Extracts words from an input string.
|
|
56
|
+
*
|
|
57
|
+
* @param {string} input The input string.
|
|
58
|
+
*
|
|
59
|
+
* @return {Array} Words, extracted from the input string.
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
function extractWords() {
|
|
64
|
+
let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
65
|
+
return (0, _changeCase.noCase)(input).split(' ').filter(Boolean);
|
|
66
|
+
}
|
|
48
67
|
/**
|
|
49
68
|
* Converts the search term into a list of normalized terms.
|
|
50
69
|
*
|
|
@@ -56,8 +75,7 @@ function normalizeSearchInput() {
|
|
|
56
75
|
|
|
57
76
|
const getNormalizedSearchTerms = function () {
|
|
58
77
|
let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
59
|
-
|
|
60
|
-
return (0, _lodash.words)(normalizeSearchInput(input));
|
|
78
|
+
return extractWords(normalizeSearchInput(input));
|
|
61
79
|
};
|
|
62
80
|
|
|
63
81
|
exports.getNormalizedSearchTerms = getNormalizedSearchTerms;
|
|
@@ -171,7 +189,7 @@ function getItemSearchRank(item, searchTerm) {
|
|
|
171
189
|
rank += 20;
|
|
172
190
|
} else {
|
|
173
191
|
const terms = [name, title, description, ...keywords, category, collection].join(' ');
|
|
174
|
-
const normalizedSearchTerms = (
|
|
192
|
+
const normalizedSearchTerms = extractWords(normalizedSearchInput);
|
|
175
193
|
const unmatchedTerms = removeMatchingTerms(normalizedSearchTerms, terms);
|
|
176
194
|
|
|
177
195
|
if (unmatchedTerms.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/search-items.js"],"names":["defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultGetCategory","category","defaultGetCollection","normalizeSearchInput","input","replace","toLowerCase","getNormalizedSearchTerms","removeMatchingTerms","unmatchedTerms","unprocessedTerms","filter","term","some","unprocessedTerm","includes","searchBlockItems","items","categories","collections","searchInput","normalizedSearchTerms","length","config","getCategory","slug","getCollection","split","searchItems","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","getName","getTitle","getDescription","getKeywords","collection","normalizedSearchInput","normalizedTitle","startsWith","terms","join","isCoreBlockVariation","id"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { deburr, find, words } from 'lodash';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultGetCategory = ( item ) => item.category;\nconst defaultGetCollection = () => null;\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = deburr( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\t// Extract words.\n\treturn words( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\nexport const searchBlockItems = (\n\titems,\n\tcategories,\n\tcollections,\n\tsearchInput\n) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst config = {\n\t\tgetCategory: ( item ) =>\n\t\t\tfind( categories, { slug: item.category } )?.title,\n\t\tgetCollection: ( item ) =>\n\t\t\tcollections[ item.name.split( '/' )[ 0 ] ]?.title,\n\t};\n\n\treturn searchItems( items, searchInput, config );\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [ item, getItemSearchRank( item, searchInput, config ) ];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > 0 );\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nexport function getItemSearchRank( item, searchTerm, config = {} ) {\n\tconst {\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\tgetCategory = defaultGetCategory,\n\t\tgetCollection = defaultGetCollection,\n\t} = config;\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\tconst category = getCategory( item );\n\tconst collection = getCollection( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\tlet rank = 0;\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, categories, collection, variations match come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [\n\t\t\tname,\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\t...keywords,\n\t\t\tcategory,\n\t\t\tcollection,\n\t\t].join( ' ' );\n\t\tconst normalizedSearchTerms = words( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\t// Give a better rank to \"core\" namespaced items.\n\tif ( rank !== 0 && name.startsWith( 'core/' ) ) {\n\t\tconst isCoreBlockVariation = name !== item.id;\n\t\t// Give a bit better rank to \"core\" blocks over \"core\" block variations.\n\t\trank += isCoreBlockVariation ? 1 : 2;\n\t}\n\n\treturn rank;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/search-items.js"],"names":["defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultGetCategory","category","defaultGetCollection","normalizeSearchInput","input","replace","toLowerCase","extractWords","split","filter","Boolean","getNormalizedSearchTerms","removeMatchingTerms","unmatchedTerms","unprocessedTerms","term","some","unprocessedTerm","includes","searchBlockItems","items","categories","collections","searchInput","normalizedSearchTerms","length","config","getCategory","slug","getCollection","searchItems","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","getName","getTitle","getDescription","getKeywords","collection","normalizedSearchInput","normalizedTitle","startsWith","terms","join","isCoreBlockVariation","id"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noCase } from 'change-case';\nimport removeAccents from 'remove-accents';\nimport { find } from 'lodash';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultGetCategory = ( item ) => item.category;\nconst defaultGetCollection = () => null;\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = removeAccents( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Extracts words from an input string.\n *\n * @param {string} input The input string.\n *\n * @return {Array} Words, extracted from the input string.\n */\nfunction extractWords( input = '' ) {\n\treturn noCase( input ).split( ' ' ).filter( Boolean );\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\treturn extractWords( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\nexport const searchBlockItems = (\n\titems,\n\tcategories,\n\tcollections,\n\tsearchInput\n) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst config = {\n\t\tgetCategory: ( item ) =>\n\t\t\tfind( categories, { slug: item.category } )?.title,\n\t\tgetCollection: ( item ) =>\n\t\t\tcollections[ item.name.split( '/' )[ 0 ] ]?.title,\n\t};\n\n\treturn searchItems( items, searchInput, config );\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [ item, getItemSearchRank( item, searchInput, config ) ];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > 0 );\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nexport function getItemSearchRank( item, searchTerm, config = {} ) {\n\tconst {\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\tgetCategory = defaultGetCategory,\n\t\tgetCollection = defaultGetCollection,\n\t} = config;\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\tconst category = getCategory( item );\n\tconst collection = getCollection( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\tlet rank = 0;\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, categories, collection, variations match come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [\n\t\t\tname,\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\t...keywords,\n\t\t\tcategory,\n\t\t\tcollection,\n\t\t].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\t// Give a better rank to \"core\" namespaced items.\n\tif ( rank !== 0 && name.startsWith( 'core/' ) ) {\n\t\tconst isCoreBlockVariation = name !== item.id;\n\t\t// Give a bit better rank to \"core\" blocks over \"core\" block variations.\n\t\trank += isCoreBlockVariation ? 1 : 2;\n\t}\n\n\treturn rank;\n}\n"]}
|
|
@@ -78,7 +78,6 @@ function LinkPreview(_ref) {
|
|
|
78
78
|
|
|
79
79
|
return (0, _element.createElement)("div", {
|
|
80
80
|
"aria-label": (0, _i18n.__)('Currently selected'),
|
|
81
|
-
"aria-selected": "true",
|
|
82
81
|
className: (0, _classnames.default)('block-editor-link-control__search-item', {
|
|
83
82
|
'is-current': true,
|
|
84
83
|
'is-rich': hasRichData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/link-control/link-preview.js"],"names":["LinkPreview","value","onEditClick","hasRichPreviews","hasUnlinkControl","onRemove","showRichPreviews","url","richData","isFetching","hasRichData","Object","keys","length","displayURL","displayTitle","title","isEmptyURL","icon","info","globe","edit","linkOff","image","description"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AAKA;;AACA;;AACA;;AAKA;;AAEA;;AAvBA;AACA;AACA;;AAGA;AACA;AACA;;AAWA;AACA;AACA;AAKe,SAASA,WAAT,OAMX;AAAA;;AAAA,MANiC;AACpCC,IAAAA,KADoC;AAEpCC,IAAAA,WAFoC;AAGpCC,IAAAA,eAAe,GAAG,KAHkB;AAIpCC,IAAAA,gBAAgB,GAAG,KAJiB;AAKpCC,IAAAA;AALoC,GAMjC;AACH;AACA,QAAMC,gBAAgB,GAAGH,eAAe,GAAGF,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEM,GAAV,GAAgB,IAAxD;AAEA,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAA2B,6BAAgBH,gBAAhB,CAAjC,CAJG,CAMH;;AACA,QAAMI,WAAW,GAAGF,QAAQ,IAAIG,MAAM,CAACC,IAAP,CAAaJ,QAAb,EAAwBK,MAAxD;AAEA,QAAMC,UAAU,GACbb,KAAK,IAAI,8BAAqB,wBAAeA,KAAK,CAACM,GAArB,CAArB,EAAiD,EAAjD,CAAX,IACA,EAFD;AAIA,QAAMQ,YAAY,GAAG,CAAAP,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEQ,KAAV,MAAmBf,KAAnB,aAAmBA,KAAnB,uBAAmBA,KAAK,CAAEe,KAA1B,KAAmCF,UAAxD,CAbG,CAeH;;AACA,QAAMG,UAAU,GAAG,EAAEhB,KAAF,aAAEA,KAAF,6BAAEA,KAAK,CAAEM,GAAT,uCAAE,WAAYM,MAAd,CAAnB;AAEA,MAAIK,IAAJ;;AAEA,MAAKV,QAAL,aAAKA,QAAL,eAAKA,QAAQ,CAAEU,IAAf,EAAsB;AACrBA,IAAAA,IAAI,GAAG;AAAK,MAAA,GAAG,EAAGV,QAAH,aAAGA,QAAH,uBAAGA,QAAQ,CAAEU,IAArB;AAA4B,MAAA,GAAG,EAAC;AAAhC,MAAP;AACA,GAFD,MAEO,IAAKD,UAAL,EAAkB;AACxBC,IAAAA,IAAI,GAAG,4BAAC,WAAD;AAAM,MAAA,IAAI,EAAGC,WAAb;AAAoB,MAAA,IAAI,EAAG;AAA3B,MAAP;AACA,GAFM,MAEA;AACND,IAAAA,IAAI,GAAG,4BAAC,WAAD;AAAM,MAAA,IAAI,EAAGE;AAAb,MAAP;AACA;;AAED,SACC;AACC,kBAAa,cAAI,oBAAJ,CADd;AAEC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/link-control/link-preview.js"],"names":["LinkPreview","value","onEditClick","hasRichPreviews","hasUnlinkControl","onRemove","showRichPreviews","url","richData","isFetching","hasRichData","Object","keys","length","displayURL","displayTitle","title","isEmptyURL","icon","info","globe","edit","linkOff","image","description"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tExternalLink,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { filterURLForDisplay, safeDecodeURI } from '@wordpress/url';\nimport { Icon, globe, info, linkOff, edit } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { ViewerSlot } from './viewer-slot';\n\nimport useRichUrlData from './use-rich-url-data';\n\nexport default function LinkPreview( {\n\tvalue,\n\tonEditClick,\n\thasRichPreviews = false,\n\thasUnlinkControl = false,\n\tonRemove,\n} ) {\n\t// Avoid fetching if rich previews are not desired.\n\tconst showRichPreviews = hasRichPreviews ? value?.url : null;\n\n\tconst { richData, isFetching } = useRichUrlData( showRichPreviews );\n\n\t// Rich data may be an empty object so test for that.\n\tconst hasRichData = richData && Object.keys( richData ).length;\n\n\tconst displayURL =\n\t\t( value && filterURLForDisplay( safeDecodeURI( value.url ), 16 ) ) ||\n\t\t'';\n\n\tconst displayTitle = richData?.title || value?.title || displayURL;\n\n\t// url can be undefined if the href attribute is unset\n\tconst isEmptyURL = ! value?.url?.length;\n\n\tlet icon;\n\n\tif ( richData?.icon ) {\n\t\ticon = <img src={ richData?.icon } alt=\"\" />;\n\t} else if ( isEmptyURL ) {\n\t\ticon = <Icon icon={ info } size={ 32 } />;\n\t} else {\n\t\ticon = <Icon icon={ globe } />;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\taria-label={ __( 'Currently selected' ) }\n\t\t\tclassName={ classnames( 'block-editor-link-control__search-item', {\n\t\t\t\t'is-current': true,\n\t\t\t\t'is-rich': hasRichData,\n\t\t\t\t'is-fetching': !! isFetching,\n\t\t\t\t'is-preview': true,\n\t\t\t\t'is-error': isEmptyURL,\n\t\t\t} ) }\n\t\t>\n\t\t\t<div className=\"block-editor-link-control__search-item-top\">\n\t\t\t\t<span className=\"block-editor-link-control__search-item-header\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-link-control__search-item-icon',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-image': richData?.icon,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ icon }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"block-editor-link-control__search-item-details\">\n\t\t\t\t\t\t{ ! isEmptyURL ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-item-title\"\n\t\t\t\t\t\t\t\t\thref={ value.url }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ stripHTML( displayTitle ) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\n\t\t\t\t\t\t\t\t{ value?.url && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-link-control__search-item-info\">\n\t\t\t\t\t\t\t\t\t\t{ displayURL }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"block-editor-link-control__search-item-error-notice\">\n\t\t\t\t\t\t\t\t{ __( 'Link is empty' ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\n\t\t\t\t<Button\n\t\t\t\t\ticon={ edit }\n\t\t\t\t\tlabel={ __( 'Edit' ) }\n\t\t\t\t\tclassName=\"block-editor-link-control__search-item-action\"\n\t\t\t\t\tonClick={ onEditClick }\n\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t/>\n\t\t\t\t{ hasUnlinkControl && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\tlabel={ __( 'Unlink' ) }\n\t\t\t\t\t\tclassName=\"block-editor-link-control__search-item-action block-editor-link-control__unlink\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<ViewerSlot fillProps={ value } />\n\t\t\t</div>\n\n\t\t\t{ ( ( hasRichData &&\n\t\t\t\t( richData?.image || richData?.description ) ) ||\n\t\t\t\tisFetching ) && (\n\t\t\t\t<div className=\"block-editor-link-control__search-item-bottom\">\n\t\t\t\t\t{ ( richData?.image || isFetching ) && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\taria-hidden={ ! richData?.image }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-link-control__search-item-image',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-placeholder': ! richData?.image,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ richData?.image && (\n\t\t\t\t\t\t\t\t<img src={ richData?.image } alt=\"\" />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( richData?.description || isFetching ) && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\taria-hidden={ ! richData?.description }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-link-control__search-item-description',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-placeholder': ! richData?.description,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ richData?.description && (\n\t\t\t\t\t\t\t\t<Text truncate numberOfLines=\"2\">\n\t\t\t\t\t\t\t\t\t{ richData.description }\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -102,8 +102,11 @@ function ListViewBlockSelectButton(_ref, ref) {
|
|
|
102
102
|
}, (0, _element.createElement)(_components.__experimentalTruncate, {
|
|
103
103
|
ellipsizeMode: "auto"
|
|
104
104
|
}, blockTitle)), (blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.anchor) && (0, _element.createElement)("span", {
|
|
105
|
-
className: "block-editor-list-view-block-select-button__anchor"
|
|
106
|
-
},
|
|
105
|
+
className: "block-editor-list-view-block-select-button__anchor-wrapper"
|
|
106
|
+
}, (0, _element.createElement)(_components.__experimentalTruncate, {
|
|
107
|
+
className: "block-editor-list-view-block-select-button__anchor",
|
|
108
|
+
ellipsizeMode: "auto"
|
|
109
|
+
}, blockInformation.anchor)), isLocked && (0, _element.createElement)("span", {
|
|
107
110
|
className: "block-editor-list-view-block-select-button__lock"
|
|
108
111
|
}, (0, _element.createElement)(_icons.Icon, {
|
|
109
112
|
icon: _icons.lock
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/list-view/block-select-button.js"],"names":["ListViewBlockSelectButton","ref","className","block","clientId","onClick","onToggleExpanded","tabIndex","onFocus","onDragStart","onDragEnd","draggable","blockInformation","blockTitle","context","isLocked","onDragStartHandler","event","dataTransfer","clearData","onKeyDownHandler","keyCode","ENTER","SPACE","icon","anchor","lock"],"mappings":";;;;;;;;;AAaA;;AAVA;;AAKA;;AAMA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAxBA;AACA;AACA;;AAGA;AACA;AACA;;AAUA;AACA;AACA;AAOA,SAASA,yBAAT,OAYCC,GAZD,EAaE;AAAA,MAZD;AACCC,IAAAA,SADD;AAECC,IAAAA,KAAK,EAAE;AAAEC,MAAAA;AAAF,KAFR;AAGCC,IAAAA,OAHD;AAICC,IAAAA,gBAJD;AAKCC,IAAAA,QALD;AAMCC,IAAAA,OAND;AAOCC,IAAAA,WAPD;AAQCC,IAAAA,SARD;AASCC,IAAAA;AATD,GAYC;AACD,QAAMC,gBAAgB,GAAG,yCAA4BR,QAA5B,CAAzB;AACA,QAAMS,UAAU,GAAG,mCAAsB;AACxCT,IAAAA,QADwC;AAExCU,IAAAA,OAAO,EAAE;AAF+B,GAAtB,CAAnB;AAIA,QAAM;AAAEC,IAAAA;AAAF,MAAe,6BAAcX,QAAd,CAArB,CANC,CAQD;AACA;AACA;AACA;;AACA,QAAMY,kBAAkB,GAAKC,KAAF,IAAa;AACvCA,IAAAA,KAAK,CAACC,YAAN,CAAmBC,SAAnB;AACAV,IAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAIQ,KAAJ,CAAX;AACA,GAHD;;AAKA,WAASG,gBAAT,CAA2BH,KAA3B,EAAmC;AAClC,QAAKA,KAAK,CAACI,OAAN,KAAkBC,eAAlB,IAA2BL,KAAK,CAACI,OAAN,KAAkBE,eAAlD,EAA0D;AACzDlB,MAAAA,OAAO,CAAEY,KAAF,CAAP;AACA;AACD;;AAED,SACC,qDACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAG,yBACX,4CADW,EAEXf,SAFW,CADb;AAKC,IAAA,OAAO,EAAGG,OALX;AAMC,IAAA,SAAS,EAAGe,gBANb;AAOC,IAAA,GAAG,EAAGnB,GAPP;AAQC,IAAA,QAAQ,EAAGM,QARZ;AASC,IAAA,OAAO,EAAGC,OATX;AAUC,IAAA,WAAW,EAAGQ,kBAVf;AAWC,IAAA,SAAS,EAAGN,SAXb;AAYC,IAAA,SAAS,EAAGC,SAZb;AAaC,IAAA,IAAI,EAAI,UAAUP,QAAU,EAb7B;AAcC,mBAAc;AAdf,KAgBC,4BAAC,iBAAD;AAAkB,IAAA,OAAO,EAAGE;AAA5B,IAhBD,EAiBC,4BAAC,kBAAD;AAAW,IAAA,IAAI,EAAGM,gBAAH,aAAGA,gBAAH,uBAAGA,gBAAgB,CAAEY,IAApC;AAA2C,IAAA,UAAU;AAArD,IAjBD,EAkBC,4BAAC,gCAAD;AACC,IAAA,SAAS,EAAC,QADX;AAEC,IAAA,SAAS,EAAC,2DAFX;AAGC,IAAA,OAAO,EAAC,YAHT;AAIC,IAAA,OAAO,EAAG;AAJX,KAMC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC,4BAAC,kCAAD;AAAU,IAAA,aAAa,EAAC;AAAxB,KAAiCX,UAAjC,CADD,CAND,EASG,CAAAD,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAEa,MAAlB,KACD;AAAM,IAAA,SAAS,EAAC;AAAhB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/list-view/block-select-button.js"],"names":["ListViewBlockSelectButton","ref","className","block","clientId","onClick","onToggleExpanded","tabIndex","onFocus","onDragStart","onDragEnd","draggable","blockInformation","blockTitle","context","isLocked","onDragStartHandler","event","dataTransfer","clearData","onKeyDownHandler","keyCode","ENTER","SPACE","icon","anchor","lock"],"mappings":";;;;;;;;;AAaA;;AAVA;;AAKA;;AAMA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAxBA;AACA;AACA;;AAGA;AACA;AACA;;AAUA;AACA;AACA;AAOA,SAASA,yBAAT,OAYCC,GAZD,EAaE;AAAA,MAZD;AACCC,IAAAA,SADD;AAECC,IAAAA,KAAK,EAAE;AAAEC,MAAAA;AAAF,KAFR;AAGCC,IAAAA,OAHD;AAICC,IAAAA,gBAJD;AAKCC,IAAAA,QALD;AAMCC,IAAAA,OAND;AAOCC,IAAAA,WAPD;AAQCC,IAAAA,SARD;AASCC,IAAAA;AATD,GAYC;AACD,QAAMC,gBAAgB,GAAG,yCAA4BR,QAA5B,CAAzB;AACA,QAAMS,UAAU,GAAG,mCAAsB;AACxCT,IAAAA,QADwC;AAExCU,IAAAA,OAAO,EAAE;AAF+B,GAAtB,CAAnB;AAIA,QAAM;AAAEC,IAAAA;AAAF,MAAe,6BAAcX,QAAd,CAArB,CANC,CAQD;AACA;AACA;AACA;;AACA,QAAMY,kBAAkB,GAAKC,KAAF,IAAa;AACvCA,IAAAA,KAAK,CAACC,YAAN,CAAmBC,SAAnB;AACAV,IAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAIQ,KAAJ,CAAX;AACA,GAHD;;AAKA,WAASG,gBAAT,CAA2BH,KAA3B,EAAmC;AAClC,QAAKA,KAAK,CAACI,OAAN,KAAkBC,eAAlB,IAA2BL,KAAK,CAACI,OAAN,KAAkBE,eAAlD,EAA0D;AACzDlB,MAAAA,OAAO,CAAEY,KAAF,CAAP;AACA;AACD;;AAED,SACC,qDACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAG,yBACX,4CADW,EAEXf,SAFW,CADb;AAKC,IAAA,OAAO,EAAGG,OALX;AAMC,IAAA,SAAS,EAAGe,gBANb;AAOC,IAAA,GAAG,EAAGnB,GAPP;AAQC,IAAA,QAAQ,EAAGM,QARZ;AASC,IAAA,OAAO,EAAGC,OATX;AAUC,IAAA,WAAW,EAAGQ,kBAVf;AAWC,IAAA,SAAS,EAAGN,SAXb;AAYC,IAAA,SAAS,EAAGC,SAZb;AAaC,IAAA,IAAI,EAAI,UAAUP,QAAU,EAb7B;AAcC,mBAAc;AAdf,KAgBC,4BAAC,iBAAD;AAAkB,IAAA,OAAO,EAAGE;AAA5B,IAhBD,EAiBC,4BAAC,kBAAD;AAAW,IAAA,IAAI,EAAGM,gBAAH,aAAGA,gBAAH,uBAAGA,gBAAgB,CAAEY,IAApC;AAA2C,IAAA,UAAU;AAArD,IAjBD,EAkBC,4BAAC,gCAAD;AACC,IAAA,SAAS,EAAC,QADX;AAEC,IAAA,SAAS,EAAC,2DAFX;AAGC,IAAA,OAAO,EAAC,YAHT;AAIC,IAAA,OAAO,EAAG;AAJX,KAMC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC,4BAAC,kCAAD;AAAU,IAAA,aAAa,EAAC;AAAxB,KAAiCX,UAAjC,CADD,CAND,EASG,CAAAD,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAEa,MAAlB,KACD;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC,4BAAC,kCAAD;AACC,IAAA,SAAS,EAAC,oDADX;AAEC,IAAA,aAAa,EAAC;AAFf,KAIGb,gBAAgB,CAACa,MAJpB,CADD,CAVF,EAmBGV,QAAQ,IACT;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGW;AAAb,IADD,CApBF,CAlBD,CADD,CADD;AAgDA;;eAEc,yBAAY1B,yBAAZ,C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\nimport { Icon, lock } from '@wordpress/icons';\nimport { SPACE, ENTER } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport ListViewExpander from './expander';\nimport { useBlockLock } from '../block-lock';\n\nfunction ListViewBlockSelectButton(\n\t{\n\t\tclassName,\n\t\tblock: { clientId },\n\t\tonClick,\n\t\tonToggleExpanded,\n\t\ttabIndex,\n\t\tonFocus,\n\t\tonDragStart,\n\t\tonDragEnd,\n\t\tdraggable,\n\t},\n\tref\n) {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId,\n\t\tcontext: 'list-view',\n\t} );\n\tconst { isLocked } = useBlockLock( clientId );\n\n\t// The `href` attribute triggers the browser's native HTML drag operations.\n\t// When the link is dragged, the element's outerHTML is set in DataTransfer object as text/html.\n\t// We need to clear any HTML drag data to prevent `pasteHandler` from firing\n\t// inside the `useOnBlockDrop` hook.\n\tconst onDragStartHandler = ( event ) => {\n\t\tevent.dataTransfer.clearData();\n\t\tonDragStart?.( event );\n\t};\n\n\tfunction onKeyDownHandler( event ) {\n\t\tif ( event.keyCode === ENTER || event.keyCode === SPACE ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-list-view-block-select-button',\n\t\t\t\t\tclassName\n\t\t\t\t) }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tonKeyDown={ onKeyDownHandler }\n\t\t\t\tref={ ref }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\tonFocus={ onFocus }\n\t\t\t\tonDragStart={ onDragStartHandler }\n\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\tdraggable={ draggable }\n\t\t\t\thref={ `#block-${ clientId }` }\n\t\t\t\taria-hidden={ true }\n\t\t\t>\n\t\t\t\t<ListViewExpander onClick={ onToggleExpanded } />\n\t\t\t\t<BlockIcon icon={ blockInformation?.icon } showColors />\n\t\t\t\t<HStack\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__label-wrapper\"\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__title\">\n\t\t\t\t\t\t<Truncate ellipsizeMode=\"auto\">{ blockTitle }</Truncate>\n\t\t\t\t\t</span>\n\t\t\t\t\t{ blockInformation?.anchor && (\n\t\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__anchor-wrapper\">\n\t\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__anchor\"\n\t\t\t\t\t\t\t\tellipsizeMode=\"auto\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ blockInformation.anchor }\n\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isLocked && (\n\t\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__lock\">\n\t\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t</>\n\t);\n}\n\nexport default forwardRef( ListViewBlockSelectButton );\n"]}
|
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = useBlockSelection;
|
|
7
7
|
|
|
8
|
-
var _lodash = require("lodash");
|
|
9
|
-
|
|
10
8
|
var _a11y = require("@wordpress/a11y");
|
|
11
9
|
|
|
12
10
|
var _i18n = require("@wordpress/i18n");
|
|
@@ -23,10 +21,6 @@ var _store = require("../../store");
|
|
|
23
21
|
|
|
24
22
|
var _utils = require("./utils");
|
|
25
23
|
|
|
26
|
-
/**
|
|
27
|
-
* External dependencies
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
24
|
/**
|
|
31
25
|
* WordPress dependencies
|
|
32
26
|
*/
|
|
@@ -116,7 +110,7 @@ function useBlockSelection() {
|
|
|
116
110
|
return;
|
|
117
111
|
}
|
|
118
112
|
|
|
119
|
-
const selectionDiff = (
|
|
113
|
+
const selectionDiff = selectedBlocks.filter(blockId => !updatedSelectedBlocks.includes(blockId));
|
|
120
114
|
let label;
|
|
121
115
|
|
|
122
116
|
if (selectionDiff.length === 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/list-view/use-block-selection.js"],"names":["useBlockSelection","clearSelectedBlock","multiSelect","selectBlock","blockEditorStore","getBlockName","getBlockParents","getBlockSelectionStart","getBlockSelectionEnd","getSelectedBlockClientIds","hasMultiSelection","hasSelectedBlock","getBlockType","blocksStore","updateBlockSelection","event","clientId","destinationClientId","shiftKey","preventDefault","isKeyPress","type","keyCode","UP","DOWN","HOME","END","selectedBlocks","clientIdWithParents","some","blockId","includes","startTarget","endTarget","startParents","endParents","start","end","updatedSelectedBlocks","length","selectionDiff","label","title"],"mappings":";;;;;;;AAGA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/list-view/use-block-selection.js"],"names":["useBlockSelection","clearSelectedBlock","multiSelect","selectBlock","blockEditorStore","getBlockName","getBlockParents","getBlockSelectionStart","getBlockSelectionEnd","getSelectedBlockClientIds","hasMultiSelection","hasSelectedBlock","getBlockType","blocksStore","updateBlockSelection","event","clientId","destinationClientId","shiftKey","preventDefault","isKeyPress","type","keyCode","UP","DOWN","HOME","END","selectedBlocks","clientIdWithParents","some","blockId","includes","startTarget","endTarget","startParents","endParents","start","end","updatedSelectedBlocks","length","selectionDiff","filter","label","title"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\nimport { UP, DOWN, HOME, END } from '@wordpress/keycodes';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { getCommonDepthClientIds } from './utils';\n\nexport default function useBlockSelection() {\n\tconst { clearSelectedBlock, multiSelect, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockName,\n\t\tgetBlockParents,\n\t\tgetBlockSelectionStart,\n\t\tgetBlockSelectionEnd,\n\t\tgetSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\thasSelectedBlock,\n\t} = useSelect( blockEditorStore );\n\n\tconst { getBlockType } = useSelect( blocksStore );\n\n\tconst updateBlockSelection = useCallback(\n\t\tasync ( event, clientId, destinationClientId ) => {\n\t\t\tif ( ! event?.shiftKey ) {\n\t\t\t\tawait clearSelectedBlock();\n\t\t\t\tselectBlock( clientId );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// To handle multiple block selection via the `SHIFT` key, prevent\n\t\t\t// the browser default behavior of opening the link in a new window.\n\t\t\tevent.preventDefault();\n\n\t\t\tconst isKeyPress =\n\t\t\t\tevent.type === 'keydown' &&\n\t\t\t\t( event.keyCode === UP ||\n\t\t\t\t\tevent.keyCode === DOWN ||\n\t\t\t\t\tevent.keyCode === HOME ||\n\t\t\t\t\tevent.keyCode === END );\n\n\t\t\t// Handle clicking on a block when no blocks are selected, and return early.\n\t\t\tif (\n\t\t\t\t! isKeyPress &&\n\t\t\t\t! hasSelectedBlock() &&\n\t\t\t\t! hasMultiSelection()\n\t\t\t) {\n\t\t\t\tselectBlock( clientId, null );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectedBlocks = getSelectedBlockClientIds();\n\t\t\tconst clientIdWithParents = [\n\t\t\t\t...getBlockParents( clientId ),\n\t\t\t\tclientId,\n\t\t\t];\n\n\t\t\tif (\n\t\t\t\tisKeyPress &&\n\t\t\t\t! selectedBlocks.some( ( blockId ) =>\n\t\t\t\t\tclientIdWithParents.includes( blockId )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// Ensure that shift-selecting blocks via the keyboard only\n\t\t\t\t// expands the current selection if focusing over already\n\t\t\t\t// selected blocks. Otherwise, clear the selection so that\n\t\t\t\t// a user can create a new selection entirely by keyboard.\n\t\t\t\tawait clearSelectedBlock();\n\t\t\t}\n\n\t\t\tlet startTarget = getBlockSelectionStart();\n\t\t\tlet endTarget = clientId;\n\n\t\t\t// Handle keyboard behavior for selecting multiple blocks.\n\t\t\tif ( isKeyPress ) {\n\t\t\t\tif ( ! hasSelectedBlock() && ! hasMultiSelection() ) {\n\t\t\t\t\t// Set the starting point of the selection to the currently\n\t\t\t\t\t// focused block, if there are no blocks currently selected.\n\t\t\t\t\t// This ensures that as the selection is expanded or contracted,\n\t\t\t\t\t// the starting point of the selection is anchored to that block.\n\t\t\t\t\tstartTarget = clientId;\n\t\t\t\t}\n\t\t\t\tif ( destinationClientId ) {\n\t\t\t\t\t// If the user presses UP or DOWN, we want to ensure that the block they're\n\t\t\t\t\t// moving to is the target for selection, and not the currently focused one.\n\t\t\t\t\tendTarget = destinationClientId;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst startParents = getBlockParents( startTarget );\n\t\t\tconst endParents = getBlockParents( endTarget );\n\n\t\t\tconst { start, end } = getCommonDepthClientIds(\n\t\t\t\tstartTarget,\n\t\t\t\tendTarget,\n\t\t\t\tstartParents,\n\t\t\t\tendParents\n\t\t\t);\n\t\t\tawait multiSelect( start, end, null );\n\n\t\t\t// Announce deselected block, or number of deselected blocks if\n\t\t\t// the total number of blocks deselected is greater than one.\n\t\t\tconst updatedSelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// If the selection is greater than 1 and the Home or End keys\n\t\t\t// were used to generate the selection, then skip announcing the\n\t\t\t// deselected blocks.\n\t\t\tif (\n\t\t\t\t( event.keyCode === HOME || event.keyCode === END ) &&\n\t\t\t\tupdatedSelectedBlocks.length > 1\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectionDiff = selectedBlocks.filter(\n\t\t\t\t( blockId ) => ! updatedSelectedBlocks.includes( blockId )\n\t\t\t);\n\n\t\t\tlet label;\n\t\t\tif ( selectionDiff.length === 1 ) {\n\t\t\t\tconst title = getBlockType(\n\t\t\t\t\tgetBlockName( selectionDiff[ 0 ] )\n\t\t\t\t)?.title;\n\t\t\t\tif ( title ) {\n\t\t\t\t\tlabel = sprintf(\n\t\t\t\t\t\t/* translators: %s: block name */\n\t\t\t\t\t\t__( '%s deselected.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( selectionDiff.length > 1 ) {\n\t\t\t\tlabel = sprintf(\n\t\t\t\t\t/* translators: %s: number of deselected blocks */\n\t\t\t\t\t__( '%s blocks deselected.' ),\n\t\t\t\t\tselectionDiff.length\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( label ) {\n\t\t\t\tspeak( label );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tclearSelectedBlock,\n\t\t\tgetBlockName,\n\t\t\tgetBlockType,\n\t\t\tgetBlockParents,\n\t\t\tgetBlockSelectionStart,\n\t\t\tgetBlockSelectionEnd,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\thasMultiSelection,\n\t\t\thasSelectedBlock,\n\t\t\tmultiSelect,\n\t\t\tselectBlock,\n\t\t]\n\t);\n\n\treturn {\n\t\tupdateBlockSelection,\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/use-enter.js"],"names":["useEnter","props","__unstableMarkAutomaticChange","blockEditorStore","propsRef","current","element","onKeyDown","event","defaultPrevented","removeEditorOnlyFormats","value","onReplace","onSplit","onSplitMiddle","multilineTag","onChange","disableLineBreaks","onSplitAtEnd","keyCode","ENTER","preventDefault","_value","formats","canSplit","transforms","filter","type","transformation","item","regExp","test","text","transform","content","shiftKey","start","end","canSplitAtEnd","length","addEventListener","removeEventListener"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/use-enter.js"],"names":["useEnter","props","__unstableMarkAutomaticChange","blockEditorStore","propsRef","current","element","onKeyDown","event","defaultPrevented","removeEditorOnlyFormats","value","onReplace","onSplit","onSplitMiddle","multilineTag","onChange","disableLineBreaks","onSplitAtEnd","keyCode","ENTER","preventDefault","_value","formats","canSplit","transforms","filter","type","transformation","item","regExp","test","text","transform","content","shiftKey","start","end","canSplitAtEnd","length","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport { ENTER } from '@wordpress/keycodes';\nimport {\n\tinsert,\n\t__unstableIsEmptyLine as isEmptyLine,\n\t__unstableInsertLineSeparator as insertLineSeparator,\n} from '@wordpress/rich-text';\nimport { getBlockTransforms, findTransform } from '@wordpress/blocks';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { splitValue } from './split-value';\n\nexport function useEnter( props ) {\n\tconst { __unstableMarkAutomaticChange } = useDispatch( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tremoveEditorOnlyFormats,\n\t\t\t\tvalue,\n\t\t\t\tonReplace,\n\t\t\t\tonSplit,\n\t\t\t\tonSplitMiddle,\n\t\t\t\tmultilineTag,\n\t\t\t\tonChange,\n\t\t\t\tdisableLineBreaks,\n\t\t\t\tonSplitAtEnd,\n\t\t\t} = propsRef.current;\n\n\t\t\tif ( event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\n\t\t\tconst _value = { ...value };\n\t\t\t_value.formats = removeEditorOnlyFormats( value );\n\t\t\tconst canSplit = onReplace && onSplit;\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst transforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t\t( { type } ) => type === 'enter'\n\t\t\t\t);\n\t\t\t\tconst transformation = findTransform( transforms, ( item ) => {\n\t\t\t\t\treturn item.regExp.test( _value.text );\n\t\t\t\t} );\n\n\t\t\t\tif ( transformation ) {\n\t\t\t\t\tonReplace( [\n\t\t\t\t\t\ttransformation.transform( {\n\t\t\t\t\t\t\tcontent: _value.text,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t] );\n\t\t\t\t\t__unstableMarkAutomaticChange();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( multilineTag ) {\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tif ( ! disableLineBreaks ) {\n\t\t\t\t\t\tonChange( insert( _value, '\\n' ) );\n\t\t\t\t\t}\n\t\t\t\t} else if ( canSplit && isEmptyLine( _value ) ) {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue: _value,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\tonSplitMiddle,\n\t\t\t\t\t\tmultilineTag,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tonChange( insertLineSeparator( _value ) );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst { text, start, end } = _value;\n\t\t\t\tconst canSplitAtEnd =\n\t\t\t\t\tonSplitAtEnd && start === end && end === text.length;\n\n\t\t\t\tif ( event.shiftKey || ( ! canSplit && ! canSplitAtEnd ) ) {\n\t\t\t\t\tif ( ! disableLineBreaks ) {\n\t\t\t\t\t\tonChange( insert( _value, '\\n' ) );\n\t\t\t\t\t}\n\t\t\t\t} else if ( ! canSplit && canSplitAtEnd ) {\n\t\t\t\t\tonSplitAtEnd();\n\t\t\t\t} else if ( canSplit ) {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue: _value,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\tonSplitMiddle,\n\t\t\t\t\t\tmultilineTag,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n"]}
|
|
@@ -5,18 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useFormatTypes = useFormatTypes;
|
|
7
7
|
|
|
8
|
-
var _lodash = require("lodash");
|
|
9
|
-
|
|
10
8
|
var _element = require("@wordpress/element");
|
|
11
9
|
|
|
12
10
|
var _data = require("@wordpress/data");
|
|
13
11
|
|
|
14
12
|
var _richText = require("@wordpress/rich-text");
|
|
15
13
|
|
|
16
|
-
/**
|
|
17
|
-
* External dependencies
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
14
|
/**
|
|
21
15
|
* WordPress dependencies
|
|
22
16
|
*/
|
|
@@ -36,7 +30,10 @@ function prefixSelectKeys(selected, prefix) {
|
|
|
36
30
|
if (typeof selected !== 'object') return {
|
|
37
31
|
[prefix]: selected
|
|
38
32
|
};
|
|
39
|
-
return (
|
|
33
|
+
return Object.fromEntries(Object.entries(selected).map(_ref => {
|
|
34
|
+
let [key, value] = _ref;
|
|
35
|
+
return [`${prefix}.${key}`, value];
|
|
36
|
+
}));
|
|
40
37
|
}
|
|
41
38
|
|
|
42
39
|
function getPrefixedSelectKeys(selected, prefix) {
|
|
@@ -58,20 +55,20 @@ function getPrefixedSelectKeys(selected, prefix) {
|
|
|
58
55
|
*/
|
|
59
56
|
|
|
60
57
|
|
|
61
|
-
function useFormatTypes(
|
|
58
|
+
function useFormatTypes(_ref2) {
|
|
62
59
|
let {
|
|
63
60
|
clientId,
|
|
64
61
|
identifier,
|
|
65
62
|
withoutInteractiveFormatting,
|
|
66
63
|
allowedFormats
|
|
67
|
-
} =
|
|
64
|
+
} = _ref2;
|
|
68
65
|
const allFormatTypes = (0, _data.useSelect)(formatTypesSelector, []);
|
|
69
66
|
const formatTypes = (0, _element.useMemo)(() => {
|
|
70
|
-
return allFormatTypes.filter(
|
|
67
|
+
return allFormatTypes.filter(_ref3 => {
|
|
71
68
|
let {
|
|
72
69
|
name,
|
|
73
70
|
tagName
|
|
74
|
-
} =
|
|
71
|
+
} = _ref3;
|
|
75
72
|
|
|
76
73
|
if (allowedFormats && !allowedFormats.includes(name)) {
|
|
77
74
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/use-format-types.js"],"names":["formatTypesSelector","select","richTextStore","getFormatTypes","interactiveContentTags","Set","prefixSelectKeys","selected","prefix","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/use-format-types.js"],"names":["formatTypesSelector","select","richTextStore","getFormatTypes","interactiveContentTags","Set","prefixSelectKeys","selected","prefix","Object","fromEntries","entries","map","key","value","getPrefixedSelectKeys","keys","filter","startsWith","reduce","accumulator","slice","length","useFormatTypes","clientId","identifier","withoutInteractiveFormatting","allowedFormats","allFormatTypes","formatTypes","name","tagName","includes","has","keyedSelected","type","__experimentalGetPropsForEditableTreePreparation","richTextIdentifier","blockClientId","dispatch","prepareHandlers","valueHandlers","changeHandlers","dependencies","push","forEach","__experimentalCreatePrepareEditableTree","handler","__experimentalCreateOnChangeEditableValue","dispatchers","__experimentalGetPropsForEditableTreeChangeHandler"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;AAKA,SAASA,mBAAT,CAA8BC,MAA9B,EAAuC;AACtC,SAAOA,MAAM,CAAEC,eAAF,CAAN,CAAwBC,cAAxB,EAAP;AACA;AAED;AACA;AACA;AACA;AACA;;;AACA,MAAMC,sBAAsB,GAAG,IAAIC,GAAJ,CAAS,CACvC,GADuC,EAEvC,OAFuC,EAGvC,QAHuC,EAIvC,SAJuC,EAKvC,OALuC,EAMvC,QANuC,EAOvC,OAPuC,EAQvC,OARuC,EASvC,QATuC,EAUvC,UAVuC,EAWvC,OAXuC,CAAT,CAA/B;;AAcA,SAASC,gBAAT,CAA2BC,QAA3B,EAAqCC,MAArC,EAA8C;AAC7C,MAAK,OAAOD,QAAP,KAAoB,QAAzB,EAAoC,OAAO;AAAE,KAAEC,MAAF,GAAYD;AAAd,GAAP;AACpC,SAAOE,MAAM,CAACC,WAAP,CACND,MAAM,CAACE,OAAP,CAAgBJ,QAAhB,EAA2BK,GAA3B,CAAgC;AAAA,QAAE,CAAEC,GAAF,EAAOC,KAAP,CAAF;AAAA,WAAsB,CACpD,GAAGN,MAAQ,IAAIK,GAAK,EADgC,EAErDC,KAFqD,CAAtB;AAAA,GAAhC,CADM,CAAP;AAMA;;AAED,SAASC,qBAAT,CAAgCR,QAAhC,EAA0CC,MAA1C,EAAmD;AAClD,MAAKD,QAAQ,CAAEC,MAAF,CAAb,EAA0B,OAAOD,QAAQ,CAAEC,MAAF,CAAf;AAC1B,SAAOC,MAAM,CAACO,IAAP,CAAaT,QAAb,EACLU,MADK,CACKJ,GAAF,IAAWA,GAAG,CAACK,UAAJ,CAAgBV,MAAM,GAAG,GAAzB,CADd,EAELW,MAFK,CAEG,CAAEC,WAAF,EAAeP,GAAf,KAAwB;AAChCO,IAAAA,WAAW,CAAEP,GAAG,CAACQ,KAAJ,CAAWb,MAAM,CAACc,MAAP,GAAgB,CAA3B,CAAF,CAAX,GAAgDf,QAAQ,CAAEM,GAAF,CAAxD;AACA,WAAOO,WAAP;AACA,GALK,EAKH,EALG,CAAP;AAMA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASG,cAAT,QAKH;AAAA,MAL4B;AAC/BC,IAAAA,QAD+B;AAE/BC,IAAAA,UAF+B;AAG/BC,IAAAA,4BAH+B;AAI/BC,IAAAA;AAJ+B,GAK5B;AACH,QAAMC,cAAc,GAAG,qBAAW5B,mBAAX,EAAgC,EAAhC,CAAvB;AACA,QAAM6B,WAAW,GAAG,sBAAS,MAAM;AAClC,WAAOD,cAAc,CAACX,MAAf,CAAuB,SAAyB;AAAA,UAAvB;AAAEa,QAAAA,IAAF;AAAQC,QAAAA;AAAR,OAAuB;;AACtD,UAAKJ,cAAc,IAAI,CAAEA,cAAc,CAACK,QAAf,CAAyBF,IAAzB,CAAzB,EAA2D;AAC1D,eAAO,KAAP;AACA;;AAED,UACCJ,4BAA4B,IAC5BtB,sBAAsB,CAAC6B,GAAvB,CAA4BF,OAA5B,CAFD,EAGE;AACD,eAAO,KAAP;AACA;;AAED,aAAO,IAAP;AACA,KAbM,CAAP;AAcA,GAfmB,EAejB,CAAEH,cAAF,EAAkBD,cAAlB,EAAkCvB,sBAAlC,CAfiB,CAApB;AAgBA,QAAM8B,aAAa,GAAG,qBACnBjC,MAAF,IACC4B,WAAW,CAACV,MAAZ,CAAoB,CAAEC,WAAF,EAAee,IAAf,KAAyB;AAC5C,QAAK,CAAEA,IAAI,CAACC,gDAAZ,EAA+D;AAC9D,aAAOhB,WAAP;AACA;;AAED,WAAO,EACN,GAAGA,WADG;AAEN,SAAGd,gBAAgB,CAClB6B,IAAI,CAACC,gDAAL,CACCnC,MADD,EAEC;AACCoC,QAAAA,kBAAkB,EAAEZ,UADrB;AAECa,QAAAA,aAAa,EAAEd;AAFhB,OAFD,CADkB,EAQlBW,IAAI,CAACL,IARa;AAFb,KAAP;AAaA,GAlBD,EAkBG,EAlBH,CAFoB,EAqBrB,CAAED,WAAF,EAAeL,QAAf,EAAyBC,UAAzB,CArBqB,CAAtB;AAuBA,QAAMc,QAAQ,GAAG,wBAAjB;AACA,QAAMC,eAAe,GAAG,EAAxB;AACA,QAAMC,aAAa,GAAG,EAAtB;AACA,QAAMC,cAAc,GAAG,EAAvB;AACA,QAAMC,YAAY,GAAG,EAArB;;AAEA,OAAM,MAAM9B,GAAZ,IAAmBqB,aAAnB,EAAmC;AAClCS,IAAAA,YAAY,CAACC,IAAb,CAAmBV,aAAa,CAAErB,GAAF,CAAhC;AACA;;AAEDgB,EAAAA,WAAW,CAACgB,OAAZ,CAAuBV,IAAF,IAAY;AAChC,QAAKA,IAAI,CAACW,uCAAV,EAAoD;AACnD,YAAMC,OAAO,GAAGZ,IAAI,CAACW,uCAAL,CACf/B,qBAAqB,CAAEmB,aAAF,EAAiBC,IAAI,CAACL,IAAtB,CADN,EAEf;AACCO,QAAAA,kBAAkB,EAAEZ,UADrB;AAECa,QAAAA,aAAa,EAAEd;AAFhB,OAFe,CAAhB;;AAQA,UAAKW,IAAI,CAACa,yCAAV,EAAsD;AACrDP,QAAAA,aAAa,CAACG,IAAd,CAAoBG,OAApB;AACA,OAFD,MAEO;AACNP,QAAAA,eAAe,CAACI,IAAhB,CAAsBG,OAAtB;AACA;AACD;;AAED,QAAKZ,IAAI,CAACa,yCAAV,EAAsD;AACrD,UAAIC,WAAW,GAAG,EAAlB;;AAEA,UAAKd,IAAI,CAACe,kDAAV,EAA+D;AAC9DD,QAAAA,WAAW,GACVd,IAAI,CAACe,kDAAL,CACCX,QADD,EAEC;AACCF,UAAAA,kBAAkB,EAAEZ,UADrB;AAECa,UAAAA,aAAa,EAAEd;AAFhB,SAFD,CADD;AAQA;;AAED,YAAMjB,QAAQ,GAAGQ,qBAAqB,CAAEmB,aAAF,EAAiBC,IAAI,CAACL,IAAtB,CAAtC;AACAY,MAAAA,cAAc,CAACE,IAAf,CACCT,IAAI,CAACa,yCAAL,CACC,EACC,IAAK,OAAOzC,QAAP,KAAoB,QAApB,GAA+BA,QAA/B,GAA0C,EAA/C,CADD;AAEC,WAAG0C;AAFJ,OADD,EAKC;AACCZ,QAAAA,kBAAkB,EAAEZ,UADrB;AAECa,QAAAA,aAAa,EAAEd;AAFhB,OALD,CADD;AAYA;AACD,GA7CD;AA+CA,SAAO;AACNK,IAAAA,WADM;AAENW,IAAAA,eAFM;AAGNC,IAAAA,aAHM;AAINC,IAAAA,cAJM;AAKNC,IAAAA;AALM,GAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as richTextStore } from '@wordpress/rich-text';\n\nfunction formatTypesSelector( select ) {\n\treturn select( richTextStore ).getFormatTypes();\n}\n\n/**\n * Set of all interactive content tags.\n *\n * @see https://html.spec.whatwg.org/multipage/dom.html#interactive-content\n */\nconst interactiveContentTags = new Set( [\n\t'a',\n\t'audio',\n\t'button',\n\t'details',\n\t'embed',\n\t'iframe',\n\t'input',\n\t'label',\n\t'select',\n\t'textarea',\n\t'video',\n] );\n\nfunction prefixSelectKeys( selected, prefix ) {\n\tif ( typeof selected !== 'object' ) return { [ prefix ]: selected };\n\treturn Object.fromEntries(\n\t\tObject.entries( selected ).map( ( [ key, value ] ) => [\n\t\t\t`${ prefix }.${ key }`,\n\t\t\tvalue,\n\t\t] )\n\t);\n}\n\nfunction getPrefixedSelectKeys( selected, prefix ) {\n\tif ( selected[ prefix ] ) return selected[ prefix ];\n\treturn Object.keys( selected )\n\t\t.filter( ( key ) => key.startsWith( prefix + '.' ) )\n\t\t.reduce( ( accumulator, key ) => {\n\t\t\taccumulator[ key.slice( prefix.length + 1 ) ] = selected[ key ];\n\t\t\treturn accumulator;\n\t\t}, {} );\n}\n\n/**\n * This hook provides RichText with the `formatTypes` and its derived props from\n * experimental format type settings.\n *\n * @param {Object} $0 Options\n * @param {string} $0.clientId Block client ID.\n * @param {string} $0.identifier Block attribute.\n * @param {boolean} $0.withoutInteractiveFormatting Whether to clean the interactive formattings or not.\n * @param {Array} $0.allowedFormats Allowed formats\n */\nexport function useFormatTypes( {\n\tclientId,\n\tidentifier,\n\twithoutInteractiveFormatting,\n\tallowedFormats,\n} ) {\n\tconst allFormatTypes = useSelect( formatTypesSelector, [] );\n\tconst formatTypes = useMemo( () => {\n\t\treturn allFormatTypes.filter( ( { name, tagName } ) => {\n\t\t\tif ( allowedFormats && ! allowedFormats.includes( name ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\twithoutInteractiveFormatting &&\n\t\t\t\tinteractiveContentTags.has( tagName )\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} );\n\t}, [ allFormatTypes, allowedFormats, interactiveContentTags ] );\n\tconst keyedSelected = useSelect(\n\t\t( select ) =>\n\t\t\tformatTypes.reduce( ( accumulator, type ) => {\n\t\t\t\tif ( ! type.__experimentalGetPropsForEditableTreePreparation ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t...accumulator,\n\t\t\t\t\t...prefixSelectKeys(\n\t\t\t\t\t\ttype.__experimentalGetPropsForEditableTreePreparation(\n\t\t\t\t\t\t\tselect,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\trichTextIdentifier: identifier,\n\t\t\t\t\t\t\t\tblockClientId: clientId,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttype.name\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}, {} ),\n\t\t[ formatTypes, clientId, identifier ]\n\t);\n\tconst dispatch = useDispatch();\n\tconst prepareHandlers = [];\n\tconst valueHandlers = [];\n\tconst changeHandlers = [];\n\tconst dependencies = [];\n\n\tfor ( const key in keyedSelected ) {\n\t\tdependencies.push( keyedSelected[ key ] );\n\t}\n\n\tformatTypes.forEach( ( type ) => {\n\t\tif ( type.__experimentalCreatePrepareEditableTree ) {\n\t\t\tconst handler = type.__experimentalCreatePrepareEditableTree(\n\t\t\t\tgetPrefixedSelectKeys( keyedSelected, type.name ),\n\t\t\t\t{\n\t\t\t\t\trichTextIdentifier: identifier,\n\t\t\t\t\tblockClientId: clientId,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( type.__experimentalCreateOnChangeEditableValue ) {\n\t\t\t\tvalueHandlers.push( handler );\n\t\t\t} else {\n\t\t\t\tprepareHandlers.push( handler );\n\t\t\t}\n\t\t}\n\n\t\tif ( type.__experimentalCreateOnChangeEditableValue ) {\n\t\t\tlet dispatchers = {};\n\n\t\t\tif ( type.__experimentalGetPropsForEditableTreeChangeHandler ) {\n\t\t\t\tdispatchers =\n\t\t\t\t\ttype.__experimentalGetPropsForEditableTreeChangeHandler(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\trichTextIdentifier: identifier,\n\t\t\t\t\t\t\tblockClientId: clientId,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst selected = getPrefixedSelectKeys( keyedSelected, type.name );\n\t\t\tchangeHandlers.push(\n\t\t\t\ttype.__experimentalCreateOnChangeEditableValue(\n\t\t\t\t\t{\n\t\t\t\t\t\t...( typeof selected === 'object' ? selected : {} ),\n\t\t\t\t\t\t...dispatchers,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\trichTextIdentifier: identifier,\n\t\t\t\t\t\tblockClientId: clientId,\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn {\n\t\tformatTypes,\n\t\tprepareHandlers,\n\t\tvalueHandlers,\n\t\tchangeHandlers,\n\t\tdependencies,\n\t};\n}\n"]}
|