@apipass/design-system 3.1.0 → 4.0.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.
Files changed (52) hide show
  1. package/dist/lib/embedded-styles.js +1 -1
  2. package/dist/lib/json-viewer.index.cjs +2 -0
  3. package/dist/lib/json-viewer.index.cjs.map +1 -0
  4. package/dist/lib/json-viewer.index.js +5 -0
  5. package/dist/lib/json-viewer.index.js.map +1 -0
  6. package/dist/lib/lib.index.cjs +1 -1
  7. package/dist/lib/lib.index.js +645 -642
  8. package/dist/lib/lib.index.js.map +1 -1
  9. package/dist/lib/style.css +1 -1
  10. package/dist/lib/ui/hooks/useOverlayPortal.cjs +2 -0
  11. package/dist/lib/ui/hooks/useOverlayPortal.cjs.map +1 -0
  12. package/dist/lib/ui/hooks/useOverlayPortal.js +17 -0
  13. package/dist/lib/ui/hooks/useOverlayPortal.js.map +1 -0
  14. package/dist/lib/ui/primitives/ComboBox/ComboBox.cjs +1 -1
  15. package/dist/lib/ui/primitives/ComboBox/ComboBox.cjs.map +1 -1
  16. package/dist/lib/ui/primitives/ComboBox/ComboBox.js +31 -30
  17. package/dist/lib/ui/primitives/ComboBox/ComboBox.js.map +1 -1
  18. package/dist/lib/ui/primitives/DateRangePicker/DateRangePicker.cjs +1 -1
  19. package/dist/lib/ui/primitives/DateRangePicker/DateRangePicker.cjs.map +1 -1
  20. package/dist/lib/ui/primitives/DateRangePicker/DateRangePicker.js +187 -178
  21. package/dist/lib/ui/primitives/DateRangePicker/DateRangePicker.js.map +1 -1
  22. package/dist/lib/ui/primitives/Dialog/Dialog.cjs +1 -1
  23. package/dist/lib/ui/primitives/Dialog/Dialog.cjs.map +1 -1
  24. package/dist/lib/ui/primitives/Dialog/Dialog.js +52 -41
  25. package/dist/lib/ui/primitives/Dialog/Dialog.js.map +1 -1
  26. package/dist/lib/ui/primitives/JsonViewer/JsonViewer.cjs +2 -0
  27. package/dist/lib/ui/primitives/JsonViewer/JsonViewer.cjs.map +1 -0
  28. package/dist/lib/ui/primitives/JsonViewer/JsonViewer.js +121 -0
  29. package/dist/lib/ui/primitives/JsonViewer/JsonViewer.js.map +1 -0
  30. package/dist/lib/ui/primitives/Menu/Menu.cjs +1 -1
  31. package/dist/lib/ui/primitives/Menu/Menu.cjs.map +1 -1
  32. package/dist/lib/ui/primitives/Menu/Menu.js +68 -57
  33. package/dist/lib/ui/primitives/Menu/Menu.js.map +1 -1
  34. package/dist/lib/ui/primitives/Search/Search.cjs +1 -1
  35. package/dist/lib/ui/primitives/Search/Search.cjs.map +1 -1
  36. package/dist/lib/ui/primitives/Search/Search.js +21 -20
  37. package/dist/lib/ui/primitives/Search/Search.js.map +1 -1
  38. package/dist/lib/ui/primitives/Select/Select.cjs +1 -1
  39. package/dist/lib/ui/primitives/Select/Select.cjs.map +1 -1
  40. package/dist/lib/ui/primitives/Select/Select.js +31 -30
  41. package/dist/lib/ui/primitives/Select/Select.js.map +1 -1
  42. package/dist/lib/ui/primitives/Tooltip/Tooltip.cjs +1 -1
  43. package/dist/lib/ui/primitives/Tooltip/Tooltip.cjs.map +1 -1
  44. package/dist/lib/ui/primitives/Tooltip/Tooltip.js +56 -53
  45. package/dist/lib/ui/primitives/Tooltip/Tooltip.js.map +1 -1
  46. package/dist/types/json-viewer.index.d.ts +1 -0
  47. package/dist/types/ui/hooks/index.d.ts +1 -0
  48. package/dist/types/ui/hooks/useOverlayPortal.d.ts +15 -0
  49. package/dist/types/ui/primitives/Dialog/Dialog.d.ts +1 -1
  50. package/dist/types/ui/primitives/JsonViewer/JsonViewer.d.ts +16 -0
  51. package/dist/types/ui/primitives/Menu/Menu.d.ts +1 -1
  52. package/package.json +34 -1
