@bysages/react 0.5.0 → 0.6.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 (70) hide show
  1. package/dist/{ai-B3vbpXlK.mjs → ai-B0o-dsAf.mjs} +1 -1
  2. package/dist/{ai-prompt-input-k34KssHJ.mjs → ai-prompt-input-Cl9ulICF.mjs} +1 -1
  3. package/dist/components/ai/index.mjs +1 -1
  4. package/dist/components/ai-prompt-input/index.d.mts +1 -1
  5. package/dist/components/ai-prompt-input/index.mjs +1 -1
  6. package/dist/components/autocomplete/index.d.mts +4 -1
  7. package/dist/components/autocomplete/index.mjs +9 -6
  8. package/dist/components/cascade-select/index.d.mts +4 -1
  9. package/dist/components/cascade-select/index.mjs +36 -33
  10. package/dist/components/color-picker/index.d.mts +9 -1
  11. package/dist/components/color-picker/index.mjs +36 -29
  12. package/dist/components/combobox/index.d.mts +9 -1
  13. package/dist/components/combobox/index.mjs +14 -8
  14. package/dist/components/command/index.d.mts +4 -1
  15. package/dist/components/command/index.mjs +71 -68
  16. package/dist/components/date-picker/index.d.mts +9 -1
  17. package/dist/components/date-picker/index.mjs +27 -21
  18. package/dist/components/dialog/index.d.mts +20 -3
  19. package/dist/components/dialog/index.mjs +28 -12
  20. package/dist/components/drawer/index.d.mts +19 -3
  21. package/dist/components/drawer/index.mjs +18 -12
  22. package/dist/components/floating-panel/index.d.mts +19 -3
  23. package/dist/components/floating-panel/index.mjs +34 -28
  24. package/dist/components/hover-card/index.d.mts +17 -3
  25. package/dist/components/hover-card/index.mjs +14 -8
  26. package/dist/components/image-viewer/index.d.mts +1 -1
  27. package/dist/components/image-viewer/index.mjs +1 -1
  28. package/dist/components/media-player/index.mjs +1 -1
  29. package/dist/components/mentions/index.d.mts +1 -1
  30. package/dist/components/mentions/index.mjs +1 -1
  31. package/dist/components/menu/index.d.mts +10 -2
  32. package/dist/components/menu/index.mjs +12 -6
  33. package/dist/components/menubar/index.d.mts +4 -1
  34. package/dist/components/menubar/index.mjs +12 -9
  35. package/dist/components/navigation-menu/index.d.mts +9 -1
  36. package/dist/components/navigation-menu/index.mjs +7 -1
  37. package/dist/components/pagination/index.d.mts +2 -2
  38. package/dist/components/popconfirm/index.d.mts +5 -2
  39. package/dist/components/popconfirm/index.mjs +31 -28
  40. package/dist/components/popover/index.d.mts +1 -1
  41. package/dist/components/popover/index.mjs +20 -14
  42. package/dist/components/select/index.d.mts +1 -1
  43. package/dist/components/select/index.mjs +1 -1
  44. package/dist/components/split-button/index.d.mts +4 -1
  45. package/dist/components/split-button/index.mjs +12 -9
  46. package/dist/components/table/index.d.mts +21 -1
  47. package/dist/components/table/index.mjs +24 -9
  48. package/dist/components/tooltip/index.d.mts +17 -3
  49. package/dist/components/tooltip/index.mjs +8 -2
  50. package/dist/components/tour/index.d.mts +20 -3
  51. package/dist/components/tour/index.mjs +16 -10
  52. package/dist/components/tree-select/index.d.mts +5 -2
  53. package/dist/components/tree-select/index.mjs +38 -35
  54. package/dist/components/typography/index.d.mts +10 -6
  55. package/dist/components/typography/index.mjs +9 -1
  56. package/dist/floating-BhcDRgnx.d.mts +7 -0
  57. package/dist/floating-CMR7cvmA.mjs +33 -0
  58. package/dist/generative/index.mjs +1 -1
  59. package/dist/{image-viewer-BYiXpi1X.mjs → image-viewer-BPTApdoP.mjs} +32 -29
  60. package/dist/{index-DcpvCyt6.d.mts → index-CEYybyEQ.d.mts} +8 -3
  61. package/dist/{index-DczfbPCg.d.mts → index-DZ2S5rMj.d.mts} +10 -2
  62. package/dist/index-j02dTkfc.d.mts +37 -0
  63. package/dist/{index-D4C52fI7.d.mts → index-n9VlNO7D.d.mts} +4 -1
  64. package/dist/index.d.mts +8 -8
  65. package/dist/index.mjs +6 -6
  66. package/dist/{media-player-CO2Cczl-.mjs → media-player-DxG0EYz7.mjs} +1 -1
  67. package/dist/{mentions-De7ChJbl.mjs → mentions-B59tQDPt.mjs} +31 -25
  68. package/dist/{select-DQ5669_K.mjs → select-BLFqfeVw.mjs} +20 -14
  69. package/package.json +2 -2
  70. package/dist/index-BVdkcSSY.d.mts +0 -22
@@ -1,5 +1,6 @@
1
1
  import { r as iconNode } from "../../icon-C9udWCyz.mjs";
2
2
  import { t as useElementId } from "../../id-Ctic_3o8.mjs";
3
+ import { n as definePositioner, t as FloatingPortal } from "../../floating-CMR7cvmA.mjs";
3
4
  import { injectComponentStyle } from "@bysages/core/styling";
4
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
6
  import { DatePicker as DatePicker$1 } from "@ark-ui/react/date-picker";
@@ -20,8 +21,9 @@ function toDatePickerValue(value) {
20
21
  }
21
22
  /** The complete picker behind one date: the field opens a single day grid,
22
23
  * while ranges, multiple selection, and custom views remain anatomy work. */
