@thecb/components 11.9.0 → 11.10.0-beta.0

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/dist/index.cjs.js CHANGED
@@ -51604,8 +51604,163 @@ var Tooltip = function Tooltip(_ref) {
51604
51604
  })));
51605
51605
  };
51606
51606
 
51607
- var pageBackground = "#FBFCFD";
51607
+ var TOOLTIP_V2_THEME_SOURCE = "Popover";
51608
+ var hoverColor$6 = SAPPHIRE_BLUE;
51609
+ var activeColor$b = PEACOCK_BLUE;
51610
+ var tooltipTriggerColor = MATISSE_BLUE;
51611
+ var borderColor$7 = "rgba(255, 255, 255, 0.85)";
51608
51612
  var fallbackValues$13 = {
51613
+ hoverColor: hoverColor$6,
51614
+ activeColor: activeColor$b,
51615
+ tooltipTriggerColor: tooltipTriggerColor,
51616
+ borderColor: borderColor$7
51617
+ };
51618
+
51619
+ var TooltipV2 = function TooltipV2(_ref) {
51620
+ var children = _ref.children,
51621
+ _ref$content = _ref.content,
51622
+ content = _ref$content === void 0 ? "" : _ref$content,
51623
+ tooltipID = _ref.tooltipID,
51624
+ _ref$triggerText = _ref.triggerText,
51625
+ triggerText = _ref$triggerText === void 0 ? "" : _ref$triggerText,
51626
+ _ref$contentPosition = _ref.contentPosition,
51627
+ contentPosition = _ref$contentPosition === void 0 ? {
51628
+ top: "-110px",
51629
+ right: "auto",
51630
+ bottom: "auto",
51631
+ left: "-225px"
51632
+ } : _ref$contentPosition,
51633
+ _ref$arrowDirection = _ref.arrowDirection,
51634
+ arrowDirection = _ref$arrowDirection === void 0 ? "down" : _ref$arrowDirection,
51635
+ _ref$arrowPosition = _ref.arrowPosition,
51636
+ arrowPosition = _ref$arrowPosition === void 0 ? {
51637
+ arrowTop: "auto",
51638
+ arrowRight: "10px",
51639
+ arrowBottom: "-8px",
51640
+ arrowLeft: "auto"
51641
+ } : _ref$arrowPosition,
51642
+ _ref$minWidth = _ref.minWidth,
51643
+ minWidth = _ref$minWidth === void 0 ? "250px" : _ref$minWidth,
51644
+ _ref$maxWidth = _ref.maxWidth,
51645
+ maxWidth = _ref$maxWidth === void 0 ? "100%" : _ref$maxWidth,
51646
+ _ref$height = _ref.height,
51647
+ height = _ref$height === void 0 ? "auto" : _ref$height,
51648
+ _ref$containerExtraSt = _ref.containerExtraStyles,
51649
+ containerExtraStyles = _ref$containerExtraSt === void 0 ? "" : _ref$containerExtraSt,
51650
+ _ref$contentExtraStyl = _ref.contentExtraStyles,
51651
+ contentExtraStyles = _ref$contentExtraStyl === void 0 ? "" : _ref$contentExtraStyl,
51652
+ _ref$contentBackgroun = _ref.contentBackgroundColor,
51653
+ contentBackgroundColor = _ref$contentBackgroun === void 0 ? WHITE : _ref$contentBackgroun,
51654
+ _ref$triggerVariant = _ref.triggerVariant,
51655
+ triggerVariant = _ref$triggerVariant === void 0 ? "smallGhost" : _ref$triggerVariant;
51656
+ var closeTimeoutRef = React.useRef(null);
51657
+ var _useState = React.useState(false),
51658
+ _useState2 = _slicedToArray(_useState, 2),
51659
+ tooltipOpen = _useState2[0],
51660
+ setTooltipOpen = _useState2[1];
51661
+ var themeContext = React.useContext(styled.ThemeContext);
51662
+ var themeValues = createThemeValues(themeContext, fallbackValues$13, TOOLTIP_V2_THEME_SOURCE);
51663
+ var arrowColor = themeValues.borderColor,
51664
+ tooltipTriggerColor = themeValues.tooltipTriggerColor,
51665
+ hoverColor = themeValues.hoverColor,
51666
+ activeColor = themeValues.activeColor;
51667
+ var top = contentPosition.top,
51668
+ right = contentPosition.right,
51669
+ bottom = contentPosition.bottom,
51670
+ left = contentPosition.left;
51671
+ var arrowTop = arrowPosition.arrowTop,
51672
+ arrowRight = arrowPosition.arrowRight,
51673
+ arrowBottom = arrowPosition.arrowBottom,
51674
+ arrowLeft = arrowPosition.arrowLeft;
51675
+ var handleToggleTooltip = function handleToggleTooltip(desiredState) {
51676
+ if (tooltipOpen !== desiredState) {
51677
+ setTooltipOpen(desiredState);
51678
+ }
51679
+ };
51680
+ var handleKeyDown = function handleKeyDown(e) {
51681
+ if (e.key === "Escape") {
51682
+ handleToggleTooltip(false);
51683
+ }
51684
+ };
51685
+ var handleMouseEnter = function handleMouseEnter() {
51686
+ if (closeTimeoutRef.current) {
51687
+ clearTimeout(closeTimeoutRef.current);
51688
+ closeTimeoutRef.current = null;
51689
+ }
51690
+ handleToggleTooltip(true);
51691
+ };
51692
+ var handleMouseLeave = function handleMouseLeave() {
51693
+ closeTimeoutRef.current = setTimeout(function () {
51694
+ handleToggleTooltip(false);
51695
+ }, 300);
51696
+ };
51697
+ React.useEffect(function () {
51698
+ return function () {
51699
+ if (closeTimeoutRef.current) {
51700
+ clearTimeout(closeTimeoutRef.current);
51701
+ }
51702
+ };
51703
+ }, []);
51704
+ var renderTrigger = function renderTrigger() {
51705
+ if (children) {
51706
+ return /*#__PURE__*/React__default.cloneElement(React__default.Children.only(children), {
51707
+ "aria-describedby": tooltipID,
51708
+ onFocus: function onFocus() {
51709
+ return handleToggleTooltip(true);
51710
+ },
51711
+ onBlur: function onBlur() {
51712
+ return handleToggleTooltip(false);
51713
+ },
51714
+ onKeyDown: handleKeyDown
51715
+ });
51716
+ }
51717
+ return /*#__PURE__*/React__default.createElement(ButtonWithAction, {
51718
+ action: function action() {
51719
+ return noop$1;
51720
+ },
51721
+ "aria-describedby": tooltipID,
51722
+ onKeyDown: handleKeyDown,
51723
+ variant: triggerVariant,
51724
+ onFocus: function onFocus() {
51725
+ return handleToggleTooltip(true);
51726
+ },
51727
+ onBlur: function onBlur() {
51728
+ return handleToggleTooltip(false);
51729
+ },
51730
+ onTouchStart: function onTouchStart() {
51731
+ return handleToggleTooltip(true);
51732
+ },
51733
+ "data-qa": "tooltip-v2-trigger",
51734
+ text: triggerText,
51735
+ extraStyles: "\n color: ".concat(tooltipTriggerColor, ";\n &:hover { color: ").concat(hoverColor, "; text-decoration: none;}\n &:active, &:focus { color: ").concat(activeColor, "; text-decoration: none;}\n button, span, &:hover span { text-decoration: none; }\n ")
51736
+ });
51737
+ };
51738
+ return /*#__PURE__*/React__default.createElement(Box, {
51739
+ padding: "0",
51740
+ extraStyles: "position: relative; ".concat(containerExtraStyles),
51741
+ onMouseEnter: handleMouseEnter,
51742
+ onMouseLeave: handleMouseLeave,
51743
+ "data-qa": "tooltip-v2-container"
51744
+ }, renderTrigger(), /*#__PURE__*/React__default.createElement(Box, {
51745
+ role: "tooltip",
51746
+ id: tooltipID,
51747
+ "aria-hidden": !tooltipOpen,
51748
+ background: contentBackgroundColor,
51749
+ "data-qa": "tooltip-v2-contents",
51750
+ extraStyles: "\n position: absolute;\n display: ".concat(tooltipOpen ? "block" : "none", ";\n top: ").concat(top, ";\n right: ").concat(right, ";\n bottom: ").concat(bottom, ";\n left: ").concat(left, ";\n height: ").concat(height, ";\n ").concat(contentExtraStyles, "\n "),
51751
+ boxShadow: "0px 2px 14px 0px rgb(246, 246, 249), 0px 3px 8px 0px rgb(202, 206, 216)",
51752
+ border: "1px solid transparent",
51753
+ borderRadius: "4px",
51754
+ minWidth: minWidth,
51755
+ maxWidth: maxWidth
51756
+ }, typeof content === "string" ? /*#__PURE__*/React__default.createElement(Text$1, null, content) : content, /*#__PURE__*/React__default.createElement(Box, {
51757
+ padding: "0",
51758
+ extraStyles: "\n position: absolute;\n content: \"\";\n width: 0;\n height: 0;\n ".concat(arrowBorder(arrowColor, arrowDirection, "8px"), ";\n filter: drop-shadow(2px 8px 14px black);\n bottom: ").concat(arrowBottom, ";\n right: ").concat(arrowRight, ";\n top: ").concat(arrowTop, ";\n left: ").concat(arrowLeft, ";\n ")
51759
+ })));
51760
+ };
51761
+
51762
+ var pageBackground = "#FBFCFD";
51763
+ var fallbackValues$14 = {
51609
51764
  pageBackground: pageBackground
51610
51765
  };
