@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.
package/build/index.js CHANGED
@@ -5519,12 +5519,15 @@ const Tooltip = ({
5519
5519
  position = exports.Position.TOP,
5520
5520
  children = undefined,
5521
5521
  label,
5522
+ id,
5522
5523
  className
5523
5524
  }) => {
5524
5525
  const [open, setOpen] = React.useState(false);
5525
5526
  const anchorReference = React.useRef(null);
5526
5527
  const [arrowElement, setArrowElement] = React.useState(null);
5527
5528
  const [popperElement, setPopperElement] = React.useState(null);
5529
+ const fallbackId = reactId.useId();
5530
+ const tooltipId = id ?? fallbackId;
5528
5531
  const modifiers = [];
5529
5532
  modifiers.push({
5530
5533
  name: 'arrow',
@@ -5563,60 +5566,42 @@ const Tooltip = ({
5563
5566
  forceUpdate();
5564
5567
  }
5565
5568
  }, [open]);
5566
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
5567
- children: [/*#__PURE__*/jsxRuntime.jsx("span", {
5569
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
5570
+ children: /*#__PURE__*/jsxRuntime.jsxs("span", {
5568
5571
  ref: anchorReference,
5569
- className: "d-inline-block",
5570
- children: children ? /*#__PURE__*/React.cloneElement(children, {
5571
- /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call */
5572
- onMouseOver: () => {
5573
- if (children?.props?.onMouseOver) {
5574
- children?.props?.onMouseOver();
5575
- }
5576
- setOpen(true);
5577
- },
5578
- onFocus: () => {
5579
- if (children?.props?.onFocus) {
5580
- children.props.onFocus();
5581
- }
5582
- setOpen(true);
5583
- },
5584
- onMouseOut: () => {
5585
- if (children?.props?.onMouseOver) {
5586
- children.props.onMouseOver();
5587
- }
5588
- setOpen(false);
5572
+ className: "tw-tooltip-container",
5573
+ onMouseOver: () => setOpen(true),
5574
+ onFocus: () => setOpen(true),
5575
+ onMouseOut: () => setOpen(false),
5576
+ onBlur: () => setOpen(false),
5577
+ children: [children ? /*#__PURE__*/React.cloneElement(children, {
5578
+ 'aria-describedby': `${tooltipId}-tooltip`
5579
+ }) : null, /*#__PURE__*/jsxRuntime.jsx("div", {
5580
+ // @ts-expect-error
5581
+ ref: setPopperElement,
5582
+ className: classNames__default.default('np-tooltip', 'np-panel', open ? `np-panel--open np-tooltip--open` : null, className)
5583
+ // eslint-disable-next-line react/forbid-dom-props
5584
+ ,
5585
+ style: {
5586
+ ...styles.popper
5589
5587
  },
5590
- onBlur: () => {
5591
- if (children?.props?.onBlur) {
5592
- children.props.onBlur();
5593
- }
5594
- setOpen(false);
5595
- }
5596
- /* eslint-enable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call */
5597
- }) : null
5598
- }), open ? /*#__PURE__*/jsxRuntime.jsx("div", {
5599
- // @ts-expect-error
5600
- ref: setPopperElement,
5601
- className: classNames__default.default('np-tooltip', 'np-panel', 'np-panel--open', 'bg-screen', className)
5602
- // eslint-disable-next-line react/forbid-dom-props
5603
- ,
5604
- style: {
5605
- ...styles.popper
5606
- },
5607
- ...attributes.popper,
5608
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
5609
- className: "np-panel__content tooltip-inner",
5610
- children: [label, /*#__PURE__*/jsxRuntime.jsx("div", {
5611
- // @ts-expect-error
5612
- ref: setArrowElement,
5613
- className: classNames__default.default('np-panel__arrow')
5614
- // eslint-disable-next-line react/forbid-dom-props
5615
- ,
5616
- style: styles.arrow
5617
- })]
5618
- })
5619
- }) : null]
5588
+ ...attributes.popper,
5589
+ "aria-hidden": !open,
5590
+ role: "tooltip",
5591
+ id: `${tooltipId}-tooltip`,
5592
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
5593
+ className: "np-panel__content tooltip-inner",
5594
+ children: [label, /*#__PURE__*/jsxRuntime.jsx("div", {
5595
+ // @ts-expect-error
5596
+ ref: setArrowElement,
5597
+ className: classNames__default.default('np-panel__arrow')
5598
+ // eslint-disable-next-line react/forbid-dom-props
5599
+ ,
5600
+ style: styles.arrow
5601
+ })]
5602
+ })
5603
+ })]
5604
+ })
5620
5605
  });
5621
5606
  };
5622
5607
  var Tooltip$1 = Tooltip;