@algolia/satellite 1.0.0-beta.160 → 1.0.0-beta.161

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 (80) hide show
  1. package/cjs/AutoComplete/AutoComplete.tailwind.js +4 -1
  2. package/cjs/Button/PolymorphicIconButton.d.ts +1 -1
  3. package/cjs/Button/PolymorphicIconButton.js +4 -4
  4. package/cjs/Checkbox/Checkbox.js +3 -3
  5. package/cjs/Checkbox/Checkbox.tailwind.js +1 -1
  6. package/cjs/HelpUnderline/HelpUnderline.d.ts +3 -4
  7. package/cjs/HelpUnderline/HelpUnderline.js +13 -10
  8. package/cjs/Input/Input.tailwind.js +28 -4
  9. package/cjs/RadioGroup/RadioButton.tailwind.js +4 -1
  10. package/cjs/RangeSlider/RangeSlider.js +2 -2
  11. package/cjs/Satellite/Satellite.d.ts +0 -1
  12. package/cjs/Satellite/Satellite.js +12 -17
  13. package/cjs/Satellite/SatelliteContext.d.ts +1 -1
  14. package/cjs/Satellite/SatelliteContext.js +2 -1
  15. package/cjs/Select/Select.tailwind.js +2 -2
  16. package/cjs/Separator/Separator.d.ts +8 -0
  17. package/cjs/Separator/Separator.js +29 -0
  18. package/cjs/Separator/Separator.tailwind.d.ts +5 -0
  19. package/cjs/Separator/Separator.tailwind.js +25 -0
  20. package/cjs/Separator/index.d.ts +2 -0
  21. package/cjs/Separator/index.js +27 -0
  22. package/cjs/Sidebar/SidebarButtonLink.js +8 -14
  23. package/cjs/Tag/Tag.js +7 -7
  24. package/cjs/Toggle/Toggle.js +3 -13
  25. package/cjs/Toggle/Toggle.tailwind.js +8 -2
  26. package/cjs/Tooltip/OverflowTooltipWrapper.d.ts +2 -5
  27. package/cjs/Tooltip/OverflowTooltipWrapper.js +20 -78
  28. package/cjs/Tooltip/Tooltip.d.ts +6 -6
  29. package/cjs/Tooltip/Tooltip.js +6 -6
  30. package/cjs/Tooltip/Tooltip.tailwind.js +85 -62
  31. package/cjs/Tooltip/TooltipWrapper.d.ts +8 -21
  32. package/cjs/Tooltip/TooltipWrapper.js +49 -158
  33. package/cjs/Tooltip/types.d.ts +57 -6
  34. package/cjs/Tooltip/utils.d.ts +1 -0
  35. package/cjs/Tooltip/utils.js +10 -0
  36. package/cjs/index.d.ts +2 -1
  37. package/cjs/index.js +20 -8
  38. package/cjs/styles/tailwind.config.js +1 -1
  39. package/cjs/types.d.ts +6 -6
  40. package/esm/AutoComplete/AutoComplete.tailwind.js +4 -1
  41. package/esm/Button/PolymorphicIconButton.d.ts +1 -1
  42. package/esm/Button/PolymorphicIconButton.js +4 -4
  43. package/esm/Checkbox/Checkbox.js +3 -3
  44. package/esm/Checkbox/Checkbox.tailwind.js +1 -1
  45. package/esm/HelpUnderline/HelpUnderline.d.ts +3 -4
  46. package/esm/HelpUnderline/HelpUnderline.js +13 -10
  47. package/esm/Input/Input.tailwind.js +28 -4
  48. package/esm/RadioGroup/RadioButton.tailwind.js +4 -1
  49. package/esm/RangeSlider/RangeSlider.js +2 -2
  50. package/esm/Satellite/Satellite.d.ts +0 -1
  51. package/esm/Satellite/Satellite.js +13 -16
  52. package/esm/Satellite/SatelliteContext.d.ts +1 -1
  53. package/esm/Satellite/SatelliteContext.js +2 -1
  54. package/esm/Select/Select.tailwind.js +2 -2
  55. package/esm/Separator/Separator.d.ts +8 -0
  56. package/esm/Separator/Separator.js +17 -0
  57. package/esm/Separator/Separator.tailwind.d.ts +5 -0
  58. package/esm/Separator/Separator.tailwind.js +24 -0
  59. package/esm/Separator/index.d.ts +2 -0
  60. package/esm/Separator/index.js +2 -0
  61. package/esm/Sidebar/SidebarButtonLink.js +8 -14
  62. package/esm/Tag/Tag.js +7 -7
  63. package/esm/Toggle/Toggle.js +3 -13
  64. package/esm/Toggle/Toggle.tailwind.js +8 -2
  65. package/esm/Tooltip/OverflowTooltipWrapper.d.ts +2 -5
  66. package/esm/Tooltip/OverflowTooltipWrapper.js +20 -78
  67. package/esm/Tooltip/Tooltip.d.ts +6 -6
  68. package/esm/Tooltip/Tooltip.js +6 -6
  69. package/esm/Tooltip/Tooltip.tailwind.js +84 -62
  70. package/esm/Tooltip/TooltipWrapper.d.ts +8 -21
  71. package/esm/Tooltip/TooltipWrapper.js +47 -157
  72. package/esm/Tooltip/types.d.ts +57 -6
  73. package/esm/Tooltip/utils.d.ts +1 -0
  74. package/esm/Tooltip/utils.js +3 -0
  75. package/esm/index.d.ts +2 -1
  76. package/esm/index.js +2 -1
  77. package/esm/styles/tailwind.config.js +1 -1
  78. package/esm/types.d.ts +6 -6
  79. package/package.json +3 -1
  80. package/satellite.min.css +1 -1
