@algolia/satellite 1.0.0-beta.175 → 1.0.0-beta.177

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.
Files changed (163) hide show
  1. package/cjs/Button/Button.tailwind.js +1 -0
  2. package/cjs/Button/PolymorphicButton.js +1 -1
  3. package/cjs/Dropdown/Dropdown.d.ts +1 -5
  4. package/cjs/Dropdown/Dropdown.js +12 -15
  5. package/cjs/Dropdown/DropdownButton.d.ts +3 -0
  6. package/cjs/Dropdown/DropdownButton.js +3 -0
  7. package/cjs/Dropdown/components/DropdownButtonItem.d.ts +1 -0
  8. package/cjs/Dropdown/components/DropdownButtonItem.js +5 -2
  9. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItem.d.ts +1 -0
  10. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItem.js +1 -0
  11. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroup.d.ts +1 -0
  12. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroup.js +1 -0
  13. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroupContext.d.ts +1 -0
  14. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroupContext.js +2 -0
  15. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsMultiGroup.d.ts +1 -0
  16. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsMultiGroup.js +1 -0
  17. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsSingleGroup.d.ts +1 -0
  18. package/cjs/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsSingleGroup.js +1 -0
  19. package/cjs/Dropdown/components/DropdownDivider.d.ts +1 -0
  20. package/cjs/Dropdown/components/DropdownDivider.js +1 -0
  21. package/cjs/Dropdown/components/DropdownFooterItem.d.ts +1 -0
  22. package/cjs/Dropdown/components/DropdownFooterItem.js +1 -0
  23. package/cjs/Dropdown/components/DropdownLinkItem.d.ts +1 -0
  24. package/cjs/Dropdown/components/DropdownLinkItem.js +5 -2
  25. package/cjs/Dropdown/components/DropdownRadioItem.d.ts +1 -0
  26. package/cjs/Dropdown/components/DropdownRadioItem.js +6 -2
  27. package/cjs/Dropdown/components/DropdownTitle.d.ts +1 -0
  28. package/cjs/Dropdown/components/DropdownTitle.js +1 -0
  29. package/cjs/Dropdown/components/DropdownToggleItem.d.ts +1 -0
  30. package/cjs/Dropdown/components/DropdownToggleItem.js +6 -2
  31. package/cjs/EmptyState/EmptyState.js +4 -9
  32. package/cjs/MenuButton/MenuButton.d.ts +13 -11
  33. package/cjs/MenuButton/MenuButton.js +15 -39
  34. package/cjs/MenuButton/components/Content.d.ts +4 -0
  35. package/cjs/MenuButton/components/Content.js +39 -0
  36. package/cjs/MenuButton/components/DefaultTrigger.d.ts +2 -2
  37. package/cjs/MenuButton/components/DefaultTrigger.js +5 -2
  38. package/cjs/MenuButton/components/items/Item.d.ts +15 -0
  39. package/cjs/MenuButton/components/items/{ButtonItem.js → Item.js} +14 -17
  40. package/cjs/MenuButton/components/items/index.d.ts +1 -1
  41. package/cjs/MenuButton/components/items/index.js +4 -4
  42. package/cjs/MenuButton/index.d.ts +1 -1
  43. package/cjs/MenuButton/index.js +11 -8
  44. package/cjs/MenuButton/useMenuItemProps.d.ts +3 -3
  45. package/cjs/MenuButton/useMenuItemProps.js +1 -1
  46. package/cjs/Satellite/locale.d.ts +6 -2
  47. package/cjs/Stepper/Step.d.ts +7 -0
  48. package/cjs/Stepper/Step.js +116 -0
  49. package/cjs/Stepper/Stepper.d.ts +42 -0
  50. package/cjs/Stepper/Stepper.js +146 -0
  51. package/cjs/Stepper/StepperContext.d.ts +12 -0
  52. package/cjs/Stepper/StepperContext.js +15 -0
  53. package/cjs/Stepper/index.d.ts +4 -0
  54. package/cjs/Stepper/index.js +51 -0
  55. package/cjs/Stepper/types.d.ts +26 -0
  56. package/cjs/Stepper/utils.d.ts +5 -0
  57. package/cjs/Stepper/utils.js +67 -0
  58. package/cjs/Toast/Toast.d.ts +6 -0
  59. package/cjs/{Flag/Flag.js → Toast/Toast.js} +50 -63
  60. package/{esm/Flag/Flag.tailwind.d.ts → cjs/Toast/Toast.tailwind.d.ts} +2 -2
  61. package/cjs/{Flag/Flag.tailwind.js → Toast/Toast.tailwind.js} +7 -7
  62. package/cjs/Toast/Toasts.d.ts +21 -0
  63. package/cjs/Toast/Toasts.js +102 -0
  64. package/cjs/Toast/index.d.ts +4 -0
  65. package/cjs/{Flag → Toast}/index.js +9 -9
  66. package/cjs/Toast/types.d.ts +34 -0
  67. package/cjs/Toast/types.js +5 -0
  68. package/cjs/index.d.ts +2 -1
  69. package/cjs/index.js +24 -12
  70. package/cjs/styles/tailwind.config.js +1 -1
  71. package/cjs/types.d.ts +3 -3
  72. package/cjs/utils/getTextFromReactNode.d.ts +4 -0
  73. package/cjs/utils/getTextFromReactNode.js +20 -0
  74. package/esm/Button/Button.tailwind.js +1 -0
  75. package/esm/Button/PolymorphicButton.js +1 -1
  76. package/esm/Dropdown/Dropdown.d.ts +1 -5
  77. package/esm/Dropdown/Dropdown.js +12 -15
  78. package/esm/Dropdown/DropdownButton.d.ts +3 -0
  79. package/esm/Dropdown/DropdownButton.js +3 -0
  80. package/esm/Dropdown/components/DropdownButtonItem.d.ts +1 -0
  81. package/esm/Dropdown/components/DropdownButtonItem.js +5 -2
  82. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItem.d.ts +1 -0
  83. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItem.js +1 -0
  84. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroup.d.ts +1 -0
  85. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroup.js +1 -0
  86. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroupContext.d.ts +1 -0
  87. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroupContext.js +2 -0
  88. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsMultiGroup.d.ts +1 -0
  89. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsMultiGroup.js +1 -0
  90. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsSingleGroup.d.ts +1 -0
  91. package/esm/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsSingleGroup.js +1 -0
  92. package/esm/Dropdown/components/DropdownDivider.d.ts +1 -0
  93. package/esm/Dropdown/components/DropdownDivider.js +2 -0
  94. package/esm/Dropdown/components/DropdownFooterItem.d.ts +1 -0
  95. package/esm/Dropdown/components/DropdownFooterItem.js +1 -0
  96. package/esm/Dropdown/components/DropdownLinkItem.d.ts +1 -0
  97. package/esm/Dropdown/components/DropdownLinkItem.js +5 -2
  98. package/esm/Dropdown/components/DropdownRadioItem.d.ts +1 -0
  99. package/esm/Dropdown/components/DropdownRadioItem.js +6 -2
  100. package/esm/Dropdown/components/DropdownTitle.d.ts +1 -0
  101. package/esm/Dropdown/components/DropdownTitle.js +1 -0
  102. package/esm/Dropdown/components/DropdownToggleItem.d.ts +1 -0
  103. package/esm/Dropdown/components/DropdownToggleItem.js +6 -2
  104. package/esm/EmptyState/EmptyState.js +4 -9
  105. package/esm/MenuButton/MenuButton.d.ts +13 -11
  106. package/esm/MenuButton/MenuButton.js +15 -39
  107. package/esm/MenuButton/components/Content.d.ts +4 -0
  108. package/esm/MenuButton/components/Content.js +32 -0
  109. package/esm/MenuButton/components/DefaultTrigger.d.ts +2 -2
  110. package/esm/MenuButton/components/DefaultTrigger.js +5 -2
  111. package/esm/MenuButton/components/items/Item.d.ts +15 -0
  112. package/esm/MenuButton/components/items/{ButtonItem.js → Item.js} +13 -16
  113. package/esm/MenuButton/components/items/index.d.ts +1 -1
  114. package/esm/MenuButton/components/items/index.js +1 -1
  115. package/esm/MenuButton/index.d.ts +1 -1
  116. package/esm/MenuButton/index.js +1 -1
  117. package/esm/MenuButton/useMenuItemProps.d.ts +3 -3
  118. package/esm/MenuButton/useMenuItemProps.js +1 -1
  119. package/esm/Satellite/locale.d.ts +6 -2
  120. package/esm/Stepper/Step.d.ts +7 -0
  121. package/esm/Stepper/Step.js +110 -0
  122. package/esm/Stepper/Stepper.d.ts +42 -0
  123. package/esm/Stepper/Stepper.js +139 -0
  124. package/esm/Stepper/StepperContext.d.ts +12 -0
  125. package/esm/Stepper/StepperContext.js +9 -0
  126. package/esm/Stepper/index.d.ts +4 -0
  127. package/esm/Stepper/index.js +4 -0
  128. package/esm/Stepper/types.d.ts +26 -0
  129. package/esm/Stepper/utils.d.ts +5 -0
  130. package/esm/Stepper/utils.js +61 -0
  131. package/esm/Toast/Toast.d.ts +6 -0
  132. package/esm/{Flag/Flag.js → Toast/Toast.js} +46 -62
  133. package/{cjs/Flag/Flag.tailwind.d.ts → esm/Toast/Toast.tailwind.d.ts} +2 -2
  134. package/esm/{Flag/Flag.tailwind.js → Toast/Toast.tailwind.js} +7 -7
  135. package/esm/Toast/Toasts.d.ts +21 -0
  136. package/esm/Toast/Toasts.js +93 -0
  137. package/esm/Toast/index.d.ts +4 -0
  138. package/esm/Toast/index.js +4 -0
  139. package/esm/Toast/types.d.ts +34 -0
  140. package/esm/Toast/types.js +1 -0
  141. package/esm/index.d.ts +2 -1
  142. package/esm/index.js +2 -1
  143. package/esm/styles/tailwind.config.js +1 -1
  144. package/esm/types.d.ts +3 -3
  145. package/esm/utils/getTextFromReactNode.d.ts +4 -0
  146. package/esm/utils/getTextFromReactNode.js +15 -0
  147. package/package.json +2 -1
  148. package/satellite.min.css +1 -1
  149. package/cjs/Flag/Flag.d.ts +0 -11
  150. package/cjs/Flag/Flags.d.ts +0 -48
  151. package/cjs/Flag/Flags.js +0 -90
  152. package/cjs/Flag/index.d.ts +0 -4
  153. package/cjs/Flag/types.d.ts +0 -27
  154. package/cjs/MenuButton/components/items/ButtonItem.d.ts +0 -14
  155. package/esm/Flag/Flag.d.ts +0 -11
  156. package/esm/Flag/Flags.d.ts +0 -48
  157. package/esm/Flag/Flags.js +0 -83
  158. package/esm/Flag/index.d.ts +0 -4
  159. package/esm/Flag/index.js +0 -4
  160. package/esm/Flag/types.d.ts +0 -27
  161. package/esm/MenuButton/components/items/ButtonItem.d.ts +0 -14
  162. /package/cjs/{Flag → Stepper}/types.js +0 -0
  163. /package/esm/{Flag → Stepper}/types.js +0 -0
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useStepIndices = void 0;
7
+ var findPreviousStep = function findPreviousStep(steps, activeStep, loop) {
8
+ var stepCount = steps.length;
9
+ var startIndex = activeStep - 1;
10
+ if (loop) {
11
+ startIndex = (startIndex + stepCount) % stepCount;
12
+ }
13
+ for (var i = startIndex; i >= 0; i--) {
14
+ if (!steps[i].disabled) {
15
+ return i;
16
+ }
17
+ }
18
+ return -1;
19
+ };
20
+ var findNextStep = function findNextStep(steps, activeStep, loop) {
21
+ var stepCount = steps.length;
22
+ var endIndex = stepCount;
23
+ if (loop) {
24
+ endIndex = activeStep + stepCount;
25
+ }
26
+ for (var i = activeStep + 1; i < endIndex; i++) {
27
+ if (!steps[i % stepCount].disabled) {
28
+ return i % stepCount;
29
+ }
30
+ }
31
+ return -1;
32
+ };
33
+ var findFirstOrLastStep = function findFirstOrLastStep(steps, reverse) {
34
+ var stepCount = steps.length;
35
+ for (var i = reverse ? stepCount - 1 : 0; i >= 0 && i < stepCount; i += reverse ? -1 : 1) {
36
+ if (!steps[i].disabled) {
37
+ return i;
38
+ }
39
+ }
40
+ return -1;
41
+ };
42
+ var findFirstStep = function findFirstStep(steps) {
43
+ return findFirstOrLastStep(steps, false);
44
+ };
45
+ var findLastStep = function findLastStep(steps) {
46
+ return findFirstOrLastStep(steps, true);
47
+ };
48
+
49
+ /**
50
+ * Returns a tuple of functions that return the previous and next step indices.
51
+ */
52
+ var useStepIndices = exports.useStepIndices = function useStepIndices(steps, activeStep) {
53
+ var loop = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
54
+ var getPreviousStep = function getPreviousStep() {
55
+ return findPreviousStep(steps, activeStep, loop);
56
+ };
57
+ var getNextStep = function getNextStep() {
58
+ return findNextStep(steps, activeStep, loop);
59
+ };
60
+ var getFirstStep = function getFirstStep() {
61
+ return findFirstStep(steps);
62
+ };
63
+ var getLastStep = function getLastStep() {
64
+ return findLastStep(steps);
65
+ };
66
+ return [getPreviousStep, getNextStep, getFirstStep, getLastStep, getPreviousStep() === -1, getNextStep() === -1];
67
+ };
@@ -0,0 +1,6 @@
1
+ import type { FC, HTMLAttributes } from "react";
2
+ import type { Notification } from "./types";
3
+ export declare type ToastLocale = Notification["locale"];
4
+ export declare type ToastProps = Omit<Notification, "id" | "content" | "autoDismissAfter"> & HTMLAttributes<HTMLElement>;
5
+ export declare const Toast: FC<ToastProps>;
6
+ export default Toast;
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
- exports["default"] = exports.Flag = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
+ exports["default"] = exports.Toast = void 0;
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
11
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
12
+ var ToastPrimitive = _interopRequireWildcard(require("@radix-ui/react-toast"));
11
13
  var _clsx = _interopRequireDefault(require("clsx"));
