@plenustech/design-system 0.2.3 → 0.2.5
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/README.md +8 -0
- package/dist/components/actions/ButtonTile/ButtonTile.module.css.cjs +1 -1
- package/dist/components/actions/ButtonTile/ButtonTile.module.css.js +10 -10
- package/dist/components/actions/Toolbar/Toolbar.cjs +1 -1
- package/dist/components/actions/Toolbar/Toolbar.cjs.map +1 -1
- package/dist/components/actions/Toolbar/Toolbar.js +64 -53
- package/dist/components/actions/Toolbar/Toolbar.js.map +1 -1
- package/dist/components/charts/ChartGauge/ChartGauge.cjs +2 -0
- package/dist/components/charts/ChartGauge/ChartGauge.cjs.map +1 -0
- package/dist/components/charts/ChartGauge/ChartGauge.js +307 -0
- package/dist/components/charts/ChartGauge/ChartGauge.js.map +1 -0
- package/dist/components/charts/ChartGauge/ChartGauge.module.css.cjs +2 -0
- package/dist/components/charts/ChartGauge/ChartGauge.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartGauge/ChartGauge.module.css.js +76 -0
- package/dist/components/charts/ChartGauge/ChartGauge.module.css.js.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeLayout.cjs +2 -0
- package/dist/components/charts/ChartGauge/gaugeLayout.cjs.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeLayout.js +107 -0
- package/dist/components/charts/ChartGauge/gaugeLayout.js.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeReading.cjs +2 -0
- package/dist/components/charts/ChartGauge/gaugeReading.cjs.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeReading.js +112 -0
- package/dist/components/charts/ChartGauge/gaugeReading.js.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeScale.cjs +2 -0
- package/dist/components/charts/ChartGauge/gaugeScale.cjs.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeScale.js +57 -0
- package/dist/components/charts/ChartGauge/gaugeScale.js.map +1 -0
- package/dist/components/charts/ChartMap/ChartMap.cjs +2 -0
- package/dist/components/charts/ChartMap/ChartMap.cjs.map +1 -0
- package/dist/components/charts/ChartMap/ChartMap.js +523 -0
- package/dist/components/charts/ChartMap/ChartMap.js.map +1 -0
- package/dist/components/charts/ChartMap/ChartMap.module.css.cjs +2 -0
- package/dist/components/charts/ChartMap/ChartMap.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartMap/ChartMap.module.css.js +124 -0
- package/dist/components/charts/ChartMap/ChartMap.module.css.js.map +1 -0
- package/dist/components/charts/ChartMap/ChartMapLegend.cjs +2 -0
- package/dist/components/charts/ChartMap/ChartMapLegend.cjs.map +1 -0
- package/dist/components/charts/ChartMap/ChartMapLegend.js +102 -0
- package/dist/components/charts/ChartMap/ChartMapLegend.js.map +1 -0
- package/dist/components/charts/ChartMap/ChartMapTable.cjs +2 -0
- package/dist/components/charts/ChartMap/ChartMapTable.cjs.map +1 -0
- package/dist/components/charts/ChartMap/ChartMapTable.js +118 -0
- package/dist/components/charts/ChartMap/ChartMapTable.js.map +1 -0
- package/dist/components/charts/ChartMap/mapGeometry.cjs +2 -0
- package/dist/components/charts/ChartMap/mapGeometry.cjs.map +1 -0
- package/dist/components/charts/ChartMap/mapGeometry.js +113 -0
- package/dist/components/charts/ChartMap/mapGeometry.js.map +1 -0
- package/dist/components/charts/ChartMap/mapLabels.cjs +2 -0
- package/dist/components/charts/ChartMap/mapLabels.cjs.map +1 -0
- package/dist/components/charts/ChartMap/mapLabels.js +80 -0
- package/dist/components/charts/ChartMap/mapLabels.js.map +1 -0
- package/dist/components/charts/ChartMap/mapScales.cjs +2 -0
- package/dist/components/charts/ChartMap/mapScales.cjs.map +1 -0
- package/dist/components/charts/ChartMap/mapScales.js +131 -0
- package/dist/components/charts/ChartMap/mapScales.js.map +1 -0
- package/dist/components/charts/ChartMap/polylabel.cjs +2 -0
- package/dist/components/charts/ChartMap/polylabel.cjs.map +1 -0
- package/dist/components/charts/ChartMap/polylabel.js +50 -0
- package/dist/components/charts/ChartMap/polylabel.js.map +1 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.cjs +2 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.js +703 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.js.map +1 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.cjs +2 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.js +124 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.js.map +1 -0
- package/dist/components/charts/ChartTimeline/ChartTimelineTable.cjs +2 -0
- package/dist/components/charts/ChartTimeline/ChartTimelineTable.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/ChartTimelineTable.js +42 -0
- package/dist/components/charts/ChartTimeline/ChartTimelineTable.js.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineLayout.cjs +2 -0
- package/dist/components/charts/ChartTimeline/timelineLayout.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineLayout.js +109 -0
- package/dist/components/charts/ChartTimeline/timelineLayout.js.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineTime.cjs +2 -0
- package/dist/components/charts/ChartTimeline/timelineTime.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineTime.js +91 -0
- package/dist/components/charts/ChartTimeline/timelineTime.js.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineTooltip.cjs +2 -0
- package/dist/components/charts/ChartTimeline/timelineTooltip.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineTooltip.js +77 -0
- package/dist/components/charts/ChartTimeline/timelineTooltip.js.map +1 -0
- package/dist/components/charts/core/ChartLegend.cjs +1 -1
- package/dist/components/charts/core/ChartLegend.cjs.map +1 -1
- package/dist/components/charts/core/ChartLegend.js +37 -25
- package/dist/components/charts/core/ChartLegend.js.map +1 -1
- package/dist/components/charts/core/useChartMetrics.cjs +1 -1
- package/dist/components/charts/core/useChartMetrics.cjs.map +1 -1
- package/dist/components/charts/core/useChartMetrics.js +20 -25
- package/dist/components/charts/core/useChartMetrics.js.map +1 -1
- package/dist/components/data-display/CodeBlock/syntax.cjs +10 -3
- package/dist/components/data-display/CodeBlock/syntax.cjs.map +1 -1
- package/dist/components/data-display/CodeBlock/syntax.js +68 -48
- package/dist/components/data-display/CodeBlock/syntax.js.map +1 -1
- package/dist/components/data-display/List/List.cjs.map +1 -1
- package/dist/components/data-display/List/List.js.map +1 -1
- package/dist/components/data-display/List/List.module.css.cjs +1 -1
- package/dist/components/data-display/List/List.module.css.js +34 -24
- package/dist/components/data-display/List/List.module.css.js.map +1 -1
- package/dist/components/data-display/List/ListingOptions.cjs +1 -1
- package/dist/components/data-display/List/ListingOptions.cjs.map +1 -1
- package/dist/components/data-display/List/ListingOptions.js +98 -74
- package/dist/components/data-display/List/ListingOptions.js.map +1 -1
- package/dist/components/data-display/List/useListing.cjs.map +1 -1
- package/dist/components/data-display/List/useListing.js.map +1 -1
- package/dist/components/data-display/Timeline/Timeline.cjs +1 -1
- package/dist/components/data-display/Timeline/Timeline.cjs.map +1 -1
- package/dist/components/data-display/Timeline/Timeline.js +6 -6
- package/dist/components/data-display/Timeline/Timeline.js.map +1 -1
- package/dist/components/data-display/Timeline/Timeline.module.css.cjs +1 -1
- package/dist/components/data-display/Timeline/Timeline.module.css.js +18 -16
- package/dist/components/data-display/Timeline/Timeline.module.css.js.map +1 -1
- package/dist/components/forms/Checkbox/Checkbox.module.css.cjs +1 -1
- package/dist/components/forms/Checkbox/Checkbox.module.css.js +5 -5
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.cjs +1 -1
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.js +1 -1
- package/dist/components/forms/ComboBox/ComboBox.cjs.map +1 -1
- package/dist/components/forms/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/forms/Field/Field.cjs +1 -1
- package/dist/components/forms/Field/Field.cjs.map +1 -1
- package/dist/components/forms/Field/Field.js +22 -22
- package/dist/components/forms/Field/Field.js.map +1 -1
- package/dist/components/forms/Field/Field.module.css.cjs +1 -1
- package/dist/components/forms/Field/Field.module.css.js +19 -17
- package/dist/components/forms/Field/Field.module.css.js.map +1 -1
- package/dist/components/forms/InputText/InputText.cjs +1 -1
- package/dist/components/forms/InputText/InputText.cjs.map +1 -1
- package/dist/components/forms/InputText/InputText.js +24 -24
- package/dist/components/forms/InputText/InputText.js.map +1 -1
- package/dist/components/forms/InputText/InputText.module.css.cjs +1 -1
- package/dist/components/forms/InputText/InputText.module.css.js +9 -7
- package/dist/components/forms/InputText/InputText.module.css.js.map +1 -1
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs +1 -1
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.js +4 -4
- package/dist/components/forms/Select/Select.cjs.map +1 -1
- package/dist/components/forms/Select/Select.js.map +1 -1
- package/dist/components/forms/Switch/Switch.module.css.cjs +1 -1
- package/dist/components/forms/Switch/Switch.module.css.js +6 -6
- package/dist/components/icons/suite.cjs +1 -0
- package/dist/components/icons/suite.js +10894 -0
- package/dist/components/navigation/Pagination/Pagination.cjs +1 -1
- package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +71 -44
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination/Pagination.module.css.cjs +1 -1
- package/dist/components/navigation/Pagination/Pagination.module.css.js +18 -14
- package/dist/components/navigation/Pagination/Pagination.module.css.js.map +1 -1
- package/dist/components/navigation/TabsNav/TabsNav.cjs +2 -0
- package/dist/components/navigation/TabsNav/TabsNav.cjs.map +1 -0
- package/dist/components/navigation/TabsNav/TabsNav.js +21 -0
- package/dist/components/navigation/TabsNav/TabsNav.js.map +1 -0
- package/dist/components/navigation/TabsNav/TabsNav.module.css.cjs +2 -0
- package/dist/components/navigation/TabsNav/TabsNav.module.css.cjs.map +1 -0
- package/dist/components/navigation/TabsNav/TabsNav.module.css.js +18 -0
- package/dist/components/navigation/TabsNav/TabsNav.module.css.js.map +1 -0
- package/dist/components/overlays/Dialog/Dialog.cjs.map +1 -1
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogFrame.cjs +1 -1
- package/dist/components/overlays/Dialog/DialogFrame.cjs.map +1 -1
- package/dist/components/overlays/Dialog/DialogFrame.js +30 -30
- package/dist/components/overlays/Dialog/DialogFrame.js.map +1 -1
- package/dist/components/overlays/Drawer/Drawer.cjs.map +1 -1
- package/dist/components/overlays/Drawer/Drawer.js.map +1 -1
- package/dist/components/overlays/Menu/Menu.cjs +1 -1
- package/dist/components/overlays/Menu/Menu.cjs.map +1 -1
- package/dist/components/overlays/Menu/Menu.js +37 -36
- package/dist/components/overlays/Menu/Menu.js.map +1 -1
- package/dist/components/overlays/Menu/keyShortcuts.cjs +2 -0
- package/dist/components/overlays/Menu/keyShortcuts.cjs.map +1 -0
- package/dist/components/overlays/Menu/keyShortcuts.js +55 -0
- package/dist/components/overlays/Menu/keyShortcuts.js.map +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.cjs +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +81 -56
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/design-system.css +1 -1
- package/dist/icons.cjs +2 -0
- package/dist/icons.cjs.map +1 -0
- package/dist/icons.js +2054 -0
- package/dist/icons.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +184 -174
- package/dist/index.js.map +1 -1
- package/dist/types/components/charts/ChartGauge/ChartGauge.d.ts +83 -0
- package/dist/types/components/charts/ChartGauge/gaugeLayout.d.ts +64 -0
- package/dist/types/components/charts/ChartGauge/gaugeReading.d.ts +97 -0
- package/dist/types/components/charts/ChartGauge/gaugeScale.d.ts +38 -0
- package/dist/types/components/charts/ChartGauge/index.d.ts +2 -0
- package/dist/types/components/charts/ChartMap/ChartMap.d.ts +104 -0
- package/dist/types/components/charts/ChartMap/ChartMapLegend.d.ts +44 -0
- package/dist/types/components/charts/ChartMap/ChartMapTable.d.ts +38 -0
- package/dist/types/components/charts/ChartMap/index.d.ts +4 -0
- package/dist/types/components/charts/ChartMap/mapGeometry.d.ts +56 -0
- package/dist/types/components/charts/ChartMap/mapLabels.d.ts +51 -0
- package/dist/types/components/charts/ChartMap/mapScales.d.ts +76 -0
- package/dist/types/components/charts/ChartMap/polylabel.d.ts +9 -0
- package/dist/types/components/charts/ChartTimeline/ChartTimeline.d.ts +137 -0
- package/dist/types/components/charts/ChartTimeline/ChartTimelineTable.d.ts +25 -0
- package/dist/types/components/charts/ChartTimeline/index.d.ts +2 -0
- package/dist/types/components/charts/ChartTimeline/timelineLayout.d.ts +70 -0
- package/dist/types/components/charts/ChartTimeline/timelineTime.d.ts +16 -0
- package/dist/types/components/charts/ChartTimeline/timelineTooltip.d.ts +45 -0
- package/dist/types/components/charts/core/ChartLegend.d.ts +3 -1
- package/dist/types/components/data-display/CodeBlock/syntax.d.ts +1 -1
- package/dist/types/components/data-display/List/List.d.ts +1 -1
- package/dist/types/components/data-display/List/useListing.d.ts +7 -1
- package/dist/types/components/data-display/Timeline/Timeline.d.ts +4 -1
- package/dist/types/components/data-display/Timeline/index.d.ts +1 -1
- package/dist/types/components/forms/ComboBox/ComboBox.d.ts +7 -1
- package/dist/types/components/forms/Field/Field.d.ts +1 -1
- package/dist/types/components/forms/InputText/InputText.d.ts +1 -1
- package/dist/types/components/forms/Select/Select.d.ts +5 -1
- package/dist/types/components/icons/suite.d.ts +2051 -0
- package/dist/types/components/navigation/Pagination/Pagination.d.ts +13 -1
- package/dist/types/components/navigation/Pagination/index.d.ts +1 -1
- package/dist/types/components/navigation/TabsNav/TabsNav.d.ts +20 -0
- package/dist/types/components/navigation/TabsNav/index.d.ts +2 -0
- package/dist/types/components/overlays/Dialog/Dialog.d.ts +19 -7
- package/dist/types/components/overlays/Dialog/DialogFrame.d.ts +8 -2
- package/dist/types/components/overlays/Drawer/Drawer.d.ts +2 -2
- package/dist/types/components/overlays/Menu/Menu.d.ts +3 -1
- package/dist/types/components/overlays/Menu/keyShortcuts.d.ts +2 -0
- package/dist/types/components/overlays/Tooltip/Tooltip.d.ts +26 -5
- package/dist/types/icons.d.ts +6 -0
- package/dist/types/index.d.ts +11 -3
- package/dist/types/utils/formatters/formatarDuracao.d.ts +5 -0
- package/dist/types/utils/formatters/index.d.ts +1 -0
- package/dist/utils/formatters/formatarDuracao.cjs +2 -0
- package/dist/utils/formatters/formatarDuracao.cjs.map +1 -0
- package/dist/utils/formatters/formatarDuracao.js +10 -0
- package/dist/utils/formatters/formatarDuracao.js.map +1 -0
- package/package.json +10 -1
|
@@ -1,84 +1,109 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { createPortal as
|
|
4
|
-
import { useOverlayPosition as
|
|
5
|
-
import { useMergedRefs as
|
|
6
|
-
import
|
|
7
|
-
const
|
|
8
|
-
function
|
|
9
|
-
return (
|
|
10
|
-
|
|
1
|
+
import { jsx as a, jsxs as S, Fragment as g } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as b, useRef as p, useState as j, useId as A, cloneElement as F } from "react";
|
|
3
|
+
import { createPortal as v } from "react-dom";
|
|
4
|
+
import { useOverlayPosition as I } from "@react-aria/overlays";
|
|
5
|
+
import { useMergedRefs as P } from "../../../hooks/useMergedRefs.js";
|
|
6
|
+
import x from "./Tooltip.module.css.js";
|
|
7
|
+
const D = 120;
|
|
8
|
+
function f(e, u) {
|
|
9
|
+
return (r) => {
|
|
10
|
+
e == null || e(r), u(r);
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
-
function
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
function H(e) {
|
|
14
|
+
return e.anchorRef ? /* @__PURE__ */ a(q, { ...e }) : /* @__PURE__ */ a(K, { ...e });
|
|
15
|
+
}
|
|
16
|
+
function K({
|
|
17
|
+
children: e,
|
|
18
|
+
content: u,
|
|
19
|
+
delay: r = 500,
|
|
20
|
+
onOpenChange: t,
|
|
21
|
+
open: i,
|
|
22
|
+
placement: c = "top"
|
|
23
|
+
}) {
|
|
24
|
+
const o = p(null), [l, M] = j(!1), T = i ?? l, s = p(void 0), E = `tooltip-${A()}`;
|
|
25
|
+
function d(m) {
|
|
26
|
+
M(m), t == null || t(m);
|
|
27
|
+
}
|
|
28
|
+
function y() {
|
|
29
|
+
clearTimeout(s.current), d(!1);
|
|
30
|
+
}
|
|
31
|
+
function L() {
|
|
32
|
+
clearTimeout(s.current), s.current = setTimeout(() => d(!1), D);
|
|
33
|
+
}
|
|
34
|
+
b(() => () => clearTimeout(s.current), []);
|
|
35
|
+
const n = e.props, k = P(o, n.ref), B = F(e, {
|
|
36
|
+
ref: k,
|
|
37
|
+
"aria-describedby": T ? [n["aria-describedby"], E].filter(Boolean).join(" ") : n["aria-describedby"],
|
|
38
|
+
onMouseEnter: f(n.onMouseEnter, () => {
|
|
39
|
+
clearTimeout(s.current), s.current = setTimeout(() => d(!0), r);
|
|
25
40
|
}),
|
|
26
|
-
onMouseLeave:
|
|
27
|
-
onFocus:
|
|
28
|
-
onBlur:
|
|
29
|
-
onKeyDown:
|
|
30
|
-
|
|
41
|
+
onMouseLeave: f(n.onMouseLeave, L),
|
|
42
|
+
onFocus: f(n.onFocus, () => d(!0)),
|
|
43
|
+
onBlur: f(n.onBlur, y),
|
|
44
|
+
onKeyDown: f(n.onKeyDown, (m) => {
|
|
45
|
+
m.key === "Escape" && y();
|
|
31
46
|
})
|
|
32
47
|
});
|
|
33
|
-
return /* @__PURE__ */
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
/* @__PURE__ */
|
|
37
|
-
|
|
48
|
+
return /* @__PURE__ */ S(g, { children: [
|
|
49
|
+
B,
|
|
50
|
+
T && typeof document < "u" && v(
|
|
51
|
+
/* @__PURE__ */ a(
|
|
52
|
+
R,
|
|
38
53
|
{
|
|
39
|
-
content:
|
|
40
|
-
id:
|
|
41
|
-
onMouseEnter: () => clearTimeout(
|
|
42
|
-
onMouseLeave:
|
|
43
|
-
placement:
|
|
44
|
-
triggerRef:
|
|
54
|
+
content: u,
|
|
55
|
+
id: E,
|
|
56
|
+
onMouseEnter: () => clearTimeout(s.current),
|
|
57
|
+
onMouseLeave: y,
|
|
58
|
+
placement: c,
|
|
59
|
+
triggerRef: o
|
|
45
60
|
}
|
|
46
61
|
),
|
|
47
62
|
document.body
|
|
48
63
|
)
|
|
49
64
|
] });
|
|
50
65
|
}
|
|
51
|
-
function
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
66
|
+
function q({ anchorRef: e, content: u, id: r, onOpenChange: t, open: i, placement: c = "top" }) {
|
|
67
|
+
return b(() => {
|
|
68
|
+
if (!i)
|
|
69
|
+
return;
|
|
70
|
+
function o(l) {
|
|
71
|
+
l.key === "Escape" && (t == null || t(!1));
|
|
72
|
+
}
|
|
73
|
+
return document.addEventListener("keydown", o), () => document.removeEventListener("keydown", o);
|
|
74
|
+
}, [t, i]), !i || typeof document > "u" ? null : v(/* @__PURE__ */ a(R, { content: u, id: r, placement: c, triggerRef: e }), document.body);
|
|
75
|
+
}
|
|
76
|
+
function R({
|
|
77
|
+
content: e,
|
|
78
|
+
id: u,
|
|
79
|
+
onMouseEnter: r,
|
|
80
|
+
onMouseLeave: t,
|
|
81
|
+
placement: i,
|
|
57
82
|
triggerRef: c
|
|
58
83
|
}) {
|
|
59
|
-
const
|
|
84
|
+
const o = p(null), { overlayProps: l } = I({
|
|
60
85
|
targetRef: c,
|
|
61
|
-
overlayRef:
|
|
62
|
-
placement:
|
|
86
|
+
overlayRef: o,
|
|
87
|
+
placement: i,
|
|
63
88
|
offset: 6,
|
|
64
89
|
isOpen: !0
|
|
65
90
|
});
|
|
66
|
-
return /* @__PURE__ */
|
|
91
|
+
return /* @__PURE__ */ a(
|
|
67
92
|
"div",
|
|
68
93
|
{
|
|
69
|
-
ref:
|
|
70
|
-
className:
|
|
94
|
+
ref: o,
|
|
95
|
+
className: x.tooltip,
|
|
71
96
|
"data-react-aria-top-layer": "true",
|
|
72
|
-
id:
|
|
73
|
-
onMouseEnter:
|
|
74
|
-
onMouseLeave:
|
|
97
|
+
id: u,
|
|
98
|
+
onMouseEnter: r,
|
|
99
|
+
onMouseLeave: t,
|
|
75
100
|
role: "tooltip",
|
|
76
|
-
style:
|
|
77
|
-
children:
|
|
101
|
+
style: l.style,
|
|
102
|
+
children: e
|
|
78
103
|
}
|
|
79
104
|
);
|
|
80
105
|
}
|
|
81
106
|
export {
|
|
82
|
-
|
|
107
|
+
H as Tooltip
|
|
83
108
|
};
|
|
84
109
|
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sources":["../../../../src/components/overlays/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n cloneElement,\n
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sources":["../../../../src/components/overlays/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n cloneElement,\n useEffect,\n useId,\n useRef,\n useState,\n type FocusEvent,\n type KeyboardEvent,\n type MouseEvent,\n type ReactElement,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { useOverlayPosition } from '@react-aria/overlays';\nimport { useMergedRefs } from '../../../hooks/useMergedRefs';\nimport styles from './Tooltip.module.css';\n\nexport type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';\n\ninterface TooltipCommonProps {\n content: ReactNode;\n /** Avisa cada pedido de abrir ou fechar: ponteiro, foco, blur e Escape. */\n onOpenChange?: (open: boolean) => void;\n placement?: TooltipPlacement;\n}\n\ninterface TooltipOnChildProps extends TooltipCommonProps {\n anchorRef?: never;\n /** O gatilho: o Tooltip o clona, soma os manipuladores e liga a descrição por `aria-describedby`. */\n children: ReactElement<Record<string, unknown>>;\n delay?: number;\n id?: never;\n /** Controla a abertura; sem ele, o Tooltip guarda o próprio estado. */\n open?: boolean;\n}\n\ninterface TooltipOnAnchorProps extends TooltipCommonProps {\n /** Âncora que não é filho do Tooltip, como um elemento que precisa da própria referência e não pode ser clonado. */\n anchorRef: RefObject<HTMLElement | null>;\n children?: never;\n delay?: never;\n /** Id do balão. O produto o põe no `aria-describedby` da âncora enquanto `open`. */\n id: string;\n /** Com âncora externa, a abertura é sempre do produto. */\n open: boolean;\n}\n\nexport type TooltipProps = TooltipOnChildProps | TooltipOnAnchorProps;\n\n/** Tempo para o ponteiro atravessar a folga entre o gatilho e o balao. */\nconst TRAVESSIA = 120;\n\nfunction chain<E>(own: ((event: E) => void) | undefined, next: (event: E) => void) {\n return (event: E) => {\n own?.(event);\n next(event);\n };\n}\n\nexport function Tooltip(props: TooltipProps) {\n return props.anchorRef ? <TooltipOnAnchor {...props} /> : <TooltipOnChild {...props} />;\n}\n\nfunction TooltipOnChild({\n children,\n content,\n delay = 500,\n onOpenChange,\n open: controlledOpen,\n placement = 'top',\n}: TooltipOnChildProps) {\n const triggerRef = useRef<HTMLElement>(null);\n const [internalOpen, setInternalOpen] = useState(false);\n const open = controlledOpen ?? internalOpen;\n const timer = useRef<ReturnType<typeof setTimeout>>(undefined);\n const id = `tooltip-${useId()}`;\n\n function setOpen(next: boolean) {\n setInternalOpen(next);\n onOpenChange?.(next);\n }\n\n function hide() {\n clearTimeout(timer.current);\n setOpen(false);\n }\n\n // O balão aceita o ponteiro (WCAG 1.4.13): sair do gatilho espera a travessia até ele antes de fechar.\n function hideSoon() {\n clearTimeout(timer.current);\n timer.current = setTimeout(() => setOpen(false), TRAVESSIA);\n }\n\n useEffect(() => () => clearTimeout(timer.current), []);\n\n const props = children.props;\n const mergedTriggerRef = useMergedRefs(triggerRef, props.ref as Ref<HTMLElement> | undefined);\n const trigger = cloneElement(children, {\n ref: mergedTriggerRef,\n 'aria-describedby': open ? [props['aria-describedby'], id].filter(Boolean).join(' ') : props['aria-describedby'],\n onMouseEnter: chain(props.onMouseEnter as (e: MouseEvent) => void, () => {\n clearTimeout(timer.current);\n timer.current = setTimeout(() => setOpen(true), delay);\n }),\n onMouseLeave: chain(props.onMouseLeave as (e: MouseEvent) => void, hideSoon),\n onFocus: chain(props.onFocus as (e: FocusEvent) => void, () => setOpen(true)),\n onBlur: chain(props.onBlur as (e: FocusEvent) => void, hide),\n onKeyDown: chain(props.onKeyDown as (e: KeyboardEvent) => void, (event) => {\n if (event.key === 'Escape') {\n hide();\n }\n }),\n });\n\n return (\n <>\n {trigger}\n {open &&\n typeof document !== 'undefined' &&\n createPortal(\n <TooltipBubble\n content={content}\n id={id}\n onMouseEnter={() => clearTimeout(timer.current)}\n onMouseLeave={hide}\n placement={placement}\n triggerRef={triggerRef}\n />,\n document.body,\n )}\n </>\n );\n}\n\nfunction TooltipOnAnchor({ anchorRef, content, id, onOpenChange, open, placement = 'top' }: TooltipOnAnchorProps) {\n // O foco pode estar fora da âncora, como no editor que a contém; o Escape vale em qualquer ponto da página.\n useEffect(() => {\n if (!open) {\n return;\n }\n\n function requestCloseOnEscape(event: globalThis.KeyboardEvent) {\n if (event.key === 'Escape') {\n onOpenChange?.(false);\n }\n }\n\n document.addEventListener('keydown', requestCloseOnEscape);\n return () => document.removeEventListener('keydown', requestCloseOnEscape);\n }, [onOpenChange, open]);\n\n if (!open || typeof document === 'undefined') {\n return null;\n }\n\n return createPortal(<TooltipBubble content={content} id={id} placement={placement} triggerRef={anchorRef} />, document.body);\n}\n\nfunction TooltipBubble({\n content,\n id,\n onMouseEnter,\n onMouseLeave,\n placement,\n triggerRef,\n}: {\n content: ReactNode;\n id: string;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n placement: TooltipPlacement;\n triggerRef: RefObject<HTMLElement | null>;\n}) {\n const ref = useRef<HTMLDivElement>(null);\n const { overlayProps } = useOverlayPosition({\n targetRef: triggerRef,\n overlayRef: ref,\n placement,\n offset: 6,\n isOpen: true,\n });\n\n return (\n <div\n ref={ref}\n className={styles.tooltip}\n data-react-aria-top-layer=\"true\"\n id={id}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n role=\"tooltip\"\n style={overlayProps.style}\n >\n {content}\n </div>\n );\n}\n"],"names":["TRAVESSIA","chain","own","next","event","Tooltip","props","jsx","TooltipOnAnchor","TooltipOnChild","children","content","delay","onOpenChange","controlledOpen","placement","triggerRef","useRef","internalOpen","setInternalOpen","useState","open","timer","id","useId","setOpen","hide","hideSoon","useEffect","mergedTriggerRef","useMergedRefs","trigger","cloneElement","jsxs","Fragment","createPortal","TooltipBubble","anchorRef","requestCloseOnEscape","onMouseEnter","onMouseLeave","ref","overlayProps","useOverlayPosition","styles"],"mappings":"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"}
|