@@ -1,191 +1,82 @@
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.TooltipWrapper = exports.DEFAULT_TOOLTIP_POPPER_MODIFIERS = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
+ exports.TooltipWrapper = void 0;
9
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var Tooltip = _interopRequireWildcard(require("@radix-ui/react-tooltip"));
12
11
  var _clsx = _interopRequireDefault(require("clsx"));
13
- var _throttle = _interopRequireDefault(require("lodash/throttle"));
14
12
  var _react = require("react");
15
- var _reactPopper = require("react-popper");
16
13
  var _Satellite = require("../Satellite");
17
14
  var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
18
15
  var _Tooltip = _interopRequireDefault(require("./Tooltip"));
19
16
  var _jsxRuntime = require("react/jsx-runtime");
20
17
  var _templateObject, _templateObject2, _templateObject3;
21
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
- var DEFAULT_TOOLTIP_POPPER_MODIFIERS = [{
24
- name: "offset",
25
- options: {
26
- offset: [0, 8]
27
- }
28
- }];
29
- exports.DEFAULT_TOOLTIP_POPPER_MODIFIERS = DEFAULT_TOOLTIP_POPPER_MODIFIERS;
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
30
20
  var TooltipWrapper = function TooltipWrapper(_ref) {
31
21
  var show = _ref.show,
32
22
  _ref$delay = _ref.delay,
33
- delay = _ref$delay === void 0 ? 0 : _ref$delay,
23
+ delay = _ref$delay === void 0 ? 250 : _ref$delay,
34
24
  _ref$hideDelay = _ref.hideDelay,
35
25
  hideDelay = _ref$hideDelay === void 0 ? 500 : _ref$hideDelay,
36
26
  tooltipContent = _ref.content,
37
- _ref$placement = _ref.placement,
38
- placement = _ref$placement === void 0 ? "bottom" : _ref$placement,
27
+ _ref$side = _ref.side,
28
+ side = _ref$side === void 0 ? "bottom" : _ref$side,
29
+ _ref$sideOffset = _ref.sideOffset,
30
+ sideOffset = _ref$sideOffset === void 0 ? 0 : _ref$sideOffset,
31
+ _ref$align = _ref.align,
32
+ align = _ref$align === void 0 ? "center" : _ref$align,
33
+ _ref$alignOffset = _ref.alignOffset,
34
+ alignOffset = _ref$alignOffset === void 0 ? 0 : _ref$alignOffset,
39
35
  _ref$tooltipVariant = _ref.tooltipVariant,
40
36
  tooltipVariant = _ref$tooltipVariant === void 0 ? "dark" : _ref$tooltipVariant,
41
- wrapperClassName = _ref.wrapperClassName,
42
37
  tooltipClassName = _ref.tooltipClassName,
43
38
  children = _ref.children,
44
- _ref$modifiers = _ref.modifiers,
45
- modifiers = _ref$modifiers === void 0 ? [] : _ref$modifiers,
46
39
  _ref$noArrow = _ref.noArrow,
47
40
  noArrow = _ref$noArrow === void 0 ? false : _ref$noArrow,
48
41
  _ref$interactive = _ref.interactive,
49
- interactive = _ref$interactive === void 0 ? true : _ref$interactive;
42
+ interactive = _ref$interactive === void 0 ? true : _ref$interactive,
43
+ _ref$avoidCollisions = _ref.avoidCollisions,
44
+ avoidCollisions = _ref$avoidCollisions === void 0 ? true : _ref$avoidCollisions;
50
45
  var createPortal = (0, _Satellite.useCreatePortal)();
51
- var isControlled = typeof show === "boolean";
52
- var _useState = (0, _react.useState)(!!show),
53
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
54
- internalShow = _useState2[0],
55
- setInternalShow = _useState2[1];
56
- var transitioning = (0, _react.useRef)(undefined);
57
- (0, _react.useEffect)(function () {
58
- if (!isControlled) return;
59
- setInternalShow(show);
60
- transitioning.current = undefined;
61
- }, [isControlled, show]);
62
- var _useState3 = (0, _react.useState)(null),
63
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
64
- targetEl = _useState4[0],
65
- setTargetEl = _useState4[1];
66
- var _useState5 = (0, _react.useState)(null),
67
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
68
- popperEl = _useState6[0],
69
- setPopperEl = _useState6[1];
70
- var _useState7 = (0, _react.useState)(null),
71
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
72
- arrowEl = _useState8[0],
73
- setArrowEl = _useState8[1];
74
- var _usePopper = (0, _reactPopper.usePopper)(targetEl, popperEl, {
75
- placement: placement,
76
- strategy: "fixed",
77
- modifiers: [].concat(DEFAULT_TOOLTIP_POPPER_MODIFIERS, [{
78
- name: "arrow",
79
- options: {
80
- element: arrowEl
81
- }
82
- }], (0, _toConsumableArray2["default"])(modifiers))
83
- }),
84
- styles = _usePopper.styles,
85
- attributes = _usePopper.attributes,
86
- update = _usePopper.update;
87
- var showTooltip = Boolean(internalShow && targetEl);
88
- var transitionTimeoutId = (0, _react.useRef)();
89
- var scheduleTransition = (0, _react.useCallback)(function (show, delay) {
90
- transitioning.current = show ? "will-show" : "will-hide";
91
- transitionTimeoutId.current = setTimeout(function () {
92
- transitioning.current = undefined;
93
- setInternalShow(show);
94
- }, delay);
95
- }, []);
96
- var cancelTransition = (0, _react.useCallback)(function () {
97
- transitioning.current = undefined;
98
- if (transitionTimeoutId.current) {
99
- clearTimeout(transitionTimeoutId.current);
100
- transitionTimeoutId.current = undefined;
101
- }
102
- }, []);
103
- (0, _react.useEffect)(function () {
104
- return function () {
105
- return cancelTransition();
106
- };
107
- }, [cancelTransition]);
108
- var scheduleShowTooltip = (0, _react.useCallback)(function () {
109
- if (transitioning.current === "will-show") return;
110
- cancelTransition();
111
- if (internalShow) return;
112
- scheduleTransition(true, delay);
113
- }, [cancelTransition, delay, internalShow, scheduleTransition]);
114
- var scheduleHideTooltip = (0, _react.useCallback)(function () {
115
- if (transitioning.current === "will-hide") return;
116
- cancelTransition();
117
- if (!internalShow) return;
118
- scheduleTransition(false, hideDelay);
119
- }, [cancelTransition, hideDelay, internalShow, scheduleTransition]);
120
- (0, _react.useEffect)(function () {
121
- if (isControlled || !showTooltip) return;
122
- var handleMouseMove = (0, _throttle["default"])(function (evt) {
123
- var target = evt.target;
124
- var isWithinBounds = [targetEl, interactive ? popperEl : null].some(function (ref) {
125
- return Boolean(ref && (ref === target || ref.contains(target)));
126
- });
127
- if (isWithinBounds) {
128
- scheduleShowTooltip();
129
- } else {
130
- scheduleHideTooltip();
131
- }
132
- }, 16, {
133
- leading: true
134
- });
135
- document.addEventListener("mousemove", handleMouseMove);
136
- return function () {
137
- handleMouseMove.cancel();
138
- document.removeEventListener("mousemove", handleMouseMove);
139
- };
140
- }, [isControlled, popperEl, scheduleHideTooltip, scheduleShowTooltip, showTooltip, targetEl, interactive]);
141
-
142
- /**
143
- * Workaround:
144
- * When the tooltip content size changes, popper doesn't necessarily update the tooltip positionning correctly.
145
- * It's going to trigger some unnecessary updates, but it shouldn't be terribly expensive as update() is intended for "high-frequency updates"
146
- */
147
- (0, _react.useEffect)(function () {
148
- update === null || update === void 0 ? void 0 : update();
149
- }, [children, update]);
150
46
  if (!tooltipContent) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
151
47
  children: children
152
48
  });