12
- var _react = require("react");
13
14
  var _reactFeather = require("react-feather");
14
15
  var _Button = require("../Button");
15
16
  var _Card = require("../Card");
@@ -18,10 +19,13 @@ var _Satellite = require("../Satellite");
18
19
  var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
19
20
  var _isRenderedChild = _interopRequireDefault(require("../utils/isRenderedChild"));
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21;
22
+ var _excluded = ["onDismiss", "title", "icon", "loading", "variant", "locale", "children"];
23
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19;
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
22
26
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
27
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
- var DEFAULT_FLAG_LOCALE = {
28
+ var DEFAULT_TOAST_LOCALE = {
25
29
  dismissText: "Dismiss"
26
30
  };
27
31
  var VARIANT_CLASSNAMES = {
@@ -40,13 +44,7 @@ var VARIANT_SPINNER_CLASSNAMES = {
40
44
  orange: (0, _satellitePrefixer["default"])(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["border-orange-500"]))),
41
45
  red: (0, _satellitePrefixer["default"])(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["border-red-500"])))
42
46
  };
43
-
44
- /**
45
- * The `Toast` component is a brief notification that providing timely feedback to users before vanishing after a short duration.
46
- *
47
- * See the [Toast documentation page](https://satellite.algolia.com/components/feedback/toast) for more information.
48
- */
49
- var Flag = exports.Flag = function Flag(_ref) {
47
+ var Toast = exports.Toast = function Toast(_ref) {
50
48
  var onDismiss = _ref.onDismiss,
51
49
  title = _ref.title,
52
50
  _ref$icon = _ref.icon,
@@ -55,68 +53,57 @@ var Flag = exports.Flag = function Flag(_ref) {
55
53
  loading = _ref$loading === void 0 ? false : _ref$loading,
56
54
  _ref$variant = _ref.variant,
57
55
  variant = _ref$variant === void 0 ? "accent" : _ref$variant,
58
- autoDismissAfter = _ref.autoDismissAfter,
59
56
  propsLocale = _ref.locale,
60
- children = _ref.children;
61
- var contextLocale = (0, _Satellite.useLocale)("flag");
62
- var locale = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_FLAG_LOCALE), contextLocale), propsLocale);
63
- var _useState = (0, _react.useState)(false),
64
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
65
- hovered = _useState2[0],
66
- setHovered = _useState2[1];
67
- var onDismissRef = (0, _react.useRef)();
68
- onDismissRef.current = onDismiss;
69
- var hasTitle = title !== undefined;
70
- (0, _react.useEffect)(function () {
71
- if (!autoDismissAfter || hovered) return;
72
- var timer = setTimeout(function () {
73
- var _onDismissRef$current;
74
- (_onDismissRef$current = onDismissRef.current) === null || _onDismissRef$current === void 0 || _onDismissRef$current.call(onDismissRef);
75
- }, autoDismissAfter);
76
- return function () {
77
- return clearTimeout(timer);
78
- };
79
- }, [autoDismissAfter, hovered]);
80
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Card.Card, {
57
+ children = _ref.children,
58
+ rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
59
+ var contextLocale = (0, _Satellite.useLocale)("toast");
60
+ var locale = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_TOAST_LOCALE), contextLocale), propsLocale);
61
+ if (process.env.NODE_ENV !== "production") {
62
+ if (typeof onDismiss === "undefined") {
63
+ console.warn("Toast: You should always include an `onDismiss` callback, this is crucial for users with limited abilities.");
64
+ }
65
+ }
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Card.Card, _objectSpread(_objectSpread({}, rest), {}, {
81
67
  fullBleed: true,
82
- className: (0, _satellitePrefixer["default"])(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["flag shadow-z500"]))),
68
+ className: (0, _satellitePrefixer["default"])(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["toast shadow-z500"]))),
83
69
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
84
70
  className: (0, _satellitePrefixer["default"])(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["p-4 flex"]))),
