datocms-react-ui 2.1.0-alpha.1 → 2.1.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/HotKey/index.js +105 -0
- package/dist/cjs/HotKey/index.js.map +1 -0
- package/dist/cjs/HotKey/styles.module.css.json +1 -0
- package/dist/cjs/Tooltip/Tooltip/index.js +116 -0
- package/dist/cjs/Tooltip/Tooltip/index.js.map +1 -0
- package/dist/cjs/Tooltip/TooltipContent/index.js +147 -0
- package/dist/cjs/Tooltip/TooltipContent/index.js.map +1 -0
- package/dist/cjs/Tooltip/TooltipContent/styles.module.css.json +1 -0
- package/dist/cjs/Tooltip/TooltipDelayGroup/index.js +140 -0
- package/dist/cjs/Tooltip/TooltipDelayGroup/index.js.map +1 -0
- package/dist/cjs/Tooltip/TooltipTrigger/index.js +102 -0
- package/dist/cjs/Tooltip/TooltipTrigger/index.js.map +1 -0
- package/dist/cjs/Tooltip/index.js +12 -0
- package/dist/cjs/Tooltip/index.js.map +1 -0
- package/dist/cjs/Tooltip/utils.js +165 -0
- package/dist/cjs/Tooltip/utils.js.map +1 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/HotKey/index.d.ts +70 -0
- package/dist/esm/HotKey/index.js +75 -0
- package/dist/esm/HotKey/index.js.map +1 -0
- package/dist/esm/HotKey/styles.module.css.json +1 -0
- package/dist/esm/Tooltip/Tooltip/index.d.ts +74 -0
- package/dist/esm/Tooltip/Tooltip/index.js +89 -0
- package/dist/esm/Tooltip/Tooltip/index.js.map +1 -0
- package/dist/esm/Tooltip/TooltipContent/index.d.ts +68 -0
- package/dist/esm/Tooltip/TooltipContent/index.js +118 -0
- package/dist/esm/Tooltip/TooltipContent/index.js.map +1 -0
- package/dist/esm/Tooltip/TooltipContent/styles.module.css.json +1 -0
- package/dist/esm/Tooltip/TooltipDelayGroup/index.d.ts +118 -0
- package/dist/esm/Tooltip/TooltipDelayGroup/index.js +113 -0
- package/dist/esm/Tooltip/TooltipDelayGroup/index.js.map +1 -0
- package/dist/esm/Tooltip/TooltipTrigger/index.d.ts +45 -0
- package/dist/esm/Tooltip/TooltipTrigger/index.js +76 -0
- package/dist/esm/Tooltip/TooltipTrigger/index.js.map +1 -0
- package/dist/esm/Tooltip/index.d.ts +8 -0
- package/dist/esm/Tooltip/index.js +5 -0
- package/dist/esm/Tooltip/index.js.map +1 -0
- package/dist/esm/Tooltip/utils.d.ts +166 -0
- package/dist/esm/Tooltip/utils.js +135 -0
- package/dist/esm/Tooltip/utils.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/HotKey/index.d.ts +70 -0
- package/dist/types/Tooltip/Tooltip/index.d.ts +74 -0
- package/dist/types/Tooltip/TooltipContent/index.d.ts +68 -0
- package/dist/types/Tooltip/TooltipDelayGroup/index.d.ts +118 -0
- package/dist/types/Tooltip/TooltipTrigger/index.d.ts +45 -0
- package/dist/types/Tooltip/index.d.ts +8 -0
- package/dist/types/Tooltip/utils.d.ts +166 -0
- package/dist/types/index.d.ts +2 -0
- package/package.json +4 -3
- package/src/HotKey/index.tsx +95 -0
- package/src/HotKey/styles.module.css +22 -0
- package/src/HotKey/styles.module.css.json +1 -0
- package/src/Tooltip/Tooltip/index.tsx +85 -0
- package/src/Tooltip/TooltipContent/index.tsx +145 -0
- package/src/Tooltip/TooltipContent/styles.module.css +10 -0
- package/src/Tooltip/TooltipContent/styles.module.css.json +1 -0
- package/src/Tooltip/TooltipDelayGroup/index.tsx +128 -0
- package/src/Tooltip/TooltipTrigger/index.tsx +71 -0
- package/src/Tooltip/index.ts +8 -0
- package/src/Tooltip/utils.ts +176 -0
- package/src/global.css +2 -0
- package/src/index.ts +2 -0
- package/styles.css +1 -1
- package/types.json +5247 -3436
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.useTooltipState = exports.TooltipContext = exports.useTooltip = exports.releaseSharedPortalRoot = exports.getSharedPortalRoot = void 0;
|
|
38
|
+
var react_1 = require("@floating-ui/react");
|
|
39
|
+
var React = __importStar(require("react"));
|
|
40
|
+
// Create a single shared portal root for all tooltips
|
|
41
|
+
var sharedPortalRoot = null;
|
|
42
|
+
var portalRefCount = 0;
|
|
43
|
+
function getSharedPortalRoot() {
|
|
44
|
+
if (!sharedPortalRoot) {
|
|
45
|
+
sharedPortalRoot = document.createElement('div');
|
|
46
|
+
sharedPortalRoot.style.position = 'relative';
|
|
47
|
+
sharedPortalRoot.style.zIndex = '100000';
|
|
48
|
+
sharedPortalRoot.style.height = '0px';
|
|
49
|
+
// Insert as the first child of body
|
|
50
|
+
if (document.body.firstChild) {
|
|
51
|
+
document.body.insertBefore(sharedPortalRoot, document.body.firstChild);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
document.body.appendChild(sharedPortalRoot);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
portalRefCount++;
|
|
58
|
+
return sharedPortalRoot;
|
|
59
|
+
}
|
|
60
|
+
exports.getSharedPortalRoot = getSharedPortalRoot;
|
|
61
|
+
function releaseSharedPortalRoot() {
|
|
62
|
+
portalRefCount--;
|
|
63
|
+
if (portalRefCount === 0 && sharedPortalRoot) {
|
|
64
|
+
if (sharedPortalRoot.parentNode) {
|
|
65
|
+
sharedPortalRoot.parentNode.removeChild(sharedPortalRoot);
|
|
66
|
+
}
|
|
67
|
+
sharedPortalRoot = null;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.releaseSharedPortalRoot = releaseSharedPortalRoot;
|
|
71
|
+
/**
|
|
72
|
+
* Hook that manages tooltip state and positioning logic.
|
|
73
|
+
*
|
|
74
|
+
* This hook provides the core tooltip behavior including hover/focus detection,
|
|
75
|
+
* positioning, and accessibility features. Use this when you need full control
|
|
76
|
+
* over the tooltip structure.
|
|
77
|
+
*
|
|
78
|
+
* @example Basic tooltip hook usage
|
|
79
|
+
*
|
|
80
|
+
* Build a custom tooltip implementation using the hook directly for maximum flexibility:
|
|
81
|
+
*
|
|
82
|
+
* ```js
|
|
83
|
+
* function MyComponent() {
|
|
84
|
+
* const tooltip = useTooltip({ placement: 'top' });
|
|
85
|
+
*
|
|
86
|
+
* return (
|
|
87
|
+
* <>
|
|
88
|
+
* <button
|
|
89
|
+
* ref={tooltip.refs.setReference}
|
|
90
|
+
* {...tooltip.getReferenceProps()}
|
|
91
|
+
* >
|
|
92
|
+
* Hover me
|
|
93
|
+
* </button>
|
|
94
|
+
*
|
|
95
|
+
* {tooltip.open && (
|
|
96
|
+
* <div
|
|
97
|
+
* ref={tooltip.refs.setFloating}
|
|
98
|
+
* style={tooltip.floatingStyles}
|
|
99
|
+
* {...tooltip.getFloatingProps()}
|
|
100
|
+
* >
|
|
101
|
+
* Tooltip content
|
|
102
|
+
* </div>
|
|
103
|
+
* )}
|
|
104
|
+
* </>
|
|
105
|
+
* );
|
|
106
|
+
* }
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* @example Controlled tooltip
|
|
110
|
+
*
|
|
111
|
+
* Control the tooltip's open state programmatically for click-to-toggle behavior:
|
|
112
|
+
*
|
|
113
|
+
* ```js
|
|
114
|
+
* function ControlledTooltip() {
|
|
115
|
+
* const [open, setOpen] = React.useState(false);
|
|
116
|
+
* const tooltip = useTooltip({ open, onOpenChange: setOpen });
|
|
117
|
+
*
|
|
118
|
+
* return (
|
|
119
|
+
* <Canvas ctx={ctx}>
|
|
120
|
+
* <button onClick={() => setOpen(!open)}>
|
|
121
|
+
* Toggle tooltip
|
|
122
|
+
* </button>
|
|
123
|
+
* </Canvas>
|
|
124
|
+
* );
|
|
125
|
+
* }
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
function useTooltip(_a) {
|
|
129
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.initialOpen, initialOpen = _c === void 0 ? false : _c, _d = _b.placement, placement = _d === void 0 ? 'top' : _d, controlledOpen = _b.open, setControlledOpen = _b.onOpenChange;
|
|
130
|
+
var _e = React.useState(initialOpen), uncontrolledOpen = _e[0], setUncontrolledOpen = _e[1];
|
|
131
|
+
var open = controlledOpen !== null && controlledOpen !== void 0 ? controlledOpen : uncontrolledOpen;
|
|
132
|
+
var setOpen = setControlledOpen !== null && setControlledOpen !== void 0 ? setControlledOpen : setUncontrolledOpen;
|
|
133
|
+
var delay = (0, react_1.useDelayGroupContext)().delay;
|
|
134
|
+
var data = (0, react_1.useFloating)({
|
|
135
|
+
placement: placement,
|
|
136
|
+
open: open,
|
|
137
|
+
onOpenChange: setOpen,
|
|
138
|
+
whileElementsMounted: react_1.autoUpdate,
|
|
139
|
+
middleware: [(0, react_1.offset)(5), (0, react_1.flip)(), (0, react_1.shift)()],
|
|
140
|
+
});
|
|
141
|
+
var context = data.context;
|
|
142
|
+
var hover = (0, react_1.useHover)(context, {
|
|
143
|
+
move: false,
|
|
144
|
+
enabled: controlledOpen == null,
|
|
145
|
+
delay: delay,
|
|
146
|
+
});
|
|
147
|
+
var focus = (0, react_1.useFocus)(context, {
|
|
148
|
+
enabled: controlledOpen == null,
|
|
149
|
+
});
|
|
150
|
+
var dismiss = (0, react_1.useDismiss)(context);
|
|
151
|
+
var role = (0, react_1.useRole)(context, { role: 'tooltip' });
|
|
152
|
+
var interactions = (0, react_1.useInteractions)([hover, focus, dismiss, role]);
|
|
153
|
+
return React.useMemo(function () { return (__assign(__assign({ open: open, setOpen: setOpen }, interactions), data)); }, [open, setOpen, interactions, data]);
|
|
154
|
+
}
|
|
155
|
+
exports.useTooltip = useTooltip;
|
|
156
|
+
exports.TooltipContext = React.createContext(null);
|
|
157
|
+
var useTooltipState = function () {
|
|
158
|
+
var context = React.useContext(exports.TooltipContext);
|
|
159
|
+
if (context == null) {
|
|
160
|
+
throw new Error('Tooltip components must be wrapped in <Tooltip />');
|
|
161
|
+
}
|
|
162
|
+
return context;
|
|
163
|
+
};
|
|
164
|
+
exports.useTooltipState = useTooltipState;
|
|
165
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/Tooltip/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -25,6 +25,7 @@ __exportStar(require("./FieldHint"), exports);
|
|
|
25
25
|
__exportStar(require("./FieldWrapper"), exports);
|
|
26
26
|
__exportStar(require("./Form"), exports);
|
|
27
27
|
__exportStar(require("./FormLabel"), exports);
|
|
28
|
+
__exportStar(require("./HotKey"), exports);
|
|
28
29
|
__exportStar(require("./icons"), exports);
|
|
29
30
|
__exportStar(require("./Section"), exports);
|
|
30
31
|
__exportStar(require("./SelectField"), exports);
|
|
@@ -39,6 +40,7 @@ __exportStar(require("./TextareaInput"), exports);
|
|
|
39
40
|
__exportStar(require("./TextField"), exports);
|
|
40
41
|
__exportStar(require("./TextInput"), exports);
|
|
41
42
|
__exportStar(require("./Toolbar"), exports);
|
|
43
|
+
__exportStar(require("./Tooltip"), exports);
|
|
42
44
|
__exportStar(require("./useClickOutside"), exports);
|
|
43
45
|
__exportStar(require("./useMediaQuery"), exports);
|
|
44
46
|
__exportStar(require("./VerticalSplit"), exports);
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,gDAA8B;AAC9B,2CAAyB;AACzB,qDAAmC;AACnC,6CAA2B;AAC3B,+CAA6B;AAC7B,+CAA6B;AAC7B,8CAA4B;AAC5B,iDAA+B;AAC/B,yCAAuB;AACvB,8CAA4B;AAC5B,0CAAwB;AACxB,4CAA0B;AAC1B,gDAA8B;AAC9B,gDAA8B;AAC9B,iDAA+B;AAC/B,4CAA0B;AAC1B,8CAA4B;AAC5B,gDAA8B;AAC9B,gDAA8B;AAC9B,kDAAgC;AAChC,kDAAgC;AAChC,8CAA4B;AAC5B,8CAA4B;AAC5B,4CAA0B;AAC1B,oDAAkC;AAClC,kDAAgC;AAChC,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,gDAA8B;AAC9B,2CAAyB;AACzB,qDAAmC;AACnC,6CAA2B;AAC3B,+CAA6B;AAC7B,+CAA6B;AAC7B,8CAA4B;AAC5B,iDAA+B;AAC/B,yCAAuB;AACvB,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,gDAA8B;AAC9B,gDAA8B;AAC9B,iDAA+B;AAC/B,4CAA0B;AAC1B,8CAA4B;AAC5B,gDAA8B;AAC9B,gDAA8B;AAC9B,kDAAgC;AAChC,kDAAgC;AAChC,8CAA4B;AAC5B,8CAA4B;AAC5B,4CAA0B;AAC1B,4CAA0B;AAC1B,oDAAkC;AAClC,kDAAgC;AAChC,kDAAgC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare type HotKeyProps = {
|
|
3
|
+
/**
|
|
4
|
+
* Keyboard shortcut string. Use "mod" for platform-specific modifier (Cmd on Mac, Ctrl elsewhere).
|
|
5
|
+
* Separate keys with "+". Examples: "mod+s", "mod+shift+p", "alt+enter"
|
|
6
|
+
*/
|
|
7
|
+
hotkey: string;
|
|
8
|
+
/** Optional label to display before the key combination */
|
|
9
|
+
label?: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* HotKey component displays keyboard shortcuts in a platform-aware format.
|
|
13
|
+
*
|
|
14
|
+
* The component automatically detects the user's platform and renders appropriate
|
|
15
|
+
* modifier key symbols (⌘ for Mac, Ctrl for Windows/Linux).
|
|
16
|
+
*
|
|
17
|
+
* @example Basic usage
|
|
18
|
+
*
|
|
19
|
+
* Display a simple keyboard shortcut without a label:
|
|
20
|
+
*
|
|
21
|
+
* ```js
|
|
22
|
+
* <Canvas ctx={ctx}>
|
|
23
|
+
* <HotKey hotkey="mod+s" />
|
|
24
|
+
* </Canvas>;
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @example With label
|
|
28
|
+
*
|
|
29
|
+
* Include a descriptive label to explain what the keyboard shortcut does:
|
|
30
|
+
*
|
|
31
|
+
* ```js
|
|
32
|
+
* <Canvas ctx={ctx}>
|
|
33
|
+
* <HotKey hotkey="mod+s" label="Save" />
|
|
34
|
+
* </Canvas>;
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @example Multiple hotkeys
|
|
38
|
+
*
|
|
39
|
+
* Display a list of keyboard shortcuts with labels for documenting available commands:
|
|
40
|
+
*
|
|
41
|
+
* ```js
|
|
42
|
+
* <Canvas ctx={ctx}>
|
|
43
|
+
* <div style={{ display: 'flex', flexDirection: 'column', gap: 'var(--spacing-m)' }}>
|
|
44
|
+
* <HotKey hotkey="mod+c" label="Copy" />
|
|
45
|
+
* <HotKey hotkey="mod+v" label="Paste" />
|
|
46
|
+
* <HotKey hotkey="mod+shift+z" label="Redo" />
|
|
47
|
+
* <HotKey hotkey="alt+enter" label="Submit" />
|
|
48
|
+
* </div>
|
|
49
|
+
* </Canvas>;
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @example Platform-specific rendering
|
|
53
|
+
*
|
|
54
|
+
* The component automatically adapts modifier keys based on the user's platform:
|
|
55
|
+
* - `mod` renders as `⌘` on Mac and `Ctrl` on Windows/Linux
|
|
56
|
+
* - `alt` renders as `⌥` on Mac and `Alt` on Windows/Linux
|
|
57
|
+
*
|
|
58
|
+
* This ensures the correct symbols are displayed for the user's operating system:
|
|
59
|
+
*
|
|
60
|
+
* ```js
|
|
61
|
+
* <Canvas ctx={ctx}>
|
|
62
|
+
* <div style={{ display: 'flex', flexDirection: 'column', gap: 'var(--spacing-m)' }}>
|
|
63
|
+
* <HotKey hotkey="mod+k" label="Open command palette" />
|
|
64
|
+
* <HotKey hotkey="alt+enter" label="Submit form" />
|
|
65
|
+
* <HotKey hotkey="mod+alt+f" label="Find and replace" />
|
|
66
|
+
* </div>
|
|
67
|
+
* </Canvas>;
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare function HotKey({ hotkey, label }: HotKeyProps): JSX.Element;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import styles from './styles.module.css.json';
|
|
3
|
+
var isMac = navigator.platform.indexOf('Mac') > -1;
|
|
4
|
+
var modifierKey = isMac ? '⌘' : 'Ctrl';
|
|
5
|
+
/**
|
|
6
|
+
* HotKey component displays keyboard shortcuts in a platform-aware format.
|
|
7
|
+
*
|
|
8
|
+
* The component automatically detects the user's platform and renders appropriate
|
|
9
|
+
* modifier key symbols (⌘ for Mac, Ctrl for Windows/Linux).
|
|
10
|
+
*
|
|
11
|
+
* @example Basic usage
|
|
12
|
+
*
|
|
13
|
+
* Display a simple keyboard shortcut without a label:
|
|
14
|
+
*
|
|
15
|
+
* ```js
|
|
16
|
+
* <Canvas ctx={ctx}>
|
|
17
|
+
* <HotKey hotkey="mod+s" />
|
|
18
|
+
* </Canvas>;
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @example With label
|
|
22
|
+
*
|
|
23
|
+
* Include a descriptive label to explain what the keyboard shortcut does:
|
|
24
|
+
*
|
|
25
|
+
* ```js
|
|
26
|
+
* <Canvas ctx={ctx}>
|
|
27
|
+
* <HotKey hotkey="mod+s" label="Save" />
|
|
28
|
+
* </Canvas>;
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @example Multiple hotkeys
|
|
32
|
+
*
|
|
33
|
+
* Display a list of keyboard shortcuts with labels for documenting available commands:
|
|
34
|
+
*
|
|
35
|
+
* ```js
|
|
36
|
+
* <Canvas ctx={ctx}>
|
|
37
|
+
* <div style={{ display: 'flex', flexDirection: 'column', gap: 'var(--spacing-m)' }}>
|
|
38
|
+
* <HotKey hotkey="mod+c" label="Copy" />
|
|
39
|
+
* <HotKey hotkey="mod+v" label="Paste" />
|
|
40
|
+
* <HotKey hotkey="mod+shift+z" label="Redo" />
|
|
41
|
+
* <HotKey hotkey="alt+enter" label="Submit" />
|
|
42
|
+
* </div>
|
|
43
|
+
* </Canvas>;
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @example Platform-specific rendering
|
|
47
|
+
*
|
|
48
|
+
* The component automatically adapts modifier keys based on the user's platform:
|
|
49
|
+
* - `mod` renders as `⌘` on Mac and `Ctrl` on Windows/Linux
|
|
50
|
+
* - `alt` renders as `⌥` on Mac and `Alt` on Windows/Linux
|
|
51
|
+
*
|
|
52
|
+
* This ensures the correct symbols are displayed for the user's operating system:
|
|
53
|
+
*
|
|
54
|
+
* ```js
|
|
55
|
+
* <Canvas ctx={ctx}>
|
|
56
|
+
* <div style={{ display: 'flex', flexDirection: 'column', gap: 'var(--spacing-m)' }}>
|
|
57
|
+
* <HotKey hotkey="mod+k" label="Open command palette" />
|
|
58
|
+
* <HotKey hotkey="alt+enter" label="Submit form" />
|
|
59
|
+
* <HotKey hotkey="mod+alt+f" label="Find and replace" />
|
|
60
|
+
* </div>
|
|
61
|
+
* </Canvas>;
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export function HotKey(_a) {
|
|
65
|
+
var hotkey = _a.hotkey, label = _a.label;
|
|
66
|
+
var keys = hotkey
|
|
67
|
+
.replace('mod', modifierKey)
|
|
68
|
+
.replace('alt', isMac ? '⌥' : 'Alt')
|
|
69
|
+
.split(/\+/)
|
|
70
|
+
.map(function (e) { return e.charAt(0).toUpperCase() + e.slice(1); });
|
|
71
|
+
return (React.createElement("div", { className: styles.hotKey },
|
|
72
|
+
label && React.createElement("span", { className: styles.label }, label),
|
|
73
|
+
React.createElement("div", { className: styles.keys }, keys.map(function (key) { return (React.createElement("span", { key: key, className: styles.hotKeyKey }, key)); }))));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/HotKey/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAE9C,IAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,IAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AAYzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAM,UAAU,MAAM,CAAC,EAA8B;QAA5B,MAAM,YAAA,EAAE,KAAK,WAAA;IACpC,IAAM,IAAI,GAAG,MAAM;SAChB,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;SACnC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAtC,CAAsC,CAAC,CAAC;IAEtD,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM;QAC1B,KAAK,IAAI,8BAAM,SAAS,EAAE,MAAM,CAAC,KAAK,IAAG,KAAK,CAAQ;QACvD,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI,IACxB,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CACjB,8BAAM,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IACxC,GAAG,CACC,CACR,EAJkB,CAIlB,CAAC,CACE,CACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "hotKey": "_hotKey_1eko8_1", "label": "_label_1eko8_7", "keys": "_keys_1eko8_12", "hotKeyKey": "_hotKeyKey_1eko8_18" }
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TooltipOptions } from '../utils';
|
|
3
|
+
export declare type TooltipProps = {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
} & TooltipOptions;
|
|
6
|
+
/**
|
|
7
|
+
* Tooltip wrapper component that provides context for TooltipTrigger and TooltipContent.
|
|
8
|
+
*
|
|
9
|
+
* This is a compound component pattern. The Tooltip component itself doesn't render anything,
|
|
10
|
+
* but provides the necessary context for its children (TooltipTrigger and TooltipContent).
|
|
11
|
+
*
|
|
12
|
+
* @example Basic tooltip
|
|
13
|
+
*
|
|
14
|
+
* Create a simple tooltip that appears when hovering over a button:
|
|
15
|
+
*
|
|
16
|
+
* ```js
|
|
17
|
+
* <Canvas ctx={ctx}>
|
|
18
|
+
* <Tooltip>
|
|
19
|
+
* <TooltipTrigger>
|
|
20
|
+
* <Button>Hover me</Button>
|
|
21
|
+
* </TooltipTrigger>
|
|
22
|
+
* <TooltipContent>
|
|
23
|
+
* This is helpful information!
|
|
24
|
+
* </TooltipContent>
|
|
25
|
+
* </Tooltip>
|
|
26
|
+
* </Canvas>;
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example Tooltip with custom placement
|
|
30
|
+
*
|
|
31
|
+
* Control where the tooltip appears relative to its trigger using the `placement` prop:
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* <Canvas ctx={ctx}>
|
|
35
|
+
* <Tooltip placement="right">
|
|
36
|
+
* <TooltipTrigger>
|
|
37
|
+
* <Button>Right tooltip</Button>
|
|
38
|
+
* </TooltipTrigger>
|
|
39
|
+
* <TooltipContent>
|
|
40
|
+
* Appears on the right side
|
|
41
|
+
* </TooltipContent>
|
|
42
|
+
* </Tooltip>
|
|
43
|
+
* </Canvas>;
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @example Multiple tooltips
|
|
47
|
+
*
|
|
48
|
+
* Use multiple tooltips on the same page to provide contextual help for different actions:
|
|
49
|
+
*
|
|
50
|
+
* ```js
|
|
51
|
+
* <Canvas ctx={ctx}>
|
|
52
|
+
* <div style={{ display: 'flex', gap: 'var(--spacing-m)' }}>
|
|
53
|
+
* <Tooltip>
|
|
54
|
+
* <TooltipTrigger>
|
|
55
|
+
* <Button leftIcon={<SaveIcon />} />
|
|
56
|
+
* </TooltipTrigger>
|
|
57
|
+
* <TooltipContent>
|
|
58
|
+
* Save changes (⌘S)
|
|
59
|
+
* </TooltipContent>
|
|
60
|
+
* </Tooltip>
|
|
61
|
+
*
|
|
62
|
+
* <Tooltip>
|
|
63
|
+
* <TooltipTrigger>
|
|
64
|
+
* <Button leftIcon={<DeleteIcon />} />
|
|
65
|
+
* </TooltipTrigger>
|
|
66
|
+
* <TooltipContent>
|
|
67
|
+
* Delete item
|
|
68
|
+
* </TooltipContent>
|
|
69
|
+
* </Tooltip>
|
|
70
|
+
* </div>
|
|
71
|
+
* </Canvas>;
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare function Tooltip({ children, ...options }: TooltipProps): JSX.Element;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import * as React from 'react';
|
|
13
|
+
import { TooltipContext, useTooltip } from '../utils';
|
|
14
|
+
/**
|
|
15
|
+
* Tooltip wrapper component that provides context for TooltipTrigger and TooltipContent.
|
|
16
|
+
*
|
|
17
|
+
* This is a compound component pattern. The Tooltip component itself doesn't render anything,
|
|
18
|
+
* but provides the necessary context for its children (TooltipTrigger and TooltipContent).
|
|
19
|
+
*
|
|
20
|
+
* @example Basic tooltip
|
|
21
|
+
*
|
|
22
|
+
* Create a simple tooltip that appears when hovering over a button:
|
|
23
|
+
*
|
|
24
|
+
* ```js
|
|
25
|
+
* <Canvas ctx={ctx}>
|
|
26
|
+
* <Tooltip>
|
|
27
|
+
* <TooltipTrigger>
|
|
28
|
+
* <Button>Hover me</Button>
|
|
29
|
+
* </TooltipTrigger>
|
|
30
|
+
* <TooltipContent>
|
|
31
|
+
* This is helpful information!
|
|
32
|
+
* </TooltipContent>
|
|
33
|
+
* </Tooltip>
|
|
34
|
+
* </Canvas>;
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @example Tooltip with custom placement
|
|
38
|
+
*
|
|
39
|
+
* Control where the tooltip appears relative to its trigger using the `placement` prop:
|
|
40
|
+
*
|
|
41
|
+
* ```js
|
|
42
|
+
* <Canvas ctx={ctx}>
|
|
43
|
+
* <Tooltip placement="right">
|
|
44
|
+
* <TooltipTrigger>
|
|
45
|
+
* <Button>Right tooltip</Button>
|
|
46
|
+
* </TooltipTrigger>
|
|
47
|
+
* <TooltipContent>
|
|
48
|
+
* Appears on the right side
|
|
49
|
+
* </TooltipContent>
|
|
50
|
+
* </Tooltip>
|
|
51
|
+
* </Canvas>;
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @example Multiple tooltips
|
|
55
|
+
*
|
|
56
|
+
* Use multiple tooltips on the same page to provide contextual help for different actions:
|
|
57
|
+
*
|
|
58
|
+
* ```js
|
|
59
|
+
* <Canvas ctx={ctx}>
|
|
60
|
+
* <div style={{ display: 'flex', gap: 'var(--spacing-m)' }}>
|
|
61
|
+
* <Tooltip>
|
|
62
|
+
* <TooltipTrigger>
|
|
63
|
+
* <Button leftIcon={<SaveIcon />} />
|
|
64
|
+
* </TooltipTrigger>
|
|
65
|
+
* <TooltipContent>
|
|
66
|
+
* Save changes (⌘S)
|
|
67
|
+
* </TooltipContent>
|
|
68
|
+
* </Tooltip>
|
|
69
|
+
*
|
|
70
|
+
* <Tooltip>
|
|
71
|
+
* <TooltipTrigger>
|
|
72
|
+
* <Button leftIcon={<DeleteIcon />} />
|
|
73
|
+
* </TooltipTrigger>
|
|
74
|
+
* <TooltipContent>
|
|
75
|
+
* Delete item
|
|
76
|
+
* </TooltipContent>
|
|
77
|
+
* </Tooltip>
|
|
78
|
+
* </div>
|
|
79
|
+
* </Canvas>;
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export function Tooltip(_a) {
|
|
83
|
+
var children = _a.children, options = __rest(_a, ["children"]);
|
|
84
|
+
// This can accept any props as options, e.g. `placement`,
|
|
85
|
+
// or other positioning options.
|
|
86
|
+
var tooltip = useTooltip(options);
|
|
87
|
+
return (React.createElement(TooltipContext.Provider, { value: tooltip }, children));
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Tooltip/Tooltip/index.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAkB,UAAU,EAAE,MAAM,UAAU,CAAC;AAMtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,MAAM,UAAU,OAAO,CAAC,EAAsC;IAApC,IAAA,QAAQ,cAAA,EAAK,OAAO,cAAtB,YAAwB,CAAF;IAC5C,0DAA0D;IAC1D,gCAAgC;IAChC,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,CACL,oBAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,IACpC,QAAQ,CACe,CAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare type TooltipContentProps = {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* TooltipContent contains the content displayed in the floating tooltip.
|
|
7
|
+
*
|
|
8
|
+
* The content is automatically wrapped in a Canvas component to inherit the DatoCMS
|
|
9
|
+
* theme and styling. The tooltip uses a portal to render outside the normal DOM
|
|
10
|
+
* hierarchy, ensuring proper positioning and z-index stacking.
|
|
11
|
+
*
|
|
12
|
+
* @example Simple text tooltip
|
|
13
|
+
*
|
|
14
|
+
* Display plain text in a tooltip to provide helpful information:
|
|
15
|
+
*
|
|
16
|
+
* ```js
|
|
17
|
+
* <Canvas ctx={ctx}>
|
|
18
|
+
* <Tooltip>
|
|
19
|
+
* <TooltipTrigger>
|
|
20
|
+
* <Button>Delete</Button>
|
|
21
|
+
* </TooltipTrigger>
|
|
22
|
+
* <TooltipContent>
|
|
23
|
+
* This action cannot be undone
|
|
24
|
+
* </TooltipContent>
|
|
25
|
+
* </Tooltip>
|
|
26
|
+
* </Canvas>;
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example Rich content tooltip
|
|
30
|
+
*
|
|
31
|
+
* Include formatted content with custom styles for more detailed information:
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* <Canvas ctx={ctx}>
|
|
35
|
+
* <Tooltip placement="right">
|
|
36
|
+
* <TooltipTrigger>
|
|
37
|
+
* <Button leftIcon={<HelpIcon />}>Help</Button>
|
|
38
|
+
* </TooltipTrigger>
|
|
39
|
+
* <TooltipContent>
|
|
40
|
+
* <div>
|
|
41
|
+
* <strong>Need assistance?</strong>
|
|
42
|
+
* <p style={{ margin: '5px 0 0 0', fontSize: 'var(--font-size-xs)' }}>
|
|
43
|
+
* Contact support@example.com
|
|
44
|
+
* </p>
|
|
45
|
+
* </div>
|
|
46
|
+
* </TooltipContent>
|
|
47
|
+
* </Tooltip>
|
|
48
|
+
* </Canvas>;
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @example Tooltip with keyboard shortcut
|
|
52
|
+
*
|
|
53
|
+
* Combine tooltips with the HotKey component to show keyboard shortcuts:
|
|
54
|
+
*
|
|
55
|
+
* ```js
|
|
56
|
+
* <Canvas ctx={ctx}>
|
|
57
|
+
* <Tooltip>
|
|
58
|
+
* <TooltipTrigger>
|
|
59
|
+
* <Button leftIcon={<SaveIcon />}>Save</Button>
|
|
60
|
+
* </TooltipTrigger>
|
|
61
|
+
* <TooltipContent>
|
|
62
|
+
* <HotKey hotkey="mod+s" label="Save changes" />
|
|
63
|
+
* </TooltipContent>
|
|
64
|
+
* </Tooltip>
|
|
65
|
+
* </Canvas>;
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare const TooltipContent: React.ForwardRefExoticComponent<TooltipContentProps & React.RefAttributes<HTMLDivElement>>;
|