153
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
154
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", _objectSpread(_objectSpread({
155
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["tooltip-wrapper"]))), wrapperClassName),
156
- ref: setTargetEl
157
- }, isControlled ? {} : {
158
- onMouseEnter: function onMouseEnter() {
159
- return scheduleShowTooltip();
160
- },
161
- onFocus: function onFocus() {
162
- return scheduleShowTooltip();
163
- },
164
- onMouseLeave: function onMouseLeave() {
165
- return scheduleHideTooltip();
166
- },
167
- onBlur: function onBlur(evt) {
168
- if (evt.relatedTarget === null || !interactive || !(popperEl !== null && popperEl !== void 0 && popperEl.contains(evt.relatedTarget))) {
169
- scheduleHideTooltip();
170
- }
171
- }
172
- }), {}, {
173
- children: children
174
- })), showTooltip && createPortal( /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({}, attributes.popper), {}, {
175
- style: styles.popper,
176
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["tooltip-wrapper-popper"]))), tooltipClassName),
177
- ref: setPopperEl,
178
- children: [!noArrow && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
179
- ref: setArrowEl,
180
- style: styles.arrow,
181
- className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["tooltip-wrapper-arrow ", ""])), tooltipVariant === "light" && "tooltip-wrapper-arrow-light")
182
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip["default"], {
183
- variant: tooltipVariant,
184
- children: tooltipContent
185
- })]
186
- })))]
49
+ var isReactText = typeof children === "string" || typeof children === "number";
50
+ if (!isReactText && children.type === _react.Fragment) throw new Error("TooltipWrapper component doesn't accept a Fragment as a child.");
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip.Provider, {
52
+ delayDuration: delay,
53
+ skipDelayDuration: 300,
54
+ disableHoverableContent: !interactive,
55
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Tooltip.Root, {
56
+ open: show,
57
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip.Trigger, {
58
+ asChild: !isReactText,
59
+ children: children
60
+ }), createPortal( /*#__PURE__*/(0, _jsxRuntime.jsxs)(Tooltip.Content, {
61
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["tooltip-content"]))), tooltipClassName),
62
+ style: {
63
+ "--tooltip-hide-delay": "".concat(hideDelay, "ms")
64
+ },
65
+ side: side,
66
+ sideOffset: (noArrow ? 8 : 4) + sideOffset,
67
+ align: align,
68
+ alignOffset: alignOffset,
69
+ avoidCollisions: avoidCollisions,
70
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip["default"], {
71
+ variant: tooltipVariant,
72
+ children: tooltipContent
73
+ }), !noArrow && /*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip.Arrow, {
74
+ width: 8,
75
+ height: 4,
76
+ className: (0, _clsx["default"])(tooltipVariant === "light" ? (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["tooltip-arrow-light"]))) : (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["tooltip-arrow-dark"]))))
77
+ })]
78
+ }))]
79
+ })
187
80
  });
188
81
  };
189
- exports.TooltipWrapper = TooltipWrapper;
190
- var _default = TooltipWrapper;
191
- exports["default"] = _default;
82
+ exports.TooltipWrapper = TooltipWrapper;
@@ -1,14 +1,65 @@
1
- import type { Placement, StrictModifiers } from "@popperjs/core";
1
+ import type { TooltipContentProps } from "@radix-ui/react-tooltip";
2
2
  import type { ReactNode } from "react";
3
3
  import type { TooltipVariant } from "./Tooltip";
4
4
  export interface TooltipWrapperBaseProps {
5
- /** Defines where to open the menu */
6
- placement?: Placement;
5
+ /**
6
+ * Defines how long you should hover the wrapped element before displaying the tooltip (in ms).
7
+ * @default 250
8
+ */
9
+ delay?: number;
10
+ /**
11
+ * Defines how long the tooltip should stay displayed when leaving the wrapped element (in ms).
12
+ * @default 500
13
+ */
14
+ hideDelay?: number;
15
+ /**
16
+ * Defines the side of the trigger element where the tooltip should be displayed.
17
+ * Will be reversed when collisions occur and `avoidCollisions` is enabled.
18
+ * @default "bottom"
19
+ */
20
+ side?: TooltipContentProps["side"];
21
+ /**
22
+ * Defines the offset in pixels of the tooltip from the trigger element.
23
+ * @default 0
24
+ */
25
+ sideOffset?: TooltipContentProps["sideOffset"];
26
+ /**
27
+ * Defines the preferred alignment of the tooltip against the trigger element.
28
+ * May change when collisions occur.
29
+ * @default "center"
30
+ */
31
+ align?: TooltipContentProps["align"];
32
+ /**
33
+ * Defines the offset in pixels of the tooltip along the trigger element.
34
+ * It only works when the `align` option is set to "start" or "end".
35
+ * @default 0
36
+ */
37
+ alignOffset?: TooltipContentProps["alignOffset"];
38
+ /**
39
+ * Defines the variant of the tooltip.
40
+ * @default "dark"
41
+ */
7
42
  tooltipVariant?: TooltipVariant;