51611
51766
 
@@ -51653,7 +51808,7 @@ var CenterSingle = function CenterSingle(_ref) {
51653
51808
  padding: "0"
51654
51809
  })));
51655
51810
  };
51656
- var CenterSingle$1 = withWindowSize(themeComponent(CenterSingle, "Global", fallbackValues$13));
51811
+ var CenterSingle$1 = withWindowSize(themeComponent(CenterSingle, "Global", fallbackValues$14));
51657
51812
 
51658
51813
  var CenterStack = function CenterStack(_ref) {
51659
51814
  var header = _ref.header,
@@ -51696,7 +51851,7 @@ var CenterStack = function CenterStack(_ref) {
51696
51851
  padding: "0"
51697
51852
  })));
51698
51853
  };
51699
- var CenterStack$1 = withWindowSize(themeComponent(CenterStack, "Global", fallbackValues$13));
51854
+ var CenterStack$1 = withWindowSize(themeComponent(CenterStack, "Global", fallbackValues$14));
51700
51855
 
51701
51856
  var CenterSingle$2 = function CenterSingle(_ref) {
51702
51857
  var header = _ref.header,
@@ -51742,7 +51897,7 @@ var CenterSingle$2 = function CenterSingle(_ref) {
51742
51897
  padding: "0"
51743
51898
  })));