85
- onMouseEnter: function onMouseEnter() {
86
- return setHovered(true);
87
- },
88
- onMouseLeave: function onMouseLeave() {
89
- return setHovered(false);
90
- },
91
71
  children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProgressSpinner["default"], {
92
- size: 16,
93
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["mt-1"]))), VARIANT_SPINNER_CLASSNAMES[variant])
72
+ size: 24,
73
+ className: VARIANT_SPINNER_CLASSNAMES[variant]
94
74
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
95
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["shrink-0 text-white rounded-full p-2px mt-1"]))), VARIANT_CLASSNAMES[variant]),
96
- size: 16
75
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["shrink-0 text-white rounded-full p-1"]))), VARIANT_CLASSNAMES[variant]),
76
+ size: 24
97
77
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
98
- className: (0, _satellitePrefixer["default"])(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["flex-1 ml-4 min-w-0 break-words"]))),
78
+ className: (0, _satellitePrefixer["default"])(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["flex-1 ml-4 min-w-0 break-words"]))),
99
79
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
100
- className: (0, _satellitePrefixer["default"])(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["flex justify-between"]))),
101
- children: [hasTitle ? /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
102
- className: (0, _satellitePrefixer["default"])(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["overflow-hidden"]))),
103
- children: title
104
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
105
- className: (0, _satellitePrefixer["default"])(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["min-w-0"]))),
106
- children: children
107
- }), onDismiss && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
108
- icon: _reactFeather.X,
109
- title: locale.dismissText,
110
- variant: "subtle",
111
- size: "small",
112
- onClick: onDismiss
80
+ className: (0, _satellitePrefixer["default"])(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["flex justify-between"]))),
81
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ToastPrimitive.Title, {
82
+ asChild: true,
83
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
84
+ className: (0, _satellitePrefixer["default"])(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["overflow-hidden mt-0.5"]))),
85
+ children: title
86
+ })
87
+ }), onDismiss && /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastPrimitive.Close, {
88
+ asChild: true,
89
+ onClick: function onClick(e) {
90
+ // Prevent the default Radix handler so that `onDismiss` is not called twice in the `Toasts` component.
91
+ e.preventDefault();
92
+ onDismiss === null || onDismiss === void 0 || onDismiss();
93
+ },
94
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
95
+ icon: _reactFeather.X,
96
+ title: locale.dismissText,
97
+ variant: "subtle",
98
+ size: "small"
99
+ })
113
100
  })]
