@wordpress/components
Version:
UI components for WordPress.
8 lines (7 loc) • 4.71 kB
Source Map (JSON)
{
"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"]
}