@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.
Files changed (233) hide show
  1. package/README.md +8 -0
  2. package/dist/components/actions/ButtonTile/ButtonTile.module.css.cjs +1 -1
  3. package/dist/components/actions/ButtonTile/ButtonTile.module.css.js +10 -10
  4. package/dist/components/actions/Toolbar/Toolbar.cjs +1 -1
  5. package/dist/components/actions/Toolbar/Toolbar.cjs.map +1 -1
  6. package/dist/components/actions/Toolbar/Toolbar.js +64 -53
  7. package/dist/components/actions/Toolbar/Toolbar.js.map +1 -1
  8. package/dist/components/charts/ChartGauge/ChartGauge.cjs +2 -0
  9. package/dist/components/charts/ChartGauge/ChartGauge.cjs.map +1 -0
  10. package/dist/components/charts/ChartGauge/ChartGauge.js +307 -0
  11. package/dist/components/charts/ChartGauge/ChartGauge.js.map +1 -0
  12. package/dist/components/charts/ChartGauge/ChartGauge.module.css.cjs +2 -0
  13. package/dist/components/charts/ChartGauge/ChartGauge.module.css.cjs.map +1 -0
  14. package/dist/components/charts/ChartGauge/ChartGauge.module.css.js +76 -0
  15. package/dist/components/charts/ChartGauge/ChartGauge.module.css.js.map +1 -0
  16. package/dist/components/charts/ChartGauge/gaugeLayout.cjs +2 -0
  17. package/dist/components/charts/ChartGauge/gaugeLayout.cjs.map +1 -0
  18. package/dist/components/charts/ChartGauge/gaugeLayout.js +107 -0
  19. package/dist/components/charts/ChartGauge/gaugeLayout.js.map +1 -0
  20. package/dist/components/charts/ChartGauge/gaugeReading.cjs +2 -0
  21. package/dist/components/charts/ChartGauge/gaugeReading.cjs.map +1 -0
  22. package/dist/components/charts/ChartGauge/gaugeReading.js +112 -0
  23. package/dist/components/charts/ChartGauge/gaugeReading.js.map +1 -0
  24. package/dist/components/charts/ChartGauge/gaugeScale.cjs +2 -0
  25. package/dist/components/charts/ChartGauge/gaugeScale.cjs.map +1 -0
  26. package/dist/components/charts/ChartGauge/gaugeScale.js +57 -0
  27. package/dist/components/charts/ChartGauge/gaugeScale.js.map +1 -0
  28. package/dist/components/charts/ChartMap/ChartMap.cjs +2 -0
  29. package/dist/components/charts/ChartMap/ChartMap.cjs.map +1 -0
  30. package/dist/components/charts/ChartMap/ChartMap.js +523 -0
  31. package/dist/components/charts/ChartMap/ChartMap.js.map +1 -0
  32. package/dist/components/charts/ChartMap/ChartMap.module.css.cjs +2 -0
  33. package/dist/components/charts/ChartMap/ChartMap.module.css.cjs.map +1 -0
  34. package/dist/components/charts/ChartMap/ChartMap.module.css.js +124 -0
  35. package/dist/components/charts/ChartMap/ChartMap.module.css.js.map +1 -0
  36. package/dist/components/charts/ChartMap/ChartMapLegend.cjs +2 -0
  37. package/dist/components/charts/ChartMap/ChartMapLegend.cjs.map +1 -0
  38. package/dist/components/charts/ChartMap/ChartMapLegend.js +102 -0
  39. package/dist/components/charts/ChartMap/ChartMapLegend.js.map +1 -0
  40. package/dist/components/charts/ChartMap/ChartMapTable.cjs +2 -0
  41. package/dist/components/charts/ChartMap/ChartMapTable.cjs.map +1 -0
  42. package/dist/components/charts/ChartMap/ChartMapTable.js +118 -0
  43. package/dist/components/charts/ChartMap/ChartMapTable.js.map +1 -0
  44. package/dist/components/charts/ChartMap/mapGeometry.cjs +2 -0
  45. package/dist/components/charts/ChartMap/mapGeometry.cjs.map +1 -0
  46. package/dist/components/charts/ChartMap/mapGeometry.js +113 -0
  47. package/dist/components/charts/ChartMap/mapGeometry.js.map +1 -0
  48. package/dist/components/charts/ChartMap/mapLabels.cjs +2 -0
  49. package/dist/components/charts/ChartMap/mapLabels.cjs.map +1 -0
  50. package/dist/components/charts/ChartMap/mapLabels.js +80 -0
  51. package/dist/components/charts/ChartMap/mapLabels.js.map +1 -0
  52. package/dist/components/charts/ChartMap/mapScales.cjs +2 -0
  53. package/dist/components/charts/ChartMap/mapScales.cjs.map +1 -0
  54. package/dist/components/charts/ChartMap/mapScales.js +131 -0
  55. package/dist/components/charts/ChartMap/mapScales.js.map +1 -0
  56. package/dist/components/charts/ChartMap/polylabel.cjs +2 -0
  57. package/dist/components/charts/ChartMap/polylabel.cjs.map +1 -0
  58. package/dist/components/charts/ChartMap/polylabel.js +50 -0
  59. package/dist/components/charts/ChartMap/polylabel.js.map +1 -0
  60. package/dist/components/charts/ChartTimeline/ChartTimeline.cjs +2 -0
  61. package/dist/components/charts/ChartTimeline/ChartTimeline.cjs.map +1 -0
  62. package/dist/components/charts/ChartTimeline/ChartTimeline.js +703 -0
  63. package/dist/components/charts/ChartTimeline/ChartTimeline.js.map +1 -0
  64. package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.cjs +2 -0
  65. package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.cjs.map +1 -0
  66. package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.js +124 -0
  67. package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.js.map +1 -0
  68. package/dist/components/charts/ChartTimeline/ChartTimelineTable.cjs +2 -0
  69. package/dist/components/charts/ChartTimeline/ChartTimelineTable.cjs.map +1 -0
  70. package/dist/components/charts/ChartTimeline/ChartTimelineTable.js +42 -0
  71. package/dist/components/charts/ChartTimeline/ChartTimelineTable.js.map +1 -0
  72. package/dist/components/charts/ChartTimeline/timelineLayout.cjs +2 -0
  73. package/dist/components/charts/ChartTimeline/timelineLayout.cjs.map +1 -0
  74. package/dist/components/charts/ChartTimeline/timelineLayout.js +109 -0
  75. package/dist/components/charts/ChartTimeline/timelineLayout.js.map +1 -0
  76. package/dist/components/charts/ChartTimeline/timelineTime.cjs +2 -0
  77. package/dist/components/charts/ChartTimeline/timelineTime.cjs.map +1 -0
  78. package/dist/components/charts/ChartTimeline/timelineTime.js +91 -0
  79. package/dist/components/charts/ChartTimeline/timelineTime.js.map +1 -0
  80. package/dist/components/charts/ChartTimeline/timelineTooltip.cjs +2 -0
  81. package/dist/components/charts/ChartTimeline/timelineTooltip.cjs.map +1 -0
  82. package/dist/components/charts/ChartTimeline/timelineTooltip.js +77 -0
  83. package/dist/components/charts/ChartTimeline/timelineTooltip.js.map +1 -0
  84. package/dist/components/charts/core/ChartLegend.cjs +1 -1
  85. package/dist/components/charts/core/ChartLegend.cjs.map +1 -1
  86. package/dist/components/charts/core/ChartLegend.js +37 -25
  87. package/dist/components/charts/core/ChartLegend.js.map +1 -1
  88. package/dist/components/charts/core/useChartMetrics.cjs +1 -1
  89. package/dist/components/charts/core/useChartMetrics.cjs.map +1 -1
  90. package/dist/components/charts/core/useChartMetrics.js +20 -25
  91. package/dist/components/charts/core/useChartMetrics.js.map +1 -1
  92. package/dist/components/data-display/CodeBlock/syntax.cjs +10 -3
  93. package/dist/components/data-display/CodeBlock/syntax.cjs.map +1 -1
  94. package/dist/components/data-display/CodeBlock/syntax.js +68 -48
  95. package/dist/components/data-display/CodeBlock/syntax.js.map +1 -1
  96. package/dist/components/data-display/List/List.cjs.map +1 -1
  97. package/dist/components/data-display/List/List.js.map +1 -1
  98. package/dist/components/data-display/List/List.module.css.cjs +1 -1
  99. package/dist/components/data-display/List/List.module.css.js +34 -24
  100. package/dist/components/data-display/List/List.module.css.js.map +1 -1
  101. package/dist/components/data-display/List/ListingOptions.cjs +1 -1
  102. package/dist/components/data-display/List/ListingOptions.cjs.map +1 -1
  103. package/dist/components/data-display/List/ListingOptions.js +98 -74
  104. package/dist/components/data-display/List/ListingOptions.js.map +1 -1
  105. package/dist/components/data-display/List/useListing.cjs.map +1 -1
  106. package/dist/components/data-display/List/useListing.js.map +1 -1
  107. package/dist/components/data-display/Timeline/Timeline.cjs +1 -1
  108. package/dist/components/data-display/Timeline/Timeline.cjs.map +1 -1
  109. package/dist/components/data-display/Timeline/Timeline.js +6 -6
  110. package/dist/components/data-display/Timeline/Timeline.js.map +1 -1
  111. package/dist/components/data-display/Timeline/Timeline.module.css.cjs +1 -1
  112. package/dist/components/data-display/Timeline/Timeline.module.css.js +18 -16
  113. package/dist/components/data-display/Timeline/Timeline.module.css.js.map +1 -1
  114. package/dist/components/forms/Checkbox/Checkbox.module.css.cjs +1 -1
  115. package/dist/components/forms/Checkbox/Checkbox.module.css.js +5 -5
  116. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.cjs +1 -1
  117. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.js +1 -1
  118. package/dist/components/forms/ComboBox/ComboBox.cjs.map +1 -1
  119. package/dist/components/forms/ComboBox/ComboBox.js.map +1 -1
  120. package/dist/components/forms/Field/Field.cjs +1 -1
  121. package/dist/components/forms/Field/Field.cjs.map +1 -1
  122. package/dist/components/forms/Field/Field.js +22 -22
  123. package/dist/components/forms/Field/Field.js.map +1 -1
  124. package/dist/components/forms/Field/Field.module.css.cjs +1 -1
  125. package/dist/components/forms/Field/Field.module.css.js +19 -17
  126. package/dist/components/forms/Field/Field.module.css.js.map +1 -1
  127. package/dist/components/forms/InputText/InputText.cjs +1 -1
  128. package/dist/components/forms/InputText/InputText.cjs.map +1 -1
  129. package/dist/components/forms/InputText/InputText.js +24 -24
  130. package/dist/components/forms/InputText/InputText.js.map +1 -1
  131. package/dist/components/forms/InputText/InputText.module.css.cjs +1 -1
  132. package/dist/components/forms/InputText/InputText.module.css.js +9 -7
  133. package/dist/components/forms/InputText/InputText.module.css.js.map +1 -1
  134. package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs +1 -1
  135. package/dist/components/forms/RadioGroup/RadioGroup.module.css.js +4 -4
  136. package/dist/components/forms/Select/Select.cjs.map +1 -1
  137. package/dist/components/forms/Select/Select.js.map +1 -1
  138. package/dist/components/forms/Switch/Switch.module.css.cjs +1 -1
  139. package/dist/components/forms/Switch/Switch.module.css.js +6 -6
  140. package/dist/components/icons/suite.cjs +1 -0
  141. package/dist/components/icons/suite.js +10894 -0
  142. package/dist/components/navigation/Pagination/Pagination.cjs +1 -1
  143. package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -1
  144. package/dist/components/navigation/Pagination/Pagination.js +71 -44
  145. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  146. package/dist/components/navigation/Pagination/Pagination.module.css.cjs +1 -1
  147. package/dist/components/navigation/Pagination/Pagination.module.css.js +18 -14
  148. package/dist/components/navigation/Pagination/Pagination.module.css.js.map +1 -1
  149. package/dist/components/navigation/TabsNav/TabsNav.cjs +2 -0
  150. package/dist/components/navigation/TabsNav/TabsNav.cjs.map +1 -0
  151. package/dist/components/navigation/TabsNav/TabsNav.js +21 -0
  152. package/dist/components/navigation/TabsNav/TabsNav.js.map +1 -0
  153. package/dist/components/navigation/TabsNav/TabsNav.module.css.cjs +2 -0
  154. package/dist/components/navigation/TabsNav/TabsNav.module.css.cjs.map +1 -0
  155. package/dist/components/navigation/TabsNav/TabsNav.module.css.js +18 -0
  156. package/dist/components/navigation/TabsNav/TabsNav.module.css.js.map +1 -0
  157. package/dist/components/overlays/Dialog/Dialog.cjs.map +1 -1
  158. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  159. package/dist/components/overlays/Dialog/DialogFrame.cjs +1 -1
  160. package/dist/components/overlays/Dialog/DialogFrame.cjs.map +1 -1
  161. package/dist/components/overlays/Dialog/DialogFrame.js +30 -30
  162. package/dist/components/overlays/Dialog/DialogFrame.js.map +1 -1
  163. package/dist/components/overlays/Drawer/Drawer.cjs.map +1 -1
  164. package/dist/components/overlays/Drawer/Drawer.js.map +1 -1
  165. package/dist/components/overlays/Menu/Menu.cjs +1 -1
  166. package/dist/components/overlays/Menu/Menu.cjs.map +1 -1
  167. package/dist/components/overlays/Menu/Menu.js +37 -36
  168. package/dist/components/overlays/Menu/Menu.js.map +1 -1
  169. package/dist/components/overlays/Menu/keyShortcuts.cjs +2 -0
  170. package/dist/components/overlays/Menu/keyShortcuts.cjs.map +1 -0
  171. package/dist/components/overlays/Menu/keyShortcuts.js +55 -0
  172. package/dist/components/overlays/Menu/keyShortcuts.js.map +1 -0
  173. package/dist/components/overlays/Tooltip/Tooltip.cjs +1 -1
  174. package/dist/components/overlays/Tooltip/Tooltip.cjs.map +1 -1
  175. package/dist/components/overlays/Tooltip/Tooltip.js +81 -56
  176. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  177. package/dist/design-system.css +1 -1
  178. package/dist/icons.cjs +2 -0
  179. package/dist/icons.cjs.map +1 -0
  180. package/dist/icons.js +2054 -0
  181. package/dist/icons.js.map +1 -0
  182. package/dist/index.cjs +1 -1
  183. package/dist/index.js +184 -174
  184. package/dist/index.js.map +1 -1
  185. package/dist/types/components/charts/ChartGauge/ChartGauge.d.ts +83 -0
  186. package/dist/types/components/charts/ChartGauge/gaugeLayout.d.ts +64 -0
  187. package/dist/types/components/charts/ChartGauge/gaugeReading.d.ts +97 -0
  188. package/dist/types/components/charts/ChartGauge/gaugeScale.d.ts +38 -0
  189. package/dist/types/components/charts/ChartGauge/index.d.ts +2 -0
  190. package/dist/types/components/charts/ChartMap/ChartMap.d.ts +104 -0
  191. package/dist/types/components/charts/ChartMap/ChartMapLegend.d.ts +44 -0
  192. package/dist/types/components/charts/ChartMap/ChartMapTable.d.ts +38 -0
  193. package/dist/types/components/charts/ChartMap/index.d.ts +4 -0
  194. package/dist/types/components/charts/ChartMap/mapGeometry.d.ts +56 -0
  195. package/dist/types/components/charts/ChartMap/mapLabels.d.ts +51 -0
  196. package/dist/types/components/charts/ChartMap/mapScales.d.ts +76 -0
  197. package/dist/types/components/charts/ChartMap/polylabel.d.ts +9 -0
  198. package/dist/types/components/charts/ChartTimeline/ChartTimeline.d.ts +137 -0
  199. package/dist/types/components/charts/ChartTimeline/ChartTimelineTable.d.ts +25 -0
  200. package/dist/types/components/charts/ChartTimeline/index.d.ts +2 -0
  201. package/dist/types/components/charts/ChartTimeline/timelineLayout.d.ts +70 -0
  202. package/dist/types/components/charts/ChartTimeline/timelineTime.d.ts +16 -0
  203. package/dist/types/components/charts/ChartTimeline/timelineTooltip.d.ts +45 -0
  204. package/dist/types/components/charts/core/ChartLegend.d.ts +3 -1
  205. package/dist/types/components/data-display/CodeBlock/syntax.d.ts +1 -1
  206. package/dist/types/components/data-display/List/List.d.ts +1 -1
  207. package/dist/types/components/data-display/List/useListing.d.ts +7 -1
  208. package/dist/types/components/data-display/Timeline/Timeline.d.ts +4 -1
  209. package/dist/types/components/data-display/Timeline/index.d.ts +1 -1
  210. package/dist/types/components/forms/ComboBox/ComboBox.d.ts +7 -1
  211. package/dist/types/components/forms/Field/Field.d.ts +1 -1
  212. package/dist/types/components/forms/InputText/InputText.d.ts +1 -1
  213. package/dist/types/components/forms/Select/Select.d.ts +5 -1
  214. package/dist/types/components/icons/suite.d.ts +2051 -0
  215. package/dist/types/components/navigation/Pagination/Pagination.d.ts +13 -1
  216. package/dist/types/components/navigation/Pagination/index.d.ts +1 -1
  217. package/dist/types/components/navigation/TabsNav/TabsNav.d.ts +20 -0
  218. package/dist/types/components/navigation/TabsNav/index.d.ts +2 -0
  219. package/dist/types/components/overlays/Dialog/Dialog.d.ts +19 -7
  220. package/dist/types/components/overlays/Dialog/DialogFrame.d.ts +8 -2
  221. package/dist/types/components/overlays/Drawer/Drawer.d.ts +2 -2
  222. package/dist/types/components/overlays/Menu/Menu.d.ts +3 -1
  223. package/dist/types/components/overlays/Menu/keyShortcuts.d.ts +2 -0
  224. package/dist/types/components/overlays/Tooltip/Tooltip.d.ts +26 -5
  225. package/dist/types/icons.d.ts +6 -0
  226. package/dist/types/index.d.ts +11 -3
  227. package/dist/types/utils/formatters/formatarDuracao.d.ts +5 -0
  228. package/dist/types/utils/formatters/index.d.ts +1 -0
  229. package/dist/utils/formatters/formatarDuracao.cjs +2 -0
  230. package/dist/utils/formatters/formatarDuracao.cjs.map +1 -0
  231. package/dist/utils/formatters/formatarDuracao.js +10 -0
  232. package/dist/utils/formatters/formatarDuracao.js.map +1 -0
  233. package/package.json +10 -1
