UNPKG

@wordpress/block-editor

Version:
80 lines (78 loc) 2.78 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // packages/block-editor/src/components/link-control/settings.js var settings_exports = {}; __export(settings_exports, { default: () => settings_default }); module.exports = __toCommonJS(settings_exports); var import_i18n = require("@wordpress/i18n"); var import_components = require("@wordpress/components"); var import_jsx_runtime = require("react/jsx-runtime"); var noop = () => { }; var LinkControlSettings = ({ value, onChange = noop, settings }) => { if (!settings || !settings.length) { return null; } const handleSettingChange = (setting) => (newValue) => { onChange({ ...value, [setting.id]: newValue }); }; const theSettings = settings.map((setting) => { if ("render" in setting) { if (typeof setting.render === "function") { const renderedContent = setting.render( setting, value, onChange ); return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( "div", { className: "block-editor-link-control__setting", children: renderedContent }, setting.id ); } return null; } return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( import_components.CheckboxControl, { __nextHasNoMarginBottom: true, className: "block-editor-link-control__setting", label: setting.title, onChange: handleSettingChange(setting), checked: value ? !!value[setting.id] : false, help: setting?.help }, setting.id ); }).filter(Boolean); return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("fieldset", { className: "block-editor-link-control__settings", children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.VisuallyHidden, { as: "legend", children: (0, import_i18n.__)("Currently selected link settings") }), theSettings ] }); }; var settings_default = LinkControlSettings; //# sourceMappingURL=settings.js.map