@plasmicpkgs/react-aria 0.0.22 → 0.0.24

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.
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { TooltipProps } from "react-aria-components";
3
+ import { TooltipTriggerProps } from "react-stately";
4
+ import { CodeComponentMetaOverrides, Registerable } from "./utils";
5
+ export interface BaseTooltipProps extends TooltipTriggerProps, TooltipProps {
6
+ children?: React.ReactElement<HTMLElement>;
7
+ tooltipContent?: React.ReactNode;
8
+ resetClassName?: string;
9
+ }
10
+ export declare function BaseTooltip(props: BaseTooltipProps): React.JSX.Element;
11
+ export declare function registerTooltip(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseTooltip>): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/react-aria",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "description": "Plasmic registration calls for react-aria based components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -48,10 +48,13 @@
48
48
  "dependencies": {
49
49
  "@react-aria/i18n": "^3.11.0",
50
50
  "@react-aria/utils": "^3.24.0",
51
- "react-aria-components": "^1.2.0"
51
+ "react-aria": "^3.33.0",
52
+ "react-aria-components": "^1.2.0",
53
+ "react-keyed-flatten-children": "^3.0.0",
54
+ "react-stately": "^3.31.0"
52
55
  },
53
56
  "devDependencies": {
54
- "@plasmicapp/host": "1.0.196",
57
+ "@plasmicapp/host": "1.0.197",
55
58
  "@rollup/plugin-commonjs": "^11.0.0",
56
59
  "@rollup/plugin-json": "^4.0.0",
57
60
  "@rollup/plugin-node-resolve": "^9.0.0",
@@ -71,5 +74,5 @@
71
74
  "publishConfig": {
72
75
  "access": "public"
73
76
  },
74
- "gitHead": "5cf999c17e183de929006aad562af5a0f56d047c"
77
+ "gitHead": "bc10abae6b027cb31f3d3d63939a8271831d4ed0"
75
78
  }