114
- }), hasTitle && (0, _isRenderedChild["default"])(children) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
115
- className: (0, _satellitePrefixer["default"])(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["text-grey-600 mt-2"]))),
101
+ }), (0, _isRenderedChild["default"])(children) && /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastPrimitive.Description, {
102
+ className: (0, _satellitePrefixer["default"])(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["text-grey-600 mt-2"]))),
116
103
  children: children
117
104
  })]
118
105
  })]
119
106
  })
120
- });
107
+ }));
121
108
  };
122
- var _default = exports["default"] = Flag;
109
+ var _default = exports["default"] = Toast;
@@ -1,5 +1,5 @@
1
- export = flagPlugin;
2
- declare const flagPlugin: {
1
+ export = toastPlugin;
2
+ declare const toastPlugin: {
3
3
  handler: import("tailwindcss/types/config").PluginCreator;
4
4
  config?: Partial<import("tailwindcss/types/config").Config> | undefined;
5
5
  };
@@ -2,33 +2,33 @@
2
2
 
3
3
  // @ts-check
4
4
  var plugin = require("tailwindcss/plugin");
5
- var flagPlugin = plugin(function (_ref) {
5
+ var toastPlugin = plugin(function (_ref) {
6
6
  var addComponents = _ref.addComponents;
7
7
  var TRANSITION_TIMEOUT = 500;
8
8
  addComponents({
9
- ".flag": {
9
+ ".toast": {
10
10
  width: "320px"
11
11
  }
12
12
  });
13
13
  addComponents({
14
- ".flags_item-enter": {
14
+ ".toasts_item-enter": {
15
15
  opacity: "0.01",
16
16
  transform: "translate(0, 80px)"
17
17
  },
18
- ".flags_item-enter-active": {
18
+ ".toasts_item-enter-active": {
19
19
  opacity: "1",
20
20
  transform: "translate(0, 0)",
21
21
  transition: "all ".concat(TRANSITION_TIMEOUT, "ms ease-in")
22
22
  },
23
- ".flags_item-exit": {
23
+ ".toasts_item-exit": {
24
24
  opacity: "1",
25
25
  transform: "translate(0, 0)"
26
26
  },
27
- ".flags_item-exit-active": {
27
+ ".toasts_item-exit-active": {
28
28
  opacity: "0.01",
29
29
  transform: "translate(0, 80px)",
30
30
  transition: "all ".concat(TRANSITION_TIMEOUT, "ms ease-in")
31
31
  }
32
32
  });
33
33
  });
34
- module.exports = flagPlugin;
34
+ module.exports = toastPlugin;
@@ -0,0 +1,21 @@
1
+ import type { VFC } from "react";
2
+ import type { Notification } from "./types";
3
+ export declare type ToastsLocale = {
4
+ hotkeyLabel?: string;
5
+ };
6
+ export interface ToastsProps {
7
+ /**
8
+ * Define the array of notifications.
9
+ * @example [{ id: "test", title: "Test", content: "Example" }]
10
+ */
11
+ notifications: Notification[];
12
+ /** Define the `Toasts` locale. */
13
+ locale?: ToastsLocale;
14
+ }
15
+ /**
16
+ * Toasts are brief notifications that providing timely feedback to users before vanishing after a short duration.
17
+ *
18
+ * See the [Toast documentation page](https://satellite.algolia.com/components/feedback/toast) for more information.
19
+ */
20
+ export declare const Toasts: VFC<ToastsProps>;
21
+ export default Toasts;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.Toasts = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var ToastPrimitive = _interopRequireWildcard(require("@radix-ui/react-toast"));
13
+ var _reactTransitionGroup = require("react-transition-group");
14
+ var _Satellite = require("../Satellite");
15
+ var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
16
+ var _prefersReducedMotion = require("../utils/prefersReducedMotion");
17
+ var _Toast = _interopRequireDefault(require("./Toast"));
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
20
+ var _excluded = ["content", "id", "autoDismissAfter"];
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
+ var DEFAULT_TOASTS_LOCALE = {
26
+ hotkeyLabel: "Notifications"
27
+ };
28
+ var TRANSITION_TIMEOUT = 500;
29
+
30
+ /**
31
+ * Toasts are brief notifications that providing timely feedback to users before vanishing after a short duration.
32
+ *
33
+ * See the [Toast documentation page](https://satellite.algolia.com/components/feedback/toast) for more information.
34
+ */
35
+ var Toasts = exports.Toasts = function Toasts(_ref) {
36
+ var _ref$notifications = _ref.notifications,
37
+ notifications = _ref$notifications === void 0 ? [] : _ref$notifications,
38
+ propsLocale = _ref.locale;
39
+ var contextLocale = (0, _Satellite.useLocale)("toasts");
40
+ var locale = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_TOASTS_LOCALE), contextLocale), propsLocale);
41
+ var createPortal = (0, _Satellite.useCreatePortal)();
42
+ if (process.env.NODE_ENV !== "production") {
43
+ if (notifications.length > 3) {
44
+ console.warn("Toasts: You should not display more than 3 toasts simultaneously.");
45
+ }
46
+ if (notifications.find(function (n) {
47
+ return n.autoDismissAfter && n.autoDismissAfter < 2000;
48
+ })) {
49
+ console.warn("Toasts: You should not set `autoDismissAfter` to less than 2000 ms, even for brief messages.");
50
+ }
51
+ }
52
+ return createPortal( /*#__PURE__*/(0, _jsxRuntime.jsxs)(ToastPrimitive.Provider, {
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTransitionGroup.TransitionGroup, {
54
+ component: null,
55
+ children: notifications.map(function (_ref2) {
56
+ var content = _ref2.content,
57
+ id = _ref2.id,
58
+ autoDismissAfter = _ref2.autoDismissAfter,
59
+ rest = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
60
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTransitionGroup.CSSTransition, {
61
+ classNames: !_prefersReducedMotion.prefersReducedMotion ? {
62
+ enter: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["toasts_item-enter"]))),
63
+ enterActive: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["toasts_item-enter-active"]))),
64
+ exit: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["toasts_item-exit"]))),
65
+ exitActive: (0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["toasts_item-exit-active"])))
66
+ } : {},
67
+ timeout: !_prefersReducedMotion.prefersReducedMotion ? TRANSITION_TIMEOUT : 0,
68
+ appear: true,
69
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastPrimitive.Root, {
70
+ open: true,
71
+ onOpenChange: function onOpenChange(open) {
72
+ var _rest$onDismiss;
73
+ if (!open) (_rest$onDismiss = rest.onDismiss) === null || _rest$onDismiss === void 0 || _rest$onDismiss.call(rest);
74
+ },
75
+ onSwipeEnd: function onSwipeEnd(e) {
76
+ return e.preventDefault();
77
+ } // Prevent swipe gesture
78
+ ,
79
+ duration: autoDismissAfter || Infinity,
80
+ // Accessibility issue from Radix: `role="status"` is not allowed on a `li` element, as a workaround,
81
+ // we use it on the child.
82
+ // See https://github.com/radix-ui/primitives/issues/1750
83
+ role: "listitem",
84
+ "aria-live": undefined,
85
+ "aria-atomic": undefined,
86
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toast["default"], _objectSpread(_objectSpread({}, rest), {}, {
87
+ role: "status",
88
+ "aria-live": "polite",
89
+ "aria-atomic": "true",
90
+ children: content
91
+ }))
92
+ })
93
+ }, id);
94
+ })
95
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastPrimitive.Viewport, {
96
+ hotkey: ["metaKey", "F8"],
97
+ label: "".concat(locale.hotkeyLabel, " (CmdKey+F8/WinKey+F8)}"),
98
+ className: (0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["z-notification bottom-0 right-0 fixed flex flex-col items-end p-4 gap-4"])))
99
+ })]
100
+ }));
101
+ };
102
+ var _default = exports["default"] = Toasts;
@@ -0,0 +1,4 @@
1
+ export * from "./Toast";
2
+ export * from "./Toasts";
3
+ export * from "./types";
4
+ export { default } from "./Toast";
@@ -8,30 +8,30 @@ var _exportNames = {};
8
8
  Object.defineProperty(exports, "default", {
9
9
  enumerable: true,
10
10
  get: function get() {
11
- return _Flag["default"];
11
+ return _Toast["default"];
12
12
  }
13
13
  });