24
+ const DatePickerPositioner = definePositioner(DatePicker$1.Positioner);
23
25
  function DatePickerFacade(props) {
24
- const { value, defaultValue, disabled, invalid, required, label, placeholder, size = "md", className, style, onValueChange } = props;
26
+ const { portal = false, value, defaultValue, disabled, invalid, required, label, placeholder, size = "md", className, style, onValueChange } = props;
25
27
  return /* @__PURE__ */ jsxs(DatePickerRoot, {
26
28
  size,
27
29
  defaultValue: toDatePickerValue(defaultValue),
@@ -39,31 +41,35 @@ function DatePickerFacade(props) {
39
41
  width: 16,
40
42
  height: 16
41
43
  }) })] }),
42
- /* @__PURE__ */ jsx(DatePicker$1.Positioner, { children: /* @__PURE__ */ jsx(DatePicker$1.Content, { children: /* @__PURE__ */ jsx(DatePicker$1.View, {
43
- view: "day",
44
- children: /* @__PURE__ */ jsx(DatePicker$1.Context, { children: (dp) => /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(DatePicker$1.ViewControl, { children: [
45
- /* @__PURE__ */ jsx(DatePicker$1.PrevTrigger, { children: iconNode("chevron-left", {
46
- width: 14,
47
- height: 14
48
- }) }),
49
- /* @__PURE__ */ jsx(DatePicker$1.ViewTrigger, { children: /* @__PURE__ */ jsx(DatePicker$1.RangeText, {}) }),
50
- /* @__PURE__ */ jsx(DatePicker$1.NextTrigger, { children: iconNode("chevron-right", {
51
- width: 14,
52
- height: 14
53
- }) })
54
- ] }), /* @__PURE__ */ jsxs(DatePicker$1.Table, { children: [/* @__PURE__ */ jsx(DatePicker$1.TableHead, { children: /* @__PURE__ */ jsx(DatePicker$1.TableRow, { children: dp.weekDays.map((day, index) => /* @__PURE__ */ jsx(DatePicker$1.TableHeader, {
55
- "aria-label": day.long,
56
- children: day.narrow
57
- }, index)) }) }), /* @__PURE__ */ jsx(DatePicker$1.TableBody, { children: dp.weeks.map((week, index) => /* @__PURE__ */ jsx(DatePicker$1.TableRow, { children: week.map((day, dayIndex) => /* @__PURE__ */ jsx(DatePicker$1.TableCell, {
58
- value: day,
59
- children: /* @__PURE__ */ jsx(DatePicker$1.TableCellTrigger, { children: day.day })
60
- }, dayIndex)) }, index)) })] })] }) })
61
- }) }) })
44
+ /* @__PURE__ */ jsx(FloatingPortal, {
45
+ portal,
46
+ children: /* @__PURE__ */ jsx(DatePicker$1.Positioner, { children: /* @__PURE__ */ jsx(DatePicker$1.Content, { children: /* @__PURE__ */ jsx(DatePicker$1.View, {
47
+ view: "day",
48
+ children: /* @__PURE__ */ jsx(DatePicker$1.Context, { children: (dp) => /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(DatePicker$1.ViewControl, { children: [
49
+ /* @__PURE__ */ jsx(DatePicker$1.PrevTrigger, { children: iconNode("chevron-left", {
50
+ width: 14,
51
+ height: 14
52
+ }) }),
53
+ /* @__PURE__ */ jsx(DatePicker$1.ViewTrigger, { children: /* @__PURE__ */ jsx(DatePicker$1.RangeText, {}) }),
54
+ /* @__PURE__ */ jsx(DatePicker$1.NextTrigger, { children: iconNode("chevron-right", {
55
+ width: 14,
56
+ height: 14
57
+ }) })
58
+ ] }), /* @__PURE__ */ jsxs(DatePicker$1.Table, { children: [/* @__PURE__ */ jsx(DatePicker$1.TableHead, { children: /* @__PURE__ */ jsx(DatePicker$1.TableRow, { children: dp.weekDays.map((day, index) => /* @__PURE__ */ jsx(DatePicker$1.TableHeader, {
59
+ "aria-label": day.long,
60
+ children: day.narrow
61
+ }, index)) }) }), /* @__PURE__ */ jsx(DatePicker$1.TableBody, { children: dp.weeks.map((week, index) => /* @__PURE__ */ jsx(DatePicker$1.TableRow, { children: week.map((day, dayIndex) => /* @__PURE__ */ jsx(DatePicker$1.TableCell, {
62
+ value: day,
63
+ children: /* @__PURE__ */ jsx(DatePicker$1.TableCellTrigger, { children: day.day })
64
+ }, dayIndex)) }, index)) })] })] }) })
65
+ }) }) })
66
+ })
62
67
  ]
63
68
  });
64
69
  }
65
70
  const DatePicker = Object.assign(DatePickerFacade, {
66
71
  ...DatePicker$1,
72
+ Positioner: DatePickerPositioner,
67
73
  Root: DatePickerRoot
68
74
  });
69
75
  export { DatePicker };
@@ -1,5 +1,7 @@
1
+ import { n as FloatingPortalTarget, t as FloatingPortalProps } from "../../floating-BhcDRgnx.mjs";
1
2
  import { ComponentProps, HTMLAttributes, ReactNode } from "react";
2
3
  import { Dialog as Dialog$1, DialogOpenChangeDetails } from "@ark-ui/react/dialog";
4
+ export type DialogSize = "sm" | "md" | "lg" | "xl";
3
5
  interface DialogPartProps extends HTMLAttributes<HTMLElement> {
4
6
  children?: ReactNode;
5
7
  }
@@ -18,6 +20,12 @@ declare function Footer({ children, ...rest }: DialogPartProps): import("react")
18
20
  declare namespace Footer {
19
21
  var displayName: string;
20
22
  }