51744
51899
  };
51745
- var DefaultPageTemplate = withWindowSize(themeComponent(CenterSingle$2, "Global", fallbackValues$13));
51900
+ var DefaultPageTemplate = withWindowSize(themeComponent(CenterSingle$2, "Global", fallbackValues$14));
51746
51901
 
51747
51902
  var SidebarSingleContent = function SidebarSingleContent(_ref) {
51748
51903
  var header = _ref.header,
@@ -51795,7 +51950,7 @@ var SidebarSingleContent = function SidebarSingleContent(_ref) {
51795
51950
  padding: "0"
51796
51951
  })));
51797
51952
  };
51798
- var SidebarSingleContent$1 = withWindowSize(themeComponent(SidebarSingleContent, "Global", fallbackValues$13));
51953
+ var SidebarSingleContent$1 = withWindowSize(themeComponent(SidebarSingleContent, "Global", fallbackValues$14));
51799
51954
 
51800
51955
  var SidebarStackContent = function SidebarStackContent(_ref) {
51801
51956
  var header = _ref.header,
@@ -51864,7 +52019,7 @@ var SidebarStackContent = function SidebarStackContent(_ref) {
51864
52019
  key: "footer-box"
51865
52020
  })));
51866
52021
  };
51867
- var SidebarStackContent$1 = withWindowSize(themeComponent(SidebarStackContent, "Global", fallbackValues$13));
52022
+ var SidebarStackContent$1 = withWindowSize(themeComponent(SidebarStackContent, "Global", fallbackValues$14));
51868
52023
 
51869
52024
  var useFocusInvalidInput = function useFocusInvalidInput(hasErrors) {
51870
52025
  var resetHasErrors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
@@ -52164,6 +52319,7 @@ exports.Title = Title$1;
52164
52319
  exports.ToastNotification = ToastNotification;
52165
52320
  exports.ToggleSwitch = ToggleSwitch$1;
52166
52321
  exports.Tooltip = Tooltip;
52322
+ exports.TooltipV2 = TooltipV2;
52167
52323
  exports.TrashIcon = TrashIcon$1;
52168
52324
  exports.TrashIconV2 = TrashIconV2$1;
52169
52325
  exports.TurnstileWidget = TurnstileWidget;