UNPKG

@wordpress/block-library

Version:
72 lines (71 loc) 2.25 kB
// packages/block-library/src/read-more/edit.js import { InspectorControls, RichText, useBlockProps } from "@wordpress/block-editor"; import { ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from "@wordpress/components"; import { createBlock, getDefaultBlockName } from "@wordpress/blocks"; import { __ } from "@wordpress/i18n"; import { useToolsPanelDropdownMenuProps } from "../utils/hooks"; import { Fragment, jsx, jsxs } from "react/jsx-runtime"; function ReadMore({ attributes: { content, linkTarget }, setAttributes, insertBlocksAfter }) { const blockProps = useBlockProps(); const dropdownMenuProps = useToolsPanelDropdownMenuProps(); return /* @__PURE__ */ jsxs(Fragment, { children: [ /* @__PURE__ */ jsx(InspectorControls, { children: /* @__PURE__ */ jsx( ToolsPanel, { label: __("Settings"), resetAll: () => setAttributes({ linkTarget: "_self" }), dropdownMenuProps, children: /* @__PURE__ */ jsx( ToolsPanelItem, { label: __("Open in new tab"), isShownByDefault: true, hasValue: () => linkTarget !== "_self", onDeselect: () => setAttributes({ linkTarget: "_self" }), children: /* @__PURE__ */ jsx( ToggleControl, { __nextHasNoMarginBottom: true, label: __("Open in new tab"), onChange: (value) => setAttributes({ linkTarget: value ? "_blank" : "_self" }), checked: linkTarget === "_blank" } ) } ) } ) }), /* @__PURE__ */ jsx( RichText, { identifier: "content", tagName: "a", "aria-label": __("\u201CRead more\u201D link text"), placeholder: __("Read more"), value: content, onChange: (newValue) => setAttributes({ content: newValue }), __unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName())), withoutInteractiveFormatting: true, ...blockProps } ) ] }); } export { ReadMore as default }; //# sourceMappingURL=edit.js.map