14
- var _Flag = _interopRequireWildcard(require("./Flag"));
15
- Object.keys(_Flag).forEach(function (key) {
14
+ var _Toast = _interopRequireWildcard(require("./Toast"));
15
+ Object.keys(_Toast).forEach(function (key) {
16
16
  if (key === "default" || key === "__esModule") return;
17
17
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
18
- if (key in exports && exports[key] === _Flag[key]) return;
18
+ if (key in exports && exports[key] === _Toast[key]) return;
19
19
  Object.defineProperty(exports, key, {
20
20
  enumerable: true,
21
21
  get: function get() {
22
- return _Flag[key];
22
+ return _Toast[key];
23
23
  }
24
24
  });
25
25
  });
26
- var _Flags = require("./Flags");
27
- Object.keys(_Flags).forEach(function (key) {
26
+ var _Toasts = require("./Toasts");
27
+ Object.keys(_Toasts).forEach(function (key) {
28
28
  if (key === "default" || key === "__esModule") return;
29
29
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
30
- if (key in exports && exports[key] === _Flags[key]) return;
30
+ if (key in exports && exports[key] === _Toasts[key]) return;
31
31
  Object.defineProperty(exports, key, {
32
32
  enumerable: true,
33
33
  get: function get() {
34
- return _Flags[key];
34
+ return _Toasts[key];
35
35
  }
36
36
  });
37
37
  });
@@ -0,0 +1,34 @@
1
+ import type { ReactNode } from "react";
2
+ import type { IconComponentType } from "../Icons";
3
+ import type { ColorVariant } from "../types";
4
+ export declare type Notification = {
5
+ /** Defines an unique ID for the `Toast`. */
6
+ id: string;
7
+ /** Defines the title for the `Toast`. */
8
+ title: string;
9
+ /** Defines the content for the `Toast`. */
10
+ content?: ReactNode;
11
+ /** Defines the icon for the `Toast`. */
12
+ icon?: IconComponentType;
13
+ /**
14
+ * Defines the color variant of the `Toast`.
15
+ * @default false
16
+ */
17
+ loading?: boolean;
18
+ /**
19
+ * Defines the color variant of the `Toast`.
20
+ * @default "blue"
21
+ */
22
+ variant?: ColorVariant;
23
+ /** Defines if and how long before the `Toast` should be dismissed (in ms). */
24
+ autoDismissAfter?: number;
25
+ /**
26
+ * Defines a function called when the `Toast` dismiss button is clicked or the `autoDismissAfter` time has elapsed.
27
+ * Dismiss button won't be rendered if absent.
28
+ */
29
+ onDismiss?: () => void;
30
+ /** Define locale for the `Toast`. */
31
+ locale?: {
32
+ dismissText?: string;
33
+ };
34
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/cjs/index.d.ts CHANGED
@@ -20,7 +20,6 @@ export * from "./Dropdown";
20
20
  export * from "./Dropzone";
21
21
  export * from "./EmptyState";
22
22
  export * from "./Field";
23
- export * from "./Flag";
24
23
  export * from "./FlexGrid";
25
24
  export * from "./HelpUnderline";
26
25
  export * from "./Icons";
@@ -42,11 +41,13 @@ export * from "./ScrollIndicator";
42
41
  export * from "./Select";
43
42
  export * from "./Separator";
44
43
  export * from "./Sidebar";
44
+ export * from "./Stepper";
45
45
  export * from "./Switch";
46
46
  export * from "./Tables";
47
47
  export * from "./Tabs";
48
48
  export * from "./Tag";
49
49
  export * from "./TextArea";
50
50
  export * from "./TextWrap";
51
+ export * from "./Toast";
51
52
  export * from "./Toggle";
52
53
  export * from "./Tooltip";
package/cjs/index.js CHANGED
@@ -254,18 +254,6 @@ Object.keys(_Field).forEach(function (key) {
254
254
  }
255
255
  });
256
256
  });
257
- var _Flag = require("./Flag");
258
- Object.keys(_Flag).forEach(function (key) {
259
- if (key === "default" || key === "__esModule") return;
260
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
261
- if (key in exports && exports[key] === _Flag[key]) return;
262
- Object.defineProperty(exports, key, {
263
- enumerable: true,
264
- get: function get() {
265
- return _Flag[key];
266
- }
267
- });
268
- });
269
257
  var _FlexGrid = require("./FlexGrid");
270
258
  Object.keys(_FlexGrid).forEach(function (key) {
271
259
  if (key === "default" || key === "__esModule") return;
@@ -518,6 +506,18 @@ Object.keys(_Sidebar).forEach(function (key) {
518
506
  }
519
507
  });
520
508
  });
509
+ var _Stepper = require("./Stepper");
510
+ Object.keys(_Stepper).forEach(function (key) {
511
+ if (key === "default" || key === "__esModule") return;
512
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
513
+ if (key in exports && exports[key] === _Stepper[key]) return;
514
+ Object.defineProperty(exports, key, {
515
+ enumerable: true,
516
+ get: function get() {
517
+ return _Stepper[key];
518
+ }
519
+ });
520
+ });
521
521
  var _Switch = require("./Switch");
522
522
  Object.keys(_Switch).forEach(function (key) {
523
523
  if (key === "default" || key === "__esModule") return;
@@ -590,6 +590,18 @@ Object.keys(_TextWrap).forEach(function (key) {
590
590
  }
591
591
  });
592
592
  });
