@plasmicpkgs/react-aria 0.0.65 → 0.0.66

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 (64) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/react-aria.esm.js +321 -221
  3. package/dist/react-aria.esm.js.map +1 -1
  4. package/dist/react-aria.js +319 -219
  5. package/dist/react-aria.js.map +1 -1
  6. package/dist/registerButton.d.ts +1 -1
  7. package/dist/registerTooltip.d.ts +4 -1
  8. package/dist/variant-utils.d.ts +16 -0
  9. package/package.json +2 -2
  10. package/skinny/registerButton.cjs.js +18 -17
  11. package/skinny/registerButton.cjs.js.map +1 -1
  12. package/skinny/registerButton.d.ts +1 -1
  13. package/skinny/registerButton.esm.js +19 -17
  14. package/skinny/registerButton.esm.js.map +1 -1
  15. package/skinny/registerCheckbox.cjs.js +1 -1
  16. package/skinny/registerCheckbox.esm.js +1 -1
  17. package/skinny/registerCheckboxGroup.cjs.js +1 -1
  18. package/skinny/registerCheckboxGroup.esm.js +1 -1
  19. package/skinny/registerComboBox.cjs.js +1 -1
  20. package/skinny/registerComboBox.esm.js +1 -1
  21. package/skinny/registerDialogTrigger.cjs.js +1 -1
  22. package/skinny/registerDialogTrigger.esm.js +1 -1
  23. package/skinny/registerInput.cjs.js +1 -1
  24. package/skinny/registerInput.esm.js +1 -1
  25. package/skinny/registerListBox.cjs.js +1 -1
  26. package/skinny/registerListBox.esm.js +1 -1
  27. package/skinny/registerListBoxItem.cjs.js +1 -1
  28. package/skinny/registerListBoxItem.esm.js +1 -1
  29. package/skinny/registerModal.cjs.js +14 -3
  30. package/skinny/registerModal.cjs.js.map +1 -1
  31. package/skinny/registerModal.esm.js +14 -3
  32. package/skinny/registerModal.esm.js.map +1 -1
  33. package/skinny/registerRadio.cjs.js +1 -1
  34. package/skinny/registerRadio.esm.js +1 -1
  35. package/skinny/registerRadioGroup.cjs.js +1 -1
  36. package/skinny/registerRadioGroup.esm.js +1 -1
  37. package/skinny/registerSelect.cjs.js +1 -1
  38. package/skinny/registerSelect.esm.js +1 -1
  39. package/skinny/registerSlider.cjs.js +1 -1
  40. package/skinny/registerSlider.esm.js +1 -1
  41. package/skinny/registerSliderOutput.cjs.js +1 -1
  42. package/skinny/registerSliderOutput.esm.js +1 -1
  43. package/skinny/registerSliderThumb.cjs.js +1 -1
  44. package/skinny/registerSliderThumb.esm.js +1 -1
  45. package/skinny/registerSliderTrack.cjs.js +1 -1
  46. package/skinny/registerSliderTrack.esm.js +1 -1
  47. package/skinny/registerSwitch.cjs.js +1 -1
  48. package/skinny/registerSwitch.esm.js +1 -1
  49. package/skinny/registerTextArea.cjs.js +1 -1
  50. package/skinny/registerTextArea.esm.js +1 -1
  51. package/skinny/registerTextField.cjs.js +1 -1
  52. package/skinny/registerTextField.esm.js +1 -1
  53. package/skinny/registerTooltip.cjs.js +118 -46
  54. package/skinny/registerTooltip.cjs.js.map +1 -1
  55. package/skinny/registerTooltip.d.ts +4 -1
  56. package/skinny/registerTooltip.esm.js +117 -45
  57. package/skinny/registerTooltip.esm.js.map +1 -1
  58. package/skinny/{variant-utils-23360776.esm.js → variant-utils-5f90385f.esm.js} +17 -1
  59. package/skinny/variant-utils-5f90385f.esm.js.map +1 -0
  60. package/skinny/{variant-utils-db5b9590.cjs.js → variant-utils-6c6ef452.cjs.js} +17 -1
  61. package/skinny/variant-utils-6c6ef452.cjs.js.map +1 -0
  62. package/skinny/variant-utils.d.ts +16 -0
  63. package/skinny/variant-utils-23360776.esm.js.map +0 -1
  64. package/skinny/variant-utils-db5b9590.cjs.js.map +0 -1
