@vikram-hegde/skeletal 0.0.1

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 (118) hide show
  1. package/README.md +35 -0
  2. package/dist/alert-dialog/index.d.ts +2 -0
  3. package/dist/alert-dialog/index.js +2 -0
  4. package/dist/alert-dialog-1hxVC_5N.js +71 -0
  5. package/dist/badge/index.d.ts +2 -0
  6. package/dist/badge/index.js +2 -0
  7. package/dist/badge-C3p1L0E7.css +53 -0
  8. package/dist/badge-C3p1L0E7.js +32 -0
  9. package/dist/button/index.d.ts +2 -0
  10. package/dist/button/index.js +2 -0
  11. package/dist/button-B48UNbaC.css +152 -0
  12. package/dist/button-B48UNbaC.js +46 -0
  13. package/dist/button-Dvd4n2U4.d.ts +56 -0
  14. package/dist/checkbox/index.d.ts +2 -0
  15. package/dist/checkbox/index.js +2 -0
  16. package/dist/checkbox-wh2BoiSj.css +76 -0
  17. package/dist/checkbox-wh2BoiSj.js +112 -0
  18. package/dist/cluster-BJ4m5uGN.css +9 -0
  19. package/dist/cluster-BJ4m5uGN.js +21 -0
  20. package/dist/combobox/index.d.ts +2 -0
  21. package/dist/combobox/index.js +2 -0
  22. package/dist/combobox-DWH7uSsx.css +389 -0
  23. package/dist/combobox-DWH7uSsx.js +327 -0
  24. package/dist/command-palette/index.d.ts +2 -0
  25. package/dist/command-palette/index.js +2 -0
  26. package/dist/command-palette-DF4XJ8qz.css +164 -0
  27. package/dist/command-palette-DF4XJ8qz.js +191 -0
  28. package/dist/dialog/index.d.ts +6 -0
  29. package/dist/dialog/index.js +2 -0
  30. package/dist/dialog-C4yqxII_.js +73 -0
  31. package/dist/dialog-footer-Br9KZP4v.js +29 -0
  32. package/dist/dialog-footer-bNVIVPbu.d.ts +56 -0
  33. package/dist/dialog-portal-B21WFYkQ.css +131 -0
  34. package/dist/dialog-portal-B21WFYkQ.js +26 -0
  35. package/dist/dialog-portal-BF89FBeX.d.ts +15 -0
  36. package/dist/dialog-title-DRYRIxCp.js +35 -0
  37. package/dist/dialog-title-jyf86Q8C.d.ts +36 -0
  38. package/dist/dialog-viewport-CaMWJrCJ.d.ts +42 -0
  39. package/dist/dialog-viewport-vpbsq7Ib.js +21 -0
  40. package/dist/drawer/index.d.ts +2 -0
  41. package/dist/drawer/index.js +2 -0
  42. package/dist/drawer-DQmz_uCP.css +214 -0
  43. package/dist/drawer-DQmz_uCP.js +180 -0
  44. package/dist/icon/index.d.ts +2 -0
  45. package/dist/icon/index.js +2 -0
  46. package/dist/icon-DBOdxNvH.css +6 -0
  47. package/dist/icon-DBOdxNvH.js +20 -0
  48. package/dist/index-A2QmU5r9.d.ts +37 -0
  49. package/dist/index-B0uNLS7z.d.ts +301 -0
  50. package/dist/index-B63PSP58.d.ts +94 -0
  51. package/dist/index-BBOkTl3h.d.ts +261 -0
  52. package/dist/index-BLFVnve3.d.ts +53 -0
  53. package/dist/index-BXPUT5u-.d.ts +72 -0
  54. package/dist/index-BngvATZx.d.ts +35 -0
  55. package/dist/index-Br2NrBW_.d.ts +444 -0
  56. package/dist/index-CUy-9csi.d.ts +135 -0
  57. package/dist/index-CbMW32E9.d.ts +82 -0
  58. package/dist/index-CyTcR6iv.d.ts +433 -0
  59. package/dist/index-CznsZ_1M.d.ts +85 -0
  60. package/dist/index-D-6gOciw.d.ts +350 -0
  61. package/dist/index-DdqDyczP.d.ts +209 -0
  62. package/dist/index-GOGpFujX.d.ts +144 -0
  63. package/dist/index-W3ozKcis.d.ts +245 -0
  64. package/dist/index-kpw3_4q_.d.ts +50 -0
  65. package/dist/index-rH7TJeJt.d.ts +334 -0
  66. package/dist/index-rQ7sRkqg.d.ts +122 -0
  67. package/dist/index.css +93 -0
  68. package/dist/index.d.ts +26 -0
  69. package/dist/index.js +26 -0
  70. package/dist/input/index.d.ts +2 -0
  71. package/dist/input/index.js +2 -0
  72. package/dist/input-CQ_ean8e.css +129 -0
  73. package/dist/input-CQ_ean8e.js +65 -0
  74. package/dist/layout/index.d.ts +2 -0
  75. package/dist/layout/index.js +4 -0
  76. package/dist/layout-qoyutnKU.css +181 -0
  77. package/dist/layout-qoyutnKU.js +169 -0
  78. package/dist/menu/index.d.ts +2 -0
  79. package/dist/menu/index.js +2 -0
  80. package/dist/menu-DRdGMI_-.css +236 -0
  81. package/dist/menu-DRdGMI_-.js +243 -0
  82. package/dist/merge-class-name-C4KJJGuK.js +15 -0
  83. package/dist/popover/index.d.ts +2 -0
  84. package/dist/popover/index.js +2 -0
  85. package/dist/popover-CenynT0Z.css +139 -0
  86. package/dist/popover-CenynT0Z.js +174 -0
  87. package/dist/radio/index.d.ts +2 -0
  88. package/dist/radio/index.js +2 -0
  89. package/dist/radio-BJrvdkga.css +80 -0
  90. package/dist/radio-BJrvdkga.js +75 -0
  91. package/dist/scroll-area/index.d.ts +2 -0
  92. package/dist/scroll-area/index.js +2 -0
  93. package/dist/scroll-area-DkORxJE9.css +175 -0
  94. package/dist/scroll-area-DkORxJE9.js +114 -0
  95. package/dist/select/index.d.ts +2 -0
  96. package/dist/select/index.js +2 -0
  97. package/dist/select-BaqBHUac.css +273 -0
  98. package/dist/select-BaqBHUac.js +254 -0
  99. package/dist/skeleton/index.d.ts +2 -0
  100. package/dist/skeleton/index.js +2 -0
  101. package/dist/skeleton-W6fwO5pf.css +88 -0
  102. package/dist/skeleton-W6fwO5pf.js +97 -0
  103. package/dist/spinner/index.d.ts +2 -0
  104. package/dist/spinner/index.js +2 -0
  105. package/dist/spinner-DB6ap8Si.css +43 -0
  106. package/dist/spinner-DB6ap8Si.js +27 -0
  107. package/dist/stack-BzFVrsmT.css +12 -0
  108. package/dist/stack-BzFVrsmT.js +52 -0
  109. package/dist/style-vars-ZSrCUzKx.js +13 -0
  110. package/dist/switch/index.d.ts +2 -0
  111. package/dist/switch/index.js +2 -0
  112. package/dist/switch-DizP31iF.css +76 -0
  113. package/dist/switch-DizP31iF.js +58 -0
  114. package/dist/tooltip/index.d.ts +2 -0
  115. package/dist/tooltip/index.js +2 -0
  116. package/dist/tooltip-CQk2WjUS.css +92 -0
  117. package/dist/tooltip-CQk2WjUS.js +138 -0
  118. package/package.json +68 -0