593
+ var _Toast = require("./Toast");
594
+ Object.keys(_Toast).forEach(function (key) {
595
+ if (key === "default" || key === "__esModule") return;
596
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
597
+ if (key in exports && exports[key] === _Toast[key]) return;
598
+ Object.defineProperty(exports, key, {
599
+ enumerable: true,
600
+ get: function get() {
601
+ return _Toast[key];
602
+ }
603
+ });
604
+ });
593
605
  var _Toggle = require("./Toggle");
594
606
  Object.keys(_Toggle).forEach(function (key) {
595
607
  if (key === "default" || key === "__esModule") return;
@@ -142,5 +142,5 @@ module.exports = {
142
142
  }
143
143
  }
144
144
  },
145
- plugins: [require("./base.tailwind"), require("../utilities/overlay.tailwind"), require("../utilities/utilities.tailwind"), require("../Typography/Typography.tailwind"), require("../FlexGrid/FlexGrid.tailwind"), require("../AutoComplete/AutoComplete.tailwind"), require("../Button/Button.tailwind"), require("../Card/Card.tailwind"), require("../Checkbox/Checkbox.tailwind"), require("../EmptyState/EmptyState.tailwind"), require("../Flag/Flag.tailwind"), require("../HelpUnderline/HelpUnderline.tailwind"), require("../Input/Input.tailwind"), require("../InstantSearch/InstantSearch.tailwind"), require("../KeyboardKey/KeyboardKey.tailwind"), require("../Medallion/Medallion.tailwind"), require("../Modal/Modal.tailwind"), require("../ProgressBar/ProgressBar.tailwind"), require("../ProgressSpinner/ProgressSpinner.tailwind"), require("../RadioGroup/RadioButton.tailwind"), require("../ScrollIndicator/ScrollIndicator.tailwind"), require("../Select/Select.tailwind"), require("../Separator/Separator.tailwind"), require("../Switch/Switch.tailwind"), require("../Tabs/Tabs.tailwind"), require("../Tables/DataTable/DataTable.tailwind"), require("../Tables/Table/Table.tailwind"), require("../Tag/Tag.tailwind"), require("../TextArea/TextArea.tailwind"), require("../Toggle/Toggle.tailwind"), require("../Tooltip/Tooltip.tailwind"), require("../UserContent/UserContent.tailwind"), require("../DatePicker/DatePicker.tailwind")]
145
+ plugins: [require("./base.tailwind"), require("../utilities/overlay.tailwind"), require("../utilities/utilities.tailwind"), require("../Typography/Typography.tailwind"), require("../FlexGrid/FlexGrid.tailwind"), require("../AutoComplete/AutoComplete.tailwind"), require("../Button/Button.tailwind"), require("../Card/Card.tailwind"), require("../Checkbox/Checkbox.tailwind"), require("../EmptyState/EmptyState.tailwind"), require("../Toast/Toast.tailwind"), require("../HelpUnderline/HelpUnderline.tailwind"), require("../Input/Input.tailwind"), require("../InstantSearch/InstantSearch.tailwind"), require("../KeyboardKey/KeyboardKey.tailwind"), require("../Medallion/Medallion.tailwind"), require("../Modal/Modal.tailwind"), require("../ProgressBar/ProgressBar.tailwind"), require("../ProgressSpinner/ProgressSpinner.tailwind"), require("../RadioGroup/RadioButton.tailwind"), require("../ScrollIndicator/ScrollIndicator.tailwind"), require("../Select/Select.tailwind"), require("../Separator/Separator.tailwind"), require("../Switch/Switch.tailwind"), require("../Tabs/Tabs.tailwind"), require("../Tables/DataTable/DataTable.tailwind"), require("../Tables/Table/Table.tailwind"), require("../Tag/Tag.tailwind"), require("../TextArea/TextArea.tailwind"), require("../Toggle/Toggle.tailwind"), require("../Tooltip/Tooltip.tailwind"), require("../UserContent/UserContent.tailwind"), require("../DatePicker/DatePicker.tailwind")]
146
146
  };