43
+ /**
44
+ * Defines the CSS class to be applied to the tooltip element.
45
+ */
8
46
  tooltipClassName?: string;
9
- wrapperClassName?: string;
10
- /** Modifiers for the Popper menu */
11
- modifiers?: StrictModifiers[];
47
+ /**
48
+ * Defines if the tooltip arrow should be hidden.
49
+ * @default false
50
+ */
12
51
  noArrow?: boolean;
52
+ /**
53
+ * Defines whether the tooltip itself should be considered when computing the tooltip target.
54
+ * Useful when the tooltip itself contains selectable text or interactive elements, and thus
55
+ * shouldn't be dismissed when the mouse hovers it.
56
+ * @default true
57
+ */
58
+ interactive?: boolean;
59
+ /**
60
+ * Defines whether the tooltip should avoid collisions with the viewport.
61
+ * @default true
62
+ */
63
+ avoidCollisions?: boolean;
13
64
  children: ReactNode;
14
65
  }
@@ -0,0 +1 @@
1
+ export declare const isOverflowing: (element: HTMLElement) => boolean;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isOverflowing = void 0;
7
+ var isOverflowing = function isOverflowing(element) {
8
+ return element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;
9
+ };
10
+ exports.isOverflowing = isOverflowing;
package/cjs/index.d.ts CHANGED
@@ -34,9 +34,10 @@ export * from "./ProgressBar";
34
34
  export * from "./ProgressSpinner";