@@ -1,95 +1,98 @@
1
- import { jsxs as a, jsx as o, Fragment as h } from "react/jsx-runtime";
1
+ import { jsxs as l, jsx as o, Fragment as v } from "react/jsx-runtime";
2
2
  import { clsx as d } from "../../../vendor/clsx/dist/clsx.js";
3
- import { useRef as u } from "react";
4
- import { useTooltipTrigger as v } from "../../../vendor/@react-aria/tooltip/dist/useTooltipTrigger.js";
5
- import { useTooltipTriggerState as x } from "../../../vendor/@react-stately/tooltip/dist/useTooltipTriggerState.js";
6
- import { DialogTrigger as b, Popover as N, Dialog as $, OverlayArrow as w, TooltipTriggerStateContext as y, Tooltip as L } from "react-aria-components";
3
+ import { useRef as N } from "react";
4
+ import { useTooltipTrigger as x } from "../../../vendor/@react-aria/tooltip/dist/useTooltipTrigger.js";
5
+ import { useTooltipTriggerState as b } from "../../../vendor/@react-stately/tooltip/dist/useTooltipTriggerState.js";
6
+ import { DialogTrigger as C, Popover as L, Dialog as $, OverlayArrow as w, TooltipTriggerStateContext as y, Tooltip as A } from "react-aria-components";
7
7
  /* empty css */