23
+ /** The semantic sheet: `size` names one content measure instead of a caller
24
+ * overriding the sheet's max-width for every dialog. */
25
+ interface DialogContentProps extends ComponentProps<typeof Dialog$1.Content> {
26
+ size?: DialogSize;
27
+ }
28
+ declare function DialogContent({ size, ...rest }: DialogContentProps): import("react").JSX.Element;
21
29
  /** Ark's Dialog, dressed in the paper-and-ink system: the sheet dissolves
22
30
  * in on elevation, the backdrop fades, and nested overlays stack through
23
31
  * the shared z-index ladder. The API is Ark's own — Root, Trigger,
@@ -25,6 +33,8 @@ declare namespace Footer {
25
33
  * plus the Header, Body, and Footer anatomy parts. */
26
34
  declare function DialogRoot(props: ComponentProps<typeof Dialog$1.Root>): import("react").JSX.Element;
27
35
  export interface DialogFacadeProps {
36
+ /** Portal after hydration; `false` keeps the vessel inline. */
37
+ portal?: FloatingPortalTarget;
28
38
  open?: boolean;
29
39
  defaultOpen?: boolean;
30
40
  trigger?: string;
@@ -32,18 +42,25 @@ export interface DialogFacadeProps {
32
42
  label?: string;
33
43
  description?: string;
34
44
  disabled?: boolean;
45
+ size?: DialogSize;
35
46
  children?: ReactNode;
36
47
  onOpenChange?: (open: boolean) => void;
37
48
  }
38
- declare function DialogFacade({ open, defaultOpen, trigger, content, label, description, disabled, children, onOpenChange }: DialogFacadeProps): import("react").JSX.Element;
49
+ declare const DialogPositioner: {
50
+ ({ portal, ...rest }: FloatingPortalProps & Dialog$1.PositionerProps & import("react").RefAttributes<HTMLDivElement>): import("react").JSX.Element;
51
+ displayName: string;
52
+ };
53
+ declare function DialogFacade({ portal, open, defaultOpen, trigger, content, label, description, disabled, size, children, onOpenChange }: DialogFacadeProps): import("react").JSX.Element;
39
54
  declare namespace DialogFacade {
40
55
  var displayName: string;
41
56
  }
42
- type DialogParts = typeof Dialog$1;
43
- export declare const Dialog: typeof DialogFacade & Omit<DialogParts, "Root"> & {
57
+ type DialogParts = Omit<typeof Dialog$1, "Root" | "Content" | "Positioner"> & {
58
+ Positioner: typeof DialogPositioner;
44
59
  Root: typeof DialogRoot;
60
+ Content: typeof DialogContent;
45
61
  Header: typeof Header;
46
62
  Body: typeof Body;
47
63
  Footer: typeof Footer;
48
64
  };
65
+ export declare const Dialog: typeof DialogFacade & DialogParts;
49
66
  export type { DialogOpenChangeDetails };
@@ -1,5 +1,6 @@
1
1
  import { r as iconNode } from "../../icon-C9udWCyz.mjs";
2
2
  import { t as useElementId } from "../../id-Ctic_3o8.mjs";
3
+ import { n as definePositioner, t as FloatingPortal } from "../../floating-CMR7cvmA.mjs";
3
4
  import { injectComponentStyle } from "@bysages/core/styling";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import { Dialog as Dialog$1 } from "@ark-ui/react/dialog";
@@ -34,6 +35,12 @@ function Footer({ children, ...rest }) {
34
35
  Header.displayName = "DialogHeader";
35
36
  Body.displayName = "DialogBody";
36
37
  Footer.displayName = "DialogFooter";
38
+ function DialogContent({ size, ...rest }) {
39
+ return /* @__PURE__ */ jsx(Dialog$1.Content, {
40
+ ...rest,
41
+ "data-size": size
42
+ });
43
+ }
37
44
  /** Ark's Dialog, dressed in the paper-and-ink system: the sheet dissolves
38
45
  * in on elevation, the backdrop fades, and nested overlays stack through
39
46
  * the shared z-index ladder. The API is Ark's own — Root, Trigger,
@@ -46,7 +53,8 @@ function DialogRoot(props) {
46
53
  id
47
54
  });
48
55
  }
49
- function DialogFacade({ open, defaultOpen, trigger, content, label, description, disabled = false, children, onOpenChange }) {
56
+ const DialogPositioner = definePositioner(Dialog$1.Positioner);
57
+ function DialogFacade({ portal = true, open, defaultOpen, trigger, content, label, description, disabled = false, size = "md", children, onOpenChange }) {
50
58
  const title = label ?? trigger;
51
59
  return /* @__PURE__ */ jsxs(DialogRoot, {
52
60
  ...open === void 0 ? {} : { open },
@@ -58,24 +66,32 @@ function DialogFacade({ open, defaultOpen, trigger, content, label, description,
58
66
  children: trigger ?? title ?? "Open"
59
67
  }),
60
68
  /* @__PURE__ */ jsx(Dialog$1.Backdrop, {}),
61
- /* @__PURE__ */ jsx(Dialog$1.Positioner, { children: /* @__PURE__ */ jsxs(Dialog$1.Content, { children: [
62
- /* @__PURE__ */ jsxs(Header, { children: [/* @__PURE__ */ jsx(Dialog$1.Title, { children: title }), description ? /* @__PURE__ */ jsx(Dialog$1.Description, { children: description }) : null] }),
63
- /* @__PURE__ */ jsxs(Body, { children: [content ? /* @__PURE__ */ jsx("p", { children: content }) : null, children] }),
64
- /* @__PURE__ */ jsx(Dialog$1.CloseTrigger, {
65
- "aria-label": "Close",
66
- children: iconNode("x", {
67
- width: 14,
68
- height: 14
69
- })
70
- })
71
- ] }) })
69
+ /* @__PURE__ */ jsx(FloatingPortal, {
70
+ portal,
71
+ children: /* @__PURE__ */ jsx(Dialog$1.Positioner, { children: /* @__PURE__ */ jsxs(DialogContent, {
72
+ size,
73
+ children: [
74
+ /* @__PURE__ */ jsxs(Header, { children: [/* @__PURE__ */ jsx(Dialog$1.Title, { children: title }), description ? /* @__PURE__ */ jsx(Dialog$1.Description, { children: description }) : null] }),
75
+ /* @__PURE__ */ jsxs(Body, { children: [content ? /* @__PURE__ */ jsx("p", { children: content }) : null, children] }),
76
+ /* @__PURE__ */ jsx(Dialog$1.CloseTrigger, {
77
+ "aria-label": "Close",
78
+ children: iconNode("x", {
79
+ width: 14,
80
+ height: 14
81
+ })
82
+ })
83
+ ]
84
+ }) })
85
+ })
72
86
  ]
73
87
  });
74
88
  }
75
89
  DialogFacade.displayName = "SDialog";
76
90
  const Dialog = Object.assign(DialogFacade, {
77
91
  ...Dialog$1,
92
+ Positioner: DialogPositioner,
78
93
  Root: DialogRoot,
94
+ Content: DialogContent,
79
95
  Header,
80
96
  Body,
81
97
  Footer
@@ -1,6 +1,15 @@
1
- import { ReactNode } from "react";
1
+ import { n as FloatingPortalTarget, t as FloatingPortalProps } from "../../floating-BhcDRgnx.mjs";
2
+ import { ComponentProps, ReactNode } from "react";
2
3
  import { Drawer as Drawer$1 } from "@ark-ui/react/drawer";
4
+ /** Ark's Drawer, dressed in the paper-and-ink system: a full-height sheet
5
+ * cut flush to the edge it rises from, sliding on the machine's translate
6
+ * under the grabber's hand. The API is Ark's own — Root, Trigger,
7
+ * Backdrop, Positioner, Content, Grabber, GrabberIndicator, Title,
8
+ * Description, CloseTrigger, SwipeArea. */
9
+ declare function DrawerRoot(props: ComponentProps<typeof Drawer$1.Root>): import("react").JSX.Element;
3
10
  export interface DrawerFacadeProps {
11
+ /** Portal after hydration; `false` keeps the vessel inline. */
12
+ portal?: FloatingPortalTarget;
4
13
  open?: boolean;
5
14
  defaultOpen?: boolean;
6
15
  trigger?: string;
@@ -11,10 +20,17 @@ export interface DrawerFacadeProps {
11
20
  children?: ReactNode;
12
21
  onOpenChange?: (open: boolean) => void;
13
22
  }
14
- declare function DrawerFacade({ open, defaultOpen, trigger, content, label, description, disabled, children, onOpenChange }: DrawerFacadeProps): import("react").JSX.Element;
23
+ declare const DrawerPositioner: {
24
+ ({ portal, ...rest }: FloatingPortalProps & Drawer$1.PositionerProps & import("react").RefAttributes<HTMLDivElement>): import("react").JSX.Element;
25
+ displayName: string;
26
+ };
27
+ declare function DrawerFacade({ portal, open, defaultOpen, trigger, content, label, description, disabled, children, onOpenChange }: DrawerFacadeProps): import("react").JSX.Element;
15
28
  declare namespace DrawerFacade {
16
29
  var displayName: string;
17
30
  }
18
- type DrawerParts = typeof Drawer$1;
31
+ type DrawerParts = Omit<typeof Drawer$1, "Root" | "Positioner"> & {
32
+ Positioner: typeof DrawerPositioner;
33
+ Root: typeof DrawerRoot;
34
+ };
19
35
  export declare const Drawer: typeof DrawerFacade & DrawerParts;
20
36
  export {};
@@ -1,5 +1,6 @@
1
1
  import { r as iconNode } from "../../icon-C9udWCyz.mjs";
2
2
  import { t as useElementId } from "../../id-Ctic_3o8.mjs";
3
+ import { n as definePositioner, t as FloatingPortal } from "../../floating-CMR7cvmA.mjs";
3
4
  import { injectComponentStyle } from "@bysages/core/styling";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import { Drawer as Drawer$1 } from "@ark-ui/react/drawer";
@@ -16,7 +17,8 @@ function DrawerRoot(props) {
16
17
  id
17
18
  });
18
19
  }
19
- function DrawerFacade({ open, defaultOpen, trigger, content, label, description, disabled = false, children, onOpenChange }) {
20
+ const DrawerPositioner = definePositioner(Drawer$1.Positioner);
21
+ function DrawerFacade({ portal = true, open, defaultOpen, trigger, content, label, description, disabled = false, children, onOpenChange }) {
20
22
  return /* @__PURE__ */ jsxs(DrawerRoot, {
21
23
  ...open === void 0 ? {} : { open },
22
24
  ...defaultOpen === void 0 ? {} : { defaultOpen },
@@ -27,23 +29,27 @@ function DrawerFacade({ open, defaultOpen, trigger, content, label, description,
27
29
  children: trigger ?? label
28
30
  }),
29
31
  /* @__PURE__ */ jsx(Drawer$1.Backdrop, {}),
30
- /* @__PURE__ */ jsx(Drawer$1.Positioner, { children: /* @__PURE__ */ jsxs(Drawer$1.Content, { children: [
31
- /* @__PURE__ */ jsx(Drawer$1.Grabber, { children: /* @__PURE__ */ jsx(Drawer$1.GrabberIndicator, {}) }),
32
- /* @__PURE__ */ jsx(Drawer$1.Title, { children: label }),
33
- description ? /* @__PURE__ */ jsx(Drawer$1.Description, { children: description }) : null,
34
- content ? /* @__PURE__ */ jsx("p", { children: content }) : null,
35
- children,
36
- /* @__PURE__ */ jsx(Drawer$1.CloseTrigger, {
37
- "aria-label": "Close",
38
- children: iconNode("x")
39
- })
40
- ] }) })
32
+ /* @__PURE__ */ jsx(FloatingPortal, {
33
+ portal,
34
+ children: /* @__PURE__ */ jsx(Drawer$1.Positioner, { children: /* @__PURE__ */ jsxs(Drawer$1.Content, { children: [
35
+ /* @__PURE__ */ jsx(Drawer$1.Grabber, { children: /* @__PURE__ */ jsx(Drawer$1.GrabberIndicator, {}) }),
36
+ /* @__PURE__ */ jsx(Drawer$1.Title, { children: label }),
37
+ description ? /* @__PURE__ */ jsx(Drawer$1.Description, { children: description }) : null,
38
+ content ? /* @__PURE__ */ jsx("p", { children: content }) : null,
39
+ children,
40
+ /* @__PURE__ */ jsx(Drawer$1.CloseTrigger, {
41
+ "aria-label": "Close",
42
+ children: iconNode("x")
43
+ })
44
+ ] }) })
45
+ })
41
46
  ]
42
47
  });
43
48
  }
44
49
  DrawerFacade.displayName = "SDrawer";
45
50
  const Drawer = Object.assign(DrawerFacade, {
46
51
  ...Drawer$1,
52
+ Positioner: DrawerPositioner,
47
53
  Root: DrawerRoot
48
54
  });
49
55
  injectComponentStyle("drawer");
@@ -1,6 +1,15 @@
1
- import { ReactNode } from "react";
1
+ import { n as FloatingPortalTarget, t as FloatingPortalProps } from "../../floating-BhcDRgnx.mjs";
2
+ import { ComponentProps, ReactNode } from "react";
2
3
  import { FloatingPanel as FloatingPanel$1 } from "@ark-ui/react/floating-panel";
4
+ /** Ark's FloatingPanel, dressed in the paper-and-ink system: the shared
5
+ * popup vessel let loose — a draggable, resizable sheet whose header is the
6
+ * handle. The API is Ark's own — Root, Trigger, Positioner, Content, Header,
7
+ * Title, Control, DragTrigger, StageTrigger, CloseTrigger, ResizeTrigger,
8
+ * Body. */
9
+ declare function FloatingPanelRoot(props: ComponentProps<typeof FloatingPanel$1.Root>): import("react").JSX.Element;
3
10
  export interface FloatingPanelFacadeProps {
11
+ /** Portal after hydration; `false` keeps the vessel inline. */
12
+ portal?: FloatingPortalTarget;
4
13
  open?: boolean;
5
14
  defaultOpen?: boolean;
6
15
  trigger?: string;
@@ -11,10 +20,17 @@ export interface FloatingPanelFacadeProps {
11
20
  children?: ReactNode;
12
21
  onOpenChange?: (open: boolean) => void;
13
22
  }
14
- declare function FloatingPanelFacade({ open, defaultOpen, trigger, content, label, description, disabled, children, onOpenChange }: FloatingPanelFacadeProps): import("react").JSX.Element;
23
+ declare const FloatingPanelPositioner: {
24
+ ({ portal, ...rest }: FloatingPortalProps & FloatingPanel$1.PositionerProps & import("react").RefAttributes<HTMLDivElement>): import("react").JSX.Element;
25
+ displayName: string;
26
+ };
27
+ declare function FloatingPanelFacade({ portal, open, defaultOpen, trigger, content, label, description, disabled, children, onOpenChange }: FloatingPanelFacadeProps): import("react").JSX.Element;
15
28
  declare namespace FloatingPanelFacade {
16
29
  var displayName: string;
17
30
  }
18
- type FloatingPanelParts = typeof FloatingPanel$1;
31
+ type FloatingPanelParts = Omit<typeof FloatingPanel$1, "Root" | "Positioner"> & {
32
+ Positioner: typeof FloatingPanelPositioner;
33
+ Root: typeof FloatingPanelRoot;
34
+ };
19
35
  export declare const FloatingPanel: typeof FloatingPanelFacade & FloatingPanelParts;
20
36
  export {};
@@ -1,5 +1,6 @@
1
1
  import { r as iconNode } from "../../icon-C9udWCyz.mjs";
2
2
  import { t as useElementId } from "../../id-Ctic_3o8.mjs";
3
+ import { n as definePositioner, t as FloatingPortal } from "../../floating-CMR7cvmA.mjs";
3
4
  import { injectComponentStyle } from "@bysages/core/styling";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import { FloatingPanel as FloatingPanel$1 } from "@ark-ui/react/floating-panel";
@@ -26,44 +27,49 @@ const resizeAxes = [
26
27
  "sw",
27
28
  "nw"
28
29
  ];
29
- function FloatingPanelFacade({ open, defaultOpen, trigger, content, label, description, disabled = false, children, onOpenChange }) {
30
+ const FloatingPanelPositioner = definePositioner(FloatingPanel$1.Positioner);
31
+ function FloatingPanelFacade({ portal = true, open, defaultOpen, trigger, content, label, description, disabled = false, children, onOpenChange }) {
30
32
  return /* @__PURE__ */ jsxs(FloatingPanelRoot, {
31
33
  disabled,
32
34
  ...open === void 0 ? {} : { open },
33
35
  ...defaultOpen === void 0 ? {} : { defaultOpen },
34
36
  onOpenChange: (details) => onOpenChange?.(details.open),
35
- children: [/* @__PURE__ */ jsx(FloatingPanel$1.Trigger, { children: trigger ?? label }), /* @__PURE__ */ jsx(FloatingPanel$1.Positioner, { children: /* @__PURE__ */ jsxs(FloatingPanel$1.Content, { children: [
36
- /* @__PURE__ */ jsx(FloatingPanel$1.DragTrigger, { children: /* @__PURE__ */ jsxs(FloatingPanel$1.Header, { children: [/* @__PURE__ */ jsx(FloatingPanel$1.Title, { children: label }), /* @__PURE__ */ jsxs(FloatingPanel$1.Control, { children: [
37
- /* @__PURE__ */ jsx(FloatingPanel$1.StageTrigger, {
38
- stage: "minimized",
39
- children: iconNode("minus")
40
- }),
41
- /* @__PURE__ */ jsx(FloatingPanel$1.StageTrigger, {
42
- stage: "maximized",
43
- children: iconNode("maximize-2")
44
- }),
45
- /* @__PURE__ */ jsx(FloatingPanel$1.StageTrigger, {
46
- stage: "default",
47
- "aria-label": "Restore",
48
- children: iconNode("minimize-2")
49
- }),
50
- /* @__PURE__ */ jsx(FloatingPanel$1.CloseTrigger, {
51
- "aria-label": "Close",
52
- children: iconNode("x")
53
- })
54
- ] })] }) }),
55
- /* @__PURE__ */ jsxs(FloatingPanel$1.Body, { children: [
56
- description ? /* @__PURE__ */ jsx("p", { children: description }) : null,
57
- content ? /* @__PURE__ */ jsx("p", { children: content }) : null,
58
- children
59
- ] }),
60
- resizeAxes.map((axis) => /* @__PURE__ */ jsx(FloatingPanel$1.ResizeTrigger, { axis }, axis))
61
- ] }) })]
37
+ children: [/* @__PURE__ */ jsx(FloatingPanel$1.Trigger, { children: trigger ?? label }), /* @__PURE__ */ jsx(FloatingPortal, {
38
+ portal,
39
+ children: /* @__PURE__ */ jsx(FloatingPanel$1.Positioner, { children: /* @__PURE__ */ jsxs(FloatingPanel$1.Content, { children: [
40
+ /* @__PURE__ */ jsx(FloatingPanel$1.DragTrigger, { children: /* @__PURE__ */ jsxs(FloatingPanel$1.Header, { children: [/* @__PURE__ */ jsx(FloatingPanel$1.Title, { children: label }), /* @__PURE__ */ jsxs(FloatingPanel$1.Control, { children: [
41
+ /* @__PURE__ */ jsx(FloatingPanel$1.StageTrigger, {
42
+ stage: "minimized",
43
+ children: iconNode("minus")
44
+ }),
45
+ /* @__PURE__ */ jsx(FloatingPanel$1.StageTrigger, {
46
+ stage: "maximized",
47
+ children: iconNode("maximize-2")
48
+ }),
49
+ /* @__PURE__ */ jsx(FloatingPanel$1.StageTrigger, {
50
+ stage: "default",
51
+ "aria-label": "Restore",
52
+ children: iconNode("minimize-2")
53
+ }),
54
+ /* @__PURE__ */ jsx(FloatingPanel$1.CloseTrigger, {
55
+ "aria-label": "Close",
56
+ children: iconNode("x")
57
+ })
58
+ ] })] }) }),
59
+ /* @__PURE__ */ jsxs(FloatingPanel$1.Body, { children: [
60
+ description ? /* @__PURE__ */ jsx("p", { children: description }) : null,
61
+ content ? /* @__PURE__ */ jsx("p", { children: content }) : null,
62
+ children
63
+ ] }),
64
+ resizeAxes.map((axis) => /* @__PURE__ */ jsx(FloatingPanel$1.ResizeTrigger, { axis }, axis))
65
+ ] }) })
66
+ })]
62
67
  });
63
68
  }
64
69
  FloatingPanelFacade.displayName = "SFloatingPanel";
65
70
  const FloatingPanel = Object.assign(FloatingPanelFacade, {
66
71
  ...FloatingPanel$1,
72
+ Positioner: FloatingPanelPositioner,
67
73
  Root: FloatingPanelRoot
68
74
  });
69
75
  injectComponentStyle("floating-panel");
@@ -1,7 +1,14 @@
1
- import { ReactNode } from "react";
1
+ import { n as FloatingPortalTarget, t as FloatingPortalProps } from "../../floating-BhcDRgnx.mjs";
2
+ import { ComponentProps, ReactNode } from "react";
2
3
  import { HoverCard as HoverCard$1 } from "@ark-ui/react/hover-card";
4
+ /** Ark's HoverCard, dressed in the paper-and-ink system: a preview card
5
+ * that dissolves in over a quiet inline link, never stealing focus. The
6
+ * API is Ark's own — Root, Trigger, Positioner, Content, Arrow, ArrowTip. */
7
+ declare function HoverCardRoot(props: ComponentProps<typeof HoverCard$1.Root>): import("react").JSX.Element;
3
8
  type HoverCardPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
4
9
  export interface HoverCardFacadeProps {
10
+ /** Portal after hydration; `false` keeps the vessel inline. */
11
+ portal?: FloatingPortalTarget;
5
12
  open?: boolean;
6
13
  defaultOpen?: boolean;
7
14
  trigger: string;
@@ -13,10 +20,17 @@ export interface HoverCardFacadeProps {
13
20
  children?: ReactNode;
14
21
  onOpenChange?: (open: boolean) => void;
15
22
  }
16
- declare function HoverCardFacade({ open, defaultOpen, trigger, content, label, description, disabled, placement, children, onOpenChange }: HoverCardFacadeProps): import("react").JSX.Element;
23
+ declare const HoverCardPositioner: {
24
+ ({ portal, ...rest }: FloatingPortalProps & HoverCard$1.PositionerProps & import("react").RefAttributes<HTMLDivElement>): import("react").JSX.Element;
25
+ displayName: string;
26
+ };
27
+ declare function HoverCardFacade({ portal, open, defaultOpen, trigger, content, label, description, disabled, placement, children, onOpenChange }: HoverCardFacadeProps): import("react").JSX.Element;
17
28
  declare namespace HoverCardFacade {
18
29
  var displayName: string;
19
30
  }
20
- type HoverCardParts = typeof HoverCard$1;
31
+ type HoverCardParts = Omit<typeof HoverCard$1, "Root" | "Positioner"> & {
32
+ Positioner: typeof HoverCardPositioner;
33
+ Root: typeof HoverCardRoot;
34
+ };
21
35
  export declare const HoverCard: typeof HoverCardFacade & HoverCardParts;
22
36
  export {};
@@ -1,4 +1,5 @@
1
1
  import { t as useElementId } from "../../id-Ctic_3o8.mjs";
2
+ import { n as definePositioner, t as FloatingPortal } from "../../floating-CMR7cvmA.mjs";
2
3
  import { injectComponentStyle } from "@bysages/core/styling";
3
4
  import { jsx, jsxs } from "react/jsx-runtime";
4
5
  import { HoverCard as HoverCard$1 } from "@ark-ui/react/hover-card";
@@ -13,7 +14,8 @@ function HoverCardRoot(props) {
13
14
  id
14
15
  });
15
16
  }
16
- function HoverCardFacade({ open, defaultOpen, trigger, content, label, description, disabled = false, placement, children, onOpenChange }) {
17
+ const HoverCardPositioner = definePositioner(HoverCard$1.Positioner);
18
+ function HoverCardFacade({ portal = false, open, defaultOpen, trigger, content, label, description, disabled = false, placement, children, onOpenChange }) {
17
19
  return /* @__PURE__ */ jsxs(HoverCardRoot, {
18
20
  ...placement === void 0 ? {} : { positioning: { placement } },
19
21
  ...open === void 0 ? {} : { open },
@@ -22,18 +24,22 @@ function HoverCardFacade({ open, defaultOpen, trigger, content, label, descripti
22
24
  children: [/* @__PURE__ */ jsx(HoverCard$1.Trigger, {
23
25
  disabled,
24
26
  children: trigger
25
- }), /* @__PURE__ */ jsx(HoverCard$1.Positioner, { children: /* @__PURE__ */ jsxs(HoverCard$1.Content, { children: [
26
- /* @__PURE__ */ jsx(HoverCard$1.Arrow, { children: /* @__PURE__ */ jsx(HoverCard$1.ArrowTip, {}) }),
27
- /* @__PURE__ */ jsx("h3", { children: label }),
28
- description ? /* @__PURE__ */ jsx("p", { children: description }) : null,
29
- content ? /* @__PURE__ */ jsx("p", { children: content }) : null,
30
- children
31
- ] }) })]
27
+ }), /* @__PURE__ */ jsx(FloatingPortal, {
28
+ portal,
29
+ children: /* @__PURE__ */ jsx(HoverCard$1.Positioner, { children: /* @__PURE__ */ jsxs(HoverCard$1.Content, { children: [
30
+ /* @__PURE__ */ jsx(HoverCard$1.Arrow, { children: /* @__PURE__ */ jsx(HoverCard$1.ArrowTip, {}) }),
31
+ /* @__PURE__ */ jsx("h3", { children: label }),
32
+ description ? /* @__PURE__ */ jsx("p", { children: description }) : null,
33
+ content ? /* @__PURE__ */ jsx("p", { children: content }) : null,
34
+ children
35
+ ] }) })
36
+ })]
32
37
  });
33
38
  }
34
39
  HoverCardFacade.displayName = "SHoverCard";
35
40
  const HoverCard = Object.assign(HoverCardFacade, {
36
41
  ...HoverCard$1,
42
+ Positioner: HoverCardPositioner,
37
43
  Root: HoverCardRoot
38
44
  });
39
45
  injectComponentStyle("hover-card");
@@ -1,2 +1,2 @@
1
- import { n as ImageViewerProps, t as ImageViewer } from "../../index-D4C52fI7.mjs";
1
+ import { n as ImageViewerProps, t as ImageViewer } from "../../index-n9VlNO7D.mjs";
2
2
  export { ImageViewer, ImageViewerProps };
@@ -1,3 +1,3 @@
1
1
  import "../button-group/index.mjs";
2
2
  import "../dialog/index.mjs";
3
- export { t as ImageViewer } from "../../image-viewer-BYiXpi1X.mjs";
3
+ export { t as ImageViewer } from "../../image-viewer-BPTApdoP.mjs";
@@ -1 +1 @@
1
- export { t as Audio, n as Video, r as formatMediaTime } from "../../media-player-CO2Cczl-.mjs";
1
+ export { t as Audio, n as Video, r as formatMediaTime } from "../../media-player-DxG0EYz7.mjs";
@@ -1,2 +1,2 @@
1
- import { a as MentionsProps, c as MentionCommitKey, d as useMentions, i as Mentions, l as UseMentionsHandlers, n as MentionPlacement, o as MentionsVessel, r as MentionTriggers, s as MentionsVesselProps, t as MentionEntry, u as UseMentionsOptions } from "../../index-DcpvCyt6.mjs";
1
+ import { a as MentionsProps, c as MentionCommitKey, d as useMentions, i as Mentions, l as UseMentionsHandlers, n as MentionPlacement, o as MentionsVessel, r as MentionTriggers, s as MentionsVesselProps, t as MentionEntry, u as UseMentionsOptions } from "../../index-CEYybyEQ.mjs";
2
2
  export { type MentionCommitKey, MentionEntry, MentionPlacement, MentionTriggers, Mentions, MentionsProps, MentionsVessel, MentionsVesselProps, type UseMentionsHandlers, type UseMentionsOptions, useMentions };
@@ -1 +1 @@
1
- export { t as Mentions, n as MentionsVessel, r as useMentions } from "../../mentions-De7ChJbl.mjs";
1
+ export { t as Mentions, n as MentionsVessel, r as useMentions } from "../../mentions-B59tQDPt.mjs";
@@ -1,3 +1,4 @@
1
+ import { n as FloatingPortalTarget, t as FloatingPortalProps } from "../../floating-BhcDRgnx.mjs";
1
2
  import { ComponentProps } from "react";
2
3
  import { Menu as Menu$1 } from "@ark-ui/react/menu";
3
4
  type MenuRootProps = ComponentProps<typeof Menu$1.Root> & {
@@ -15,6 +16,8 @@ export interface MenuItemOption {
15
16
  }
16
17
  type MenuPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
17
18
  export interface MenuFacadeProps {
19
+ /** Portal after hydration; `false` keeps the vessel inline. */
20
+ portal?: FloatingPortalTarget;
18
21
  open?: boolean;
19
22
  defaultOpen?: boolean;
20
23
  trigger: string;
@@ -25,11 +28,16 @@ export interface MenuFacadeProps {
25
28
  onSelect?: (value: string) => void;
26
29
  onOpenChange?: (open: boolean) => void;
27
30
  }
28
- declare function MenuFacade({ open, defaultOpen, trigger, items, disabled, placement, size, onSelect, onOpenChange }: MenuFacadeProps): import("react").JSX.Element;
31
+ declare const MenuPositioner: {
32
+ ({ portal, ...rest }: FloatingPortalProps & Menu$1.PositionerProps & import("react").RefAttributes<HTMLDivElement>): import("react").JSX.Element;
33
+ displayName: string;
34
+ };
35
+ declare function MenuFacade({ portal, open, defaultOpen, trigger, items, disabled, placement, size, onSelect, onOpenChange }: MenuFacadeProps): import("react").JSX.Element;
29
36
  declare namespace MenuFacade {
30
37
  var displayName: string;
31
38
  }
32
- type MenuParts = Omit<typeof Menu$1, "Root" | "Content"> & {
39
+ type MenuParts = Omit<typeof Menu$1, "Root" | "Content" | "Positioner"> & {
40
+ Positioner: typeof MenuPositioner;
33
41
  Root: typeof MenuRoot;
34
42
  Content: typeof MenuContent;
35
43
  };
@@ -1,5 +1,6 @@
1
1
  import { r as iconNode } from "../../icon-C9udWCyz.mjs";
2
2
  import { t as useElementId } from "../../id-Ctic_3o8.mjs";
3
+ import { n as definePositioner, t as FloatingPortal } from "../../floating-CMR7cvmA.mjs";
3
4
  import { injectComponentStyle } from "@bysages/core/styling";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import { createContext, useContext } from "react";
@@ -27,7 +28,8 @@ function MenuContent(props) {
27
28
  "data-size": size
28
29
  });
29
30
  }
30
- function MenuFacade({ open, defaultOpen, trigger, items, disabled = false, placement = "bottom-start", size = "md", onSelect, onOpenChange }) {
31
+ const MenuPositioner = definePositioner(Menu$1.Positioner);
32
+ function MenuFacade({ portal = false, open, defaultOpen, trigger, items, disabled = false, placement = "bottom-start", size = "md", onSelect, onOpenChange }) {
31
33
  return /* @__PURE__ */ jsxs(MenuRoot, {
32
34
  size,
33
35
  positioning: { placement },
@@ -41,16 +43,20 @@ function MenuFacade({ open, defaultOpen, trigger, items, disabled = false, place
41
43
  width: 14,
42
44
  height: 14
43
45
  }) })]
44
- }), /* @__PURE__ */ jsx(Menu$1.Positioner, { children: /* @__PURE__ */ jsx(MenuContent, { children: items.map((item) => /* @__PURE__ */ jsx(Menu$1.Item, {
45
- value: item.value,
46
- disabled: item.disabled,
47
- children: item.label
48
- }, item.value)) }) })]
46
+ }), /* @__PURE__ */ jsx(FloatingPortal, {
47
+ portal,
48
+ children: /* @__PURE__ */ jsx(Menu$1.Positioner, { children: /* @__PURE__ */ jsx(MenuContent, { children: items.map((item) => /* @__PURE__ */ jsx(Menu$1.Item, {
49
+ value: item.value,
50
+ disabled: item.disabled,
51
+ children: item.label
52
+ }, item.value)) }) })
53
+ })]
49
54
  });