@@ -1,84 +1,109 @@
1
- import { jsxs as v, Fragment as E, jsx as d } from "react/jsx-runtime";
2
- import { useRef as f, useState as M, useId as R, useCallback as p, useEffect as h, cloneElement as B } from "react";
3
- import { createPortal as S } from "react-dom";
4
- import { useOverlayPosition as j } from "@react-aria/overlays";
5
- import { useMergedRefs as x } from "../../../hooks/useMergedRefs.js";
6
- import F from "./Tooltip.module.css.js";
7
- const L = 120;
8
- function i(o, s) {
9
- return (n) => {
10
- o == null || o(n), s(n);
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 C({ children: o, content: s, delay: n = 500, placement: a = "top" }) {
14
- const u = f(null), [c, t] = M(!1), e = f(void 0), m = `tooltip-${R()}`, l = p(() => {
15
- clearTimeout(e.current), t(!1);
16
- }, []), y = p(() => {
17
- clearTimeout(e.current), e.current = setTimeout(() => t(!1), L);
18
- }, []);
19
- h(() => () => clearTimeout(e.current), []);
20
- const r = o.props, T = x(u, r.ref), b = B(o, {
21
- ref: T,
22
- "aria-describedby": c ? [r["aria-describedby"], m].filter(Boolean).join(" ") : r["aria-describedby"],
23
- onMouseEnter: i(r.onMouseEnter, () => {
24
- clearTimeout(e.current), e.current = setTimeout(() => t(!0), n);
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: i(r.onMouseLeave, y),
27
- onFocus: i(r.onFocus, () => t(!0)),
28
- onBlur: i(r.onBlur, l),
29
- onKeyDown: i(r.onKeyDown, (g) => {
30
- g.key === "Escape" && l();
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__ */ v(E, { children: [
34
- b,
35
- c && S(
36
- /* @__PURE__ */ d(
37
- O,
48
+ return /* @__PURE__ */ S(g, { children: [
49
+ B,
50
+ T && typeof document < "u" && v(
51
+ /* @__PURE__ */ a(
52
+ R,
38
53
  {
39
- content: s,
40
- id: m,
41
- onMouseEnter: () => clearTimeout(e.current),
42
- onMouseLeave: l,
43
- placement: a,
44
- triggerRef: u
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 O({
52
- content: o,
53
- id: s,
54
- onMouseEnter: n,
55
- onMouseLeave: a,
56
- placement: u,
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 t = f(null), { overlayProps: e } = j({
84
+ const o = p(null), { overlayProps: l } = I({
60
85
  targetRef: c,
61
- overlayRef: t,
62
- placement: u,
86
+ overlayRef: o,
87
+ placement: i,
63
88
  offset: 6,
64
89
  isOpen: !0
65
90
  });
66
- return /* @__PURE__ */ d(
91
+ return /* @__PURE__ */ a(
67
92
  "div",
68
93
  {
69
- ref: t,
70
- className: F.tooltip,
94
+ ref: o,
95
+ className: x.tooltip,
71
96
  "data-react-aria-top-layer": "true",
72
- id: s,
73
- onMouseEnter: n,
74
- onMouseLeave: a,
97
+ id: u,
98
+ onMouseEnter: r,
99
+ onMouseLeave: t,
75
100
  role: "tooltip",
76
- style: e.style,
77
- children: o
101
+ style: l.style,
102
+ children: e
78
103
  }
79
104
  );
80
105
  }
81
106
  export {
82
- C as Tooltip
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 useCallback,\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} 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\nexport interface TooltipProps {\n children: ReactElement<Record<string, unknown>>;\n content: ReactNode;\n delay?: number;\n placement?: TooltipPlacement;\n}\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({ children, content, delay = 500, placement = 'top' }: TooltipProps) {\n const triggerRef = useRef<HTMLElement>(null);\n const [open, setOpen] = useState(false);\n const timer = useRef<ReturnType<typeof setTimeout>>(undefined);\n const id = `tooltip-${useId()}`;\n\n const hide = useCallback(() => {\n clearTimeout(timer.current);\n setOpen(false);\n }, []);\n\n // O balao aceita o ponteiro (WCAG 1.4.13): sair do gatilho espera a travessia ate ele antes de fechar.\n const hideSoon = useCallback(() => {\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 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 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: React.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","children","content","delay","placement","triggerRef","useRef","open","setOpen","useState","timer","id","useId","hide","useCallback","hideSoon","useEffect","props","mergedTriggerRef","useMergedRefs","trigger","cloneElement","jsxs","Fragment","createPortal","jsx","TooltipBubble","onMouseEnter","onMouseLeave","ref","overlayProps","useOverlayPosition","styles"],"mappings":";;;;;;AA6BA,MAAMA,IAAY;AAElB,SAASC,EAASC,GAAuCC,GAA0B;AACjF,SAAO,CAACC,MAAa;AACnB,IAAAF,KAAA,QAAAA,EAAME,IACND,EAAKC,CAAK;AAAA,EACZ;AACF;AAEO,SAASC,EAAQ,EAAE,UAAAC,GAAU,SAAAC,GAAS,OAAAC,IAAQ,KAAK,WAAAC,IAAY,SAAuB;AAC3F,QAAMC,IAAaC,EAAoB,IAAI,GACrC,CAACC,GAAMC,CAAO,IAAIC,EAAS,EAAK,GAChCC,IAAQJ,EAAsC,MAAS,GACvDK,IAAK,WAAWC,EAAA,CAAO,IAEvBC,IAAOC,EAAY,MAAM;AAC7B,iBAAaJ,EAAM,OAAO,GAC1BF,EAAQ,EAAK;AAAA,EACf,GAAG,CAAA,CAAE,GAGCO,IAAWD,EAAY,MAAM;AACjC,iBAAaJ,EAAM,OAAO,GAC1BA,EAAM,UAAU,WAAW,MAAMF,EAAQ,EAAK,GAAGb,CAAS;AAAA,EAC5D,GAAG,CAAA,CAAE;AAEL,EAAAqB,EAAU,MAAM,MAAM,aAAaN,EAAM,OAAO,GAAG,CAAA,CAAE;AAErD,QAAMO,IAAQhB,EAAS,OACjBiB,IAAmBC,EAAcd,GAAYY,EAAM,GAAmC,GACtFG,IAAUC,EAAapB,GAAU;AAAA,IACrC,KAAKiB;AAAA,IACL,oBAAoBX,IAAO,CAACU,EAAM,kBAAkB,GAAGN,CAAE,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,IAAIM,EAAM,kBAAkB;AAAA,IAC/G,cAAcrB,EAAMqB,EAAM,cAAyC,MAAM;AACvE,mBAAaP,EAAM,OAAO,GAC1BA,EAAM,UAAU,WAAW,MAAMF,EAAQ,EAAI,GAAGL,CAAK;AAAA,IACvD,CAAC;AAAA,IACD,cAAcP,EAAMqB,EAAM,cAAyCF,CAAQ;AAAA,IAC3E,SAASnB,EAAMqB,EAAM,SAAoC,MAAMT,EAAQ,EAAI,CAAC;AAAA,IAC5E,QAAQZ,EAAMqB,EAAM,QAAmCJ,CAAI;AAAA,IAC3D,WAAWjB,EAAMqB,EAAM,WAAyC,CAAClB,MAAU;AACzE,MAAIA,EAAM,QAAQ,YAChBc,EAAA;AAAA,IAEJ,CAAC;AAAA,EAAA,CACF;AAED,SACE,gBAAAS,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAH;AAAA,IACAb,KACCiB;AAAA,MACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAAxB;AAAA,UACA,IAAAS;AAAA,UACA,cAAc,MAAM,aAAaD,EAAM,OAAO;AAAA,UAC9C,cAAcG;AAAA,UACd,WAAAT;AAAA,UACA,YAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,MAEF,SAAS;AAAA,IAAA;AAAA,EACX,GACJ;AAEJ;AAEA,SAASqB,EAAc;AAAA,EACrB,SAAAxB;AAAA,EACA,IAAAS;AAAA,EACA,cAAAgB;AAAA,EACA,cAAAC;AAAA,EACA,WAAAxB;AAAA,EACA,YAAAC;AACF,GAOG;AACD,QAAMwB,IAAMvB,EAAuB,IAAI,GACjC,EAAE,cAAAwB,EAAA,IAAiBC,EAAmB;AAAA,IAC1C,WAAW1B;AAAA,IACX,YAAYwB;AAAA,IACZ,WAAAzB;AAAA,IACA,QAAQ;AAAA,IACR,QAAQ;AAAA,EAAA,CACT;AAED,SACE,gBAAAqB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAI;AAAA,MACA,WAAWG,EAAO;AAAA,MAClB,6BAA0B;AAAA,MAC1B,IAAArB;AAAA,MACA,cAAAgB;AAAA,MACA,cAAAC;AAAA,MACA,MAAK;AAAA,MACL,OAAOE,EAAa;AAAA,MAEnB,UAAA5B;AAAA,IAAA;AAAA,EAAA;AAGP;"}
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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"}