35
35
  export * from "./RadioGroup";
36
36
  export * from "./RangeSlider";
37
- export * from "./ScrollIndicator";
38
37
  export * from "./Satellite";
38
+ export * from "./ScrollIndicator";
39
39
  export * from "./Select";
40
+ export * from "./Separator";
40
41
  export * from "./Sidebar";
41
42
  export * from "./Switch";
42
43
  export * from "./Tables";
package/cjs/index.js CHANGED
@@ -422,27 +422,27 @@ Object.keys(_RangeSlider).forEach(function (key) {
422
422
  }
423
423
  });
424
424
  });
425
- var _ScrollIndicator = require("./ScrollIndicator");
426
- Object.keys(_ScrollIndicator).forEach(function (key) {
425
+ var _Satellite = require("./Satellite");
426
+ Object.keys(_Satellite).forEach(function (key) {
427
427
  if (key === "default" || key === "__esModule") return;
428
428
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
429
- if (key in exports && exports[key] === _ScrollIndicator[key]) return;
429
+ if (key in exports && exports[key] === _Satellite[key]) return;
430
430
  Object.defineProperty(exports, key, {
431
431
  enumerable: true,
432
432
  get: function get() {
433
- return _ScrollIndicator[key];
433
+ return _Satellite[key];
434
434
  }
435
435
  });
436
436
  });
437
- var _Satellite = require("./Satellite");
438
- Object.keys(_Satellite).forEach(function (key) {
437
+ var _ScrollIndicator = require("./ScrollIndicator");
438
+ Object.keys(_ScrollIndicator).forEach(function (key) {
439
439
  if (key === "default" || key === "__esModule") return;
440
440
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
441
- if (key in exports && exports[key] === _Satellite[key]) return;
441
+ if (key in exports && exports[key] === _ScrollIndicator[key]) return;
442
442
  Object.defineProperty(exports, key, {
443
443
  enumerable: true,
444
444
  get: function get() {
445
- return _Satellite[key];
445
+ return _ScrollIndicator[key];
446
446
  }
447
447
  });
448
448
  });
@@ -458,6 +458,18 @@ Object.keys(_Select).forEach(function (key) {
458
458
  }
459
459
  });
460
460
  });
461
+ var _Separator = require("./Separator");
462
+ Object.keys(_Separator).forEach(function (key) {
463
+ if (key === "default" || key === "__esModule") return;
464
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
465
+ if (key in exports && exports[key] === _Separator[key]) return;
466
+ Object.defineProperty(exports, key, {
467
+ enumerable: true,
468
+ get: function get() {
469
+ return _Separator[key];
470
+ }
471
+ });
472
+ });
461
473
  var _Sidebar = require("./Sidebar");
462
474
  Object.keys(_Sidebar).forEach(function (key) {
463
475
  if (key === "default" || key === "__esModule") return;
@@ -140,5 +140,5 @@ module.exports = {
140
140
  }
141
141
  }
142
142
  },
143
- plugins: [require("./base.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("../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")]
143
+ plugins: [require("./base.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")]
144
144
  };
package/cjs/types.d.ts CHANGED
@@ -7,9 +7,9 @@ export declare type ColorVariant = "accent" | "grey" | "green" | "blue" | "orang
7
7
  * Ensures at least one type is required
8
8
  * See https://stackoverflow.com/a/48244432/5903923
9
9
  */
10
- export declare type AtLeastOne<T, U = {
11
- [K in keyof T]: Pick<T, K>;
12
- }> = Partial<T> & U[keyof U];
10
+ export declare type AtLeastOne<Type, Union = {
11
+ [Key in keyof Type]: Pick<Type, Key>;
12
+ }> = Partial<Type> & Union[keyof Union];
13
13
  /**
14
14
  * Makes an optional property required
15
15
  * See https://bobbyhadz.com/blog/typescript-make-property-required
@@ -17,12 +17,12 @@ export declare type AtLeastOne<T, U = {
17
17
  export declare type WithRequiredProperty<Type, Key extends keyof Type> = Type & {
18
18
  [Property in Key]-?: Type[Property];
19
19
  };
20
- declare type Without<T, U> = {
21
- [P in Exclude<keyof T, keyof U>]?: never;
20
+ declare type Without<Type, Union> = {
21
+ [Property in Exclude<keyof Type, keyof Union>]?: never;
22
22
  };
23
23
  /**
24
24
  * Makes two types mutually exclusive
25
25
  * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types
26
26
  */
27
- export declare type XOR<T, U> = T | U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
27
+ export declare type XOR<Type, Union> = Type | Union extends object ? (Without<Type, Union> & Union) | (Without<Union, Type> & Type) : Type | Union;
28
28
  export {};
@@ -21,9 +21,12 @@ var autoCompletePlugin = plugin(function (_ref) {
21
21
  cursor: "text",
22
22
  backgroundColor: theme("colors.white"),
23
23
  borderRadius: theme("borderRadius.DEFAULT"),
24
- border: "1px solid ".concat(theme("colors.grey.200")),
24
+ border: "1px solid ".concat(theme("colors.grey.500")),
25
25
  boxShadow: "inset 0px 1px 4px 0px ".concat(rgba(theme("colors.grey.500"), 0.3)),
26
26
  transition: "all 100ms ease-in-out",
27
+ "&:not(.autocomplete-disabled):hover": {
28
+ borderColor: theme("colors.grey.600")
29
+ },
27
30
  // Workaround for ie
28
31
  "&::after": {
29
32
  content: '" "',
@@ -10,7 +10,7 @@ export interface IconButtonBaseProps {
10
10
  title: string;
11
11
  showTooltip?: boolean;
12
12
  /** @default "top" */
13
- tooltipPlacement?: TooltipWrapperBaseProps["placement"];
13
+ tooltipSide?: TooltipWrapperBaseProps["side"];
14
14
  loading?: boolean;
15
15
  }
16
16
  export declare type PolymorphicIconButtonProps<C extends React.ElementType> = PolymorphicComponentPropWithRef<C, IconButtonBaseProps>;
@@ -1,7 +1,7 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
4
- var _excluded = ["as", "className", "variant", "size", "icon", "title", "showTooltip", "tooltipPlacement", "loading"];
4
+ var _excluded = ["as", "className", "variant", "size", "icon", "title", "showTooltip", "tooltipSide", "loading"];
5
5
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
6
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -38,8 +38,8 @@ export var PolymorphicIconButton = /*#__PURE__*/forwardRef(function (props, ref)
38
38
  Icon = props.icon,
39
39
  title = props.title,
40
40
  showTooltip = props.showTooltip,
41
- _props$tooltipPlaceme = props.tooltipPlacement,
42
- tooltipPlacement = _props$tooltipPlaceme === void 0 ? "top" : _props$tooltipPlaceme,
41
+ _props$tooltipSide = props.tooltipSide,
42
+ tooltipSide = _props$tooltipSide === void 0 ? "top" : _props$tooltipSide,
43
43
  _props$loading = props.loading,
44
44
  loading = _props$loading === void 0 ? false : _props$loading,
45
45
  cleanedProps = _objectWithoutProperties(props, _excluded);
@@ -56,7 +56,7 @@ export var PolymorphicIconButton = /*#__PURE__*/forwardRef(function (props, ref)
56
56
  return /*#__PURE__*/_jsx(TooltipWrapper, {
57
57
  delay: 500,
58
58
  show: showTooltip,
59
- placement: tooltipPlacement,
59
+ side: tooltipSide,
60
60
  content: title,
61
61
  children: /*#__PURE__*/_jsx(Tag, _objectSpread(_objectSpread({}, cleanedProps), {}, {
62
62
  className: iconButtonClassName,
@@ -61,9 +61,9 @@ export var Checkbox = /*#__PURE__*/forwardRef(function (_ref, ref) {
61
61
  }
62
62
  };
63
63
  return /*#__PURE__*/_jsxs("div", {
64
- className: cx(stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["inline-flex items-center ", ""])), textPosition === "left" && "flex-row-reverse"), className),
64
+ className: cx(stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["group inline-flex items-center ", ""])), textPosition === "left" && "flex-row-reverse"), className),
65
65
  children: [/*#__PURE__*/_jsxs("span", {
66
- className: cx(stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n checkbox\n ", "\n ", "\n ", "\n "])), indeterminate && "checkbox-indeterminate", isChecked && "checkbox-checked", disabled && "checkbox-disabled"), STATUS_CLASSNAMES[status]),
66
+ className: cx(stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n checkbox\n ", "\n ", "\n ", "\n ", "\n "])), !disabled && "group-hover:border-grey-900", indeterminate && "checkbox-indeterminate", isChecked && "checkbox-checked", disabled && "checkbox-disabled"), STATUS_CLASSNAMES[status]),
67
67
  style: {
68
68
  color: checkedColor
69
69
  },
@@ -72,7 +72,7 @@ export var Checkbox = /*#__PURE__*/forwardRef(function (_ref, ref) {
72
72
  }), /*#__PURE__*/_jsx("input", _objectSpread(_objectSpread({}, checkboxProps), {}, {
73
73
  "aria-checked": indeterminate ? "mixed" : isChecked,
74
74
  id: id,
75
- className: stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n opacity-0 absolute inset-0 cursor-pointer\n ", "\n "])), disabled && "cursor-not-allowed"),
75
+ className: stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n opacity-0 absolute inset-0\n ", "\n "])), disabled ? "cursor-not-allowed" : "cursor-pointer"),
76
76
  type: "checkbox",
77
77
  ref: ref,
78
78
  onChange: handleChange,
@@ -18,7 +18,7 @@ var checkboxPlugin = plugin(function (_ref) {
18
18
  overflow: "hidden",
19
19
  color: theme("colors.accent.600"),
20
20
  background: "linear-gradient(180deg, ".concat(theme("colors.white"), " 0%, ").concat(theme("colors.grey.100"), " 100%)"),
21
- border: "1px solid ".concat(theme("colors.grey.200")),
21
+ border: "1px solid ".concat(theme("colors.grey.500")),
22
22
  boxShadow: "0px 1px 0px 0px ".concat(theme("colors.shadow.5")),
23
23
  borderRadius: theme("borderRadius.DEFAULT"),
24
24
  transition: "all 250ms cubic-bezier(0.23, 1, 0.32, 1)",
@@ -1,12 +1,11 @@
1
1
  import type { FunctionComponent } from "react";
2
2
  import { TooltipWrapperProps } from "../Tooltip";
3
- export interface HelpUnderlineProps {
3
+ import type { TooltipWrapperBaseProps } from "../Tooltip/types";
4
+ export declare type HelpUnderlineProps = {
4
5
  /** @ignore */
5
6
  className?: string;
6
- placement?: TooltipWrapperProps["placement"];
7
- tooltipClassName?: TooltipWrapperProps["tooltipClassName"];
8
7
  tooltipContent: TooltipWrapperProps["content"];
9
8
  children: string;
10
- }
9
+ } & Omit<TooltipWrapperBaseProps, "children">;
11
10
  export declare const HelpUnderline: FunctionComponent<HelpUnderlineProps>;
12
11
  export default HelpUnderline;
@@ -1,5 +1,10 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
2
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject, _templateObject2, _templateObject3;
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _templateObject, _templateObject2;
5
+ var _excluded = ["className", "children", "tooltipClassName", "tooltipContent"];
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3
8
  import cx from "clsx";
4
9
  import stl from "../styles/helpers/satellitePrefixer";
5
10
  import { TooltipWrapper } from "../Tooltip";
@@ -9,17 +14,15 @@ export var HelpUnderline = function HelpUnderline(_ref) {
9
14
  children = _ref.children,
10
15
  tooltipClassName = _ref.tooltipClassName,
11
16
  tooltipContent = _ref.tooltipContent,
12
- _ref$placement = _ref.placement,
13
- placement = _ref$placement === void 0 ? "bottom" : _ref$placement;
14
- return /*#__PURE__*/_jsx(TooltipWrapper, {
15
- wrapperClassName: cx(stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["leading-inherit"]))), className),
16
- tooltipClassName: cx(stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["max-w-64"]))), tooltipClassName),
17
- content: tooltipContent,
18
- placement: placement,
17
+ props = _objectWithoutProperties(_ref, _excluded);
18
+ return /*#__PURE__*/_jsx(TooltipWrapper, _objectSpread(_objectSpread({
19
+ tooltipClassName: cx(stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["max-w-64"]))), tooltipClassName),
20
+ content: tooltipContent
21
+ }, props), {}, {
19
22
  children: /*#__PURE__*/_jsx("span", {
20
- className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["help-underline"]))),
23
+ className: cx(stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["help-underline leading-inherit"]))), className),
21
24
  children: children
22
25
  })
23
- });
26
+ }));
24
27
  };
25
28
  export default HelpUnderline;