UNPKG

@carbon/ibm-products

Version:
81 lines (79 loc) 2.46 kB
/** * Copyright IBM Corp. 2020, 2026 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ import { __toESM } from "../../_virtual/_rolldown/runtime.js"; import { require_classnames } from "../../node_modules/classnames/index.js"; import { pkg } from "../../settings.js"; import { getDevtoolsProps } from "../../global/js/utils/devtools.js"; import React from "react"; import PropTypes from "prop-types"; import { Button } from "@carbon/react"; //#region src/components/CoachmarkBeacon/CoachmarkBeacon.tsx var import_classnames = /* @__PURE__ */ __toESM(require_classnames()); const blockClass = `${pkg.prefix}--coachmark-beacon`; const componentName = "CoachmarkBeacon"; const defaults = { kind: "default" }; /** * Use beacon for the target prop of a Coachmark component. * @deprecated This component is deprecated. */ const CoachmarkBeacon = React.forwardRef((props, ref) => { const { label, className, kind = defaults.kind, buttonProps, ...rest } = props; return /* @__PURE__ */ React.createElement("span", { ...rest, className: (0, import_classnames.default)(blockClass, `${blockClass}-${kind}`, className), ref, ...getDevtoolsProps(componentName), role: "tooltip" }, /* @__PURE__ */ React.createElement("button", { type: "button", ...buttonProps, className: `${blockClass}__target` }, /* @__PURE__ */ React.createElement("svg", { className: `${blockClass}__center`, "aria-label": label }, /* @__PURE__ */ React.createElement("title", null, label), /* @__PURE__ */ React.createElement("circle", { r: 1, cx: 38, cy: 38 })))); }); /**@ts-ignore*/ CoachmarkBeacon.deprecated = { level: "warn", details: `${componentName} is deprecated.` }; CoachmarkBeacon.displayName = componentName; CoachmarkBeacon.propTypes = { /** * button props */ buttonProps: PropTypes.shape({ /**@ts-ignore*/ ...Button.propTypes, /**@ts-ignore*/ onClick: PropTypes.func, onDoubleClick: PropTypes.func, tabIndex: PropTypes.number, ["aria-expanded"]: PropTypes.bool }), /** * Optional class name for this component. */ className: PropTypes.string, /** * What style of beacon. * BEACON_KIND is an exported enum from the Coachmark and can be used for this value. * @see {@link BEACON_KIND} */ kind: PropTypes.oneOf(["default"]), /** * The aria label. */ label: PropTypes.string.isRequired }; //#endregion export { CoachmarkBeacon };