@wordpress/components
Version:
UI components for WordPress.
82 lines (80 loc) • 3.07 kB
JavaScript
;
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/components/src/font-size-picker/font-size-picker-toggle-group.tsx
var font_size_picker_toggle_group_exports = {};
__export(font_size_picker_toggle_group_exports, {
default: () => font_size_picker_toggle_group_default
});
module.exports = __toCommonJS(font_size_picker_toggle_group_exports);
var import_i18n = require("@wordpress/i18n");
var import_toggle_group_control = require("../toggle-group-control");
var import_constants = require("./constants");
var import_jsx_runtime = require("react/jsx-runtime");
var FontSizePickerToggleGroup = (props) => {
const {
fontSizes,
value,
valueMode = "literal",
__next40pxDefaultSize,
size,
onChange
} = props;
const currentValue = (() => {
if (!value) {
return void 0;
}
if (valueMode === "slug") {
return String(value);
}
const matchingFontSizes = fontSizes.filter((fontSize) => fontSize.size === value);
if (matchingFontSizes.length > 1) {
return void 0;
}
const fontSizeBySize = fontSizes.find((fontSize) => fontSize.size === value);
return fontSizeBySize?.slug;
})();
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_toggle_group_control.ToggleGroupControl, {
__nextHasNoMarginBottom: true,
__next40pxDefaultSize,
__shouldNotWarnDeprecated36pxSize: true,
label: (0, import_i18n.__)("Font size"),
hideLabelFromVision: true,
value: currentValue,
onChange: (newSlug) => {
if (newSlug === void 0) {
onChange(void 0);
} else {
const selectedFontSize = fontSizes.find((fontSize) => fontSize.slug === String(newSlug));
if (selectedFontSize) {
onChange(selectedFontSize.size, selectedFontSize);
}
}
},
isBlock: true,
size,
children: fontSizes.map((fontSize, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_toggle_group_control.ToggleGroupControlOption, {
value: fontSize.slug,
label: import_constants.T_SHIRT_ABBREVIATIONS[index],
"aria-label": fontSize.name || import_constants.T_SHIRT_NAMES[index],
showTooltip: true
}, fontSize.slug))
});
};
var font_size_picker_toggle_group_default = FontSizePickerToggleGroup;
//# sourceMappingURL=font-size-picker-toggle-group.js.map