@wordpress/components
Version:
UI components for WordPress.
8 lines (7 loc) • 3.6 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/font-size-picker/font-size-picker-select.tsx"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\nimport { generateFontSizeHint } from './utils';\nimport { StyledCustomSelectControl } from './styles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DEFAULT_OPTION = {\n key: 'default',\n name: __('Default'),\n value: undefined\n};\nconst FontSizePickerSelect = props => {\n const {\n __next40pxDefaultSize,\n fontSizes,\n value,\n size,\n valueMode = 'literal',\n onChange\n } = props;\n const options = [DEFAULT_OPTION, ...fontSizes.map(fontSize => {\n const hint = generateFontSizeHint(fontSize);\n return {\n key: fontSize.slug,\n name: fontSize.name || fontSize.slug,\n value: fontSize.size,\n hint\n };\n })];\n const selectedOption = useMemo(() => {\n if (value === undefined) {\n return DEFAULT_OPTION;\n }\n\n // If valueMode is 'slug', find by slug\n if (valueMode === 'slug') {\n const optionBySlug = options.find(option => option.key === value);\n if (optionBySlug) {\n return optionBySlug;\n }\n }\n\n // If valueMode is 'literal', find by value (size)\n return options.find(option => option.value === value) ?? DEFAULT_OPTION;\n }, [value, valueMode, options]);\n return /*#__PURE__*/_jsx(StyledCustomSelectControl, {\n __next40pxDefaultSize: __next40pxDefaultSize,\n __shouldNotWarnDeprecated36pxSize: true,\n className: \"components-font-size-picker__select\",\n label: __('Font size'),\n hideLabelFromVision: true,\n describedBy: sprintf(\n // translators: %s: Currently selected font size.\n __('Currently selected font size: %s'), selectedOption.name),\n options: options,\n value: selectedOption,\n showSelectedHint: true,\n onChange: ({\n selectedItem\n }) => {\n // Find the corresponding FontSize object\n const matchingFontSize = selectedItem.key === 'default' ? undefined : fontSizes.find(fontSize => fontSize.slug === selectedItem.key);\n onChange(selectedItem.value, matchingFontSize);\n },\n size: size\n });\n};\nexport default FontSizePickerSelect;"],
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA4B;AAC5B,qBAAwB;AAMxB,mBAAqC;AACrC,oBAA0C;AAC1C,yBAA4B;AAC5B,IAAM,iBAAiB;AAAA,EACrB,KAAK;AAAA,EACL,UAAM,gBAAG,SAAS;AAAA,EAClB,OAAO;AACT;AACA,IAAM,uBAAuB,WAAS;AACpC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,EACF,IAAI;AACJ,QAAM,UAAU,CAAC,gBAAgB,GAAG,UAAU,IAAI,cAAY;AAC5D,UAAM,WAAO,mCAAqB,QAAQ;AAC1C,WAAO;AAAA,MACL,KAAK,SAAS;AAAA,MACd,MAAM,SAAS,QAAQ,SAAS;AAAA,MAChC,OAAO,SAAS;AAAA,MAChB;AAAA,IACF;AAAA,EACF,CAAC,CAAC;AACF,QAAM,qBAAiB,wBAAQ,MAAM;AACnC,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AAGA,QAAI,cAAc,QAAQ;AACxB,YAAM,eAAe,QAAQ,KAAK,YAAU,OAAO,QAAQ,KAAK;AAChE,UAAI,cAAc;AAChB,eAAO;AAAA,MACT;AAAA,IACF;AAGA,WAAO,QAAQ,KAAK,YAAU,OAAO,UAAU,KAAK,KAAK;AAAA,EAC3D,GAAG,CAAC,OAAO,WAAW,OAAO,CAAC;AAC9B,SAAoB,uCAAAA,KAAK,yCAA2B;AAAA,IAClD;AAAA,IACA,mCAAmC;AAAA,IACnC,WAAW;AAAA,IACX,WAAO,gBAAG,WAAW;AAAA,IACrB,qBAAqB;AAAA,IACrB,iBAAa;AAAA;AAAA,UAEb,gBAAG,kCAAkC;AAAA,MAAG,eAAe;AAAA,IAAI;AAAA,IAC3D;AAAA,IACA,OAAO;AAAA,IACP,kBAAkB;AAAA,IAClB,UAAU,CAAC;AAAA,MACT;AAAA,IACF,MAAM;AAEJ,YAAM,mBAAmB,aAAa,QAAQ,YAAY,SAAY,UAAU,KAAK,cAAY,SAAS,SAAS,aAAa,GAAG;AACnI,eAAS,aAAa,OAAO,gBAAgB;AAAA,IAC/C;AAAA,IACA;AAAA,EACF,CAAC;AACH;AACA,IAAO,kCAAQ;",
"names": ["_jsx"]
}