@zag-js/tooltip 1.41.0 → 2.0.0-next.0
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/tooltip.connect.js +8 -10
- package/dist/tooltip.connect.mjs +8 -10
- package/dist/tooltip.dom.js +12 -14
- package/dist/tooltip.dom.mjs +12 -14
- package/dist/tooltip.machine.js +3 -1
- package/dist/tooltip.machine.mjs +3 -1
- package/dist/tooltip.types.d.mts +1 -0
- package/dist/tooltip.types.d.ts +1 -0
- package/package.json +8 -8
package/dist/tooltip.connect.js
CHANGED
|
@@ -51,7 +51,8 @@ function connect(service, normalize) {
|
|
|
51
51
|
const disabled = prop("disabled");
|
|
52
52
|
const popperStyles = (0, import_popper.getPlacementStyles)({
|
|
53
53
|
...prop("positioning"),
|
|
54
|
-
placement: currentPlacement
|
|
54
|
+
placement: currentPlacement,
|
|
55
|
+
positioned: context.get("positioned")
|
|
55
56
|
});
|
|
56
57
|
return {
|
|
57
58
|
open,
|
|
@@ -72,9 +73,8 @@ function connect(service, normalize) {
|
|
|
72
73
|
const current = value == null ? false : triggerValue === value;
|
|
73
74
|
const triggerId = dom.getTriggerId(scope, value);
|
|
74
75
|
return normalize.button({
|
|
75
|
-
...import_tooltip.parts.trigger.attrs,
|
|
76
|
+
...import_tooltip.parts.trigger.attrs(scope.id),
|
|
76
77
|
id: triggerId,
|
|
77
|
-
"data-ownedby": scope.id,
|
|
78
78
|
"data-value": value,
|
|
79
79
|
"data-current": (0, import_dom_query.dataAttr)(current),
|
|
80
80
|
dir: prop("dir"),
|
|
@@ -100,7 +100,7 @@ function connect(service, normalize) {
|
|
|
100
100
|
if (disabled) return;
|
|
101
101
|
if (id !== import_tooltip2.store.get("id")) return;
|
|
102
102
|
const activeEl = event.relatedTarget ?? scope.getDoc().activeElement;
|
|
103
|
-
const focusedAnotherTrigger = activeEl?.closest(`[
|
|
103
|
+
const focusedAnotherTrigger = activeEl?.closest(`[${import_tooltip.parts.trigger.attr}="${scope.id}"]`) != null;
|
|
104
104
|
if (!focusedAnotherTrigger) {
|
|
105
105
|
send({ type: "close", src: "trigger.blur", value, triggerId });
|
|
106
106
|
}
|
|
@@ -139,23 +139,21 @@ function connect(service, normalize) {
|
|
|
139
139
|
},
|
|
140
140
|
getArrowProps() {
|
|
141
141
|
return normalize.element({
|
|
142
|
-
|
|
143
|
-
...import_tooltip.parts.arrow.attrs,
|
|
142
|
+
...import_tooltip.parts.arrow.attrs(scope.id),
|
|
144
143
|
dir: prop("dir"),
|
|
145
144
|
style: popperStyles.arrow
|
|
146
145
|
});
|
|
147
146
|
},
|
|
148
147
|
getArrowTipProps() {
|
|
149
148
|
return normalize.element({
|
|
150
|
-
...import_tooltip.parts.arrowTip.attrs,
|
|
149
|
+
...import_tooltip.parts.arrowTip.attrs(scope.id),
|
|
151
150
|
dir: prop("dir"),
|
|
152
151
|
style: popperStyles.arrowTip
|
|
153
152
|
});
|
|
154
153
|
},
|
|
155
154
|
getPositionerProps() {
|
|
156
155
|
return normalize.element({
|
|
157
|
-
|
|
158
|
-
...import_tooltip.parts.positioner.attrs,
|
|
156
|
+
...import_tooltip.parts.positioner.attrs(scope.id),
|
|
159
157
|
dir: prop("dir"),
|
|
160
158
|
style: popperStyles.floating
|
|
161
159
|
});
|
|
@@ -165,7 +163,7 @@ function connect(service, normalize) {
|
|
|
165
163
|
const isPrevTooltip = import_tooltip2.store.get("prevId") === id;
|
|
166
164
|
const instant = import_tooltip2.store.get("instant") && (open && isCurrentTooltip || isPrevTooltip);
|
|
167
165
|
return normalize.element({
|
|
168
|
-
...import_tooltip.parts.content.attrs,
|
|
166
|
+
...import_tooltip.parts.content.attrs(scope.id),
|
|
169
167
|
dir: prop("dir"),
|
|
170
168
|
hidden: !open,
|
|
171
169
|
"data-state": open ? "open" : "closed",
|
package/dist/tooltip.connect.mjs
CHANGED
|
@@ -17,7 +17,8 @@ function connect(service, normalize) {
|
|
|
17
17
|
const disabled = prop("disabled");
|
|
18
18
|
const popperStyles = getPlacementStyles({
|
|
19
19
|
...prop("positioning"),
|
|
20
|
-
placement: currentPlacement
|
|
20
|
+
placement: currentPlacement,
|
|
21
|
+
positioned: context.get("positioned")
|
|
21
22
|
});
|
|
22
23
|
return {
|
|
23
24
|
open,
|
|
@@ -38,9 +39,8 @@ function connect(service, normalize) {
|
|
|
38
39
|
const current = value == null ? false : triggerValue === value;
|
|
39
40
|
const triggerId = dom.getTriggerId(scope, value);
|
|
40
41
|
return normalize.button({
|
|
41
|
-
...parts.trigger.attrs,
|
|
42
|
+
...parts.trigger.attrs(scope.id),
|
|
42
43
|
id: triggerId,
|
|
43
|
-
"data-ownedby": scope.id,
|
|
44
44
|
"data-value": value,
|
|
45
45
|
"data-current": dataAttr(current),
|
|
46
46
|
dir: prop("dir"),
|
|
@@ -66,7 +66,7 @@ function connect(service, normalize) {
|
|
|
66
66
|
if (disabled) return;
|
|
67
67
|
if (id !== store.get("id")) return;
|
|
68
68
|
const activeEl = event.relatedTarget ?? scope.getDoc().activeElement;
|
|
69
|
-
const focusedAnotherTrigger = activeEl?.closest(`[
|
|
69
|
+
const focusedAnotherTrigger = activeEl?.closest(`[${parts.trigger.attr}="${scope.id}"]`) != null;
|
|
70
70
|
if (!focusedAnotherTrigger) {
|
|
71
71
|
send({ type: "close", src: "trigger.blur", value, triggerId });
|
|
72
72
|
}
|
|
@@ -105,23 +105,21 @@ function connect(service, normalize) {
|
|
|
105
105
|
},
|
|
106
106
|
getArrowProps() {
|
|
107
107
|
return normalize.element({
|
|
108
|
-
|
|
109
|
-
...parts.arrow.attrs,
|
|
108
|
+
...parts.arrow.attrs(scope.id),
|
|
110
109
|
dir: prop("dir"),
|
|
111
110
|
style: popperStyles.arrow
|
|
112
111
|
});
|
|
113
112
|
},
|
|
114
113
|
getArrowTipProps() {
|
|
115
114
|
return normalize.element({
|
|
116
|
-
...parts.arrowTip.attrs,
|
|
115
|
+
...parts.arrowTip.attrs(scope.id),
|
|
117
116
|
dir: prop("dir"),
|
|
118
117
|
style: popperStyles.arrowTip
|
|
119
118
|
});
|
|
120
119
|
},
|
|
121
120
|
getPositionerProps() {
|
|
122
121
|
return normalize.element({
|
|
123
|
-
|
|
124
|
-
...parts.positioner.attrs,
|
|
122
|
+
...parts.positioner.attrs(scope.id),
|
|
125
123
|
dir: prop("dir"),
|
|
126
124
|
style: popperStyles.floating
|
|
127
125
|
});
|
|
@@ -131,7 +129,7 @@ function connect(service, normalize) {
|
|
|
131
129
|
const isPrevTooltip = store.get("prevId") === id;
|
|
132
130
|
const instant = store.get("instant") && (open && isCurrentTooltip || isPrevTooltip);
|
|
133
131
|
return normalize.element({
|
|
134
|
-
...parts.content.attrs,
|
|
132
|
+
...parts.content.attrs(scope.id),
|
|
135
133
|
dir: prop("dir"),
|
|
136
134
|
hidden: !open,
|
|
137
135
|
"data-state": open ? "open" : "closed",
|
package/dist/tooltip.dom.js
CHANGED
|
@@ -32,26 +32,24 @@ __export(tooltip_dom_exports, {
|
|
|
32
32
|
getTriggerId: () => getTriggerId
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(tooltip_dom_exports);
|
|
35
|
-
var import_dom_query = require("@zag-js/dom-query");
|
|
36
35
|
var import_utils = require("@zag-js/utils");
|
|
36
|
+
var import_tooltip = require("./tooltip.anatomy.js");
|
|
37
37
|
var getTriggerId = (scope, value) => {
|
|
38
38
|
const customId = scope.ids?.trigger;
|
|
39
39
|
if (customId != null) return (0, import_utils.isFunction)(customId) ? customId(value) : customId;
|
|
40
|
-
return value ?
|
|
40
|
+
return value ? `${scope.id}:trigger:${value}` : `${scope.id}:trigger`;
|
|
41
41
|
};
|
|
42
|
-
var getContentId = (scope) => scope.ids?.content ??
|
|
43
|
-
var getArrowId = (scope) => scope.ids?.arrow ??
|
|
44
|
-
var getPositionerId = (scope) => scope.ids?.positioner ??
|
|
45
|
-
var getTriggerEl = (scope) => scope.
|
|
46
|
-
var getContentEl = (scope) => scope.
|
|
47
|
-
var getPositionerEl = (scope) => scope.
|
|
48
|
-
var getArrowEl = (scope) => scope.
|
|
49
|
-
var getTriggerEls = (scope) =>
|
|
42
|
+
var getContentId = (scope) => scope.ids?.content ?? `${scope.id}:content`;
|
|
43
|
+
var getArrowId = (scope) => scope.ids?.arrow ?? `${scope.id}:arrow`;
|
|
44
|
+
var getPositionerId = (scope) => scope.ids?.positioner ?? `${scope.id}:popper`;
|
|
45
|
+
var getTriggerEl = (scope) => scope.query(scope.selector(import_tooltip.parts.trigger));
|
|
46
|
+
var getContentEl = (scope) => scope.query(scope.selector(import_tooltip.parts.content));
|
|
47
|
+
var getPositionerEl = (scope) => scope.query(scope.selector(import_tooltip.parts.positioner));
|
|
48
|
+
var getArrowEl = (scope) => scope.query(scope.selector(import_tooltip.parts.arrow));
|
|
49
|
+
var getTriggerEls = (scope) => scope.queryAll(scope.selector(import_tooltip.parts.trigger));
|
|
50
50
|
var getActiveTriggerEl = (scope, value) => {
|
|
51
|
-
if (value == null)
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
return scope.getById(getTriggerId(scope, value));
|
|
51
|
+
if (value == null) return getTriggerEls(scope)[0];
|
|
52
|
+
return scope.query(`${scope.selector(import_tooltip.parts.trigger)}[data-value="${value}"]`);
|
|
55
53
|
};
|
|
56
54
|
// Annotate the CommonJS export names for ESM import in node:
|
|
57
55
|
0 && (module.exports = {
|
package/dist/tooltip.dom.mjs
CHANGED
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
// src/tooltip.dom.ts
|
|
2
|
-
import { queryAll } from "@zag-js/dom-query";
|
|
3
2
|
import { isFunction } from "@zag-js/utils";
|
|
3
|
+
import { parts } from "./tooltip.anatomy.mjs";
|
|
4
4
|
var getTriggerId = (scope, value) => {
|
|
5
5
|
const customId = scope.ids?.trigger;
|
|
6
6
|
if (customId != null) return isFunction(customId) ? customId(value) : customId;
|
|
7
|
-
return value ?
|
|
7
|
+
return value ? `${scope.id}:trigger:${value}` : `${scope.id}:trigger`;
|
|
8
8
|
};
|
|
9
|
-
var getContentId = (scope) => scope.ids?.content ??
|
|
10
|
-
var getArrowId = (scope) => scope.ids?.arrow ??
|
|
11
|
-
var getPositionerId = (scope) => scope.ids?.positioner ??
|
|
12
|
-
var getTriggerEl = (scope) => scope.
|
|
13
|
-
var getContentEl = (scope) => scope.
|
|
14
|
-
var getPositionerEl = (scope) => scope.
|
|
15
|
-
var getArrowEl = (scope) => scope.
|
|
16
|
-
var getTriggerEls = (scope) => queryAll(scope.
|
|
9
|
+
var getContentId = (scope) => scope.ids?.content ?? `${scope.id}:content`;
|
|
10
|
+
var getArrowId = (scope) => scope.ids?.arrow ?? `${scope.id}:arrow`;
|
|
11
|
+
var getPositionerId = (scope) => scope.ids?.positioner ?? `${scope.id}:popper`;
|
|
12
|
+
var getTriggerEl = (scope) => scope.query(scope.selector(parts.trigger));
|
|
13
|
+
var getContentEl = (scope) => scope.query(scope.selector(parts.content));
|
|
14
|
+
var getPositionerEl = (scope) => scope.query(scope.selector(parts.positioner));
|
|
15
|
+
var getArrowEl = (scope) => scope.query(scope.selector(parts.arrow));
|
|
16
|
+
var getTriggerEls = (scope) => scope.queryAll(scope.selector(parts.trigger));
|
|
17
17
|
var getActiveTriggerEl = (scope, value) => {
|
|
18
|
-
if (value == null)
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
return scope.getById(getTriggerId(scope, value));
|
|
18
|
+
if (value == null) return getTriggerEls(scope)[0];
|
|
19
|
+
return scope.query(`${scope.selector(parts.trigger)}[data-value="${value}"]`);
|
|
22
20
|
};
|
|
23
21
|
export {
|
|
24
22
|
getActiveTriggerEl,
|
package/dist/tooltip.machine.js
CHANGED
|
@@ -79,7 +79,8 @@ var machine = (0, import_core.createMachine)({
|
|
|
79
79
|
const triggerElement = dom.getActiveTriggerEl(scope, value);
|
|
80
80
|
onTriggerValueChange({ value, triggerElement });
|
|
81
81
|
}
|
|
82
|
-
}))
|
|
82
|
+
})),
|
|
83
|
+
positioned: bindable(() => ({ defaultValue: false }))
|
|
83
84
|
}),
|
|
84
85
|
watch({ track, action, prop }) {
|
|
85
86
|
track([() => prop("disabled")], () => {
|
|
@@ -382,6 +383,7 @@ var machine = (0, import_core.createMachine)({
|
|
|
382
383
|
defer: true,
|
|
383
384
|
onComplete(data) {
|
|
384
385
|
context.set("currentPlacement", data.placement);
|
|
386
|
+
context.set("positioned", true);
|
|
385
387
|
}
|
|
386
388
|
});
|
|
387
389
|
},
|
package/dist/tooltip.machine.mjs
CHANGED
|
@@ -45,7 +45,8 @@ var machine = createMachine({
|
|
|
45
45
|
const triggerElement = dom.getActiveTriggerEl(scope, value);
|
|
46
46
|
onTriggerValueChange({ value, triggerElement });
|
|
47
47
|
}
|
|
48
|
-
}))
|
|
48
|
+
})),
|
|
49
|
+
positioned: bindable(() => ({ defaultValue: false }))
|
|
49
50
|
}),
|
|
50
51
|
watch({ track, action, prop }) {
|
|
51
52
|
track([() => prop("disabled")], () => {
|
|
@@ -348,6 +349,7 @@ var machine = createMachine({
|
|
|
348
349
|
defer: true,
|
|
349
350
|
onComplete(data) {
|
|
350
351
|
context.set("currentPlacement", data.placement);
|
|
352
|
+
context.set("positioned", true);
|
|
351
353
|
}
|
|
352
354
|
});
|
|
353
355
|
},
|
package/dist/tooltip.types.d.mts
CHANGED
package/dist/tooltip.types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zag-js/tooltip",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-next.0",
|
|
4
4
|
"description": "Core logic for the tooltip widget implemented as a state machine",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"js",
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
"url": "https://github.com/chakra-ui/zag/issues"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@zag-js/anatomy": "
|
|
30
|
-
"@zag-js/core": "
|
|
31
|
-
"@zag-js/popper": "
|
|
32
|
-
"@zag-js/focus-visible": "
|
|
33
|
-
"@zag-js/dom-query": "
|
|
34
|
-
"@zag-js/utils": "
|
|
35
|
-
"@zag-js/types": "
|
|
29
|
+
"@zag-js/anatomy": "2.0.0-next.0",
|
|
30
|
+
"@zag-js/core": "2.0.0-next.0",
|
|
31
|
+
"@zag-js/popper": "2.0.0-next.0",
|
|
32
|
+
"@zag-js/focus-visible": "2.0.0-next.0",
|
|
33
|
+
"@zag-js/dom-query": "2.0.0-next.0",
|
|
34
|
+
"@zag-js/utils": "2.0.0-next.0",
|
|
35
|
+
"@zag-js/types": "2.0.0-next.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"clean-package": "2.2.0"
|