package/cjs/types.d.ts CHANGED
@@ -13,12 +13,12 @@ export declare type AtLeastOne<Type, Union = {
13
13
  export declare type WithRequiredProperty<Type, Key extends keyof Type> = Type & {
14
14
  [Property in Key]-?: Type[Property];
15
15
  };
16
- declare type Without<Type, Union> = {
17
- [Property in Exclude<keyof Type, keyof Union>]?: never;
18
- };
19
16
  /**
20
17
  * Makes two types mutually exclusive
21
18
  * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types
22
19
  */
20
+ declare type Without<Type, Union> = {
21
+ [Property in Exclude<keyof Type, keyof Union>]?: never;
22
+ };
23
23
  export declare type XOR<Type, Union> = Type | Union extends object ? (Without<Type, Union> & Union) | (Without<Union, Type> & Type) : Type | Union;
24
24
  export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Returns the text content of a React node.
3
+ */
4
+ export declare const getTextFromReactNode: (node: React.ReactNode) => string;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getTextFromReactNode = void 0;
7
+ var _react = require("react");
8
+ /**
9
+ * Returns the text content of a React node.
10
+ */
11
+ var getTextFromReactNode = exports.getTextFromReactNode = function getTextFromReactNode(node) {
12
+ if (typeof node === "string") return node;
13
+ if (typeof node === "number") return node.toString();
14
+ if ( /*#__PURE__*/(0, _react.isValidElement)(node)) {
15
+ return _react.Children.toArray(node.props.children).map(function (child) {
16
+ return getTextFromReactNode(child);
17
+ }).join(" ");
18
+ }
19
+ return "";
20
+ };