@@ -0,0 +1,144 @@
1
+ import { ScrollAreaContentProps, ScrollAreaCornerProps, ScrollAreaRootProps, ScrollAreaScrollbarProps, ScrollAreaThumbProps, ScrollAreaViewportProps } from "@base-ui/react/scroll-area";
2
+ //#region src/scroll-area/scroll-area-content.d.ts
3
+ /**
4
+ * Container for the scrollable content. Renders a `<div>`.
5
+ *
6
+ * Place it directly inside `ScrollArea.Viewport`. It ensures the content sizes
7
+ * correctly inside the clipped viewport and inherits overflow-edge variables
8
+ * when a child needs its own mask — set
9
+ * `--scroll-area-overflow-y-start: inherit` on that child.
10
+ */
11
+ interface ScrollAreaContentProps$1 extends ScrollAreaContentProps {}
12
+ declare function ScrollAreaContent({ className, ...props }: ScrollAreaContentProps$1): import("react").JSX.Element;
13
+ //#endregion
14
+ //#region src/scroll-area/scroll-area-corner.d.ts
15
+ /**
16
+ * The corner where vertical and horizontal scrollbars meet. Renders a `<div>`.
17
+ *
18
+ * Only needed when both scrollbars are present. It prevents the tracks from
19
+ * overlapping and exposes `--scroll-area-corner-width/height` for layout.
20
+ */
21
+ interface ScrollAreaCornerProps$1 extends ScrollAreaCornerProps {}
22
+ declare function ScrollAreaCorner({ className, ...props }: ScrollAreaCornerProps$1): import("react").JSX.Element;
23
+ //#endregion
24
+ //#region src/scroll-area/scroll-area-root.d.ts
25
+ /**
26
+ * Groups all parts of the scroll area. Renders a `<div>`.
27
+ *
28
+ * The root clips the viewport and positions custom scrollbars. Give it an
29
+ * explicit size (`height`, `max-height`, `width`) — the viewport fills it.
30
+ *
31
+ * ```tsx
32
+ * <ScrollArea.Root style={{ height: 200 }}>
33
+ * <ScrollArea.Viewport>
34
+ * <ScrollArea.Content>Long content…</ScrollArea.Content>
35
+ * </ScrollArea.Viewport>
36
+ * <ScrollArea.Scrollbar><ScrollArea.Thumb /></ScrollArea.Scrollbar>
37
+ * </ScrollArea.Root>
38
+ * ```
39
+ *
40
+ * All Base UI root props are supported: `overflowEdgeThreshold`, `style`,
41
+ * `className`, `render`.
42
+ */
43
+ interface ScrollAreaRootProps$1 extends ScrollAreaRootProps {}
44
+ declare function ScrollAreaRoot({ className, ...props }: ScrollAreaRootProps$1): import("react").JSX.Element;
45
+ //#endregion
46
+ //#region src/scroll-area/scroll-area-scrollbar.d.ts
47
+ /**
48
+ * A custom scrollbar track. Renders a `<div>` positioned over the viewport edge.
49
+ *
50
+ * Use `orientation="horizontal"` for the horizontal axis; defaults to
51
+ * `"vertical"`. The scrollbar fades in on hover or while scrolling and hides
52
+ * otherwise, keeping the chrome minimal. Pair it with `ScrollArea.Thumb`.
53
+ *
54
+ * ```tsx
55
+ * <ScrollArea.Scrollbar>
56
+ * <ScrollArea.Thumb />
57
+ * </ScrollArea.Scrollbar>
58
+ * ```
59
+ */
60
+ interface ScrollAreaScrollbarProps$1 extends ScrollAreaScrollbarProps {}
61
+ declare function ScrollAreaScrollbar({ className, ...props }: ScrollAreaScrollbarProps$1): import("react").JSX.Element;
62
+ //#endregion
63
+ //#region src/scroll-area/scroll-area-thumb.d.ts
64
+ /**
65
+ * The draggable thumb inside the scrollbar track. Renders a `<div>`.
66
+ *
67
+ * Inherits the scrollbar's `data-orientation` (`vertical` | `horizontal`) and
68
+ * is sized via `--scroll-area-thumb-height/width` set by Base UI.
69
+ */
70
+ interface ScrollAreaThumbProps$1 extends ScrollAreaThumbProps {}
71
+ declare function ScrollAreaThumb({ className, ...props }: ScrollAreaThumbProps$1): import("react").JSX.Element;
72
+ //#endregion
73
+ //#region src/scroll-area/scroll-area-viewport.d.ts
74
+ /**
75
+ * The scrollable container. Renders a `<div>` with `overflow: scroll`.
76
+ *
77
+ * Content fades at the edges where more can be scrolled when `fade` is
78
+ * enabled. The fade uses a CSS `mask-image` driven by Base UI's
79
+ * `--scroll-area-overflow-*` variables, so no JavaScript or shadow overlays
80
+ * are needed. The fade animates naturally with the scroll position.
81
+ *
82
+ * For SSR the bottom/right edge falls back to the fade size so the hint is
83
+ * visible before hydration.
84
+ */
85
+ interface ScrollAreaViewportProps$1 extends ScrollAreaViewportProps {
86
+ /**
87
+ * Whether to fade content at scroll edges.
88
+ *
89
+ * When `true` the viewport masks its content with a gradient that fades out
90
+ * at the top/bottom where more can be scrolled. The fade tracks
91
+ * `--scroll-area-overflow-y-start/end` automatically.
92
+ *
93
+ * Use `"horizontal"` or `"both"` for horizontal or combined axes. For most
94
+ * vertical lists (side navs, dropdowns) `true` (vertical) is correct.
95
+ *
96
+ * @default false
97
+ */
98
+ fade?: boolean | "horizontal" | "vertical" | "both";
99
+ /**
100
+ * The size of the fade gradient at each edge. Only applies when `fade` is set.
101
+ * Any CSS length. Use a larger value for a softer, longer fade.
102
+ *
103
+ * @default '2rem'
104
+ */
105
+ fadeSize?: string;
106
+ }
107
+ declare function ScrollAreaViewport({ className, style, fade, fadeSize, ...props }: ScrollAreaViewportProps$1): import("react").JSX.Element;
108
+ //#endregion
109
+ //#region src/scroll-area/index.d.ts
110
+ /**
111
+ * Compound component for a scrollable area with custom scrollbars and optional
112
+ * edge fades. Wraps Base UI's Scroll Area so every Base UI prop, `render`
113
+ * override, and ref works as documented.
114
+ *
115
+ * ```tsx
116
+ * import { ScrollArea } from '@project-backbone/skeletal'
117
+ *
118
+ * <ScrollArea.Root style={{ height: 200 }}>
119
+ * <ScrollArea.Viewport fade>
120
+ * <ScrollArea.Content>Long content…</ScrollArea.Content>
121
+ * </ScrollArea.Viewport>
122
+ * <ScrollArea.Scrollbar>
123
+ * <ScrollArea.Thumb />
124
+ * </ScrollArea.Scrollbar>
125
+ * <ScrollArea.Corner />
126
+ * </ScrollArea.Root>
127
+ * ```
128
+ *
129
+ * Enable `fade` on the `Viewport` for a soft mask at scroll edges — ideal for
130
+ * side navs and lists where the content should hint at overflow. Tune the
131
+ * distance with `fadeSize` (e.g. `1.5rem`). The mask tracks
132
+ * `--scroll-area-overflow-y-start/end` automatically; no shadow overlays or
133
+ * scroll listeners are needed.
134
+ */
135
+ declare const ScrollArea$1: {
136
+ Root: typeof ScrollAreaRoot;
137
+ Viewport: typeof ScrollAreaViewport;
138
+ Content: typeof ScrollAreaContent;
139
+ Scrollbar: typeof ScrollAreaScrollbar;
140
+ Thumb: typeof ScrollAreaThumb;
141
+ Corner: typeof ScrollAreaCorner;
142
+ };
143
+ //#endregion
144
+ export { ScrollAreaRootProps$1 as a, ScrollAreaScrollbarProps$1 as i, ScrollAreaViewportProps$1 as n, ScrollAreaCornerProps$1 as o, ScrollAreaThumbProps$1 as r, ScrollAreaContentProps$1 as s, ScrollArea$1 as t };
@@ -0,0 +1,245 @@
1
+ import { n as ButtonProps$1 } from "./button-Dvd4n2U4.js";
2
+ import { ButtonState } from "@base-ui/react/button";
3
+ import { CSSProperties } from "react";
4
+ import { Popover, PopoverArrowProps, PopoverBackdropProps, PopoverCloseProps, PopoverDescriptionProps, PopoverPopupProps, PopoverPortalProps, PopoverPositionerProps, PopoverRootProps, PopoverTitleProps, PopoverTriggerProps, PopoverViewportProps } from "@base-ui/react/popover";
5
+ //#region src/popover/popover-arrow.d.ts
6
+ /**
7
+ * A small arrow pointing from the popup to the trigger. Renders a `<div>`
8
+ * element.
9
+ *
10
+ * Place it inside `<Popover.Popup>` (before the content). It orients itself
11
+ * based on the popup's `data-side` attribute, so it works for any placement.
12
+ * Keep `arrowPadding` on the positioner in sync so the arrow never hangs off
13
+ * rounded corners.
14
+ */
15
+ interface PopoverArrowProps$1 extends PopoverArrowProps {}
16
+ declare function PopoverArrow({ className, ...props }: PopoverArrowProps$1): import("react").JSX.Element;
17
+ //#endregion
18
+ //#region src/popover/popover-backdrop.d.ts
19
+ /**
20
+ * An overlay displayed beneath the popover when `modal` is enabled on the
21
+ * root. Renders a `<div>` element.
22
+ *
23
+ * Clicking the backdrop dismisses the popover. It dims the page and fades
24
+ * in/out via `data-starting-style` / `data-ending-style`. Only rendered when
25
+ * `modal` is `true` — non-modal popovers have no backdrop.
26
+ */
27
+ interface PopoverBackdropProps$1 extends PopoverBackdropProps {}
28
+ declare function PopoverBackdrop({ className, ...props }: PopoverBackdropProps$1): import("react").JSX.Element;
29
+ //#endregion
30
+ //#region src/popover/popover-close.d.ts
31
+ /**
32
+ * A button that closes the popover. Renders a `<button>` element.
33
+ *
34
+ * Composed from the `Button` component via Base UI's `render` prop, so it
35
+ * accepts all `Button` props (`variant`, `size`, `fullWidth`, `disabled`, ...).
36
+ * Defaults to the `ghost` variant — use `variant="secondary"` for a footer
37
+ * action or `variant="primary"` for confirmations.
38
+ *
39
+ * When `modal` is `true` or `'trap-focus'` on the root, render a close button
40
+ * inside `<Popover.Popup>` so focus trapping has an escape target and touch
41
+ * screen readers can dismiss the popup. Visually hide it with `sr-only` if
42
+ * needed.
43
+ */
44
+ interface PopoverCloseProps$1 extends Omit<ButtonProps$1, "render" | "className" | "style">, Omit<PopoverCloseProps, "className" | "style" | "render" | "nativeButton"> {
45
+ /** Class applied to the close button. */
46
+ className?: string;
47
+ /** Style applied to the close button. */
48
+ style?: React.CSSProperties;
49
+ }
50
+ declare function PopoverClose({ className, style, variant, size, fullWidth, ...props }: PopoverCloseProps$1): import("react").JSX.Element;
51
+ //#endregion
52
+ //#region src/popover/popover-description.d.ts
53
+ /**
54
+ * A paragraph with additional information about the popover. Renders a `<p>`
55
+ * element.
56
+ *
57
+ * Keep it specific and concise — it is announced alongside the title to
58
+ * screen readers.
59
+ */
60
+ interface PopoverDescriptionProps$1 extends PopoverDescriptionProps {}
61
+ declare function PopoverDescription({ className, ...props }: PopoverDescriptionProps$1): import("react").JSX.Element;
62
+ //#endregion
63
+ //#region src/popover/popover-portal.d.ts
64
+ /**
65
+ * Moves the popover popup to a different part of the DOM, appended to `<body>`
66
+ * by default. Renders a `<div>` element.
67
+ *
68
+ * `keepMounted` keeps the portal in the DOM while the popover is closed (useful
69
+ * for exit animations). `container` overrides the portal target.
70
+ *
71
+ * @default keepMounted = false
72
+ */
73
+ interface PopoverPortalProps$1 extends PopoverPortalProps {}
74
+ declare function PopoverPortal({ className, ...props }: PopoverPortalProps$1): import("react").JSX.Element;
75
+ //#endregion
76
+ //#region src/popover/popover-positioner.d.ts
77
+ /**
78
+ * Positions the popover popup against the trigger. Renders a `<div>` element.
79
+ *
80
+ * Accepts all Base UI positioner props: `side`, `align`, `sideOffset`,
81
+ * `alignOffset`, `collisionAvoidance`, `collisionBoundary`, `collisionPadding`,
82
+ * `sticky`, `positionMethod`, `arrowPadding`, and `anchor`.
83
+ *
84
+ * `side` may flip automatically to avoid collisions (default `'bottom'`).
85
+ * `align` controls the cross-axis placement — use `'start'` to align the
86
+ * popup's leading edge with the trigger. Pair `sideOffset` with
87
+ * `<Popover.Arrow>` so the arrow has room to point at the trigger.
88
+ *
89
+ * @default side = 'bottom'
90
+ * @default align = 'center'
91
+ * @default sideOffset = 8
92
+ */
93
+ interface PopoverPositionerProps$1 extends PopoverPositionerProps {}
94
+ declare function PopoverPositioner({ className, sideOffset, ...props }: PopoverPositionerProps$1): import("react").JSX.Element;
95
+ //#endregion
96
+ //#region src/popover/popover-popup.d.ts
97
+ /**
98
+ * The popover panel that holds the content. Renders a `<div>` element.
99
+ *
100
+ * Accepts all Base UI popup props, including `initialFocus` and `finalFocus`
101
+ * for controlling focus when the popover opens and closes. Content animates
102
+ * in/out via the `data-starting-style` / `data-ending-style` transitions and
103
+ * `data-instant` skips the animation for instant open types.
104
+ *
105
+ * By default the popup sizes to its content with a max width of `20rem`; pass
106
+ * `style={{ width: ... }}` or a `className` to constrain it. It supports
107
+ * `--popup-width` / `--popup-height` / `--available-width` CSS variables from
108
+ * the positioner for responsive sizing.
109
+ */
110
+ interface PopoverPopupProps$1 extends PopoverPopupProps {}
111
+ declare function PopoverPopup({ className, ...props }: PopoverPopupProps$1): import("react").JSX.Element;
112
+ //#endregion
113
+ //#region src/popover/popover-root.d.ts
114
+ /**
115
+ * Groups all parts of the popover. Renders no DOM element.
116
+ *
117
+ * All Base UI root props are supported: `open`, `defaultOpen`, `onOpenChange`,
118
+ * `onOpenChangeComplete`, `modal`, `triggerId`, `defaultTriggerId`, `handle`,
119
+ * `actionsRef`, and `children` (or a render function receiving `payload`).
120
+ *
121
+ * Use `open` + `onOpenChange` to control the popover; otherwise it is
122
+ * uncontrolled. `modal` accepts `true`, `'trap-focus'`, or `false`.
123
+ *
124
+ * - `true`: user interaction is limited to the popover — page scroll is locked
125
+ * and outside pointer interactions are disabled.
126
+ * - `'trap-focus'`: focus is trapped inside the popover but page scroll and
127
+ * outside pointer interactions remain enabled. Render `<Popover.Close>`
128
+ * inside `<Popover.Popup>` so touch screen readers can escape.
129
+ * - `false`: interaction with the rest of the document stays enabled.
130
+ *
131
+ * @default modal = false
132
+ * @default defaultOpen = false
133
+ */
134
+ interface PopoverProps<Payload = unknown> extends PopoverRootProps<Payload> {}
135
+ declare function PopoverRoot<Payload>(props: PopoverProps<Payload>): import("react").JSX.Element;
136
+ //#endregion
137
+ //#region src/popover/popover-title.d.ts
138
+ /**
139
+ * A heading that labels the popover. Renders an `<h2>` element.
140
+ *
141
+ * Prefer a short, specific title (e.g. "Notifications"). The popover is
142
+ * announced with this title for accessibility.
143
+ */
144
+ interface PopoverTitleProps$1 extends PopoverTitleProps {}
145
+ declare function PopoverTitle({ className, ...props }: PopoverTitleProps$1): import("react").JSX.Element;
146
+ //#endregion
147
+ //#region src/popover/popover-trigger.d.ts
148
+ /**
149
+ * A button that opens the popover. Renders a `<button>` element.
150
+ *
151
+ * Composed from the `Button` component via Base UI's `render` prop, so it
152
+ * accepts all `Button` props (`variant`, `size`, `fullWidth`, `disabled`,
153
+ * `onClick`, ...) plus the popover-trigger props from Base UI (`payload`,
154
+ * `handle`, `openOnHover`, `delay`, `closeDelay`, `id`). Defaults to the
155
+ * `outline` variant.
156
+ *
157
+ * Set `openOnHover` to open on hover (useful for preview cards); tune it with
158
+ * `delay` and `closeDelay`. `payload` lets you pass data from the trigger to
159
+ * a render-prop `children` on the root.
160
+ *
161
+ * @default variant = 'outline'
162
+ * @default size = 'md'
163
+ * @default openOnHover = false
164
+ * @default delay = 300
165
+ * @default closeDelay = 0
166
+ */
167
+ interface PopoverTriggerProps$1<Payload = unknown> extends Omit<ButtonProps$1, "className" | "style" | "render">, Omit<PopoverTriggerProps<Payload>, "className" | "style" | "render" | "nativeButton"> {
168
+ /** Class applied to the trigger button, or a function of the button state. */
169
+ className?: string | ((state: ButtonState) => string | undefined);
170
+ /** Style applied to the trigger button, or a function of the button state. */
171
+ style?: CSSProperties | ((state: ButtonState) => CSSProperties | undefined);
172
+ }
173
+ declare function PopoverTrigger<Payload>({ className, style, variant, size, fullWidth, ...props }: PopoverTriggerProps$1<Payload>): import("react").JSX.Element;
174
+ //#endregion
175
+ //#region src/popover/popover-viewport.d.ts
176
+ /**
177
+ * The scroll container for popover content. Renders a `<div>` element.
178
+ *
179
+ * Place it inside `<Popover.Popup>` when the popover may overflow the viewport
180
+ * — it clips and scrolls while keeping the popup's border and shadow intact.
181
+ * This mirrors the `Viewport` pattern used by `Tooltip` and `Menu`.
182
+ */
183
+ interface PopoverViewportProps$1 extends PopoverViewportProps {}
184
+ declare function PopoverViewport({ className, ...props }: PopoverViewportProps$1): import("react").JSX.Element;
185
+ //#endregion
186
+ //#region src/popover/index.d.ts
187
+ /**
188
+ * Compound component for popovers.
189
+ *
190
+ * Assemble the parts as properties of the object:
191
+ *
192
+ * ```tsx
193
+ * import { Popover } from '@vikram-hegde/skeletal'
194
+ *
195
+ * <Popover.Root>
196
+ * <Popover.Trigger>Open</Popover.Trigger>
197
+ * <Popover.Portal>
198
+ * <Popover.Positioner sideOffset={8}>
199
+ * <Popover.Popup>
200
+ * <Popover.Arrow />
201
+ * <Popover.Title>Notifications</Popover.Title>
202
+ * <Popover.Description>You are all caught up.</Popover.Description>
203
+ * <Popover.Close>Dismiss</Popover.Close>
204
+ * </Popover.Popup>
205
+ * </Popover.Positioner>
206
+ * </Popover.Portal>
207
+ * </Popover.Root>
208
+ * ```
209
+ *
210
+ * Composition follows the Base UI anatomy — `Popover.Positioner` floats the
211
+ * popup against the trigger and handles collision avoidance; `Popover.Portal`
212
+ * moves it to `<body>`. Use `Popover.Backdrop` with `modal` on the root to
213
+ * dim the page. `Popover.Viewport` provides a scroll container for
214
+ * overflowing content.
215
+ *
216
+ * All parts are thin styled wrappers over Base UI's `Popover`, so every Base UI
217
+ * prop, `render` override, and ref behaves the same. Part prop types are
218
+ * exported separately (`PopoverProps`, `PopoverPopupProps`, etc.).
219
+ *
220
+ * Detached triggers are supported via `Popover.createHandle()`:
221
+ *
222
+ * ```tsx
223
+ * const handle = Popover.createHandle();
224
+ * <Popover.Trigger handle={handle}>Open</Popover.Trigger>
225
+ * <Popover.Root handle={handle}>…</Popover.Root>
226
+ * ```
227
+ */
228
+ declare const Popover$1: {
229
+ Root: typeof PopoverRoot;
230
+ Trigger: typeof PopoverTrigger;
231
+ Portal: typeof PopoverPortal;
232
+ Backdrop: typeof PopoverBackdrop;
233
+ Positioner: typeof PopoverPositioner;
234
+ Popup: typeof PopoverPopup;
235
+ Arrow: typeof PopoverArrow;
236
+ Title: typeof PopoverTitle;
237
+ Description: typeof PopoverDescription;
238
+ Close: typeof PopoverClose;
239
+ Viewport: typeof PopoverViewport;
240
+ createHandle: typeof Popover.createHandle;
241
+ };
242
+ /** The handle created by `Popover.createHandle()`, for typing detached triggers. */
243
+ type PopoverHandle<Payload> = Popover.Handle<Payload>;
244
+ //#endregion
245
+ export { PopoverTitleProps$1 as a, PopoverPositionerProps$1 as c, PopoverCloseProps$1 as d, PopoverBackdropProps$1 as f, PopoverTriggerProps$1 as i, PopoverPortalProps$1 as l, PopoverHandle as n, PopoverProps as o, PopoverArrowProps$1 as p, PopoverViewportProps$1 as r, PopoverPopupProps$1 as s, Popover$1 as t, PopoverDescriptionProps$1 as u };
@@ -0,0 +1,50 @@
1
+ import { Icon, IconProps, IconWeight } from "@phosphor-icons/react";
2
+ //#region src/icon/icon.d.ts
3
+ /**
4
+ * A single-color icon rendered from a Phosphor icon component.
5
+ *
6
+ * The `name` prop is type-restricted to Phosphor icon components, so only
7
+ * icons from `@phosphor-icons/react` are accepted:
8
+ *
9
+ * ```tsx
10
+ * import { Horse as HorseIcon } from '@phosphor-icons/react'
11
+ *
12
+ * <Icon name={HorseIcon} size={20} />
13
+ * ```
14
+ *
15
+ * By default the icon is decorative (`aria-hidden`); pass `alt` (rendered as
16
+ * a `<title>` by Phosphor) or `aria-label` to make it accessible to screen
17
+ * readers. Color inherits from the surrounding text via `currentColor`.
18
+ *
19
+ * All other Phosphor icon props pass through (`color`, `mirrored`, `title`,
20
+ * `style`, etc.), including `weight` which defaults to `'regular'`.
21
+ */
22
+ interface IconProps$1 extends Omit<IconProps, "size" | "children" | "weight" | "alt" | "name"> {
23
+ /**
24
+ * The Phosphor icon component to render (e.g. `import { Horse as HorseIcon }`).
25
+ */
26
+ name: Icon;
27
+ /**
28
+ * Icon size, in pixels or any CSS length.
29
+ *
30
+ * Pass a string like `'1.25em'` to inherit the surrounding font size.
31
+ *
32
+ * @default 20
33
+ */
34
+ size?: string | number;
35
+ /**
36
+ * The icon's stroke weight.
37
+ *
38
+ * @default 'regular'
39
+ */
40
+ weight?: IconWeight;
41
+ /**
42
+ * Accessible description rendered as an SVG `<title>` element.
43
+ *
44
+ * Omit for purely decorative icons.
45
+ */
46
+ alt?: string;
47
+ }
48
+ declare function Icon$1({ name: IconComponent, size, weight, alt, className, "aria-label": ariaLabel, "aria-hidden": ariaHidden, ...props }: IconProps$1): import("react").JSX.Element;
49
+ //#endregion
50
+ export { IconProps$1 as n, Icon$1 as t };