@thecb/components 9.2.0-beta.0 → 9.2.0-beta.10

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
@@ -5051,7 +5051,8 @@ var FANTASY_RED = "#FCF4F4";
5051
5051
  var COSMOS_RED = "#FFD0D3";
5052
5052
  var BLUSH_RED = "#FFF0F5"; // Second level color constants
5053
5053
 
5054
- var ERROR_COLOR = RAZZMATAZZ_RED; // These colors are sequestered so that the alert component can reference them // by type of alert
5054
+ var ERROR_COLOR = RAZZMATAZZ_RED;
5055
+ var ERROR_BACKGROUND_COLOR = "#FFF4F8"; // These colors are sequestered so that the alert component can reference them // by type of alert
5055
5056
 
5056
5057
  var ALERT_COLORS = {
5057
5058
  warn: {
@@ -5182,7 +5183,8 @@ var colors = /*#__PURE__*/Object.freeze({
5182
5183
  RASPBERRY: RASPBERRY,
5183
5184
  ALERT_COLORS: ALERT_COLORS,
5184
5185
  PILL_COLORS: PILL_COLORS,
5185
- ERROR_COLOR: ERROR_COLOR
5186
+ ERROR_COLOR: ERROR_COLOR,
5187
+ ERROR_BACKGROUND_COLOR: ERROR_BACKGROUND_COLOR
5186
5188
  });
5187
5189
 
5188
5190
  var TextSpan = styled__default.span.withConfig({
@@ -25584,6 +25586,53 @@ var useOutsideClickHook = function useOutsideClickHook(handler) {
25584
25586
  return ref;
25585
25587
  };
25586
25588
 
25589
+ var initialToastState = {
25590
+ isOpen: false,
25591
+ variant: "",
25592
+ message: ""
25593
+ };
25594
+
25595
+ var useToastNotification = function useToastNotification() {
25596
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
25597
+ _ref$timeout = _ref.timeout,
25598
+ timeout = _ref$timeout === void 0 ? 5000 : _ref$timeout;
25599
+
25600
+ var _useState = React.useState(initialToastState),
25601
+ _useState2 = _slicedToArray(_useState, 2),
25602
+ toastState = _useState2[0],
25603
+ setToastState = _useState2[1];
25604
+
25605
+ React.useEffect(function () {
25606
+ if (toastState.isOpen) {
25607
+ setTimeout(function () {
25608
+ setToastState(initialToastState);
25609
+ }, timeout);
25610
+ }
25611
+ }, [timeout, toastState.isOpen]);
25612
+
25613
+ var showToast = function showToast(_ref2) {
25614
+ var message = _ref2.message,
25615
+ variant = _ref2.variant;
25616
+ return setToastState({
25617
+ isOpen: true,
25618
+ variant: variant,
25619
+ message: message
25620
+ });
25621
+ };
25622
+
25623
+ var hideToast = function hideToast() {
25624
+ return setToastState(initialToastState);
25625
+ };
25626
+
25627
+ return {
25628
+ isToastOpen: toastState.isOpen,
25629
+ toastVariant: toastState.variant,
25630
+ toastMessage: toastState.message,
25631
+ showToast: showToast,
25632
+ hideToast: hideToast
25633
+ };
25634
+ };
25635
+
25587
25636
 
25588
25637
 
25589
25638
  var index$4 = /*#__PURE__*/Object.freeze({
@@ -25592,7 +25641,8 @@ var index$4 = /*#__PURE__*/Object.freeze({
25592
25641
  general: general,
25593
25642
  theme: themeUtils,
25594
25643
  useFocusInvalidInput: useFocusInvalidInput,
25595
- useOutsideClick: useOutsideClickHook
25644
+ useOutsideClick: useOutsideClickHook,
25645
+ useToastNotification: useToastNotification
25596
25646
  });
25597
25647
 
25598
25648
  var hoverColor$4 = "#116285";
@@ -50290,6 +50340,51 @@ var Timeout = function Timeout(_ref) {
50290
50340
 
50291
50341
  var Timeout$1 = withWindowSize(Timeout);
50292
50342
 
50343
+ var VARIANTS = {
50344
+ SUCCESS: "success",
50345
+ ERROR: "error"
50346
+ };
50347
+
50348
+ var ToastNotification = function ToastNotification(_ref) {
50349
+ var _ref$variant = _ref.variant,
50350
+ variant = _ref$variant === void 0 ? VARIANTS.SUCCESS : _ref$variant,
50351
+ _ref$message = _ref.message,
50352
+ message = _ref$message === void 0 ? "" : _ref$message,
50353
+ toastOpen = _ref.toastOpen,
50354
+ closeToastNotification = _ref.closeToastNotification,
50355
+ extraStyles = _ref.extraStyles,
50356
+ _ref$minWidth = _ref.minWidth,
50357
+ minWidth = _ref$minWidth === void 0 ? "112px" : _ref$minWidth,
50358
+ _ref$maxWidth = _ref.maxWidth,
50359
+ maxWidth = _ref$maxWidth === void 0 ? "350px" : _ref$maxWidth,
50360
+ _ref$height = _ref.height,
50361
+ height = _ref$height === void 0 ? "56px" : _ref$height,
50362
+ _ref$childGap = _ref.childGap,
50363
+ childGap = _ref$childGap === void 0 ? "1rem" : _ref$childGap,
50364
+ backgroundColor = _ref.backgroundColor;
50365
+ return /*#__PURE__*/React__default.createElement(Box, {
50366
+ onClick: closeToastNotification,
50367
+ background: backgroundColor ? backgroundColor : variant === VARIANTS.SUCCESS ? HINT_GREEN : variant === "error" ? ERROR_BACKGROUND_COLOR : WHITE,
50368
+ minWidth: minWidth,
50369
+ minHeight: height && parseInt(height) < 100 ? height : "100px",
50370
+ height: height ? height : "auto",
50371
+ tabIndex: toastOpen ? "-1" : "0",
50372
+ padding: "0rem 1rem",
50373
+ borderRadius: "4px",
50374
+ boxShadow: "0px 4px 4px rgba(41, 42, 51, 0.15), 0px 1px 7px rgba(41, 42, 51, 0.2), 0px 7px 12px rgba(41, 42, 51, 0.15)",
50375
+ extraStyles: "\n display: ".concat(toastOpen ? "block" : "none", ";\n position: fixed; bottom: 4rem; left: 4rem;\n ").concat(extraStyles, ";\n cursor: pointer;\n ")
50376
+ }, /*#__PURE__*/React__default.createElement(Cluster, {
50377
+ align: "center",
50378
+ childGap: childGap
50379
+ }, variant === "success" && /*#__PURE__*/React__default.createElement(SuccessfulIconMedium, null), variant === "error" && /*#__PURE__*/React__default.createElement(ErroredIcon, null), /*#__PURE__*/React__default.createElement(Box, {
50380
+ padding: "1rem 0",
50381
+ maxWidth: maxWidth
50382
+ }, /*#__PURE__*/React__default.createElement(Paragraph$1, {
50383
+ weight: FONT_WEIGHT_SEMIBOLD,
50384
+ extraStyles: "word-break: break-word;"
50385
+ }, message)), /*#__PURE__*/React__default.createElement(IconQuitLarge, null)));
50386
+ };
50387
+
50293
50388
  var fontWeight$9 = "600";
50294
50389
  var fontColor$1 = WHITE;
50295
50390
  var textAlign$1 = "left";
@@ -50855,6 +50950,7 @@ exports.Text = Text$1;
50855
50950
  exports.Timeout = Timeout$1;
50856
50951
  exports.TimeoutImage = TimeoutImage;
50857
50952
  exports.Title = Title$1;
50953
+ exports.ToastNotification = ToastNotification;
50858
50954
  exports.ToggleSwitch = ToggleSwitch$1;
50859
50955
  exports.TrashIcon = TrashIcon$1;
50860
50956
  exports.TypeaheadInput = TypeaheadInput;