@transferwise/components 0.0.0-experimental-88c518c → 0.0.0-experimental-656d955

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5486,12 +5486,15 @@ const Tooltip = ({
5486
5486
  position = Position.TOP,
5487
5487
  children = undefined,
5488
5488
  label,
5489
+ id,
5489
5490
  className
5490
5491
  }) => {
5491
5492
  const [open, setOpen] = useState(false);
5492
5493
  const anchorReference = useRef(null);
5493
5494
  const [arrowElement, setArrowElement] = useState(null);
5494
5495
  const [popperElement, setPopperElement] = useState(null);
5496
+ const fallbackId = useId();
5497
+ const tooltipId = id ?? fallbackId;
5495
5498
  const modifiers = [];
5496
5499
  modifiers.push({
5497
5500
  name: 'arrow',
@@ -5530,60 +5533,42 @@ const Tooltip = ({
5530
5533
  forceUpdate();
5531
5534
  }
5532
5535
  }, [open]);
5533
- return /*#__PURE__*/jsxs(Fragment, {
5534
- children: [/*#__PURE__*/jsx("span", {
5536
+ return /*#__PURE__*/jsx(Fragment, {
5537
+ children: /*#__PURE__*/jsxs("span", {
5535
5538
  ref: anchorReference,
5536
- className: "d-inline-block",
5537
- children: children ? /*#__PURE__*/cloneElement(children, {
5538
- /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call */
5539
- onMouseOver: () => {
5540
- if (children?.props?.onMouseOver) {
5541
- children?.props?.onMouseOver();
5542
- }
5543
- setOpen(true);
5544
- },
5545
- onFocus: () => {
5546
- if (children?.props?.onFocus) {
5547
- children.props.onFocus();
5548
- }
5549
- setOpen(true);
5550
- },
5551
- onMouseOut: () => {
5552
- if (children?.props?.onMouseOver) {
5553
- children.props.onMouseOver();
5554
- }
5555
- setOpen(false);
5539
+ className: "tw-tooltip-container",
5540
+ onMouseOver: () => setOpen(true),
5541
+ onFocus: () => setOpen(true),
5542
+ onMouseOut: () => setOpen(false),
5543
+ onBlur: () => setOpen(false),
5544
+ children: [children ? /*#__PURE__*/cloneElement(children, {
5545
+ 'aria-describedby': `${tooltipId}-tooltip`
5546
+ }) : null, /*#__PURE__*/jsx("div", {
5547
+ // @ts-expect-error
5548
+ ref: setPopperElement,
5549
+ className: classNames('np-tooltip', 'np-panel', open ? `np-panel--open np-tooltip--open` : null, className)
5550
+ // eslint-disable-next-line react/forbid-dom-props
5551
+ ,
5552
+ style: {
5553
+ ...styles.popper
5556
5554
  },
5557
- onBlur: () => {
5558
- if (children?.props?.onBlur) {
5559
- children.props.onBlur();
5560
- }
5561
- setOpen(false);
5562
- }
5563
- /* eslint-enable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call */
5564
- }) : null
5565
- }), open ? /*#__PURE__*/jsx("div", {
5566
- // @ts-expect-error
5567
- ref: setPopperElement,
5568
- className: classNames('np-tooltip', 'np-panel', 'np-panel--open', 'bg-screen', className)
5569
- // eslint-disable-next-line react/forbid-dom-props
5570
- ,
5571
- style: {
5572
- ...styles.popper
5573
- },
5574
- ...attributes.popper,
5575
- children: /*#__PURE__*/jsxs("div", {
5576
- className: "np-panel__content tooltip-inner",
5577
- children: [label, /*#__PURE__*/jsx("div", {
5578
- // @ts-expect-error
5579
- ref: setArrowElement,
5580
- className: classNames('np-panel__arrow')
5581
- // eslint-disable-next-line react/forbid-dom-props
5582
- ,
5583
- style: styles.arrow
5584
- })]
5585
- })
5586
- }) : null]
5555
+ ...attributes.popper,
5556
+ "aria-hidden": !open,
5557
+ role: "tooltip",
5558
+ id: `${tooltipId}-tooltip`,
5559
+ children: /*#__PURE__*/jsxs("div", {
5560
+ className: "np-panel__content tooltip-inner",
5561
+ children: [label, /*#__PURE__*/jsx("div", {
5562
+ // @ts-expect-error
5563
+ ref: setArrowElement,
5564
+ className: classNames('np-panel__arrow')
5565
+ // eslint-disable-next-line react/forbid-dom-props
5566
+ ,
5567
+ style: styles.arrow
5568
+ })]
5569
+ })
5570
+ })]
5571
+ })
5587
5572
  });
5588
5573
  };
5589
5574
  var Tooltip$1 = Tooltip;