50
55
  }
51
56
  MenuFacade.displayName = "SMenu";
52
57
  const Menu = Object.assign(MenuFacade, {
53
58
  ...Menu$1,
59
+ Positioner: MenuPositioner,
54
60
  Root: MenuRoot,
55
61
  Content: MenuContent
56
62
  });
@@ -1,3 +1,4 @@
1
+ import { n as FloatingPortalTarget } from "../../floating-BhcDRgnx.mjs";
1
2
  import { Menu } from "../menu/index.mjs";
2
3
  import { HTMLAttributes } from "react";
3
4
  export interface MenubarEntry {
@@ -23,11 +24,13 @@ export interface MenubarGroup {
23
24
  * version. Inside an open menu the machine handles arrows and Escape.
24
25
  */
25
26
  export interface MenubarProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> {
27
+ /** Portal after hydration; `false` keeps the vessel inline. */
28
+ portal?: FloatingPortalTarget;
26
29
  /** The menus across the bar, each with its entries. */
27
30
  items: MenubarGroup[];
28
31
  /** Called with the entry's `value` when it is chosen. */
29
32
  onSelect?: (value: string) => void;
30
33
  }
31
- declare function MenubarImpl({ items, onSelect, children, ...rest }: MenubarProps): import("react").JSX.Element;
34
+ declare function MenubarImpl({ portal, items, onSelect, children, ...rest }: MenubarProps): import("react").JSX.Element;
32
35
  export declare const Menubar: typeof MenubarImpl & typeof Menu;
33
36
  export {};