{
  "version": 3,
  "sources": ["../../src/circular-option-picker/circular-option-picker-option.tsx"],
  "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { forwardRef, useContext, useEffect } from '@wordpress/element';\nimport { Icon, check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { CircularOptionPickerContext } from './circular-option-picker-context';\nimport Button from '../button';\nimport { Composite } from '../composite';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction UnforwardedOptionAsButton(props, forwardedRef) {\n  const {\n    isPressed,\n    label,\n    ...additionalProps\n  } = props;\n  return /*#__PURE__*/_jsx(Button, {\n    __next40pxDefaultSize: true,\n    ...additionalProps,\n    \"aria-pressed\": isPressed,\n    ref: forwardedRef,\n    label: label\n  });\n}\nconst OptionAsButton = forwardRef(UnforwardedOptionAsButton);\nfunction UnforwardedOptionAsOption(props, forwardedRef) {\n  const {\n    id,\n    isSelected,\n    label,\n    ...additionalProps\n  } = props;\n  const {\n    setActiveId,\n    activeId\n  } = useContext(CircularOptionPickerContext);\n  useEffect(() => {\n    if (isSelected && !activeId) {\n      // The setTimeout call is necessary to make sure that this update\n      // doesn't get overridden by `Composite`'s internal logic, which picks\n      // an initial active item if one is not specifically set.\n      window.setTimeout(() => setActiveId?.(id), 0);\n    }\n  }, [isSelected, setActiveId, activeId, id]);\n  return /*#__PURE__*/_jsx(Composite.Item, {\n    render: /*#__PURE__*/_jsx(Button, {\n      __next40pxDefaultSize: true,\n      ...additionalProps,\n      role: \"option\",\n      \"aria-selected\": !!isSelected,\n      ref: forwardedRef,\n      label: label\n    }),\n    id: id\n  });\n}\nconst OptionAsOption = forwardRef(UnforwardedOptionAsOption);\nexport function Option({\n  className,\n  isSelected,\n  selectedIconProps = {},\n  tooltipText,\n  ...additionalProps\n}) {\n  const {\n    baseId,\n    setActiveId\n  } = useContext(CircularOptionPickerContext);\n  const id = useInstanceId(Option, baseId || 'components-circular-option-picker__option');\n  const commonProps = {\n    id,\n    className: 'components-circular-option-picker__option',\n    ...additionalProps\n  };\n  const isListbox = setActiveId !== undefined;\n  const optionControl = isListbox ? /*#__PURE__*/_jsx(OptionAsOption, {\n    ...commonProps,\n    label: tooltipText,\n    isSelected: isSelected\n  }) : /*#__PURE__*/_jsx(OptionAsButton, {\n    ...commonProps,\n    label: tooltipText,\n    isPressed: isSelected\n  });\n  return /*#__PURE__*/_jsxs(\"div\", {\n    className: clsx(className, 'components-circular-option-picker__option-wrapper'),\n    children: [optionControl, isSelected && /*#__PURE__*/_jsx(Icon, {\n      icon: check,\n      ...selectedIconProps\n    })]\n  });\n}"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAIjB,qBAA8B;AAC9B,qBAAkD;AAClD,mBAA4B;AAK5B,4CAA4C;AAC5C,oBAAmB;AACnB,uBAA0B;AAC1B,yBAA2C;AAC3C,SAAS,0BAA0B,OAAO,cAAc;AACtD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,SAAoB,uCAAAA,KAAK,cAAAC,SAAQ;AAAA,IAC/B,uBAAuB;AAAA,IACvB,GAAG;AAAA,IACH,gBAAgB;AAAA,IAChB,KAAK;AAAA,IACL;AAAA,EACF,CAAC;AACH;AACA,IAAM,qBAAiB,2BAAW,yBAAyB;AAC3D,SAAS,0BAA0B,OAAO,cAAc;AACtD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,EACF,QAAI,2BAAW,iEAA2B;AAC1C,gCAAU,MAAM;AACd,QAAI,cAAc,CAAC,UAAU;AAI3B,aAAO,WAAW,MAAM,cAAc,EAAE,GAAG,CAAC;AAAA,IAC9C;AAAA,EACF,GAAG,CAAC,YAAY,aAAa,UAAU,EAAE,CAAC;AAC1C,SAAoB,uCAAAD,KAAK,2BAAU,MAAM;AAAA,IACvC,QAAqB,uCAAAA,KAAK,cAAAC,SAAQ;AAAA,MAChC,uBAAuB;AAAA,MACvB,GAAG;AAAA,MACH,MAAM;AAAA,MACN,iBAAiB,CAAC,CAAC;AAAA,MACnB,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AAAA,IACD;AAAA,EACF,CAAC;AACH;AACA,IAAM,qBAAiB,2BAAW,yBAAyB;AACpD,SAAS,OAAO;AAAA,EACrB;AAAA,EACA;AAAA,EACA,oBAAoB,CAAC;AAAA,EACrB;AAAA,EACA,GAAG;AACL,GAAG;AACD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,EACF,QAAI,2BAAW,iEAA2B;AAC1C,QAAM,SAAK,8BAAc,QAAQ,UAAU,2CAA2C;AACtF,QAAM,cAAc;AAAA,IAClB;AAAA,IACA,WAAW;AAAA,IACX,GAAG;AAAA,EACL;AACA,QAAM,YAAY,gBAAgB;AAClC,QAAM,gBAAgB,YAAyB,uCAAAD,KAAK,gBAAgB;AAAA,IAClE,GAAG;AAAA,IACH,OAAO;AAAA,IACP;AAAA,EACF,CAAC,IAAiB,uCAAAA,KAAK,gBAAgB;AAAA,IACrC,GAAG;AAAA,IACH,OAAO;AAAA,IACP,WAAW;AAAA,EACb,CAAC;AACD,SAAoB,uCAAAE,MAAM,OAAO;AAAA,IAC/B,eAAW,YAAAC,SAAK,WAAW,mDAAmD;AAAA,IAC9E,UAAU,CAAC,eAAe,cAA2B,uCAAAH,KAAK,mBAAM;AAAA,MAC9D,MAAM;AAAA,MACN,GAAG;AAAA,IACL,CAAC,CAAC;AAAA,EACJ,CAAC;AACH;",
  "names": ["_jsx", "Button", "_jsxs", "clsx"]
}