@@ -0,0 +1,140 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@react-aria/utils');
4
+ var React = require('react');
5
+ var reactAria = require('react-aria');
6
+ var flattenChildren = require('react-keyed-flatten-children');
7
+ var reactStately = require('react-stately');
8
+ var utils$1 = require('./utils-1190a0a9.cjs.js');
9
+ require('@plasmicapp/host/registerComponent');
10
+
11
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
+
13
+ var React__default = /*#__PURE__*/_interopDefault(React);
14
+ var flattenChildren__default = /*#__PURE__*/_interopDefault(flattenChildren);
15
+
16
+ var __defProp = Object.defineProperty;
17
+ var __defProps = Object.defineProperties;
18
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
19
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
20
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
21
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
22
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
23
+ var __spreadValues = (a, b) => {
24
+ for (var prop in b || (b = {}))
25
+ if (__hasOwnProp.call(b, prop))
26
+ __defNormalProp(a, prop, b[prop]);
27
+ if (__getOwnPropSymbols)
28
+ for (var prop of __getOwnPropSymbols(b)) {
29
+ if (__propIsEnum.call(b, prop))
30
+ __defNormalProp(a, prop, b[prop]);
31
+ }
32
+ return a;
33
+ };
34
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
35
+ var __objRest = (source, exclude) => {
36
+ var target = {};
37
+ for (var prop in source)
38
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
39
+ target[prop] = source[prop];
40
+ if (source != null && __getOwnPropSymbols)
41
+ for (var prop of __getOwnPropSymbols(source)) {
42
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
43
+ target[prop] = source[prop];
44
+ }
45
+ return target;
46
+ };
47
+ function BaseTooltip(props) {
48
+ const _a = props, { children, tooltipContent, className, resetClassName } = _a, restProps = __objRest(_a, ["children", "tooltipContent", "className", "resetClassName"]);
49
+ const state = reactStately.useTooltipTriggerState(restProps);
50
+ const ref = React__default.default.useRef(null);
51
+ const { triggerProps, tooltipProps } = reactAria.useTooltipTrigger(
52
+ restProps,
53
+ state,
54
+ ref
55
+ );
56
+ const focusableChild = flattenChildren__default.default(children)[0];
57
+ return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, React__default.default.isValidElement(focusableChild) ? React__default.default.cloneElement(focusableChild, __spreadValues({
58
+ ref
59
+ }, utils.mergeProps(
60
+ focusableChild.props,
61
+ triggerProps
62
+ ))) : null, state.isOpen && /* @__PURE__ */ React__default.default.createElement("span", __spreadProps(__spreadValues({}, tooltipProps), { className: `${className} ${resetClassName}` }), tooltipContent));
63
+ }
64
+ function registerTooltip(loader, overrides) {
65
+ utils$1.registerComponentHelper(
66
+ loader,
67
+ BaseTooltip,
68
+ {
69
+ name: "plasmic-react-aria-tooltip",
70
+ displayName: "Aria Tooltip",
71
+ importPath: "@plasmicpkgs/react-aria/skinny/registerTooltip",
72
+ importName: "BaseTooltip",
73
+ isAttachment: true,
74
+ styleSections: true,
75
+ props: {
76
+ children: {
77
+ type: "slot",
78
+ defaultValue: {
79
+ type: "text",
80
+ value: "Hover me!"
81
+ }
82
+ },
83
+ tooltipContent: {
84
+ type: "slot",
85
+ displayName: "Tooltip Content",
86
+ // NOTE: This is not applied in attachment
87
+ defaultValue: {
88
+ type: "text",
89
+ value: "Hello from Tooltip!"
90
+ }
91
+ },
92
+ resetClassName: {
93
+ type: "themeResetClass"
94
+ },
95
+ isDisabled: {
96
+ type: "boolean"
97
+ },
98
+ delay: {
99
+ type: "number",
100
+ defaultValueHint: 1500,
101
+ description: "The delay (in milliseconds) for the tooltip to show up."
102
+ },
103
+ closeDelay: {
104
+ type: "number",
105
+ defaultValueHint: 500,
106
+ description: "The delay (in milliseconds) for the tooltip to close."
107
+ },
108
+ trigger: {
109
+ type: "choice",
110
+ options: ["focus", "focus and hover"],
111
+ defaultValueHint: "focus and hover"
112
+ },
113
+ isOpen: {
114
+ type: "boolean",
115
+ editOnly: true,
116
+ uncontrolledProp: "defaultOpen",
117
+ description: "Whether the overlay is open by default",
118
+ defaultValueHint: false
119
+ },
120
+ onOpenChange: {
121
+ type: "eventHandler",
122
+ argTypes: [{ name: "isOpen", type: "boolean" }]
123
+ }
124
+ },
125
+ states: {
126
+ isOpen: {
127
+ type: "writable",
128
+ valueProp: "isOpen",
129
+ onChangeProp: "onOpenChange",
130
+ variableType: "boolean"
131
+ }
132
+ }
133
+ },
134
+ overrides
135
+ );
136
+ }
137
+
138
+ exports.BaseTooltip = BaseTooltip;
139
+ exports.registerTooltip = registerTooltip;
140
+ //# sourceMappingURL=registerTooltip.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerTooltip.cjs.js","sources":["../src/registerTooltip.tsx"],"sourcesContent":["import { 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.ReactNode;\n resetClassName?: string;\n}\n\nexport function BaseTooltip(props: BaseTooltipProps) {\n const { children, tooltipContent, className, resetClassName, ...restProps } =\n props;\n const state = useTooltipTriggerState(restProps);\n const ref = React.useRef(null);\n const { triggerProps, tooltipProps } = useTooltipTrigger(\n restProps,\n state,\n ref\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 <>\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 {state.isOpen && (\n <span {...tooltipProps} className={`${className} ${resetClassName}`}>\n {tooltipContent}\n </span>\n )}\n </>\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 defaultValue: {\n type: \"text\",\n value: \"Hover me!\",\n },\n },\n tooltipContent: {\n type: \"slot\",\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 isOpen: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n description: \"Whether the overlay is open by default\",\n defaultValueHint: false,\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 },\n overrides\n );\n}\n"],"names":["useTooltipTriggerState","React","useTooltipTrigger","flattenChildren","mergeProps","registerComponentHelper"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { TooltipProps } from "react-aria-components";
3
+ import { TooltipTriggerProps } from "react-stately";
4
+ import { CodeComponentMetaOverrides, Registerable } from "./utils";
5
+ export interface BaseTooltipProps extends TooltipTriggerProps, TooltipProps {
6
+ children?: React.ReactElement<HTMLElement>;
7
+ tooltipContent?: React.ReactNode;
8
+ resetClassName?: string;
9
+ }
10
+ export declare function BaseTooltip(props: BaseTooltipProps): React.JSX.Element;
11
+ export declare function registerTooltip(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseTooltip>): void;
@@ -0,0 +1,132 @@
1
+ import { mergeProps } from '@react-aria/utils';
2
+ import React from 'react';
3
+ import { useTooltipTrigger } from 'react-aria';
4
+ import flattenChildren from 'react-keyed-flatten-children';
5
+ import { useTooltipTriggerState } from 'react-stately';
6
+ import { r as registerComponentHelper } from './utils-28f98072.esm.js';
7
+ import '@plasmicapp/host/registerComponent';
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __defProps = Object.defineProperties;
11
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
12
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
15
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
+ var __spreadValues = (a, b) => {
17
+ for (var prop in b || (b = {}))
18
+ if (__hasOwnProp.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ if (__getOwnPropSymbols)
21
+ for (var prop of __getOwnPropSymbols(b)) {
22
+ if (__propIsEnum.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ }
25
+ return a;
26
+ };
27
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
28
+ var __objRest = (source, exclude) => {
29
+ var target = {};
30
+ for (var prop in source)
31
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
32
+ target[prop] = source[prop];
33
+ if (source != null && __getOwnPropSymbols)
34
+ for (var prop of __getOwnPropSymbols(source)) {
35
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
36
+ target[prop] = source[prop];
37
+ }
38
+ return target;
39
+ };
40
+ function BaseTooltip(props) {
41
+ const _a = props, { children, tooltipContent, className, resetClassName } = _a, restProps = __objRest(_a, ["children", "tooltipContent", "className", "resetClassName"]);
42
+ const state = useTooltipTriggerState(restProps);
43
+ const ref = React.useRef(null);
44
+ const { triggerProps, tooltipProps } = useTooltipTrigger(
45
+ restProps,
46
+ state,
47
+ ref
48
+ );
49
+ const focusableChild = flattenChildren(children)[0];
50
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, React.isValidElement(focusableChild) ? React.cloneElement(focusableChild, __spreadValues({
51
+ ref
52
+ }, mergeProps(
53
+ focusableChild.props,
54
+ triggerProps
55
+ ))) : null, state.isOpen && /* @__PURE__ */ React.createElement("span", __spreadProps(__spreadValues({}, tooltipProps), { className: `${className} ${resetClassName}` }), tooltipContent));
56
+ }
57
+ function registerTooltip(loader, overrides) {
58
+ registerComponentHelper(
59
+ loader,
60
+ BaseTooltip,
61
+ {
62
+ name: "plasmic-react-aria-tooltip",
63
+ displayName: "Aria Tooltip",
64
+ importPath: "@plasmicpkgs/react-aria/skinny/registerTooltip",
65
+ importName: "BaseTooltip",
66
+ isAttachment: true,
67
+ styleSections: true,
68
+ props: {
69
+ children: {
70
+ type: "slot",
71
+ defaultValue: {
72
+ type: "text",
73
+ value: "Hover me!"
74
+ }
75
+ },
76
+ tooltipContent: {
77
+ type: "slot",
78
+ displayName: "Tooltip Content",
79
+ // NOTE: This is not applied in attachment
80
+ defaultValue: {
81
+ type: "text",
82
+ value: "Hello from Tooltip!"
83
+ }
84
+ },
85
+ resetClassName: {
86
+ type: "themeResetClass"
87
+ },
88
+ isDisabled: {
89
+ type: "boolean"
90
+ },
91
+ delay: {
92
+ type: "number",
93
+ defaultValueHint: 1500,
94
+ description: "The delay (in milliseconds) for the tooltip to show up."
95
+ },
96
+ closeDelay: {
97
+ type: "number",
98
+ defaultValueHint: 500,
99
+ description: "The delay (in milliseconds) for the tooltip to close."
100
+ },
101
+ trigger: {
102
+ type: "choice",
103
+ options: ["focus", "focus and hover"],
104
+ defaultValueHint: "focus and hover"
105
+ },
106
+ isOpen: {
107
+ type: "boolean",
108
+ editOnly: true,
109
+ uncontrolledProp: "defaultOpen",
110
+ description: "Whether the overlay is open by default",
111
+ defaultValueHint: false
112
+ },
113
+ onOpenChange: {
114
+ type: "eventHandler",
115
+ argTypes: [{ name: "isOpen", type: "boolean" }]
116
+ }
117
+ },
118
+ states: {
119
+ isOpen: {
120
+ type: "writable",
121
+ valueProp: "isOpen",
122
+ onChangeProp: "onOpenChange",
123
+ variableType: "boolean"
124
+ }
125
+ }
126
+ },
127
+ overrides
128
+ );
129
+ }
130
+
131
+ export { BaseTooltip, registerTooltip };
132
+ //# sourceMappingURL=registerTooltip.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerTooltip.esm.js","sources":["../src/registerTooltip.tsx"],"sourcesContent":["import { 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.ReactNode;\n resetClassName?: string;\n}\n\nexport function BaseTooltip(props: BaseTooltipProps) {\n const { children, tooltipContent, className, resetClassName, ...restProps } =\n props;\n const state = useTooltipTriggerState(restProps);\n const ref = React.useRef(null);\n const { triggerProps, tooltipProps } = useTooltipTrigger(\n restProps,\n state,\n ref\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 <>\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 {state.isOpen && (\n <span {...tooltipProps} className={`${className} ${resetClassName}`}>\n {tooltipContent}\n </span>\n )}\n </>\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 defaultValue: {\n type: \"text\",\n value: \"Hover me!\",\n },\n },\n tooltipContent: {\n type: \"slot\",\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 isOpen: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n description: \"Whether the overlay is open by default\",\n defaultValueHint: false,\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 },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}