@wordpress/block-library 8.24.0 → 8.25.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/CHANGELOG.md +2 -0
- package/build/audio/edit.js +7 -52
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +1 -1
- package/build/audio/edit.native.js.map +1 -1
- package/build/audio/index.js +2 -2
- package/build/block/edit.js +102 -11
- package/build/block/edit.js.map +1 -1
- package/build/block/index.js +3 -2
- package/build/block/index.js.map +1 -1
- package/build/block/v1/edit.js +116 -0
- package/build/block/v1/edit.js.map +1 -0
- package/build/block/{edit.native.js → v1/edit.native.js} +2 -2
- package/build/block/v1/edit.native.js.map +1 -0
- package/build/button/index.js +2 -2
- package/build/button/save.js +1 -1
- package/build/button/save.js.map +1 -1
- package/build/code/edit.native.js +13 -14
- package/build/code/edit.native.js.map +1 -1
- package/build/code/index.js +2 -2
- package/build/code/save.js +6 -2
- package/build/code/save.js.map +1 -1
- package/build/details/index.js +2 -2
- package/build/embed/deprecated.js +2 -2
- package/build/embed/embed-preview.native.js +1 -1
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/embed/icons.js +1 -1
- package/build/embed/icons.js.map +1 -1
- package/build/embed/index.js +2 -2
- package/build/embed/transforms.js +2 -2
- package/build/embed/util.js +2 -2
- package/build/file/edit.js +1 -1
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/index.js +4 -4
- package/build/file/save.js +4 -1
- package/build/file/save.js.map +1 -1
- package/build/form-input/deprecated.js +147 -0
- package/build/form-input/deprecated.js.map +1 -0
- package/build/form-input/edit.js +1 -1
- package/build/form-input/edit.js.map +1 -1
- package/build/form-input/index.js +4 -2
- package/build/form-input/index.js.map +1 -1
- package/build/form-input/save.js +7 -9
- package/build/form-input/save.js.map +1 -1
- package/build/gallery/edit.js +2 -41
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +18 -24
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gallery.native.js +1 -1
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/index.js +4 -4
- package/build/gallery/v1/gallery.native.js +1 -1
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/group/edit.js +6 -1
- package/build/group/edit.js.map +1 -1
- package/build/heading/index.js +3 -6
- package/build/heading/index.js.map +1 -1
- package/build/image/edit.native.js +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +14 -51
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +2 -2
- package/build/image/save.js +3 -1
- package/build/image/save.js.map +1 -1
- package/build/list-item/index.js +10 -3
- package/build/list-item/index.js.map +1 -1
- package/build/navigation/edit/index.js +1 -1
- package/build/navigation/edit/index.js.map +1 -1
- package/build/page-list/convert-to-links-modal.js +2 -2
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/paragraph/edit.js +54 -32
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/index.js +2 -3
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +2 -3
- package/build/paragraph/transforms.js.map +1 -1
- package/build/post-title/index.js +1 -3
- package/build/post-title/index.js.map +1 -1
- package/build/preformatted/index.js +2 -3
- package/build/preformatted/index.js.map +1 -1
- package/build/pullquote/index.js +5 -7
- package/build/pullquote/index.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -0
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query-title/index.js +1 -3
- package/build/query-title/index.js.map +1 -1
- package/build/quote/index.js +3 -5
- package/build/quote/index.js.map +1 -1
- package/build/quote/transforms.js +7 -6
- package/build/quote/transforms.js.map +1 -1
- package/build/site-title/index.js +1 -5
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/icons/gravatar.js +22 -0
- package/build/social-link/icons/gravatar.js.map +1 -0
- package/build/social-link/icons/index.js +11 -0
- package/build/social-link/icons/index.js.map +1 -1
- package/build/social-link/variations.js +7 -0
- package/build/social-link/variations.js.map +1 -1
- package/build/table/edit.js +3 -1
- package/build/table/edit.js.map +1 -1
- package/build/table/index.js +9 -10
- package/build/table/index.js.map +1 -1
- package/build/table-of-contents/edit.js +2 -2
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/index.js +5 -2
- package/build/table-of-contents/index.js.map +1 -1
- package/build/utils/caption.js +90 -0
- package/build/utils/caption.js.map +1 -0
- package/build/utils/remove-anchor-tag.js +2 -1
- package/build/utils/remove-anchor-tag.js.map +1 -1
- package/build/verse/index.js +3 -5
- package/build/verse/index.js.map +1 -1
- package/build/video/deprecated.js +2 -2
- package/build/video/edit.js +8 -52
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +1 -1
- package/build/video/edit.native.js.map +1 -1
- package/build/video/index.js +2 -2
- package/build-module/audio/edit.js +11 -56
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js +2 -2
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/audio/index.js +2 -2
- package/build-module/block/edit.js +104 -13
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/index.js +3 -2
- package/build-module/block/index.js.map +1 -1
- package/build-module/block/v1/edit.js +108 -0
- package/build-module/block/v1/edit.js.map +1 -0
- package/build-module/block/{edit.native.js → v1/edit.native.js} +2 -2
- package/build-module/block/v1/edit.native.js.map +1 -0
- package/build-module/button/index.js +2 -2
- package/build-module/button/save.js +1 -1
- package/build-module/button/save.js.map +1 -1
- package/build-module/code/edit.native.js +14 -16
- package/build-module/code/edit.native.js.map +1 -1
- package/build-module/code/index.js +2 -2
- package/build-module/code/save.js +6 -2
- package/build-module/code/save.js.map +1 -1
- package/build-module/details/index.js +2 -2
- package/build-module/embed/deprecated.js +2 -2
- package/build-module/embed/embed-preview.native.js +2 -2
- package/build-module/embed/embed-preview.native.js.map +1 -1
- package/build-module/embed/icons.js +1 -1
- package/build-module/embed/icons.js.map +1 -1
- package/build-module/embed/index.js +2 -2
- package/build-module/embed/transforms.js +2 -2
- package/build-module/embed/util.js +2 -2
- package/build-module/file/edit.js +1 -1
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/index.js +4 -4
- package/build-module/file/save.js +4 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/form-input/deprecated.js +138 -0
- package/build-module/form-input/deprecated.js.map +1 -0
- package/build-module/form-input/edit.js +1 -1
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/form-input/index.js +4 -2
- package/build-module/form-input/index.js.map +1 -1
- package/build-module/form-input/save.js +8 -10
- package/build-module/form-input/save.js.map +1 -1
- package/build-module/gallery/edit.js +5 -44
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +17 -21
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gallery.native.js +2 -2
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/index.js +4 -4
- package/build-module/gallery/v1/gallery.native.js +2 -2
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/group/edit.js +6 -1
- package/build-module/group/edit.js.map +1 -1
- package/build-module/heading/index.js +3 -6
- package/build-module/heading/index.js.map +1 -1
- package/build-module/image/edit.native.js +2 -2
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +19 -56
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +2 -2
- package/build-module/image/save.js +3 -1
- package/build-module/image/save.js.map +1 -1
- package/build-module/list-item/index.js +10 -3
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/navigation/edit/index.js +2 -2
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/page-list/convert-to-links-modal.js +2 -2
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/paragraph/edit.js +54 -32
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/paragraph/index.js +2 -3
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +2 -3
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/post-title/index.js +1 -3
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/preformatted/index.js +2 -3
- package/build-module/preformatted/index.js.map +1 -1
- package/build-module/pullquote/index.js +5 -7
- package/build-module/pullquote/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -0
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query-title/index.js +1 -3
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/quote/index.js +3 -5
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/transforms.js +7 -6
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/site-title/index.js +1 -5
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/icons/gravatar.js +14 -0
- package/build-module/social-link/icons/gravatar.js.map +1 -0
- package/build-module/social-link/icons/index.js +1 -0
- package/build-module/social-link/icons/index.js.map +1 -1
- package/build-module/social-link/variations.js +8 -1
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/table/edit.js +3 -1
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/index.js +9 -10
- package/build-module/table/index.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/index.js +5 -1
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/utils/caption.js +82 -0
- package/build-module/utils/caption.js.map +1 -0
- package/build-module/utils/remove-anchor-tag.js +2 -1
- package/build-module/utils/remove-anchor-tag.js.map +1 -1
- package/build-module/verse/index.js +3 -5
- package/build-module/verse/index.js.map +1 -1
- package/build-module/video/deprecated.js +2 -2
- package/build-module/video/edit.js +13 -57
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +2 -2
- package/build-module/video/edit.native.js.map +1 -1
- package/build-module/video/index.js +2 -2
- package/build-style/editor-rtl.css +1 -11
- package/build-style/editor.css +1 -11
- package/build-style/social-links/style-rtl.css +14 -2
- package/build-style/social-links/style.css +14 -2
- package/build-style/style-rtl.css +14 -2
- package/build-style/style.css +14 -2
- package/build-style/table/editor-rtl.css +1 -11
- package/build-style/table/editor.css +1 -11
- package/package.json +32 -32
- package/src/audio/block.json +2 -2
- package/src/audio/edit.js +11 -74
- package/src/audio/edit.native.js +2 -1
- package/src/block/edit.js +143 -16
- package/src/block/index.js +3 -2
- package/src/block/index.php +48 -0
- package/src/block/v1/edit.js +163 -0
- package/src/block/{edit.native.js → v1/edit.native.js} +2 -2
- package/src/button/block.json +2 -2
- package/src/button/save.js +1 -1
- package/src/code/block.json +2 -2
- package/src/code/edit.native.js +11 -13
- package/src/code/save.js +4 -1
- package/src/code/test/edit.native.js +2 -2
- package/src/cover/test/edit.native.js +7 -1
- package/src/details/block.json +2 -2
- package/src/embed/block.json +2 -2
- package/src/embed/embed-preview.native.js +2 -1
- package/src/embed/icons.js +1 -1
- package/src/file/block.json +4 -4
- package/src/file/edit.js +1 -1
- package/src/file/edit.native.js +1 -1
- package/src/file/save.js +5 -1
- package/src/form-input/block.json +2 -2
- package/src/form-input/deprecated.js +142 -0
- package/src/form-input/edit.js +1 -1
- package/src/form-input/index.js +2 -0
- package/src/form-input/save.js +27 -24
- package/src/gallery/block.json +4 -4
- package/src/gallery/edit.js +4 -59
- package/src/gallery/gallery.js +19 -36
- package/src/gallery/gallery.native.js +6 -2
- package/src/gallery/v1/gallery.native.js +2 -1
- package/src/group/edit.js +4 -1
- package/src/heading/block.json +3 -6
- package/src/image/block.json +2 -2
- package/src/image/edit.native.js +2 -3
- package/src/image/image.js +24 -93
- package/src/image/save.js +3 -1
- package/src/list-item/block.json +10 -3
- package/src/navigation/edit/index.js +7 -2
- package/src/navigation/index.php +1 -1
- package/src/navigation-link/test/__snapshots__/hooks.js.snap +6 -3
- package/src/page-list/convert-to-links-modal.js +2 -2
- package/src/paragraph/block.json +2 -3
- package/src/paragraph/edit.js +53 -40
- package/src/post-title/block.json +1 -3
- package/src/preformatted/block.json +2 -3
- package/src/pullquote/block.json +5 -7
- package/src/query/edit/inspector-controls/taxonomy-controls.js +2 -0
- package/src/query-title/block.json +1 -3
- package/src/quote/block.json +3 -5
- package/src/quote/transforms.js +12 -11
- package/src/site-title/block.json +1 -5
- package/src/social-link/icons/gravatar.js +10 -0
- package/src/social-link/icons/index.js +1 -0
- package/src/social-link/index.php +4 -0
- package/src/social-link/socials-with-bg.scss +5 -0
- package/src/social-link/socials-without-bg.scss +4 -0
- package/src/social-link/variations.js +7 -0
- package/src/social-links/style.scss +14 -8
- package/src/table/block.json +9 -10
- package/src/table/edit.js +3 -1
- package/src/table/editor.scss +1 -14
- package/src/table-of-contents/edit.js +1 -1
- package/src/table-of-contents/index.js +5 -1
- package/src/utils/caption.js +108 -0
- package/src/utils/remove-anchor-tag.js +2 -1
- package/src/verse/block.json +3 -5
- package/src/video/block.json +2 -2
- package/src/video/edit.js +12 -74
- package/src/video/edit.native.js +2 -1
- package/build/block/edit.native.js.map +0 -1
- package/build/table-of-contents/icon.js +0 -22
- package/build/table-of-contents/icon.js.map +0 -1
- package/build-module/block/edit.native.js.map +0 -1
- package/build-module/table-of-contents/icon.js +0 -15
- package/build-module/table-of-contents/icon.js.map +0 -1
- package/src/table-of-contents/icon.js +0 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useEffect","useRef","useState","InspectorControls","BlockControls","RichText","BlockIcon","AlignmentControl","useBlockProps","__experimentalUseColorProps","useColorProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetElementClassName","__","Button","PanelBody","Placeholder","TextControl","ToggleControl","ToolbarDropdownMenu","__experimentalHasSplitBorders","hasSplitBorders","alignLeft","alignRight","alignCenter","blockTable","icon","tableColumnAfter","tableColumnBefore","tableColumnDelete","tableRowAfter","tableRowBefore","tableRowDelete","table","createBlock","getDefaultBlockName","createTable","updateSelectedCell","getCellAttribute","insertRow","deleteRow","insertColumn","deleteColumn","toggleSection","isEmptyTableSection","ALIGNMENT_CONTROLS","title","align","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","createElement","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","hasFixedLayout","caption","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","isDisabled","onClick","renderedSections","map","key","cells","tag","CellTag","scope","colspan","rowspan","undefined","colSpan","rowSpan","className","value","onFocus","isEmpty","length","ref","Fragment","group","label","alignmentControls","nextAlign","hasArrowIndicator","controls","__nextHasNoMarginBottom","checked","style","border","identifier","tagName","__unstableOnSplitAtEnd","showColors","instructions","onSubmit","min","variant"],"sources":["@wordpress/block-library/src/table/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected,\n} ) {\n\tconst { hasFixedLayout, caption, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string | undefined} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td div[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = sections.map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\ttag: CellTag,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<CellTag\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\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\t<RichText\n\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</CellTag>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\thasArrowIndicator\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\tclassName=\"blocks-table-settings\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\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\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\taria-label={ __( 'Table caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\t// Deselect the selected table cell when the caption is focused.\n\t\t\t\t\tonFocus={ () => setSelectedCell() }\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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\t{ isEmpty && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useEffect","useRef","useState","InspectorControls","BlockControls","RichText","BlockIcon","AlignmentControl","useBlockProps","__experimentalUseColorProps","useColorProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetElementClassName","__","Button","PanelBody","Placeholder","TextControl","ToggleControl","ToolbarDropdownMenu","__experimentalHasSplitBorders","hasSplitBorders","alignLeft","alignRight","alignCenter","blockTable","icon","tableColumnAfter","tableColumnBefore","tableColumnDelete","tableRowAfter","tableRowBefore","tableRowDelete","table","createBlock","getDefaultBlockName","createTable","updateSelectedCell","getCellAttribute","insertRow","deleteRow","insertColumn","deleteColumn","toggleSection","isEmptyTableSection","ALIGNMENT_CONTROLS","title","align","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","createElement","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","hasFixedLayout","caption","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","isDisabled","onClick","renderedSections","map","key","cells","tag","CellTag","scope","colspan","rowspan","undefined","colSpan","rowSpan","className","value","onFocus","isEmpty","length","ref","Fragment","group","label","alignmentControls","nextAlign","hasArrowIndicator","controls","__nextHasNoMarginBottom","checked","style","border","identifier","tagName","__unstableOnSplitAtEnd","showColors","instructions","onSubmit","__next40pxDefaultSize","min","variant"],"sources":["@wordpress/block-library/src/table/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected,\n} ) {\n\tconst { hasFixedLayout, caption, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string | undefined} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td div[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = sections.map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\ttag: CellTag,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<CellTag\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\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\t<RichText\n\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</CellTag>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\thasArrowIndicator\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\tclassName=\"blocks-table-settings\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\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\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\taria-label={ __( 'Table caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\t// Deselect the selected table cell when the caption is focused.\n\t\t\t\t\tonFocus={ () => setSelectedCell() }\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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\t{ isEmpty && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,oBAAoB;AAChE,SACCC,iBAAiB,EACjBC,aAAa,EACbC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAChBC,aAAa,EACbC,2BAA2B,IAAIC,aAAa,EAC5CC,4BAA4B,IAAIC,cAAc,EAC9CC,iCAAiC,QAC3B,yBAAyB;AAChC,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,MAAM,EACNC,SAAS,EACTC,WAAW,EACXC,WAAW,EACXC,aAAa,EACbC,mBAAmB,EACnBC,6BAA6B,IAAIC,eAAe,QAC1C,uBAAuB;AAC9B,SACCC,SAAS,EACTC,UAAU,EACVC,WAAW,EACXC,UAAU,IAAIC,IAAI,EAClBC,gBAAgB,EAChBC,iBAAiB,EACjBC,iBAAiB,EACjBC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,KAAK,QACC,kBAAkB;AACzB,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SACCC,WAAW,EACXC,kBAAkB,EAClBC,gBAAgB,EAChBC,SAAS,EACTC,SAAS,EACTC,YAAY,EACZC,YAAY,EACZC,aAAa,EACbC,mBAAmB,QACb,SAAS;AAEhB,MAAMC,kBAAkB,GAAG,CAC1B;EACCnB,IAAI,EAAEJ,SAAS;EACfwB,KAAK,EAAEjC,EAAE,CAAE,mBAAoB,CAAC;EAChCkC,KAAK,EAAE;AACR,CAAC,EACD;EACCrB,IAAI,EAAEF,WAAW;EACjBsB,KAAK,EAAEjC,EAAE,CAAE,qBAAsB,CAAC;EAClCkC,KAAK,EAAE;AACR,CAAC,EACD;EACCrB,IAAI,EAAEH,UAAU;EAChBuB,KAAK,EAAEjC,EAAE,CAAE,oBAAqB,CAAC;EACjCkC,KAAK,EAAE;AACR,CAAC,CACD;AAED,MAAMC,aAAa,GAAG;EACrBC,IAAI,EAAEpC,EAAE,CAAE,kBAAmB,CAAC;EAC9BqC,IAAI,EAAErC,EAAE,CAAE,gBAAiB,CAAC;EAC5BsC,IAAI,EAAEtC,EAAE,CAAE,kBAAmB;AAC9B,CAAC;AAED,MAAMuC,WAAW,GAAG;EACnBH,IAAI,EAAEpC,EAAE,CAAE,cAAe,CAAC;EAC1BsC,IAAI,EAAEtC,EAAE,CAAE,cAAe;AAC1B,CAAC;AAED,SAASwC,QAAQA,CAAE;EAAEC,IAAI;EAAE,GAAGC;AAAM,CAAC,EAAG;EACvC,MAAMC,OAAO,GAAI,IAAIF,IAAM,EAAC;EAC5B,OAAOG,aAAA,CAACD,OAAO;IAAA,GAAMD;EAAK,CAAI,CAAC;AAChC;AAEA,SAASG,SAASA,CAAE;EACnBC,UAAU;EACVC,aAAa;EACbC,iBAAiB;EACjBC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,cAAc;IAAEC,OAAO;IAAEf,IAAI;IAAEE;EAAK,CAAC,GAAGQ,UAAU;EAC1D,MAAM,CAAEM,eAAe,EAAEC,kBAAkB,CAAE,GAAGjE,QAAQ,CAAE,CAAE,CAAC;EAC7D,MAAM,CAAEkE,kBAAkB,EAAEC,qBAAqB,CAAE,GAAGnE,QAAQ,CAAE,CAAE,CAAC;EACnE,MAAM,CAAEoE,YAAY,EAAEC,eAAe,CAAE,GAAGrE,QAAQ,CAAC,CAAC;EAEpD,MAAMsE,UAAU,GAAG9D,aAAa,CAAEkD,UAAW,CAAC;EAC9C,MAAMa,WAAW,GAAG7D,cAAc,CAAEgD,UAAW,CAAC;EAEhD,MAAMc,QAAQ,GAAGzE,MAAM,CAAC,CAAC;EACzB,MAAM,CAAE0E,eAAe,EAAEC,kBAAkB,CAAE,GAAG1E,QAAQ,CAAE,KAAM,CAAC;;EAEjE;AACD;AACA;AACA;AACA;EACC,SAAS2E,0BAA0BA,CAAEC,KAAK,EAAG;IAC5CT,qBAAqB,CAAES,KAAM,CAAC;EAC/B;;EAEA;AACD;AACA;AACA;AACA;EACC,SAASC,uBAAuBA,CAAED,KAAK,EAAG;IACzCX,kBAAkB,CAAEW,KAAM,CAAC;EAC5B;;EAEA;AACD;AACA;AACA;AACA;EACC,SAASE,aAAaA,CAAEC,KAAK,EAAG;IAC/BA,KAAK,CAACC,cAAc,CAAC,CAAC;IAEtBrB,aAAa,CACZxB,WAAW,CAAE;MACZ8C,QAAQ,EAAEC,QAAQ,CAAElB,eAAe,EAAE,EAAG,CAAC,IAAI,CAAC;MAC9CmB,WAAW,EAAED,QAAQ,CAAEhB,kBAAkB,EAAE,EAAG,CAAC,IAAI;IACpD,CAAE,CACH,CAAC;IACDQ,kBAAkB,CAAE,IAAK,CAAC;EAC3B;;EAEA;AACD;AACA;EACC,SAASU,mBAAmBA,CAAA,EAAG;IAC9BzB,aAAa,CAAE;MAAEG,cAAc,EAAE,CAAEA;IAAe,CAAE,CAAC;EACtD;;EAEA;AACD;AACA;AACA;AACA;EACC,SAASuB,QAAQA,CAAEC,OAAO,EAAG;IAC5B,IAAK,CAAElB,YAAY,EAAG;MACrB;IACD;IAEAT,aAAa,CACZvB,kBAAkB,CACjBsB,UAAU,EACVU,YAAY,EACVmB,cAAc,KAAQ;MACvB,GAAGA,cAAc;MACjBD;IACD,CAAC,CACF,CACD,CAAC;EACF;;EAEA;AACD;AACA;AACA;AACA;EACC,SAASE,uBAAuBA,CAAE1C,KAAK,EAAG;IACzC,IAAK,CAAEsB,YAAY,EAAG;MACrB;IACD;;IAEA;IACA;IACA,MAAMqB,eAAe,GAAG;MACvBC,IAAI,EAAE,QAAQ;MACdC,WAAW,EAAEvB,YAAY,CAACuB;IAC3B,CAAC;IAED,MAAMC,aAAa,GAAGxD,kBAAkB,CACvCsB,UAAU,EACV+B,eAAe,EACbF,cAAc,KAAQ;MACvB,GAAGA,cAAc;MACjBzC;IACD,CAAC,CACF,CAAC;IACDa,aAAa,CAAEiC,aAAc,CAAC;EAC/B;;EAEA;AACD;AACA;AACA;AACA;EACC,SAASC,gBAAgBA,CAAA,EAAG;IAC3B,IAAK,CAAEzB,YAAY,EAAG;MACrB;IACD;IAEA,OAAO/B,gBAAgB,CAAEqB,UAAU,EAAEU,YAAY,EAAE,OAAQ,CAAC;EAC7D;;EAEA;AACD;AACA;EACC,SAAS0B,qBAAqBA,CAAA,EAAG;IAChCnC,aAAa,CAAEjB,aAAa,CAAEgB,UAAU,EAAE,MAAO,CAAE,CAAC;EACrD;;EAEA;AACD;AACA;EACC,SAASqC,qBAAqBA,CAAA,EAAG;IAChCpC,aAAa,CAAEjB,aAAa,CAAEgB,UAAU,EAAE,MAAO,CAAE,CAAC;EACrD;;EAEA;AACD;AACA;AACA;AACA;EACC,SAASsC,WAAWA,CAAEC,KAAK,EAAG;IAC7B,IAAK,CAAE7B,YAAY,EAAG;MACrB;IACD;IAEA,MAAM;MAAE8B,WAAW;MAAEC;IAAS,CAAC,GAAG/B,YAAY;IAC9C,MAAMgC,WAAW,GAAGD,QAAQ,GAAGF,KAAK;IAEpCtC,aAAa,CACZrB,SAAS,CAAEoB,UAAU,EAAE;MACtBwC,WAAW;MACXC,QAAQ,EAAEC;IACX,CAAE,CACH,CAAC;IACD;IACA/B,eAAe,CAAE;MAChB6B,WAAW;MACXC,QAAQ,EAAEC,WAAW;MACrBT,WAAW,EAAE,CAAC;MACdD,IAAI,EAAE;IACP,CAAE,CAAC;EACJ;;EAEA;AACD;AACA;EACC,SAASW,iBAAiBA,CAAA,EAAG;IAC5BL,WAAW,CAAE,CAAE,CAAC;EACjB;;EAEA;AACD;AACA;EACC,SAASM,gBAAgBA,CAAA,EAAG;IAC3BN,WAAW,CAAE,CAAE,CAAC;EACjB;;EAEA;AACD;AACA;EACC,SAASO,WAAWA,CAAA,EAAG;IACtB,IAAK,CAAEnC,YAAY,EAAG;MACrB;IACD;IAEA,MAAM;MAAE8B,WAAW;MAAEC;IAAS,CAAC,GAAG/B,YAAY;IAE9CC,eAAe,CAAC,CAAC;IACjBV,aAAa,CAAEpB,SAAS,CAAEmB,UAAU,EAAE;MAAEwC,WAAW;MAAEC;IAAS,CAAE,CAAE,CAAC;EACpE;;EAEA;AACD;AACA;AACA;AACA;EACC,SAASK,cAAcA,CAAEP,KAAK,GAAG,CAAC,EAAG;IACpC,IAAK,CAAE7B,YAAY,EAAG;MACrB;IACD;IAEA,MAAM;MAAEuB;IAAY,CAAC,GAAGvB,YAAY;IACpC,MAAMqC,cAAc,GAAGd,WAAW,GAAGM,KAAK;IAE1CtC,aAAa,CACZnB,YAAY,CAAEkB,UAAU,EAAE;MACzBiC,WAAW,EAAEc;IACd,CAAE,CACH,CAAC;IACD;IACApC,eAAe,CAAE;MAChB8B,QAAQ,EAAE,CAAC;MACXR,WAAW,EAAEc,cAAc;MAC3Bf,IAAI,EAAE;IACP,CAAE,CAAC;EACJ;;EAEA;AACD;AACA;EACC,SAASgB,oBAAoBA,CAAA,EAAG;IAC/BF,cAAc,CAAE,CAAE,CAAC;EACpB;;EAEA;AACD;AACA;EACC,SAASG,mBAAmBA,CAAA,EAAG;IAC9BH,cAAc,CAAE,CAAE,CAAC;EACpB;;EAEA;AACD;AACA;EACC,SAASI,cAAcA,CAAA,EAAG;IACzB,IAAK,CAAExC,YAAY,EAAG;MACrB;IACD;IAEA,MAAM;MAAE8B,WAAW;MAAEP;IAAY,CAAC,GAAGvB,YAAY;IAEjDC,eAAe,CAAC,CAAC;IACjBV,aAAa,CACZlB,YAAY,CAAEiB,UAAU,EAAE;MAAEwC,WAAW;MAAEP;IAAY,CAAE,CACxD,CAAC;EACF;EAEA7F,SAAS,CAAE,MAAM;IAChB,IAAK,CAAE+D,UAAU,EAAG;MACnBQ,eAAe,CAAC,CAAC;IAClB;EACD,CAAC,EAAE,CAAER,UAAU,CAAG,CAAC;EAEnB/D,SAAS,CAAE,MAAM;IAChB,IAAK2E,eAAe,EAAG;MACtBD,QAAQ,EAAEqC,OAAO,EACdC,aAAa,CAAE,gCAAiC,CAAC,EACjDC,KAAK,CAAC,CAAC;MACVrC,kBAAkB,CAAE,KAAM,CAAC;IAC5B;EACD,CAAC,EAAE,CAAED,eAAe,CAAG,CAAC;EAExB,MAAMuC,QAAQ,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAE,CAACC,MAAM,CAC/C5D,IAAI,IAAM,CAAEV,mBAAmB,CAAEe,UAAU,CAAEL,IAAI,CAAG,CACvD,CAAC;EAED,MAAM6D,aAAa,GAAG,CACrB;IACCzF,IAAI,EAAEK,cAAc;IACpBe,KAAK,EAAEjC,EAAE,CAAE,mBAAoB,CAAC;IAChCuG,UAAU,EAAE,CAAE/C,YAAY;IAC1BgD,OAAO,EAAEf;EACV,CAAC,EACD;IACC5E,IAAI,EAAEI,aAAa;IACnBgB,KAAK,EAAEjC,EAAE,CAAE,kBAAmB,CAAC;IAC/BuG,UAAU,EAAE,CAAE/C,YAAY;IAC1BgD,OAAO,EAAEd;EACV,CAAC,EACD;IACC7E,IAAI,EAAEM,cAAc;IACpBc,KAAK,EAAEjC,EAAE,CAAE,YAAa,CAAC;IACzBuG,UAAU,EAAE,CAAE/C,YAAY;IAC1BgD,OAAO,EAAEb;EACV,CAAC,EACD;IACC9E,IAAI,EAAEE,iBAAiB;IACvBkB,KAAK,EAAEjC,EAAE,CAAE,sBAAuB,CAAC;IACnCuG,UAAU,EAAE,CAAE/C,YAAY;IAC1BgD,OAAO,EAAEV;EACV,CAAC,EACD;IACCjF,IAAI,EAAEC,gBAAgB;IACtBmB,KAAK,EAAEjC,EAAE,CAAE,qBAAsB,CAAC;IAClCuG,UAAU,EAAE,CAAE/C,YAAY;IAC1BgD,OAAO,EAAET;EACV,CAAC,EACD;IACClF,IAAI,EAAEG,iBAAiB;IACvBiB,KAAK,EAAEjC,EAAE,CAAE,eAAgB,CAAC;IAC5BuG,UAAU,EAAE,CAAE/C,YAAY;IAC1BgD,OAAO,EAAER;EACV,CAAC,CACD;EAED,MAAMS,gBAAgB,GAAGL,QAAQ,CAACM,GAAG,CAAIjE,IAAI,IAC5CG,aAAA,CAACJ,QAAQ;IAACC,IAAI,EAAGA,IAAM;IAACkE,GAAG,EAAGlE;EAAM,GACjCK,UAAU,CAAEL,IAAI,CAAE,CAACiE,GAAG,CAAE,CAAE;IAAEE;EAAM,CAAC,EAAErB,QAAQ,KAC9C3C,aAAA;IAAI+D,GAAG,EAAGpB;EAAU,GACjBqB,KAAK,CAACF,GAAG,CACV,CACC;IACChC,OAAO;IACPmC,GAAG,EAAEC,OAAO;IACZC,KAAK;IACL7E,KAAK;IACL8E,OAAO;IACPC;EACD,CAAC,EACDlC,WAAW,KAEXnC,aAAA,CAACkE,OAAO;IACPH,GAAG,EAAG5B,WAAa;IACnBgC,KAAK,EAAGD,OAAO,KAAK,IAAI,GAAGC,KAAK,GAAGG,SAAW;IAC9CC,OAAO,EAAGH,OAAS;IACnBI,OAAO,EAAGH,OAAS;IACnBI,SAAS,EAAGpI,UAAU,CACrB;MACC,CAAG,kBAAkBiD,KAAO,EAAC,GAAIA;IAClC,CAAC,EACD,8BACD;EAAG,GAEHU,aAAA,CAACrD,QAAQ;IACR+H,KAAK,EAAG5C,OAAS;IACjBD,QAAQ,EAAGA,QAAU;IACrB8C,OAAO,EAAGA,CAAA,KAAM;MACf9D,eAAe,CAAE;QAChB6B,WAAW,EAAE7C,IAAI;QACjB8C,QAAQ;QACRR,WAAW;QACXD,IAAI,EAAE;MACP,CAAE,CAAC;IACJ,CAAG;IACH,cAAa3C,aAAa,CAAEM,IAAI,CAAI;IACpCF,WAAW,EAAGA,WAAW,CAAEE,IAAI;EAAI,CACnC,CACO,CAEX,CACG,CACH,CACO,CACT,CAAC;EAEH,MAAM+E,OAAO,GAAG,CAAEpB,QAAQ,CAACqB,MAAM;EAEjC,OACC7E,aAAA;IAAA,GAAalD,aAAa,CAAE;MAAEgI,GAAG,EAAE9D;IAAS,CAAE;EAAC,GAC5C,CAAE4D,OAAO,IACV5E,aAAA,CAAA+E,QAAA,QACC/E,aAAA,CAACtD,aAAa;IAACsI,KAAK,EAAC;EAAO,GAC3BhF,aAAA,CAACnD,gBAAgB;IAChBoI,KAAK,EAAG7H,EAAE,CAAE,yBAA0B,CAAG;IACzC8H,iBAAiB,EAAG9F,kBAAoB;IACxCsF,KAAK,EAAGrC,gBAAgB,CAAC,CAAG;IAC5BR,QAAQ,EAAKsD,SAAS,IACrBnD,uBAAuB,CAAEmD,SAAU;EACnC,CACD,CACa,CAAC,EAChBnF,aAAA,CAACtD,aAAa;IAACsI,KAAK,EAAC;EAAO,GAC3BhF,aAAA,CAACtC,mBAAmB;IACnB0H,iBAAiB;IACjBnH,IAAI,EAAGO,KAAO;IACdyG,KAAK,EAAG7H,EAAE,CAAE,YAAa,CAAG;IAC5BiI,QAAQ,EAAG3B;EAAe,CAC1B,CACa,CACd,CACF,EACD1D,aAAA,CAACvD,iBAAiB,QACjBuD,aAAA,CAAC1C,SAAS;IACT+B,KAAK,EAAGjC,EAAE,CAAE,UAAW,CAAG;IAC1BqH,SAAS,EAAC;EAAuB,GAEjCzE,aAAA,CAACvC,aAAa;IACb6H,uBAAuB;IACvBL,KAAK,EAAG7H,EAAE,CAAE,yBAA0B,CAAG;IACzCmI,OAAO,EAAG,CAAC,CAAEjF,cAAgB;IAC7BuB,QAAQ,EAAGD;EAAqB,CAChC,CAAC,EACA,CAAEgD,OAAO,IACV5E,aAAA,CAAA+E,QAAA,QACC/E,aAAA,CAACvC,aAAa;IACb6H,uBAAuB;IACvBL,KAAK,EAAG7H,EAAE,CAAE,gBAAiB,CAAG;IAChCmI,OAAO,EAAG,CAAC,EAAI/F,IAAI,IAAIA,IAAI,CAACqF,MAAM,CAAI;IACtChD,QAAQ,EAAGS;EAAuB,CAClC,CAAC,EACFtC,aAAA,CAACvC,aAAa;IACb6H,uBAAuB;IACvBL,KAAK,EAAG7H,EAAE,CAAE,gBAAiB,CAAG;IAChCmI,OAAO,EAAG,CAAC,EAAI7F,IAAI,IAAIA,IAAI,CAACmF,MAAM,CAAI;IACtChD,QAAQ,EAAGU;EAAuB,CAClC,CACA,CAEO,CACO,CAAC,EAClB,CAAEqC,OAAO,IACV5E,aAAA;IACCyE,SAAS,EAAGpI,UAAU,CACrByE,UAAU,CAAC2D,SAAS,EACpB1D,WAAW,CAAC0D,SAAS,EACrB;MACC,kBAAkB,EAAEnE,cAAc;MAClC;MACA;MACA;MACA,wBAAwB,EAAE1C,eAAe,CACxCsC,UAAU,EAAEsF,KAAK,EAAEC,MACpB;IACD,CACD,CAAG;IACHD,KAAK,EAAG;MAAE,GAAG1E,UAAU,CAAC0E,KAAK;MAAE,GAAGzE,WAAW,CAACyE;IAAM;EAAG,GAErD3B,gBACI,CACP,EACC,CAAEe,OAAO,IACV5E,aAAA,CAACrD,QAAQ;IACR+I,UAAU,EAAC,SAAS;IACpBC,OAAO,EAAC,YAAY;IACpBlB,SAAS,EAAGtH,iCAAiC,CAAE,SAAU,CAAG;IAC5D,cAAaC,EAAE,CAAE,oBAAqB,CAAG;IACzCuC,WAAW,EAAGvC,EAAE,CAAE,aAAc,CAAG;IACnCsH,KAAK,EAAGnE,OAAS;IACjBsB,QAAQ,EAAK6C,KAAK,IACjBvE,aAAa,CAAE;MAAEI,OAAO,EAAEmE;IAAM,CAAE;IAEnC;IAAA;IACAC,OAAO,EAAGA,CAAA,KAAM9D,eAAe,CAAC,CAAG;IACnC+E,sBAAsB,EAAGA,CAAA,KACxBxF,iBAAiB,CAChB3B,WAAW,CAAEC,mBAAmB,CAAC,CAAE,CACpC;EACA,CACD,CACD,EACCkG,OAAO,IACR5E,aAAA,CAACzC,WAAW;IACX0H,KAAK,EAAG7H,EAAE,CAAE,OAAQ,CAAG;IACvBa,IAAI,EAAG+B,aAAA,CAACpD,SAAS;MAACqB,IAAI,EAAGA,IAAM;MAAC4H,UAAU;IAAA,CAAE,CAAG;IAC/CC,YAAY,EAAG1I,EAAE,CAAE,kCAAmC;EAAG,GAEzD4C,aAAA;IACCyE,SAAS,EAAC,gCAAgC;IAC1CsB,QAAQ,EAAGzE;EAAe,GAE1BtB,aAAA,CAACxC,WAAW;IACX8H,uBAAuB;IACvBU,qBAAqB;IACrB9D,IAAI,EAAC,QAAQ;IACb+C,KAAK,EAAG7H,EAAE,CAAE,cAAe,CAAG;IAC9BsH,KAAK,EAAGhE,kBAAoB;IAC5BmB,QAAQ,EAAGV,0BAA4B;IACvC8E,GAAG,EAAC,GAAG;IACPxB,SAAS,EAAC;EAAiC,CAC3C,CAAC,EACFzE,aAAA,CAACxC,WAAW;IACX8H,uBAAuB;IACvBU,qBAAqB;IACrB9D,IAAI,EAAC,QAAQ;IACb+C,KAAK,EAAG7H,EAAE,CAAE,WAAY,CAAG;IAC3BsH,KAAK,EAAGlE,eAAiB;IACzBqB,QAAQ,EAAGR,uBAAyB;IACpC4E,GAAG,EAAC,GAAG;IACPxB,SAAS,EAAC;EAAiC,CAC3C,CAAC,EACFzE,aAAA,CAAC3C,MAAM;IACN2I,qBAAqB;IACrBE,OAAO,EAAC,SAAS;IACjBhE,IAAI,EAAC;EAAQ,GAEX9E,EAAE,CAAE,cAAe,CACd,CACH,CACM,CAEP,CAAC;AAEX;AAEA,eAAe6C,SAAS"}
|
|
@@ -24,10 +24,9 @@ const metadata = {
|
|
|
24
24
|
"default": false
|
|
25
25
|
},
|
|
26
26
|
caption: {
|
|
27
|
-
type: "
|
|
28
|
-
source: "
|
|
29
|
-
selector: "figcaption"
|
|
30
|
-
"default": ""
|
|
27
|
+
type: "rich-text",
|
|
28
|
+
source: "rich-text",
|
|
29
|
+
selector: "figcaption"
|
|
31
30
|
},
|
|
32
31
|
head: {
|
|
33
32
|
type: "array",
|
|
@@ -42,8 +41,8 @@ const metadata = {
|
|
|
42
41
|
selector: "td,th",
|
|
43
42
|
query: {
|
|
44
43
|
content: {
|
|
45
|
-
type: "
|
|
46
|
-
source: "
|
|
44
|
+
type: "rich-text",
|
|
45
|
+
source: "rich-text"
|
|
47
46
|
},
|
|
48
47
|
tag: {
|
|
49
48
|
type: "string",
|
|
@@ -87,8 +86,8 @@ const metadata = {
|
|
|
87
86
|
selector: "td,th",
|
|
88
87
|
query: {
|
|
89
88
|
content: {
|
|
90
|
-
type: "
|
|
91
|
-
source: "
|
|
89
|
+
type: "rich-text",
|
|
90
|
+
source: "rich-text"
|
|
92
91
|
},
|
|
93
92
|
tag: {
|
|
94
93
|
type: "string",
|
|
@@ -132,8 +131,8 @@ const metadata = {
|
|
|
132
131
|
selector: "td,th",
|
|
133
132
|
query: {
|
|
134
133
|
content: {
|
|
135
|
-
type: "
|
|
136
|
-
source: "
|
|
134
|
+
type: "rich-text",
|
|
135
|
+
source: "rich-text"
|
|
137
136
|
},
|
|
138
137
|
tag: {
|
|
139
138
|
type: "string",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","blockTable","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","hasFixedLayout","type","caption","source","selector","head","query","cells","content","tag","scope","attribute","align","colspan","rowspan","body","foot","supports","anchor","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalBorder","style","width","__experimentalSelector","styles","label","isDefault","editorStyle","save","transforms","settings","example","viewportWidth","init"],"sources":["@wordpress/block-library/src/table/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { blockTable as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\thead: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Version' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Jazz Musician' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Release Date' ),\n\t\t\t\t\t\t\ttag: 'th',\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\tbody: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.2',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Jaco Pastorius',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'May 7, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.1',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Betty Carter',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'February 21, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.0',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Bebo Valdés',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'December 6, 2018' ),\n\t\t\t\t\t\t\ttag: 'td',\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\tviewportWidth: 450,\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,UAAU,IAAIC,IAAI,QAAQ,kBAAkB;;AAErD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,cAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;
|
|
1
|
+
{"version":3,"names":["__","blockTable","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","hasFixedLayout","type","caption","source","selector","head","query","cells","content","tag","scope","attribute","align","colspan","rowspan","body","foot","supports","anchor","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalBorder","style","width","__experimentalSelector","styles","label","isDefault","editorStyle","save","transforms","settings","example","viewportWidth","init"],"sources":["@wordpress/block-library/src/table/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { blockTable as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\thead: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Version' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Jazz Musician' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Release Date' ),\n\t\t\t\t\t\t\ttag: 'th',\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\tbody: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.2',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Jaco Pastorius',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'May 7, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.1',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Betty Carter',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'February 21, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.0',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Bebo Valdés',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'December 6, 2018' ),\n\t\t\t\t\t\t\ttag: 'td',\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\tviewportWidth: 450,\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
|
|
@@ -10,11 +10,11 @@ import { renderToString } from '@wordpress/element';
|
|
|
10
10
|
import { __ } from '@wordpress/i18n';
|
|
11
11
|
import { useInstanceId } from '@wordpress/compose';
|
|
12
12
|
import { store as noticeStore } from '@wordpress/notices';
|
|
13
|
+
import { tableOfContents as icon } from '@wordpress/icons';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Internal dependencies
|
|
16
17
|
*/
|
|
17
|
-
import icon from './icon';
|
|
18
18
|
import TableOfContentsList from './list';
|
|
19
19
|
import { linearToNestedHeadingList } from './utils';
|
|
20
20
|
import { useObserveHeadings } from './hooks';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDispatch","useSelect","renderToString","__","useInstanceId","noticeStore","icon","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","instanceId","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","id","type","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","replaceBlocks","headingTree","toolbarControls","createElement","onClick","ordered","values","nestedHeadingList","inspectorControls","title","__nextHasNoMarginBottom","label","checked","onChange","value","help","length","Fragment","instructions","disableLinkActivation"],"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport
|
|
1
|
+
{"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDispatch","useSelect","renderToString","__","useInstanceId","noticeStore","tableOfContents","icon","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","instanceId","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","id","type","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","replaceBlocks","headingTree","toolbarControls","createElement","onClick","ordered","values","nestedHeadingList","inspectorControls","title","__nextHasNoMarginBottom","label","checked","onChange","value","help","length","Fragment","instructions","disableLinkActivation"],"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\n/**\n * Table of Contents block edit component.\n *\n * @param {Object} props The props.\n * @param {Object} props.attributes The block attributes.\n * @param {HeadingData[]} props.attributes.headings A list of data for each heading in the post.\n * @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).\n * @param {string} props.clientId\n * @param {(attributes: Object) => void} props.setAttributes\n *\n * @return {Component} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticeStore );\n\tlet noticeId;\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\t// Remove previous warning if any, to show one at a time per block.\n\t\tremoveNotice( noticeId );\n\t\tnoticeId = `block-library/core/table-of-contents/redirection-prevented/${ instanceId }`;\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: noticeId,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = canInsertList && (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\tordered: true,\n\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={\n\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Toggle to only include headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Convert to static list\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ol>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation={ true }\n\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t/>\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { tableOfContents as icon } from '@wordpress/icons';
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* Internal dependencies
|
|
3
8
|
*/
|
|
@@ -54,7 +59,6 @@ const metadata = {
|
|
|
54
59
|
example: {}
|
|
55
60
|
};
|
|
56
61
|
import edit from './edit';
|
|
57
|
-
import icon from './icon';
|
|
58
62
|
import save from './save';
|
|
59
63
|
const {
|
|
60
64
|
name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["initBlock","metadata","$schema","apiVersion","__experimental","name","title","category","description","keywords","textdomain","attributes","headings","type","items","onlyIncludeCurrentPage","supports","html","color","text","background","gradients","link","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalDefaultControls","example","edit","
|
|
1
|
+
{"version":3,"names":["tableOfContents","icon","initBlock","metadata","$schema","apiVersion","__experimental","name","title","category","description","keywords","textdomain","attributes","headings","type","items","onlyIncludeCurrentPage","supports","html","color","text","background","gradients","link","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalDefaultControls","example","edit","save","settings","init"],"sources":["@wordpress/block-library/src/table-of-contents/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAe,IAAIC,IAAI,QAAQ,kBAAkB;;AAE1D;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,cAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,QAAA;MAAAC,IAAA;MAAAC,KAAA;QAAAD,IAAA;MAAA;MAAA;IAAA;IAAAE,sBAAA;MAAAF,IAAA;MAAA;IAAA;EAAA;EAAAG,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,UAAA;MAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAC,6BAAA;QAAAR,QAAA;MAAA;IAAA;EAAA;EAAAS,OAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAEjC;AAAK,CAAC,GAAGJ,QAAQ;AAEzB,SAASA,QAAQ,EAAEI,IAAI;AAEvB,OAAO,MAAMkC,QAAQ,GAAG;EACvBxC,IAAI;EACJsC,IAAI;EACJC;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAMxC,SAAS,CAAE;EAAEK,IAAI;EAAEJ,QAAQ;EAAEsC;AAAS,CAAE,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { createElement, Fragment } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* External dependencies
|
|
4
|
+
*/
|
|
5
|
+
import classnames from 'classnames';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* WordPress dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { useState, useEffect, useCallback } from '@wordpress/element';
|
|
11
|
+
import { usePrevious } from '@wordpress/compose';
|
|
12
|
+
import { __ } from '@wordpress/i18n';
|
|
13
|
+
import { RichText, BlockControls, __experimentalGetElementClassName } from '@wordpress/block-editor';
|
|
14
|
+
import { ToolbarButton } from '@wordpress/components';
|
|
15
|
+
import { caption as captionIcon } from '@wordpress/icons';
|
|
16
|
+
import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
|
|
17
|
+
export function Caption({
|
|
18
|
+
key = 'caption',
|
|
19
|
+
attributes,
|
|
20
|
+
setAttributes,
|
|
21
|
+
isSelected,
|
|
22
|
+
insertBlocksAfter,
|
|
23
|
+
placeholder = __('Add caption'),
|
|
24
|
+
label = __('Caption text'),
|
|
25
|
+
showToolbarButton = true,
|
|
26
|
+
className
|
|
27
|
+
}) {
|
|
28
|
+
const caption = attributes[key];
|
|
29
|
+
const prevCaption = usePrevious(caption);
|
|
30
|
+
const isCaptionEmpty = RichText.isEmpty(caption);
|
|
31
|
+
const isPrevCaptionEmpty = RichText.isEmpty(prevCaption);
|
|
32
|
+
const [showCaption, setShowCaption] = useState(!isCaptionEmpty);
|
|
33
|
+
|
|
34
|
+
// We need to show the caption when changes come from
|
|
35
|
+
// history navigation(undo/redo).
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (!isCaptionEmpty && isPrevCaptionEmpty) {
|
|
38
|
+
setShowCaption(true);
|
|
39
|
+
}
|
|
40
|
+
}, [isCaptionEmpty, isPrevCaptionEmpty]);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
if (!isSelected && isCaptionEmpty) {
|
|
43
|
+
setShowCaption(false);
|
|
44
|
+
}
|
|
45
|
+
}, [isSelected, isCaptionEmpty]);
|
|
46
|
+
|
|
47
|
+
// Focus the caption when we click to add one.
|
|
48
|
+
const ref = useCallback(node => {
|
|
49
|
+
if (node && isCaptionEmpty) {
|
|
50
|
+
node.focus();
|
|
51
|
+
}
|
|
52
|
+
}, [isCaptionEmpty]);
|
|
53
|
+
return createElement(Fragment, null, showToolbarButton && createElement(BlockControls, {
|
|
54
|
+
group: "block"
|
|
55
|
+
}, createElement(ToolbarButton, {
|
|
56
|
+
onClick: () => {
|
|
57
|
+
setShowCaption(!showCaption);
|
|
58
|
+
if (showCaption && caption) {
|
|
59
|
+
setAttributes({
|
|
60
|
+
caption: undefined
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
icon: captionIcon,
|
|
65
|
+
isPressed: showCaption,
|
|
66
|
+
label: showCaption ? __('Remove caption') : __('Add caption')
|
|
67
|
+
})), showCaption && (!RichText.isEmpty(caption) || isSelected) && createElement(RichText, {
|
|
68
|
+
identifier: key,
|
|
69
|
+
tagName: "figcaption",
|
|
70
|
+
className: classnames(className, __experimentalGetElementClassName('caption')),
|
|
71
|
+
ref: ref,
|
|
72
|
+
"aria-label": label,
|
|
73
|
+
placeholder: placeholder,
|
|
74
|
+
value: caption,
|
|
75
|
+
onChange: value => setAttributes({
|
|
76
|
+
caption: value
|
|
77
|
+
}),
|
|
78
|
+
inlineToolbar: true,
|
|
79
|
+
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=caption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["classnames","useState","useEffect","useCallback","usePrevious","__","RichText","BlockControls","__experimentalGetElementClassName","ToolbarButton","caption","captionIcon","createBlock","getDefaultBlockName","Caption","key","attributes","setAttributes","isSelected","insertBlocksAfter","placeholder","label","showToolbarButton","className","prevCaption","isCaptionEmpty","isEmpty","isPrevCaptionEmpty","showCaption","setShowCaption","ref","node","focus","createElement","Fragment","group","onClick","undefined","icon","isPressed","identifier","tagName","value","onChange","inlineToolbar","__unstableOnSplitAtEnd"],"sources":["@wordpress/block-library/src/utils/caption.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tBlockControls,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { ToolbarButton } from '@wordpress/components';\nimport { caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\nexport function Caption( {\n\tkey = 'caption',\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tplaceholder = __( 'Add caption' ),\n\tlabel = __( 'Caption text' ),\n\tshowToolbarButton = true,\n\tclassName,\n} ) {\n\tconst caption = attributes[ key ];\n\tconst prevCaption = usePrevious( caption );\n\tconst isCaptionEmpty = RichText.isEmpty( caption );\n\tconst isPrevCaptionEmpty = RichText.isEmpty( prevCaption );\n\tconst [ showCaption, setShowCaption ] = useState( ! isCaptionEmpty );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( ! isCaptionEmpty && isPrevCaptionEmpty ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ isCaptionEmpty, isPrevCaptionEmpty ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && isCaptionEmpty ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, isCaptionEmpty ] );\n\n\t// Focus the caption when we click to add one.\n\tconst ref = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && isCaptionEmpty ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ isCaptionEmpty ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ showToolbarButton && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ showCaption &&\n\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier={ key }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* @return {string} The value with anchor tags removed.
|
|
7
7
|
*/
|
|
8
8
|
export default function removeAnchorTag(value) {
|
|
9
|
-
|
|
9
|
+
// To do: Refactor this to use rich text's removeFormat instead.
|
|
10
|
+
return value.toString().replace(/<\/?a[^>]*>/g, '');
|
|
10
11
|
}
|
|
11
12
|
//# sourceMappingURL=remove-anchor-tag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["removeAnchorTag","value","replace"],"sources":["@wordpress/block-library/src/utils/remove-anchor-tag.js"],"sourcesContent":["/**\n * Removes anchor tags from a string.\n *\n * @param {string} value The value to remove anchor tags from.\n *\n * @return {string} The value with anchor tags removed.\n */\nexport default function removeAnchorTag( value ) {\n\treturn value.replace( /<\\/?a[^>]*>/g, '' );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASA,eAAeA,CAAEC,KAAK,EAAG;EAChD,OAAOA,KAAK,CAACC,OAAO,CAAE,cAAc,EAAE,EAAG,CAAC;
|
|
1
|
+
{"version":3,"names":["removeAnchorTag","value","toString","replace"],"sources":["@wordpress/block-library/src/utils/remove-anchor-tag.js"],"sourcesContent":["/**\n * Removes anchor tags from a string.\n *\n * @param {string} value The value to remove anchor tags from.\n *\n * @return {string} The value with anchor tags removed.\n */\nexport default function removeAnchorTag( value ) {\n\t// To do: Refactor this to use rich text's removeFormat instead.\n\treturn value.toString().replace( /<\\/?a[^>]*>/g, '' );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASA,eAAeA,CAAEC,KAAK,EAAG;EAChD;EACA,OAAOA,KAAK,CAACC,QAAQ,CAAC,CAAC,CAACC,OAAO,CAAE,cAAc,EAAE,EAAG,CAAC;AACtD"}
|
|
@@ -21,10 +21,9 @@ const metadata = {
|
|
|
21
21
|
textdomain: "default",
|
|
22
22
|
attributes: {
|
|
23
23
|
content: {
|
|
24
|
-
type: "
|
|
25
|
-
source: "
|
|
24
|
+
type: "rich-text",
|
|
25
|
+
source: "rich-text",
|
|
26
26
|
selector: "pre",
|
|
27
|
-
"default": "",
|
|
28
27
|
__unstablePreserveWhiteSpace: true,
|
|
29
28
|
__experimentalRole: "content"
|
|
30
29
|
},
|
|
@@ -52,8 +51,7 @@ const metadata = {
|
|
|
52
51
|
__experimentalTextTransform: true,
|
|
53
52
|
__experimentalTextDecoration: true,
|
|
54
53
|
__experimentalDefaultControls: {
|
|
55
|
-
fontSize: true
|
|
56
|
-
fontAppearance: true
|
|
54
|
+
fontSize: true
|
|
57
55
|
}
|
|
58
56
|
},
|
|
59
57
|
spacing: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","verse","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","content","type","source","selector","__unstablePreserveWhiteSpace","__experimentalRole","textAlign","supports","anchor","color","gradients","link","__experimentalDefaultControls","background","text","typography","fontSize","__experimentalFontFamily","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","
|
|
1
|
+
{"version":3,"names":["__","verse","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","content","type","source","selector","__unstablePreserveWhiteSpace","__experimentalRole","textAlign","supports","anchor","color","gradients","link","__experimentalDefaultControls","background","text","typography","fontSize","__experimentalFontFamily","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","spacing","margin","padding","__experimentalBorder","radius","width","style","editorStyle","save","transforms","settings","example","merge","attributesToMerge","init"],"sources":["@wordpress/block-library/src/verse/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { verse as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\t/* eslint-disable @wordpress/i18n-no-collapsible-whitespace */\n\t\t\t// translators: Sample content for the Verse block. Can be replaced with a more locale-adequate work.\n\t\t\tcontent: __(\n\t\t\t\t'WHAT was he doing, the great god Pan,\\n\tDown in the reeds by the river?\\nSpreading ruin and scattering ban,\\nSplashing and paddling with hoofs of a goat,\\nAnd breaking the golden lilies afloat\\n With the dragon-fly on the river.'\n\t\t\t),\n\t\t\t/* eslint-enable @wordpress/i18n-no-collapsible-whitespace */\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent: attributes.content + '\\n\\n' + attributesToMerge.content,\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,4BAAA;MAAAC,kBAAA;IAAA;IAAAC,SAAA;MAAAL,IAAA;IAAA;EAAA;EAAAM,QAAA;IAAAC,MAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,wBAAA;MAAAC,UAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAX,6BAAA;QAAAI,QAAA;MAAA;IAAA;IAAAQ,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAd,6BAAA;QAAAa,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAC,KAAA;MAAApB,KAAA;MAAAqB,KAAA;IAAA;EAAA;EAAAA,KAAA;EAAAC,WAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAExC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMyC,QAAQ,GAAG;EACvBhD,IAAI;EACJiD,OAAO,EAAE;IACRpC,UAAU,EAAE;MACX;MACA;MACAC,OAAO,EAAEhB,EAAE,CACV,yOACD;MACA;IACD;EACD,CAAC;;EACDiD,UAAU;EACV7C,UAAU;EACVgD,KAAKA,CAAErC,UAAU,EAAEsC,iBAAiB,EAAG;IACtC,OAAO;MACNrC,OAAO,EAAED,UAAU,CAACC,OAAO,GAAG,MAAM,GAAGqC,iBAAiB,CAACrC;IAC1D,CAAC;EACF,CAAC;EACDX,IAAI;EACJ2C;AACD,CAAC;AAED,OAAO,MAAMM,IAAI,GAAGA,CAAA,KAAMnD,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAE4C;AAAS,CAAE,CAAC"}
|
|
@@ -8,14 +8,13 @@ import classnames from 'classnames';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
import { getBlobByURL, isBlobURL } from '@wordpress/blob';
|
|
11
|
-
import { BaseControl, Button, Disabled, PanelBody, Spinner, Placeholder
|
|
12
|
-
import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaUpload, MediaUploadCheck, MediaReplaceFlow,
|
|
13
|
-
import { useRef, useEffect
|
|
11
|
+
import { BaseControl, Button, Disabled, PanelBody, Spinner, Placeholder } from '@wordpress/components';
|
|
12
|
+
import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaUpload, MediaUploadCheck, MediaReplaceFlow, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
|
|
13
|
+
import { useRef, useEffect } from '@wordpress/element';
|
|
14
14
|
import { __, sprintf } from '@wordpress/i18n';
|
|
15
|
-
import { useInstanceId
|
|
15
|
+
import { useInstanceId } from '@wordpress/compose';
|
|
16
16
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
17
|
-
import { video as icon
|
|
18
|
-
import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
|
|
17
|
+
import { video as icon } from '@wordpress/icons';
|
|
19
18
|
import { store as noticesStore } from '@wordpress/notices';
|
|
20
19
|
|
|
21
20
|
/**
|
|
@@ -25,6 +24,7 @@ import { createUpgradedEmbedBlock } from '../embed/util';
|
|
|
25
24
|
import VideoCommonSettings from './edit-common-settings';
|
|
26
25
|
import TracksEditor from './tracks-editor';
|
|
27
26
|
import Tracks from './tracks';
|
|
27
|
+
import { Caption } from '../utils/caption';
|
|
28
28
|
|
|
29
29
|
// Much of this description is duplicated from MediaPlaceholder.
|
|
30
30
|
const placeholder = content => {
|
|
@@ -51,14 +51,11 @@ function VideoEdit({
|
|
|
51
51
|
const posterImageButton = useRef();
|
|
52
52
|
const {
|
|
53
53
|
id,
|
|
54
|
-
caption,
|
|
55
54
|
controls,
|
|
56
55
|
poster,
|
|
57
56
|
src,
|
|
58
57
|
tracks
|
|
59
58
|
} = attributes;
|
|
60
|
-
const prevCaption = usePrevious(caption);
|
|
61
|
-
const [showCaption, setShowCaption] = useState(!!caption);
|
|
62
59
|
const isTemporaryVideo = !id && isBlobURL(src);
|
|
63
60
|
const mediaUpload = useSelect(select => select(blockEditorStore).getSettings().mediaUpload, []);
|
|
64
61
|
useEffect(() => {
|
|
@@ -80,26 +77,6 @@ function VideoEdit({
|
|
|
80
77
|
videoPlayer.current.load();
|
|
81
78
|
}
|
|
82
79
|
}, [poster]);
|
|
83
|
-
|
|
84
|
-
// We need to show the caption when changes come from
|
|
85
|
-
// history navigation(undo/redo).
|
|
86
|
-
useEffect(() => {
|
|
87
|
-
if (caption && !prevCaption) {
|
|
88
|
-
setShowCaption(true);
|
|
89
|
-
}
|
|
90
|
-
}, [caption, prevCaption]);
|
|
91
|
-
|
|
92
|
-
// Focus the caption when we click to add one.
|
|
93
|
-
const captionRef = useCallback(node => {
|
|
94
|
-
if (node && !caption) {
|
|
95
|
-
node.focus();
|
|
96
|
-
}
|
|
97
|
-
}, [caption]);
|
|
98
|
-
useEffect(() => {
|
|
99
|
-
if (!isSelected && !caption) {
|
|
100
|
-
setShowCaption(false);
|
|
101
|
-
}
|
|
102
|
-
}, [isSelected, caption]);
|
|
103
80
|
function onSelectVideo(media) {
|
|
104
81
|
if (!media || !media.url) {
|
|
105
82
|
// In this case there was an error
|
|
@@ -186,21 +163,7 @@ function VideoEdit({
|
|
|
186
163
|
posterImageButton.current.focus();
|
|
187
164
|
}
|
|
188
165
|
const videoPosterDescription = `video-block__poster-image-description-${instanceId}`;
|
|
189
|
-
return createElement(Fragment, null, createElement(BlockControls, {
|
|
190
|
-
group: "block"
|
|
191
|
-
}, createElement(ToolbarButton, {
|
|
192
|
-
onClick: () => {
|
|
193
|
-
setShowCaption(!showCaption);
|
|
194
|
-
if (showCaption && caption) {
|
|
195
|
-
setAttributes({
|
|
196
|
-
caption: undefined
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
},
|
|
200
|
-
icon: captionIcon,
|
|
201
|
-
isPressed: showCaption,
|
|
202
|
-
label: showCaption ? __('Remove caption') : __('Add caption')
|
|
203
|
-
})), createElement(BlockControls, null, createElement(TracksEditor, {
|
|
166
|
+
return createElement(Fragment, null, createElement(BlockControls, null, createElement(TracksEditor, {
|
|
204
167
|
tracks: tracks,
|
|
205
168
|
onChange: newTracks => {
|
|
206
169
|
setAttributes({
|
|
@@ -254,19 +217,12 @@ function VideoEdit({
|
|
|
254
217
|
ref: videoPlayer
|
|
255
218
|
}, createElement(Tracks, {
|
|
256
219
|
tracks: tracks
|
|
257
|
-
}))), isTemporaryVideo && createElement(Spinner, null),
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
placeholder: __('Add caption'),
|
|
264
|
-
value: caption,
|
|
265
|
-
onChange: value => setAttributes({
|
|
266
|
-
caption: value
|
|
267
|
-
}),
|
|
268
|
-
inlineToolbar: true,
|
|
269
|
-
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
|
|
220
|
+
}))), isTemporaryVideo && createElement(Spinner, null), createElement(Caption, {
|
|
221
|
+
attributes: attributes,
|
|
222
|
+
setAttributes: setAttributes,
|
|
223
|
+
isSelected: isSelected,
|
|
224
|
+
insertBlocksAfter: insertBlocksAfter,
|
|
225
|
+
label: __('Video caption text')
|
|
270
226
|
})));
|
|
271
227
|
}
|
|
272
228
|
export default VideoEdit;
|