{
  "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"]
}