8
- function P({
9
- children: r,
8
+ import { useOverlayPortalContainer as T } from "../../hooks/useOverlayPortal.js";
9
+ function B({
10
+ children: t,
10
11
  content: e,
11
- className: t,
12
+ className: i,
12
13
  offset: s,
13
- delay: c,
14
- closeDelay: p,
15
- placement: n
14
+ delay: n,
15
+ closeDelay: c,
16
+ placement: p
16
17
  }) {
17
- const l = x({ delay: c, closeDelay: p }), i = u(null), { triggerProps: g, tooltipProps: T } = v(
18
+ const a = b({ delay: n, closeDelay: c }), r = N(null), { triggerProps: g, tooltipProps: m } = x(
18
19
  {},
19
- l,
20
- i
21
- ), f = d(t, "tooltip");
22
- return /* @__PURE__ */ a(h, { children: [
23
- /* @__PURE__ */ o("span", { ref: i, className: "tooltip-trigger-wrapper", ...g, children: r }),
24
- /* @__PURE__ */ o(y.Provider, { value: l, children: /* @__PURE__ */ a(
25
- L,
20
+ a,
21
+ r
22
+ ), u = d(i, "tooltip"), h = T();
23
+ return /* @__PURE__ */ l(v, { children: [
24
+ /* @__PURE__ */ o("span", { ref: r, className: "tooltip-trigger-wrapper", ...g, children: t }),
25
+ /* @__PURE__ */ o(y.Provider, { value: a, children: /* @__PURE__ */ l(
26
+ A,
26
27
  {
27
- ...T,
28
- triggerRef: i,
29
- className: f,
28
+ ...m,
29
+ triggerRef: r,
30
+ className: u,
30
31
  offset: s,
31
- placement: n,
32
+ placement: p,
33
+ UNSTABLE_portalContainer: h,
32
34
  children: [
33
- /* @__PURE__ */ o(m, {}),
35
+ /* @__PURE__ */ o(f, {}),
34
36
  /* @__PURE__ */ o("div", { className: "dialog dialog-type-card", children: e })
35
37
  ]
36
38
  }
37
39
  ) })
38
40
  ] });
39
41
  }
40
- function S({
41
- children: r,
42
+ function M({
43
+ children: t,
42
44
  content: e,
43
- className: t,
45
+ className: i,
44
46
  offset: s = 16,
45
- trigger: c = "hover",
46
- delay: p = 500,
47
- closeDelay: n = 100,
48
- placement: l,
49
- ...i
47
+ trigger: n = "hover",
48
+ delay: c = 500,
49
+ closeDelay: p = 100,
50
+ placement: a,
51
+ ...r
50
52
  }) {
51
- const g = d(t, "tooltip");
52
- return c === "click" ? /* @__PURE__ */ a(b, { children: [
53
- r,
54
- /* @__PURE__ */ a(
55
- N,
53
+ const g = d(i, "tooltip"), m = T();
54
+ return n === "click" ? /* @__PURE__ */ l(C, { children: [
55
+ t,
56
+ /* @__PURE__ */ l(
57
+ L,
56
58
  {
57
- ...i,
59
+ ...r,
58
60
  className: g,
59
61
  offset: s,
60
- placement: l,
62
+ placement: a,
63
+ UNSTABLE_portalContainer: r.UNSTABLE_portalContainer ?? m,
61
64
  children: [
62
- /* @__PURE__ */ o(m, {}),
65
+ /* @__PURE__ */ o(f, {}),
63
66
  /* @__PURE__ */ o($, { className: "dialog dialog-type-card", "aria-label": "Tooltip", children: e })
64
67
  ]
65
68
  }
66
69
  )
67
70
  ] }) : /* @__PURE__ */ o(
68
- P,
71
+ B,
69
72
  {
70
73
  content: e,
71
- className: t,
74
+ className: i,
72
75
  offset: s,
73
- delay: p,
74
- closeDelay: n,
75
- placement: l,
76
- ...i,
77
- children: r
76
+ delay: c,
77
+ closeDelay: p,
78
+ placement: a,
79
+ ...r,
80
+ children: t
78
81
  }
79
82
  );
80
83
  }
81
- function m({
82
- className: r,
84
+ function f({
85
+ className: t,
83
86
  ...e
84
87
  }) {
85
- const t = d(r, "tooltip-overlay-arrow");
86
- return /* @__PURE__ */ a(w, { ...e, className: t, children: [
88
+ const i = d(t, "tooltip-overlay-arrow");
89
+ return /* @__PURE__ */ l(w, { ...e, className: i, children: [
87
90
  /* @__PURE__ */ o("svg", { viewBox: "0 0 10 5", children: /* @__PURE__ */ o("path", { d: "M0 0 L5 5 L10 0" }) }),
88
91
  /* @__PURE__ */ o("svg", { viewBox: "0 0 10 5", children: /* @__PURE__ */ o("path", { d: "M0 0 L5 5 L10 0" }) })
89
92
  ] });
90
93
  }
91
94
  export {
92
- S as Tooltip,
93
- m as TooltipOverlayArrow
95
+ M as Tooltip,
96
+ f as TooltipOverlayArrow
94
97
  };
95
98
  //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../../../src/ui/primitives/Tooltip/Tooltip.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useRef } from \"react\";\nimport { useTooltipTrigger } from \"@react-aria/tooltip\";\nimport { useTooltipTriggerState } from \"@react-stately/tooltip\";\nimport {\n DialogTrigger as RACDialogTrigger,\n Dialog as RACDialog,\n OverlayArrow as RACOverlayArrow,\n Popover as RACPopover,\n Tooltip as RACTooltip,\n TooltipTriggerStateContext,\n type OverlayArrowProps as RACOverlayArrowProps,\n type PopoverProps as RACPopoverProps,\n} from \"react-aria-components\";\nimport \"./tooltip.css\";\n\nexport type TooltipTrigger = \"hover\" | \"click\";\n\nexport interface TooltipProps\n extends Omit<\n RACPopoverProps,\n \"children\" | \"isOpen\" | \"defaultOpen\" | \"onOpenChange\" | \"triggerRef\"\n > {\n children: React.ReactNode;\n content: React.ReactNode;\n trigger?: TooltipTrigger;\n delay?: number;\n closeDelay?: number;\n}\n\nfunction HoverTooltip({\n children,\n content,\n className,\n offset,\n delay,\n closeDelay,\n placement,\n}: Omit<TooltipProps, \"trigger\">) {\n const state = useTooltipTriggerState({ delay, closeDelay });\n const triggerRef = useRef<HTMLSpanElement>(null);\n const { triggerProps, tooltipProps } = useTooltipTrigger(\n { delay, closeDelay },\n state,\n triggerRef,\n );\n const classNames = clsx(className, \"tooltip\");\n\n return (\n <>\n <span ref={triggerRef} className=\"tooltip-trigger-wrapper\" {...triggerProps}>\n {children}\n </span>\n <TooltipTriggerStateContext.Provider value={state}>\n <RACTooltip\n {...tooltipProps}\n triggerRef={triggerRef}\n className={classNames}\n offset={offset}\n placement={placement}\n >\n <TooltipOverlayArrow />\n <div className=\"dialog dialog-type-card\">{content}</div>\n </RACTooltip>\n </TooltipTriggerStateContext.Provider>\n </>\n );\n}\n\nexport function Tooltip({\n children,\n content,\n className,\n offset = 16,\n trigger = \"hover\",\n delay = 500,\n closeDelay = 100,\n placement,\n ...popoverProps\n}: TooltipProps) {\n const classNames = clsx(className, \"tooltip\");\n\n if (trigger === \"click\") {\n return (\n <RACDialogTrigger>\n {children}\n <RACPopover\n {...popoverProps}\n className={classNames}\n offset={offset}\n placement={placement}\n >\n <TooltipOverlayArrow />\n <RACDialog className=\"dialog dialog-type-card\" aria-label=\"Tooltip\">\n {content}\n </RACDialog>\n </RACPopover>\n </RACDialogTrigger>\n );\n }\n\n return (\n <HoverTooltip\n content={content}\n className={className}\n offset={offset}\n delay={delay}\n closeDelay={closeDelay}\n placement={placement}\n {...popoverProps}\n >\n {children}\n </HoverTooltip>\n );\n}\n\nexport type TooltipOverlayArrowProps = RACOverlayArrowProps;\nexport function TooltipOverlayArrow({\n className,\n ...props\n}: TooltipOverlayArrowProps) {\n const classNames = clsx(className, \"tooltip-overlay-arrow\");\n return (\n <RACOverlayArrow {...props} className={classNames}>\n <svg viewBox=\"0 0 10 5\">\n <path d=\"M0 0 L5 5 L10 0\" />\n </svg>\n <svg viewBox=\"0 0 10 5\">\n <path d=\"M0 0 L5 5 L10 0\" />\n </svg>\n </RACOverlayArrow>\n );\n}\n"],"names":["HoverTooltip","children","content","className","offset","delay","closeDelay","placement","state","useTooltipTriggerState","triggerRef","useRef","triggerProps","tooltipProps","useTooltipTrigger","classNames","clsx","jsxs","Fragment","jsx","TooltipTriggerStateContext","RACTooltip","TooltipOverlayArrow","Tooltip","trigger","popoverProps","RACDialogTrigger","RACPopover","RACDialog","props","RACOverlayArrow"],"mappings":";;;;;;;AA8BA,SAASA,EAAa;AAAA,EACpB,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AACF,GAAkC;AAChC,QAAMC,IAAQC,EAAuB,EAAE,OAAAJ,GAAO,YAAAC,GAAY,GACpDI,IAAaC,EAAwB,IAAI,GACzC,EAAE,cAAAC,GAAc,cAAAC,EAAA,IAAiBC;AAAAA,IACrC,CAAoB;AAAA,IACpBN;AAAA,IACAE;AAAA,EAAA,GAEIK,IAAaC,EAAKb,GAAW,SAAS;AAE5C,SACE,gBAAAc,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC,EAAC,UAAK,KAAKT,GAAY,WAAU,2BAA2B,GAAGE,GAC5D,UAAAX,GACH;AAAA,IACA,gBAAAkB,EAACC,EAA2B,UAA3B,EAAoC,OAAOZ,GAC1C,UAAA,gBAAAS;AAAA,MAACI;AAAAA,MAAA;AAAA,QACE,GAAGR;AAAA,QACJ,YAAAH;AAAA,QACA,WAAWK;AAAA,QACX,QAAAX;AAAA,QACA,WAAAG;AAAA,QAEA,UAAA;AAAA,UAAA,gBAAAY,EAACG,GAAA,EAAoB;AAAA,UACrB,gBAAAH,EAAC,OAAA,EAAI,WAAU,2BAA2B,UAAAjB,EAAA,CAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,EACpD,CACF;AAAA,EAAA,GACF;AAEJ;AAEO,SAASqB,EAAQ;AAAA,EACtB,UAAAtB;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,SAAAoB,IAAU;AAAA,EACV,OAAAnB,IAAQ;AAAA,EACR,YAAAC,IAAa;AAAA,EACb,WAAAC;AAAA,EACA,GAAGkB;AACL,GAAiB;AACf,QAAMV,IAAaC,EAAKb,GAAW,SAAS;AAE5C,SAAIqB,MAAY,4BAEXE,GAAA,EACE,UAAA;AAAA,IAAAzB;AAAA,IACD,gBAAAgB;AAAA,MAACU;AAAAA,MAAA;AAAA,QACE,GAAGF;AAAA,QACJ,WAAWV;AAAA,QACX,QAAAX;AAAA,QACA,WAAAG;AAAA,QAEA,UAAA;AAAA,UAAA,gBAAAY,EAACG,GAAA,EAAoB;AAAA,4BACpBM,GAAA,EAAU,WAAU,2BAA0B,cAAW,WACvD,UAAA1B,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF,IAKF,gBAAAiB;AAAA,IAACnB;AAAA,IAAA;AAAA,MACC,SAAAE;AAAA,MACA,WAAAC;AAAA,MACA,QAAAC;AAAA,MACA,OAAAC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAC;AAAA,MACC,GAAGkB;AAAA,MAEH,UAAAxB;AAAA,IAAA;AAAA,EAAA;AAGP;AAGO,SAASqB,EAAoB;AAAA,EAClC,WAAAnB;AAAA,EACA,GAAG0B;AACL,GAA6B;AAC3B,QAAMd,IAAaC,EAAKb,GAAW,uBAAuB;AAC1D,SACE,gBAAAc,EAACa,GAAA,EAAiB,GAAGD,GAAO,WAAWd,GACrC,UAAA;AAAA,IAAA,gBAAAI,EAAC,SAAI,SAAQ,YACX,4BAAC,QAAA,EAAK,GAAE,mBAAkB,EAAA,CAC5B;AAAA,IACA,gBAAAA,EAAC,SAAI,SAAQ,YACX,4BAAC,QAAA,EAAK,GAAE,mBAAkB,EAAA,CAC5B;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../../../src/ui/primitives/Tooltip/Tooltip.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useOverlayPortalContainer } from \"hooks\";\nimport { useRef } from \"react\";\nimport { useTooltipTrigger } from \"@react-aria/tooltip\";\nimport { useTooltipTriggerState } from \"@react-stately/tooltip\";\nimport {\n DialogTrigger as RACDialogTrigger,\n Dialog as RACDialog,\n OverlayArrow as RACOverlayArrow,\n Popover as RACPopover,\n Tooltip as RACTooltip,\n TooltipTriggerStateContext,\n type OverlayArrowProps as RACOverlayArrowProps,\n type PopoverProps as RACPopoverProps,\n} from \"react-aria-components\";\nimport \"./tooltip.css\";\n\nexport type TooltipTrigger = \"hover\" | \"click\";\n\nexport interface TooltipProps\n extends Omit<\n RACPopoverProps,\n \"children\" | \"isOpen\" | \"defaultOpen\" | \"onOpenChange\" | \"triggerRef\"\n > {\n children: React.ReactNode;\n content: React.ReactNode;\n trigger?: TooltipTrigger;\n delay?: number;\n closeDelay?: number;\n}\n\nfunction HoverTooltip({\n children,\n content,\n className,\n offset,\n delay,\n closeDelay,\n placement,\n}: Omit<TooltipProps, \"trigger\">) {\n const state = useTooltipTriggerState({ delay, closeDelay });\n const triggerRef = useRef<HTMLSpanElement>(null);\n const { triggerProps, tooltipProps } = useTooltipTrigger(\n { delay, closeDelay },\n state,\n triggerRef,\n );\n const classNames = clsx(className, \"tooltip\");\n // Sem container explícito o tooltip faz portal no document.body — fora da\n // shadow root do MFE, sem CSS. Ver ui/hooks/useOverlayPortal.\n const portalContainer = useOverlayPortalContainer();\n\n return (\n <>\n <span ref={triggerRef} className=\"tooltip-trigger-wrapper\" {...triggerProps}>\n {children}\n </span>\n <TooltipTriggerStateContext.Provider value={state}>\n <RACTooltip\n {...tooltipProps}\n triggerRef={triggerRef}\n className={classNames}\n offset={offset}\n placement={placement}\n UNSTABLE_portalContainer={portalContainer}\n >\n <TooltipOverlayArrow />\n <div className=\"dialog dialog-type-card\">{content}</div>\n </RACTooltip>\n </TooltipTriggerStateContext.Provider>\n </>\n );\n}\n\nexport function Tooltip({\n children,\n content,\n className,\n offset = 16,\n trigger = \"hover\",\n delay = 500,\n closeDelay = 100,\n placement,\n ...popoverProps\n}: TooltipProps) {\n const classNames = clsx(className, \"tooltip\");\n // Sem container explícito o popover faz portal no document.body — fora da\n // shadow root do MFE, sem CSS. Ver ui/hooks/useOverlayPortal.\n const portalContainer = useOverlayPortalContainer();\n\n if (trigger === \"click\") {\n return (\n <RACDialogTrigger>\n {children}\n <RACPopover\n {...popoverProps}\n className={classNames}\n offset={offset}\n placement={placement}\n UNSTABLE_portalContainer={\n popoverProps.UNSTABLE_portalContainer ?? portalContainer\n }\n >\n <TooltipOverlayArrow />\n <RACDialog className=\"dialog dialog-type-card\" aria-label=\"Tooltip\">\n {content}\n </RACDialog>\n </RACPopover>\n </RACDialogTrigger>\n );\n }\n\n return (\n <HoverTooltip\n content={content}\n className={className}\n offset={offset}\n delay={delay}\n closeDelay={closeDelay}\n placement={placement}\n {...popoverProps}\n >\n {children}\n </HoverTooltip>\n );\n}\n\nexport type TooltipOverlayArrowProps = RACOverlayArrowProps;\nexport function TooltipOverlayArrow({\n className,\n ...props\n}: TooltipOverlayArrowProps) {\n const classNames = clsx(className, \"tooltip-overlay-arrow\");\n return (\n <RACOverlayArrow {...props} className={classNames}>\n <svg viewBox=\"0 0 10 5\">\n <path d=\"M0 0 L5 5 L10 0\" />\n </svg>\n <svg viewBox=\"0 0 10 5\">\n <path d=\"M0 0 L5 5 L10 0\" />\n </svg>\n </RACOverlayArrow>\n );\n}\n"],"names":["HoverTooltip","children","content","className","offset","delay","closeDelay","placement","state","useTooltipTriggerState","triggerRef","useRef","triggerProps","tooltipProps","useTooltipTrigger","classNames","clsx","portalContainer","useOverlayPortalContainer","jsxs","Fragment","jsx","TooltipTriggerStateContext","RACTooltip","TooltipOverlayArrow","Tooltip","trigger","popoverProps","RACDialogTrigger","RACPopover","RACDialog","props","RACOverlayArrow"],"mappings":";;;;;;;;AA+BA,SAASA,EAAa;AAAA,EACpB,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AACF,GAAkC;AAChC,QAAMC,IAAQC,EAAuB,EAAE,OAAAJ,GAAO,YAAAC,GAAY,GACpDI,IAAaC,EAAwB,IAAI,GACzC,EAAE,cAAAC,GAAc,cAAAC,EAAA,IAAiBC;AAAAA,IACrC,CAAoB;AAAA,IACpBN;AAAA,IACAE;AAAA,EAAA,GAEIK,IAAaC,EAAKb,GAAW,SAAS,GAGtCc,IAAkBC,EAAA;AAExB,SACE,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC,EAAC,UAAK,KAAKX,GAAY,WAAU,2BAA2B,GAAGE,GAC5D,UAAAX,GACH;AAAA,IACA,gBAAAoB,EAACC,EAA2B,UAA3B,EAAoC,OAAOd,GAC1C,UAAA,gBAAAW;AAAA,MAACI;AAAAA,MAAA;AAAA,QACE,GAAGV;AAAA,QACJ,YAAAH;AAAA,QACA,WAAWK;AAAA,QACX,QAAAX;AAAA,QACA,WAAAG;AAAA,QACA,0BAA0BU;AAAA,QAE1B,UAAA;AAAA,UAAA,gBAAAI,EAACG,GAAA,EAAoB;AAAA,UACrB,gBAAAH,EAAC,OAAA,EAAI,WAAU,2BAA2B,UAAAnB,EAAA,CAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,EACpD,CACF;AAAA,EAAA,GACF;AAEJ;AAEO,SAASuB,EAAQ;AAAA,EACtB,UAAAxB;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,SAAAsB,IAAU;AAAA,EACV,OAAArB,IAAQ;AAAA,EACR,YAAAC,IAAa;AAAA,EACb,WAAAC;AAAA,EACA,GAAGoB;AACL,GAAiB;AACf,QAAMZ,IAAaC,EAAKb,GAAW,SAAS,GAGtCc,IAAkBC,EAAA;AAExB,SAAIQ,MAAY,4BAEXE,GAAA,EACE,UAAA;AAAA,IAAA3B;AAAA,IACD,gBAAAkB;AAAA,MAACU;AAAAA,MAAA;AAAA,QACE,GAAGF;AAAA,QACJ,WAAWZ;AAAA,QACX,QAAAX;AAAA,QACA,WAAAG;AAAA,QACA,0BACEoB,EAAa,4BAA4BV;AAAA,QAG3C,UAAA;AAAA,UAAA,gBAAAI,EAACG,GAAA,EAAoB;AAAA,4BACpBM,GAAA,EAAU,WAAU,2BAA0B,cAAW,WACvD,UAAA5B,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF,IAKF,gBAAAmB;AAAA,IAACrB;AAAA,IAAA;AAAA,MACC,SAAAE;AAAA,MACA,WAAAC;AAAA,MACA,QAAAC;AAAA,MACA,OAAAC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAC;AAAA,MACC,GAAGoB;AAAA,MAEH,UAAA1B;AAAA,IAAA;AAAA,EAAA;AAGP;AAGO,SAASuB,EAAoB;AAAA,EAClC,WAAArB;AAAA,EACA,GAAG4B;AACL,GAA6B;AAC3B,QAAMhB,IAAaC,EAAKb,GAAW,uBAAuB;AAC1D,SACE,gBAAAgB,EAACa,GAAA,EAAiB,GAAGD,GAAO,WAAWhB,GACrC,UAAA;AAAA,IAAA,gBAAAM,EAAC,SAAI,SAAQ,YACX,4BAAC,QAAA,EAAK,GAAE,mBAAkB,EAAA,CAC5B;AAAA,IACA,gBAAAA,EAAC,SAAI,SAAQ,YACX,4BAAC,QAAA,EAAK,GAAE,mBAAkB,EAAA,CAC5B;AAAA,EAAA,GACF;AAEJ;"}
@@ -0,0 +1 @@
1
+ export * from "./ui/primitives/JsonViewer/JsonViewer";
@@ -1 +1,2 @@
1
1
  export * from "./useMediaQuery";
2
+ export * from "./useOverlayPortal";
@@ -0,0 +1,15 @@
1
+ import { type ReactNode } from "react";
2
+ export interface OverlayPortalProviderProps {
3
+ /** Elemento onde os overlays devem ser inseridos. `null`/`undefined` mantém o padrão do RAC. */
4
+ container: Element | null | undefined;
5
+ children: ReactNode;
6
+ }
7
+ export declare function OverlayPortalProvider({ container, children, }: OverlayPortalProviderProps): import("react/jsx-runtime").JSX.Element;
8
+ /**
9
+ * Container de portal do overlay, ou `undefined` se não houver provider acima.
10
+ *
11
+ * Retorna `undefined` (e não `null`) de propósito: passar
12
+ * `UNSTABLE_portalContainer={undefined}` para um componente do RAC é um no-op e
13
+ * preserva o comportamento padrão, enquanto `null` não é aceito pelo tipo.
14
+ */
15
+ export declare function useOverlayPortalContainer(): Element | undefined;
@@ -24,4 +24,4 @@ export type DialogBodyProps = {
24
24
  } & React.ComponentPropsWithoutRef<"div">;
25
25
  export declare function DialogBody({ bleed, className, ...props }: DialogBodyProps): import("react/jsx-runtime").JSX.Element;
26
26
  export type DialogModalProps = RACModalOverlayProps;
27
- export declare function DialogModal({ children, className, isDismissable, ...props }: DialogModalProps): import("react/jsx-runtime").JSX.Element;
27
+ export declare function DialogModal({ children, className, isDismissable, UNSTABLE_portalContainer, ...props }: DialogModalProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import type { ReactNode } from "react";
2
+ import "./jsonviewer.css";
3
+ export interface JsonViewerAction {
4
+ key: string;
5
+ label: string;
6
+ icon: ReactNode;
7
+ onPress: () => void;
8
+ }
9
+ export interface JsonViewerProps {
10
+ value: unknown;
11
+ expandAllLabel: string;
12
+ actions?: JsonViewerAction[];
13
+ className?: string;
14
+ height?: string | number;
15
+ }
16
+ export declare function JsonViewer({ value, expandAllLabel, actions, className, height }: JsonViewerProps): import("react/jsx-runtime").JSX.Element;
@@ -14,7 +14,7 @@ export interface MenuButtonProps<T> extends RACMenuProps<T>, Omit<RACMenuTrigger
14
14
  }
15
15
  export declare function MenuButton<T extends object>({ label, children, icon, placement, variant, ...props }: MenuButtonProps<T>): import("react/jsx-runtime").JSX.Element;
16
16
  export type MenuPopoverProps = RACPopoverProps;
17
- export declare function MenuPopover({ ...props }: MenuPopoverProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function MenuPopover({ UNSTABLE_portalContainer, ...props }: MenuPopoverProps): import("react/jsx-runtime").JSX.Element;
18
18
  export type MenuItemProps = RACMenuItemProps;
19
19
  export declare function MenuItem({ className, ...props }: MenuItemProps): import("react/jsx-runtime").JSX.Element;
20
20
  export type MenuHeaderProps = React.ComponentPropsWithoutRef<"div">;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apipass/design-system",
3
- "version": "3.1.0",
3
+ "version": "4.0.0",
4
4
  "type": "module",
5
5
  "description": "APIPass React Design System",
6
6
  "sideEffects": [
@@ -26,6 +26,11 @@
26
26
  "import": "./dist/lib/charts.index.js",
27
27
  "require": "./dist/lib/charts.index.cjs"
28
28
  },
29
+ "./json-viewer": {
30
+ "types": "./dist/types/json-viewer.index.d.ts",
31
+ "import": "./dist/lib/json-viewer.index.js",
32
+ "require": "./dist/lib/json-viewer.index.cjs"
33
+ },
29
34
  "./style.css": "./dist/lib/style.css",
30
35
  "./embedded-styles": {
31
36
  "types": "./dist/lib/embedded-styles.d.ts",
@@ -38,6 +43,9 @@
38
43
  "charts": [
39
44
  "./dist/types/charts.index.d.ts"
40
45
  ],
46
+ "json-viewer": [
47
+ "./dist/types/json-viewer.index.d.ts"
48
+ ],
41
49
  "icons": [
42
50
  "./dist/types/ui/icons/index.d.ts"
43
51
  ]
@@ -72,6 +80,11 @@
72
80
  ]
73
81
  },
74
82
  "peerDependencies": {
83
+ "@codemirror/lang-json": ">=6.0.0",
84
+ "@codemirror/language": ">=6.0.0",
85
+ "@codemirror/state": ">=6.0.0",
86
+ "@codemirror/view": ">=6.0.0",
87
+ "@lezer/highlight": ">=1.0.0",
75
88
  "@monaco-editor/react": ">=4.0.0",
76
89
  "echarts": ">=5.5.0",
77
90
  "react": ">=18.0.0",
@@ -79,6 +92,21 @@
79
92
  "react-dom": ">=18.0.0"
80
93
  },
81
94
  "peerDependenciesMeta": {
95
+ "@codemirror/lang-json": {
96
+ "optional": true
97
+ },
98
+ "@codemirror/language": {
99
+ "optional": true
100
+ },
101
+ "@codemirror/state": {
102
+ "optional": true
103
+ },
104
+ "@codemirror/view": {
105
+ "optional": true
106
+ },
107
+ "@lezer/highlight": {
108
+ "optional": true
109
+ },
82
110
  "@monaco-editor/react": {
83
111
  "optional": true
84
112
  },
@@ -93,7 +121,12 @@
93
121
  "react-toastify": "^11.1.0"
94
122
  },
95
123
  "devDependencies": {
124
+ "@codemirror/lang-json": "^6.0.2",
125
+ "@codemirror/language": "^6.12.4",
126
+ "@codemirror/state": "^6.7.1",
127
+ "@codemirror/view": "^6.43.9",
96
128
  "@figma/code-connect": "^1.3.10",
129
+ "@lezer/highlight": "^1.2.3",
97
130
  "@monaco-editor/react": "^4.7.0",
98
131
  "@react-types/shared": "^3.23.0",
99
132
  "@storybook/addon-docs": "^10.3.4",