@@ -9,7 +9,7 @@ var registerFieldError = require('./registerFieldError.cjs.js');
9
9
  var registerLabel = require('./registerLabel.cjs.js');
10
10
  var registerRadio = require('./registerRadio.cjs.js');
11
11
  var utils = require('./utils-8dbb4d1f.cjs.js');
12
- var variantUtils = require('./variant-utils-db5b9590.cjs.js');
12
+ var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
13
13
  require('./registerText.cjs.js');
14
14
  require('@plasmicapp/host/registerComponent');
15
15
 
@@ -7,7 +7,7 @@ import { registerFieldError } from './registerFieldError.esm.js';
7
7
  import { registerLabel, LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
8
8
  import { registerRadio, makeDefaultRadioChildren } from './registerRadio.esm.js';
9
9
  import { m as makeChildComponentName, r as registerComponentHelper, a as makeComponentName } from './utils-c7662a47.esm.js';
10
- import { p as pickAriaComponentVariants } from './variant-utils-23360776.esm.js';
10
+ import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
11
11
  import './registerText.esm.js';
12
12
  import '@plasmicapp/host/registerComponent';
13
13
 
@@ -13,7 +13,7 @@ var utils = require('./utils-8dbb4d1f.cjs.js');
13
13
  require('./registerListBoxItem.cjs.js');
14
14
  require('./registerDescription.cjs.js');
15
15
  require('./registerText.cjs.js');
16
- require('./variant-utils-db5b9590.cjs.js');
16
+ require('./variant-utils-6c6ef452.cjs.js');
17
17
  require('./registerSection.cjs.js');
18
18
  require('@react-aria/utils');
19
19
  require('@plasmicapp/host/registerComponent');
@@ -11,7 +11,7 @@ import { e as extractPlasmicDataProps, r as registerComponentHelper, a as makeCo
11
11
  import './registerListBoxItem.esm.js';
12
12
  import './registerDescription.esm.js';
13
13
  import './registerText.esm.js';
14
- import './variant-utils-23360776.esm.js';
14
+ import './variant-utils-5f90385f.esm.js';
15
15
  import './registerSection.esm.js';
16
16
  import '@react-aria/utils';
17
17
  import '@plasmicapp/host/registerComponent';
@@ -9,7 +9,7 @@ var registerSliderOutput = require('./registerSliderOutput.cjs.js');
9
9
  var registerSliderThumb = require('./registerSliderThumb.cjs.js');
10
10
  var registerSliderTrack = require('./registerSliderTrack.cjs.js');
11
11
  var utils = require('./utils-8dbb4d1f.cjs.js');
12
- var variantUtils = require('./variant-utils-db5b9590.cjs.js');
12
+ var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
13
13
  require('react-aria');
14
14
  require('react-keyed-flatten-children');
15
15
  require('@plasmicapp/host/registerComponent');
@@ -7,7 +7,7 @@ import { registerSliderOutput } from './registerSliderOutput.esm.js';
7
7
  import { registerSliderThumb } from './registerSliderThumb.esm.js';
8
8
  import { registerSliderTrack } from './registerSliderTrack.esm.js';
9
9
  import { r as registerComponentHelper, a as makeComponentName } from './utils-c7662a47.esm.js';
10
- import { p as pickAriaComponentVariants } from './variant-utils-23360776.esm.js';
10
+ import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
11
11
  import 'react-aria';
12
12
  import 'react-keyed-flatten-children';
13
13
  import '@plasmicapp/host/registerComponent';
@@ -3,7 +3,7 @@
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
5
  var utils = require('./utils-8dbb4d1f.cjs.js');
6
- var variantUtils = require('./variant-utils-db5b9590.cjs.js');
6
+ var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
7
7
  require('@plasmicapp/host/registerComponent');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { SliderOutput } from 'react-aria-components';
3
3
  import { a as makeComponentName, r as registerComponentHelper } from './utils-c7662a47.esm.js';
4
- import { p as pickAriaComponentVariants } from './variant-utils-23360776.esm.js';
4
+ import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
5
5
  import '@plasmicapp/host/registerComponent';
6
6
 
7
7
  var __defProp = Object.defineProperty;
@@ -6,7 +6,7 @@ var reactAriaComponents = require('react-aria-components');
6
6
  var common = require('./common-2e984ab4.cjs.js');
7
7
  var contexts = require('./contexts-baa37b74.cjs.js');
8
8
  var utils = require('./utils-8dbb4d1f.cjs.js');
9
- var variantUtils = require('./variant-utils-db5b9590.cjs.js');
9
+ var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
10
10
  require('@plasmicapp/host/registerComponent');
11
11
 
12
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -4,7 +4,7 @@ import { SliderThumb, Slider, SliderTrack } from 'react-aria-components';
4
4
  import { g as getCommonProps } from './common-0c4336fe.esm.js';
5
5
  import { f as PlasmicSliderContext } from './contexts-081d65a0.esm.js';
6
6
  import { a as makeComponentName, r as registerComponentHelper } from './utils-c7662a47.esm.js';
7
- import { p as pickAriaComponentVariants } from './variant-utils-23360776.esm.js';
7
+ import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
8
8
  import '@plasmicapp/host/registerComponent';
9
9
 
10
10
  class ErrorBoundary extends Component {
@@ -6,7 +6,7 @@ var reactAriaComponents = require('react-aria-components');
6
6
  var flattenChildren = require('react-keyed-flatten-children');
7
7
  var contexts = require('./contexts-baa37b74.cjs.js');
8
8
  var utils = require('./utils-8dbb4d1f.cjs.js');
9
- var variantUtils = require('./variant-utils-db5b9590.cjs.js');
9
+ var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
10
10
  require('@plasmicapp/host/registerComponent');
11
11
 
12
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -4,7 +4,7 @@ import { SliderTrack, Slider } from 'react-aria-components';
4
4
  import flattenChildren from 'react-keyed-flatten-children';
5
5
  import { f as PlasmicSliderContext } from './contexts-081d65a0.esm.js';
6
6
  import { i as isDefined, a as makeComponentName, r as registerComponentHelper } from './utils-c7662a47.esm.js';
7
- import { p as pickAriaComponentVariants } from './variant-utils-23360776.esm.js';
7
+ import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
8
8
  import '@plasmicapp/host/registerComponent';
9
9
 
10
10
  var __defProp = Object.defineProperty;
@@ -6,7 +6,7 @@ var common = require('./common-2e984ab4.cjs.js');
6
6
  var registerDescription = require('./registerDescription.cjs.js');
7
7
  var registerLabel = require('./registerLabel.cjs.js');
8
8
  var utils = require('./utils-8dbb4d1f.cjs.js');
9
- var variantUtils = require('./variant-utils-db5b9590.cjs.js');
9
+ var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
10
10
  require('./registerText.cjs.js');
11
11
  require('@plasmicapp/host/registerComponent');
12
12
 
@@ -4,7 +4,7 @@ import { g as getCommonProps } from './common-0c4336fe.esm.js';
4
4
  import { DESCRIPTION_COMPONENT_NAME } from './registerDescription.esm.js';
5
5
  import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
6
6
  import { r as registerComponentHelper, a as makeComponentName } from './utils-c7662a47.esm.js';
7
- import { p as pickAriaComponentVariants } from './variant-utils-23360776.esm.js';
7
+ import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
8
8
  import './registerText.esm.js';
9
9
  import '@plasmicapp/host/registerComponent';
10
10
 
@@ -6,7 +6,7 @@ var reactAriaComponents = require('react-aria-components');
6
6
  var common = require('./common-2e984ab4.cjs.js');
7
7
  var contexts = require('./contexts-baa37b74.cjs.js');
8
8
  var utils = require('./utils-8dbb4d1f.cjs.js');
9
- var variantUtils = require('./variant-utils-db5b9590.cjs.js');
9
+ var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
10
10
  require('@plasmicapp/host/registerComponent');
11
11
 
12
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -4,7 +4,7 @@ import { TextArea } from 'react-aria-components';
4
4
  import { g as getCommonProps } from './common-0c4336fe.esm.js';
5
5
  import { g as PlasmicTextFieldContext } from './contexts-081d65a0.esm.js';
6
6
  import { r as registerComponentHelper, a as makeComponentName } from './utils-c7662a47.esm.js';
7
- import { p as pickAriaComponentVariants } from './variant-utils-23360776.esm.js';
7
+ import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
8
8
  import '@plasmicapp/host/registerComponent';
9
9
 
10
10
  var __defProp = Object.defineProperty;
@@ -10,7 +10,7 @@ var registerInput = require('./registerInput.cjs.js');
10
10
  var registerLabel = require('./registerLabel.cjs.js');
11
11
  var registerTextArea = require('./registerTextArea.cjs.js');
12
12
  var utils = require('./utils-8dbb4d1f.cjs.js');
13
- var variantUtils = require('./variant-utils-db5b9590.cjs.js');
13
+ var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
14
14
  require('./registerText.cjs.js');
15
15
  require('react-aria');
16
16
  require('@plasmicapp/host/registerComponent');
@@ -8,7 +8,7 @@ import { registerInput, INPUT_COMPONENT_NAME } from './registerInput.esm.js';
8
8
  import { registerLabel, LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
9
9
  import { registerTextArea } from './registerTextArea.esm.js';
10
10
  import { a as makeComponentName, r as registerComponentHelper, m as makeChildComponentName } from './utils-c7662a47.esm.js';
11
- import { p as pickAriaComponentVariants } from './variant-utils-23360776.esm.js';
11
+ import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
12
12
  import './registerText.esm.js';
13
13
  import 'react-aria';
14
14
  import '@plasmicapp/host/registerComponent';
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var host = require('@plasmicapp/host');
4
- var utils = require('@react-aria/utils');
5
4
  var React = require('react');
6
5
  var reactAria = require('react-aria');
6
+ var reactAriaComponents = require('react-aria-components');
7
7
  var flattenChildren = require('react-keyed-flatten-children');
8
- var reactStately = require('react-stately');
9
- var utils$1 = require('./utils-8dbb4d1f.cjs.js');
8
+ var utils = require('./utils-8dbb4d1f.cjs.js');
9
+ var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
10
10
  require('@plasmicapp/host/registerComponent');
11
11
 
12
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -15,6 +15,8 @@ var React__default = /*#__PURE__*/_interopDefault(React);
15
15
  var flattenChildren__default = /*#__PURE__*/_interopDefault(flattenChildren);
16
16
 
17
17
  var __defProp = Object.defineProperty;
18
+ var __defProps = Object.defineProperties;
19
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
18
20
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
19
21
  var __hasOwnProp = Object.prototype.hasOwnProperty;
20
22
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
@@ -30,52 +32,94 @@ var __spreadValues = (a, b) => {
30
32
  }
31
33
  return a;
32
34
  };
33
- var __objRest = (source, exclude) => {
34
- var target = {};
35
- for (var prop in source)
36
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
37
- target[prop] = source[prop];
38
- if (source != null && __getOwnPropSymbols)
39
- for (var prop of __getOwnPropSymbols(source)) {
40
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
41
- target[prop] = source[prop];
42
- }
43
- return target;
44
- };
45
- function BaseTooltip(props) {
46
- var _b;
47
- const _a = props, { children, tooltipContent, className, resetClassName } = _a, restProps = __objRest(_a, ["children", "tooltipContent", "className", "resetClassName"]);
48
- const { isSelected, selectedSlotName } = (_b = host.usePlasmicCanvasComponentInfo(props)) != null ? _b : {};
49
- const isAutoOpen = selectedSlotName !== "children" && isSelected;
50
- const state = reactStately.useTooltipTriggerState(restProps);
35
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
36
+ function isForwardRefComponent(element) {
37
+ var _a;
38
+ return ((_a = element == null ? void 0 : element.type) == null ? void 0 : _a.$$typeof) === Symbol.for("react.forward_ref");
39
+ }
40
+ const TOOLTIP_VARIANTS = [
41
+ "placementTop",
42
+ "placementBottom",
43
+ "placementLeft",
44
+ "placementRight"
45
+ ];
46
+ const { variants, withObservedValues } = variantUtils.pickAriaComponentVariants(TOOLTIP_VARIANTS);
47
+ function TooltipButton(props) {
51
48
  const ref = React__default.default.useRef(null);
52
- const { triggerProps, tooltipProps } = reactAria.useTooltipTrigger(
53
- restProps,
54
- state,
49
+ const { buttonProps } = reactAria.useButton(props, ref);
50
+ const { children } = props;
51
+ if (!isForwardRefComponent(children)) {
52
+ return children;
53
+ }
54
+ return React__default.default.cloneElement(children, __spreadProps(__spreadValues({}, buttonProps), {
55
55
  ref
56
- );
57
- const hasContent = tooltipContent && tooltipContent.type.name !== "CanvasSlotPlaceholder";
56
+ }));
57
+ }
58
+ function BaseTooltip(props) {
59
+ var _a;
60
+ const {
61
+ children,
62
+ isDisabled,
63
+ delay,
64
+ closeDelay,
65
+ trigger,
66
+ isOpen,
67
+ defaultOpen,
68
+ tooltipContent,
69
+ resetClassName,
70
+ placement,
71
+ offset,
72
+ crossOffset,
73
+ shouldFlip,
74
+ arrowBoundaryOffset,
75
+ className,
76
+ onOpenChange,
77
+ plasmicUpdateVariant
78
+ } = props;
79
+ const { isSelected, selectedSlotName } = (_a = host.usePlasmicCanvasComponentInfo(props)) != null ? _a : {};
80
+ const isAutoOpen = selectedSlotName !== "children" && isSelected;
58
81
  const focusableChild = flattenChildren__default.default(children)[0];
82
+ const _isOpen = isAutoOpen || isOpen;
59
83
  return /* @__PURE__ */ React__default.default.createElement(
60
- "div",
84
+ reactAriaComponents.TooltipTrigger,
61
85
  {
62
- style: { position: "relative" },
63
- className: resetClassName
86
+ isDisabled,
87
+ delay,
88
+ closeDelay,
89
+ trigger,
90
+ isOpen: _isOpen,
91
+ defaultOpen,
92
+ onOpenChange
64
93
  },
65
- React__default.default.isValidElement(focusableChild) ? React__default.default.cloneElement(focusableChild, __spreadValues({
66
- ref
67
- }, utils.mergeProps(
68
- focusableChild.props,
69
- triggerProps
70
- ))) : null,
71
- (isAutoOpen || state.isOpen) && /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, React__default.default.cloneElement(
72
- hasContent ? tooltipContent : /* @__PURE__ */ React__default.default.createElement("p", null, "Add some content to the tooltip..."),
73
- utils.mergeProps(tooltipProps, tooltipContent == null ? void 0 : tooltipContent.props.attrs, { className })
74
- ))
94
+ /* @__PURE__ */ React__default.default.createElement(TooltipButton, null, focusableChild),
95
+ /* @__PURE__ */ React__default.default.createElement(
96
+ reactAriaComponents.Tooltip,
97
+ {
98
+ isOpen: _isOpen,
99
+ offset,
100
+ crossOffset,
101
+ shouldFlip,
102
+ arrowBoundaryOffset,
103
+ defaultOpen,
104
+ className: `${className} ${resetClassName}`,
105
+ onOpenChange,
106
+ placement
107
+ },
108
+ ({ placement: _placement }) => withObservedValues(
109
+ tooltipContent,
110
+ {
111
+ placementTop: _placement === "top",
112
+ placementBottom: _placement === "bottom",
113
+ placementLeft: _placement === "left",
114
+ placementRight: _placement === "right"
115
+ },
116
+ plasmicUpdateVariant
117
+ )
118
+ )
75
119
  );
76
120
  }
77
121
  function registerTooltip(loader, overrides) {
78
- utils$1.registerComponentHelper(
122
+ utils.registerComponentHelper(
79
123
  loader,
80
124
  BaseTooltip,
81
125
  {
@@ -85,14 +129,18 @@ function registerTooltip(loader, overrides) {
85
129
  importName: "BaseTooltip",
86
130
  isAttachment: true,
87
131
  styleSections: true,
132
+ variants,
88
133
  props: {
89
134
  children: {
90
135
  type: "slot",
91
- displayName: "Trigger",
92
136
  mergeWithParent: true,
137
+ displayName: "Trigger",
93
138
  defaultValue: {
94
139
  type: "text",
95
- value: "Hover me!"
140
+ value: "Hover me!",
141
+ styles: {
142
+ width: "hug"
143
+ }
96
144
  }
97
145
  },
98
146
  tooltipContent: {
@@ -102,7 +150,11 @@ function registerTooltip(loader, overrides) {
102
150
  // NOTE: This is not applied in attachment
103
151
  defaultValue: {
104
152
  type: "text",
105
- value: "Hello from Tooltip!"
153
+ value: "Hello from Tooltip!",
154
+ styles: {
155
+ // So the text does not overlap with existing content
156
+ backgroundColor: "white"
157
+ }
106
158
  }
107
159
  },
108
160
  resetClassName: {
@@ -113,12 +165,16 @@ function registerTooltip(loader, overrides) {
113
165
  },
114
166
  delay: {
115
167
  type: "number",
116
- defaultValueHint: 1500,
168
+ // Default value is explicitly set to 0 to prevent users from mistakenly thinking the tooltip isn’t opening due to a delay.
169
+ defaultValue: 0,
170
+ defaultValueHint: 0,
117
171
  description: "The delay (in milliseconds) for the tooltip to show up."
118
172
  },
119
173
  closeDelay: {
120
174
  type: "number",
121
- defaultValueHint: 500,
175
+ // Default value is explicitly set to 0 to prevent users from mistakenly thinking the tooltip isn’t closing due to a delay.
176
+ defaultValue: 0,
177
+ defaultValueHint: 0,
122
178
  description: "The delay (in milliseconds) for the tooltip to close."
123
179
  },
124
180
  trigger: {
@@ -126,6 +182,21 @@ function registerTooltip(loader, overrides) {
126
182
  options: ["focus", "focus and hover"],
127
183
  defaultValueHint: "focus and hover"
128
184
  },
185
+ placement: {
186
+ type: "choice",
187
+ description: "Default placement of the popover relative to the trigger, if there is enough space",
188
+ defaultValueHint: "top",
189
+ // Not providing more options because https://github.com/adobe/react-spectrum/issues/6517
190
+ options: ["top", "bottom", "left", "right"]
191
+ },
192
+ isOpen: {
193
+ type: "boolean",
194
+ editOnly: true,
195
+ uncontrolledProp: "defaultOpen",
196
+ description: "Whether the overlay is open by default",
197
+ defaultValueHint: false,
198
+ hidden: () => true
199
+ },
129
200
  onOpenChange: {
130
201
  type: "eventHandler",
131
202
  argTypes: [{ name: "isOpen", type: "boolean" }]
@@ -133,7 +204,8 @@ function registerTooltip(loader, overrides) {
133
204
  },
134
205
  states: {
135
206
  isOpen: {
136
- type: "readonly",
207
+ type: "writable",
208
+ valueProp: "isOpen",
137
209
  onChangeProp: "onOpenChange",
138
210
  variableType: "boolean"
139
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registerTooltip.cjs.js","sources":["../src/registerTooltip.tsx"],"sourcesContent":["import { usePlasmicCanvasComponentInfo } from \"@plasmicapp/host\";\nimport { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { useTooltipTrigger } from \"react-aria\";\nimport { TooltipProps } from \"react-aria-components\";\nimport flattenChildren from \"react-keyed-flatten-children\";\nimport { TooltipTriggerProps, useTooltipTriggerState } from \"react-stately\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseTooltipProps extends TooltipTriggerProps, TooltipProps {\n children?: React.ReactElement<HTMLElement>;\n tooltipContent?: React.ReactElement;\n resetClassName?: string;\n className?: string;\n}\n\nexport function BaseTooltip(props: BaseTooltipProps) {\n const { children, tooltipContent, className, resetClassName, ...restProps } =\n props;\n\n const { isSelected, selectedSlotName } =\n usePlasmicCanvasComponentInfo(props) ?? {};\n const isAutoOpen = selectedSlotName !== \"children\" && isSelected;\n\n const state = useTooltipTriggerState(restProps);\n const ref = React.useRef(null);\n const { triggerProps, tooltipProps } = useTooltipTrigger(\n restProps,\n state,\n ref\n );\n\n const hasContent =\n tooltipContent &&\n (tooltipContent.type as any).name !== \"CanvasSlotPlaceholder\";\n\n /** We are only accepting a single child here, so we can just use the first one.\n * This is because the trigger props will be applied to the child to enable the triggering of the tooltip.\n * If there has to be more than one things here, wrap them in a horizontal stack for instance.\n * */\n const focusableChild = flattenChildren(children)[0];\n\n return (\n <div\n // this is to ensure that the absolutely positioned tooltip can be positioned correctly within this relatively positioned container.\n style={{ position: \"relative\" }}\n className={resetClassName}\n >\n {React.isValidElement(focusableChild)\n ? React.cloneElement(focusableChild, {\n ref,\n ...mergeProps(\n focusableChild.props as Record<string, any>,\n triggerProps\n ),\n } as Record<string, any> & { ref?: React.Ref<HTMLElement> })\n : null}\n {(isAutoOpen || state.isOpen) && (\n <>\n {React.cloneElement(\n hasContent ? (\n tooltipContent\n ) : (\n <p>Add some content to the tooltip...</p>\n ),\n mergeProps(tooltipProps, tooltipContent?.props.attrs, { className })\n )}\n </>\n )}\n </div>\n );\n}\n\nexport function registerTooltip(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseTooltip>\n) {\n registerComponentHelper(\n loader,\n BaseTooltip,\n {\n name: \"plasmic-react-aria-tooltip\",\n displayName: \"Aria Tooltip\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerTooltip\",\n importName: \"BaseTooltip\",\n isAttachment: true,\n styleSections: true,\n props: {\n children: {\n type: \"slot\",\n displayName: \"Trigger\",\n mergeWithParent: true,\n defaultValue: {\n type: \"text\",\n value: \"Hover me!\",\n },\n },\n tooltipContent: {\n type: \"slot\",\n mergeWithParent: true,\n displayName: \"Tooltip Content\",\n // NOTE: This is not applied in attachment\n defaultValue: {\n type: \"text\",\n value: \"Hello from Tooltip!\",\n },\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n isDisabled: {\n type: \"boolean\",\n },\n delay: {\n type: \"number\",\n defaultValueHint: 1500,\n description:\n \"The delay (in milliseconds) for the tooltip to show up.\",\n },\n closeDelay: {\n type: \"number\",\n defaultValueHint: 500,\n description: \"The delay (in milliseconds) for the tooltip to close.\",\n },\n trigger: {\n type: \"choice\",\n options: [\"focus\", \"focus and hover\"],\n defaultValueHint: \"focus and hover\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n },\n states: {\n isOpen: {\n type: \"readonly\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["useTooltipTriggerState","React","useTooltipTrigger","flattenChildren","mergeProps","registerComponentHelper"],"mappings":"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"}
1
+ {"version":3,"file":"registerTooltip.cjs.js","sources":["../src/registerTooltip.tsx"],"sourcesContent":["import { usePlasmicCanvasComponentInfo } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { AriaButtonProps, useButton } from \"react-aria\";\nimport { Tooltip, TooltipProps, TooltipTrigger } from \"react-aria-components\";\nimport flattenChildren from \"react-keyed-flatten-children\";\nimport { TooltipTriggerProps } from \"react-stately\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\nfunction isForwardRefComponent(element: any): element is React.ReactElement {\n return element?.type?.$$typeof === Symbol.for(\"react.forward_ref\");\n}\n\nconst TOOLTIP_VARIANTS = [\n \"placementTop\" as const,\n \"placementBottom\" as const,\n \"placementLeft\" as const,\n \"placementRight\" as const,\n];\n\nexport interface BaseTooltipProps\n extends TooltipTriggerProps,\n TooltipProps,\n WithVariants<typeof TOOLTIP_VARIANTS> {\n children?: React.ReactElement<HTMLElement>;\n tooltipContent?: React.ReactElement;\n resetClassName?: string;\n className?: string;\n}\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(TOOLTIP_VARIANTS);\n\n/*\n\nReact Aria's TooltipTrigger only allows Aria Button component to act as a trigger.\nhttps://react-spectrum.adobe.com/react-aria/Tooltip.html#example\n\nTo bypass that limitation, we originally used the useTooltipTrigger custom hooks for advanced customization, so the trigger could become anything we want.\nOne of the limitations with that was the placement prop - the useTooltipTrigger did not provide placement prop, and that caused issues with tooltip positioning.\n\nWe have a better fix now - instead of using useTooltipTrigger, we use useButton,\nso that anything we add to the slot can be treated as an Aria Button.\nThat means we can use the ready-made components provided by react-aria-components (like <TooltipTrigger> and <Tooltip>)\nand still be able to use any other component as a trigger.\n\n*/\n\nfunction TooltipButton(props: AriaButtonProps) {\n const ref = React.useRef<HTMLButtonElement | null>(null);\n const { buttonProps } = useButton(props, ref);\n const { children } = props;\n if (!isForwardRefComponent(children)) {\n // The tooltip will not be triggered because the trigger component needs to be a forward ref.\n return children;\n }\n\n return React.cloneElement(children, {\n ...buttonProps,\n ref,\n });\n}\n\nexport function BaseTooltip(props: BaseTooltipProps) {\n const {\n children,\n isDisabled,\n delay,\n closeDelay,\n trigger,\n isOpen,\n defaultOpen,\n tooltipContent,\n resetClassName,\n placement,\n offset,\n crossOffset,\n shouldFlip,\n arrowBoundaryOffset,\n className,\n onOpenChange,\n plasmicUpdateVariant,\n } = props;\n\n const { isSelected, selectedSlotName } =\n usePlasmicCanvasComponentInfo(props) ?? {};\n const isAutoOpen = selectedSlotName !== \"children\" && isSelected;\n\n /** We are only accepting a single child here, so we can just use the first one.\n * This is because the trigger props will be applied to the child to enable the triggering of the tooltip.\n * If there has to be more than one things here, wrap them in a horizontal stack for instance.\n * */\n const focusableChild = flattenChildren(children)[0];\n const _isOpen = isAutoOpen || isOpen;\n\n return (\n <TooltipTrigger\n isDisabled={isDisabled}\n delay={delay}\n closeDelay={closeDelay}\n trigger={trigger}\n isOpen={_isOpen}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n >\n <TooltipButton>{focusableChild}</TooltipButton>\n <Tooltip\n isOpen={_isOpen}\n offset={offset}\n crossOffset={crossOffset}\n shouldFlip={shouldFlip}\n arrowBoundaryOffset={arrowBoundaryOffset}\n defaultOpen={defaultOpen}\n className={`${className} ${resetClassName}`}\n onOpenChange={onOpenChange}\n placement={placement}\n >\n {({ placement: _placement }) =>\n withObservedValues(\n tooltipContent,\n {\n placementTop: _placement === \"top\",\n placementBottom: _placement === \"bottom\",\n placementLeft: _placement === \"left\",\n placementRight: _placement === \"right\",\n },\n plasmicUpdateVariant\n )\n }\n </Tooltip>\n </TooltipTrigger>\n );\n}\n\nexport function registerTooltip(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseTooltip>\n) {\n registerComponentHelper(\n loader,\n BaseTooltip,\n {\n name: \"plasmic-react-aria-tooltip\",\n displayName: \"Aria Tooltip\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerTooltip\",\n importName: \"BaseTooltip\",\n isAttachment: true,\n styleSections: true,\n variants,\n props: {\n children: {\n type: \"slot\",\n mergeWithParent: true,\n displayName: \"Trigger\",\n defaultValue: {\n type: \"text\",\n value: \"Hover me!\",\n styles: {\n width: \"hug\",\n },\n },\n },\n tooltipContent: {\n type: \"slot\",\n mergeWithParent: true,\n displayName: \"Tooltip Content\",\n // NOTE: This is not applied in attachment\n defaultValue: {\n type: \"text\",\n value: \"Hello from Tooltip!\",\n styles: {\n // So the text does not overlap with existing content\n backgroundColor: \"white\",\n },\n },\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n isDisabled: {\n type: \"boolean\",\n },\n delay: {\n type: \"number\",\n // Default value is explicitly set to 0 to prevent users from mistakenly thinking the tooltip isn’t opening due to a delay.\n defaultValue: 0,\n defaultValueHint: 0,\n description:\n \"The delay (in milliseconds) for the tooltip to show up.\",\n },\n closeDelay: {\n type: \"number\",\n // Default value is explicitly set to 0 to prevent users from mistakenly thinking the tooltip isn’t closing due to a delay.\n defaultValue: 0,\n defaultValueHint: 0,\n description: \"The delay (in milliseconds) for the tooltip to close.\",\n },\n trigger: {\n type: \"choice\",\n options: [\"focus\", \"focus and hover\"],\n defaultValueHint: \"focus and hover\",\n },\n placement: {\n type: \"choice\",\n description:\n \"Default placement of the popover relative to the trigger, if there is enough space\",\n defaultValueHint: \"top\",\n // Not providing more options because https://github.com/adobe/react-spectrum/issues/6517\n options: [\"top\", \"bottom\", \"left\", \"right\"],\n },\n isOpen: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n description: \"Whether the overlay is open by default\",\n defaultValueHint: false,\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","React","useButton","flattenChildren","TooltipTrigger","Tooltip","registerComponentHelper"],"mappings":"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"}
@@ -2,7 +2,9 @@ import React from "react";
2
2
  import { TooltipProps } from "react-aria-components";
3
3
  import { TooltipTriggerProps } from "react-stately";
4
4
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
5
- export interface BaseTooltipProps extends TooltipTriggerProps, TooltipProps {
5
+ import { WithVariants } from "./variant-utils";
6
+ declare const TOOLTIP_VARIANTS: ("placementLeft" | "placementRight" | "placementTop" | "placementBottom")[];
7
+ export interface BaseTooltipProps extends TooltipTriggerProps, TooltipProps, WithVariants<typeof TOOLTIP_VARIANTS> {
6
8
  children?: React.ReactElement<HTMLElement>;
7
9
  tooltipContent?: React.ReactElement;
8
10
  resetClassName?: string;
@@ -10,3 +12,4 @@ export interface BaseTooltipProps extends TooltipTriggerProps, TooltipProps {
10
12
  }
11
13
  export declare function BaseTooltip(props: BaseTooltipProps): React.JSX.Element;
12
14
  export declare function registerTooltip(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseTooltip>): void;
15
+ export {};