@luxfi/ui 6.1.3 → 7.1.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 (241) hide show
  1. package/dist/accordion.cjs +213 -0
  2. package/dist/accordion.d.cts +74 -0
  3. package/dist/accordion.d.ts +74 -0
  4. package/dist/accordion.js +186 -0
  5. package/dist/alert.cjs +430 -0
  6. package/dist/alert.d.cts +30 -0
  7. package/dist/alert.d.ts +30 -0
  8. package/dist/alert.js +408 -0
  9. package/dist/avatar.cjs +149 -0
  10. package/dist/avatar.d.cts +25 -0
  11. package/dist/avatar.d.ts +25 -0
  12. package/dist/avatar.js +125 -0
  13. package/dist/badge.cjs +452 -0
  14. package/dist/badge.d.cts +19 -0
  15. package/dist/badge.d.ts +19 -0
  16. package/dist/badge.js +431 -0
  17. package/dist/bank.cjs +272 -0
  18. package/dist/bank.d.cts +76 -0
  19. package/dist/bank.d.ts +76 -0
  20. package/dist/bank.js +258 -0
  21. package/dist/button.cjs +578 -0
  22. package/dist/button.d.cts +55 -0
  23. package/dist/button.d.ts +55 -0
  24. package/dist/button.js +553 -0
  25. package/dist/checkbox.cjs +265 -0
  26. package/dist/checkbox.d.cts +31 -0
  27. package/dist/checkbox.d.ts +31 -0
  28. package/dist/checkbox.js +241 -0
  29. package/dist/close-button.cjs +92 -0
  30. package/dist/close-button.d.cts +9 -0
  31. package/dist/close-button.d.ts +9 -0
  32. package/dist/close-button.js +70 -0
  33. package/dist/collapsible.cjs +555 -0
  34. package/dist/collapsible.d.cts +23 -0
  35. package/dist/collapsible.d.ts +23 -0
  36. package/dist/collapsible.js +532 -0
  37. package/dist/color-mode.cjs +96 -0
  38. package/dist/color-mode.d.cts +25 -0
  39. package/dist/color-mode.d.ts +25 -0
  40. package/dist/color-mode.js +72 -0
  41. package/dist/dialog.cjs +295 -0
  42. package/dist/dialog.d.cts +65 -0
  43. package/dist/dialog.d.ts +65 -0
  44. package/dist/dialog.js +263 -0
  45. package/dist/drawer.cjs +231 -0
  46. package/dist/drawer.d.cts +36 -0
  47. package/dist/drawer.d.ts +36 -0
  48. package/dist/drawer.js +199 -0
  49. package/dist/empty-state.cjs +93 -0
  50. package/dist/empty-state.d.cts +13 -0
  51. package/dist/empty-state.d.ts +13 -0
  52. package/dist/empty-state.js +71 -0
  53. package/dist/expiration-selector.cjs +138 -0
  54. package/dist/expiration-selector.d.cts +16 -0
  55. package/dist/expiration-selector.d.ts +16 -0
  56. package/dist/expiration-selector.js +116 -0
  57. package/dist/field.cjs +183 -0
  58. package/dist/field.d.cts +24 -0
  59. package/dist/field.d.ts +24 -0
  60. package/dist/field.js +160 -0
  61. package/dist/greeks-display.cjs +114 -0
  62. package/dist/greeks-display.d.cts +14 -0
  63. package/dist/greeks-display.d.ts +14 -0
  64. package/dist/greeks-display.js +92 -0
  65. package/dist/heading.cjs +41 -0
  66. package/dist/heading.d.cts +10 -0
  67. package/dist/heading.d.ts +10 -0
  68. package/dist/heading.js +35 -0
  69. package/dist/icon-button.cjs +367 -0
  70. package/dist/icon-button.d.cts +33 -0
  71. package/dist/icon-button.d.ts +33 -0
  72. package/dist/icon-button.js +345 -0
  73. package/dist/image.cjs +425 -0
  74. package/dist/image.d.cts +57 -0
  75. package/dist/image.d.ts +57 -0
  76. package/dist/image.js +404 -0
  77. package/dist/index.cjs +7220 -0
  78. package/dist/index.d.cts +55 -0
  79. package/dist/index.d.ts +55 -0
  80. package/dist/index.js +7043 -0
  81. package/dist/input-group.cjs +155 -0
  82. package/dist/input-group.d.cts +17 -0
  83. package/dist/input-group.d.ts +17 -0
  84. package/dist/input-group.js +133 -0
  85. package/dist/input.cjs +65 -0
  86. package/dist/input.d.cts +11 -0
  87. package/dist/input.d.ts +11 -0
  88. package/dist/input.js +59 -0
  89. package/dist/link.cjs +483 -0
  90. package/dist/link.d.cts +37 -0
  91. package/dist/link.d.ts +37 -0
  92. package/dist/link.js +459 -0
  93. package/dist/menu.cjs +305 -0
  94. package/dist/menu.d.cts +84 -0
  95. package/dist/menu.d.ts +84 -0
  96. package/dist/menu.js +269 -0
  97. package/dist/option-chain.cjs +221 -0
  98. package/dist/option-chain.d.cts +37 -0
  99. package/dist/option-chain.d.ts +37 -0
  100. package/dist/option-chain.js +199 -0
  101. package/dist/option-position.cjs +164 -0
  102. package/dist/option-position.d.cts +29 -0
  103. package/dist/option-position.d.ts +29 -0
  104. package/dist/option-position.js +142 -0
  105. package/dist/pin-input.cjs +182 -0
  106. package/dist/pin-input.d.cts +25 -0
  107. package/dist/pin-input.d.ts +25 -0
  108. package/dist/pin-input.js +160 -0
  109. package/dist/pnl-diagram.cjs +453 -0
  110. package/dist/pnl-diagram.d.cts +11 -0
  111. package/dist/pnl-diagram.d.ts +11 -0
  112. package/dist/pnl-diagram.js +431 -0
  113. package/dist/popover.cjs +342 -0
  114. package/dist/popover.d.cts +73 -0
  115. package/dist/popover.d.ts +73 -0
  116. package/dist/popover.js +310 -0
  117. package/dist/progress-circle.cjs +152 -0
  118. package/dist/progress-circle.d.cts +47 -0
  119. package/dist/progress-circle.d.ts +47 -0
  120. package/dist/progress-circle.js +128 -0
  121. package/dist/progress.cjs +117 -0
  122. package/dist/progress.d.cts +28 -0
  123. package/dist/progress.d.ts +28 -0
  124. package/dist/progress.js +94 -0
  125. package/dist/provider.cjs +62 -0
  126. package/dist/provider.d.cts +7 -0
  127. package/dist/provider.d.ts +7 -0
  128. package/dist/provider.js +40 -0
  129. package/dist/radio.cjs +177 -0
  130. package/dist/radio.d.cts +53 -0
  131. package/dist/radio.d.ts +53 -0
  132. package/dist/radio.js +153 -0
  133. package/dist/rating.cjs +80 -0
  134. package/dist/rating.d.cts +14 -0
  135. package/dist/rating.d.ts +14 -0
  136. package/dist/rating.js +58 -0
  137. package/dist/select.cjs +644 -0
  138. package/dist/select.d.cts +130 -0
  139. package/dist/select.d.ts +130 -0
  140. package/dist/select.js +610 -0
  141. package/dist/separator.cjs +57 -0
  142. package/dist/separator.d.cts +13 -0
  143. package/dist/separator.d.ts +13 -0
  144. package/dist/separator.js +51 -0
  145. package/dist/skeleton.cjs +223 -0
  146. package/dist/skeleton.d.cts +60 -0
  147. package/dist/skeleton.d.ts +60 -0
  148. package/dist/skeleton.js +199 -0
  149. package/dist/slider.cjs +138 -0
  150. package/dist/slider.d.cts +24 -0
  151. package/dist/slider.d.ts +24 -0
  152. package/dist/slider.js +115 -0
  153. package/dist/strategy-builder.cjs +373 -0
  154. package/dist/strategy-builder.d.cts +26 -0
  155. package/dist/strategy-builder.d.ts +26 -0
  156. package/dist/strategy-builder.js +351 -0
  157. package/dist/switch.cjs +163 -0
  158. package/dist/switch.d.cts +27 -0
  159. package/dist/switch.d.ts +27 -0
  160. package/dist/switch.js +140 -0
  161. package/dist/table.cjs +897 -0
  162. package/dist/table.d.cts +107 -0
  163. package/dist/table.d.ts +107 -0
  164. package/dist/table.js +866 -0
  165. package/dist/tabs.cjs +240 -0
  166. package/dist/tabs.d.cts +78 -0
  167. package/dist/tabs.d.ts +78 -0
  168. package/dist/tabs.js +213 -0
  169. package/dist/tag.cjs +529 -0
  170. package/dist/tag.d.cts +21 -0
  171. package/dist/tag.d.ts +21 -0
  172. package/dist/tag.js +507 -0
  173. package/dist/textarea.cjs +65 -0
  174. package/dist/textarea.d.cts +11 -0
  175. package/dist/textarea.d.ts +11 -0
  176. package/dist/textarea.js +59 -0
  177. package/dist/toaster.cjs +99 -0
  178. package/dist/toaster.d.cts +29 -0
  179. package/dist/toaster.d.ts +29 -0
  180. package/dist/toaster.js +96 -0
  181. package/dist/tooltip.cjs +172 -0
  182. package/dist/tooltip.d.cts +38 -0
  183. package/dist/tooltip.d.ts +38 -0
  184. package/dist/tooltip.js +150 -0
  185. package/dist/utils.cjs +11 -0
  186. package/dist/utils.d.cts +5 -0
  187. package/dist/utils.d.ts +5 -0
  188. package/dist/utils.js +9 -0
  189. package/package.json +284 -89
  190. package/src/accordion.tsx +285 -0
  191. package/src/alert.tsx +221 -0
  192. package/src/avatar.tsx +174 -0
  193. package/src/badge.tsx +147 -0
  194. package/src/bank.tsx +325 -0
  195. package/src/button.tsx +477 -0
  196. package/src/checkbox.tsx +307 -0
  197. package/src/close-button.tsx +77 -0
  198. package/src/collapsible.tsx +126 -0
  199. package/src/color-mode.tsx +125 -0
  200. package/src/dialog.tsx +346 -0
  201. package/src/drawer.tsx +186 -0
  202. package/src/empty-state.tsx +97 -0
  203. package/src/expiration-selector.tsx +163 -0
  204. package/src/field.tsx +202 -0
  205. package/src/greeks-display.tsx +138 -0
  206. package/src/heading.tsx +44 -0
  207. package/src/icon-button.tsx +217 -0
  208. package/src/image.tsx +280 -0
  209. package/src/index.ts +267 -138
  210. package/src/input-group.tsx +159 -0
  211. package/src/input.tsx +60 -0
  212. package/src/link.tsx +326 -0
  213. package/src/menu.tsx +471 -0
  214. package/src/option-chain.tsx +261 -0
  215. package/src/option-position.tsx +200 -0
  216. package/src/pin-input.tsx +187 -0
  217. package/src/pnl-diagram.tsx +458 -0
  218. package/src/popover.tsx +386 -0
  219. package/src/progress-circle.tsx +180 -0
  220. package/src/progress.tsx +109 -0
  221. package/src/provider.tsx +12 -0
  222. package/src/radio.tsx +175 -0
  223. package/src/rating.tsx +79 -0
  224. package/src/select.tsx +696 -0
  225. package/src/separator.tsx +59 -0
  226. package/src/skeleton.tsx +254 -0
  227. package/src/slider.tsx +152 -0
  228. package/src/strategy-builder.tsx +466 -0
  229. package/src/switch.tsx +158 -0
  230. package/src/table.tsx +621 -0
  231. package/src/tabs.tsx +354 -0
  232. package/src/tag.tsx +159 -0
  233. package/src/textarea.tsx +60 -0
  234. package/src/toaster.tsx +117 -0
  235. package/src/tokens.css +438 -0
  236. package/src/tooltip.tsx +191 -0
  237. package/src/utils/cn.ts +7 -0
  238. package/src/utils.ts +6 -0
  239. package/tokens.css +438 -0
  240. package/LICENSE +0 -122
  241. package/README.md +0 -109
@@ -0,0 +1,342 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var popover = require('@hanzogui/popover');
5
+ var React2 = require('react');
6
+ var clsx = require('clsx');
7
+ var tailwindMerge = require('tailwind-merge');
8
+ var core = require('@hanzogui/core');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+
11
+ function _interopNamespace(e) {
12
+ if (e && e.__esModule) return e;
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () { return e[k]; }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n.default = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
30
+
31
+ // src/popover.tsx
32
+ function cn(...inputs) {
33
+ return tailwindMerge.twMerge(clsx.clsx(inputs));
34
+ }
35
+ var CLOSE_ICON_PATH = "M9.44 8.035a.791.791 0 0 0 1.12 0l3.802-3.803a.791.791 0 0 1 1.119 0l.287.287a.79.79 0 0 1 0 1.119L11.965 9.44a.79.79 0 0 0 0 1.118l3.803 3.803a.791.791 0 0 1 0 1.119l-.287.287a.791.791 0 0 1-1.119 0l-3.803-3.803a.79.79 0 0 0-1.118 0l-3.803 3.803a.79.79 0 0 1-1.119 0l-.287-.287a.791.791 0 0 1 0-1.119l3.803-3.803a.791.791 0 0 0 0-1.118L4.232 5.638a.791.791 0 0 1 0-1.119l.287-.287a.791.791 0 0 1 1.119 0L9.44 8.035Z";
36
+ var CloseButtonFrame = core.styled(core.View, {
37
+ name: "LuxCloseButton",
38
+ render: /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", "aria-label": "Close" }),
39
+ role: "button",
40
+ cursor: "pointer",
41
+ display: "inline-flex",
42
+ alignItems: "center",
43
+ justifyContent: "center",
44
+ width: 20,
45
+ height: 20,
46
+ minWidth: 0,
47
+ flexShrink: 1,
48
+ padding: 0,
49
+ borderRadius: 4,
50
+ borderWidth: 0,
51
+ overflow: "hidden",
52
+ backgroundColor: "transparent",
53
+ hoverStyle: {
54
+ backgroundColor: "transparent"
55
+ },
56
+ variants: {
57
+ disabled: {
58
+ true: {
59
+ opacity: 0.4,
60
+ pointerEvents: "none"
61
+ }
62
+ }
63
+ }
64
+ });
65
+ var CLOSE_BUTTON_CLASSES = [
66
+ "text-[var(--closeButton-fg,currentColor)]",
67
+ "hover:text-[var(--hover-color,currentColor)]",
68
+ "disabled:opacity-40"
69
+ ].join(" ");
70
+ var CloseButton = React2__namespace.forwardRef(function CloseButton2(props, ref) {
71
+ const { variant: _variant, size: _size, className, children, ...rest } = props;
72
+ return /* @__PURE__ */ jsxRuntime.jsx(
73
+ CloseButtonFrame,
74
+ {
75
+ ref,
76
+ className: [CLOSE_BUTTON_CLASSES, className].filter(Boolean).join(" "),
77
+ ...rest,
78
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsx(
79
+ "svg",
80
+ {
81
+ className: "size-5",
82
+ viewBox: "0 0 20 20",
83
+ fill: "none",
84
+ "aria-hidden": "true",
85
+ children: /* @__PURE__ */ jsxRuntime.jsx(
86
+ "path",
87
+ {
88
+ d: CLOSE_ICON_PATH,
89
+ fill: "currentColor"
90
+ }
91
+ )
92
+ }
93
+ )
94
+ }
95
+ );
96
+ });
97
+ function parsePlacement(placement) {
98
+ if (!placement) {
99
+ return { side: "bottom", align: "start" };
100
+ }
101
+ const parts = placement.split("-");
102
+ const side = parts[0] ?? "bottom";
103
+ const alignPart = parts[1];
104
+ let align = "center";
105
+ if (alignPart === "start") {
106
+ align = "start";
107
+ } else if (alignPart === "end") {
108
+ align = "end";
109
+ }
110
+ return { side, align };
111
+ }
112
+ var PositioningContext = React2__namespace.createContext({
113
+ side: "bottom",
114
+ align: "start",
115
+ sideOffset: 4,
116
+ alignOffset: 0,
117
+ collisionPadding: 4,
118
+ autoFocus: false,
119
+ closeOnInteractOutside: true
120
+ });
121
+ var PopoverRoot = (props) => {
122
+ const {
123
+ children,
124
+ open,
125
+ defaultOpen,
126
+ onOpenChange,
127
+ positioning,
128
+ autoFocus = false,
129
+ closeOnInteractOutside = true,
130
+ // lazyMount and unmountOnExit are handled via keepChildrenMounted
131
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
132
+ lazyMount: _lazyMount,
133
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
134
+ unmountOnExit: _unmountOnExit
135
+ } = props;
136
+ const mergedPositioning = {
137
+ placement: "bottom-start",
138
+ overflowPadding: 4,
139
+ ...positioning,
140
+ offset: {
141
+ mainAxis: 4,
142
+ ...positioning?.offset
143
+ }
144
+ };
145
+ const { side, align } = parsePlacement(mergedPositioning.placement);
146
+ const positioningValue = React2__namespace.useMemo(() => ({
147
+ side,
148
+ align,
149
+ sideOffset: mergedPositioning.offset?.mainAxis ?? 4,
150
+ alignOffset: mergedPositioning.offset?.crossAxis ?? 0,
151
+ collisionPadding: mergedPositioning.overflowPadding ?? 4,
152
+ autoFocus,
153
+ closeOnInteractOutside
154
+ }), [
155
+ side,
156
+ align,
157
+ mergedPositioning.offset?.mainAxis,
158
+ mergedPositioning.offset?.crossAxis,
159
+ mergedPositioning.overflowPadding,
160
+ autoFocus,
161
+ closeOnInteractOutside
162
+ ]);
163
+ const handleOpenChange = React2__namespace.useCallback((isOpen) => {
164
+ onOpenChange?.({ open: isOpen });
165
+ }, [onOpenChange]);
166
+ const placement = mergedPositioning.placement ?? "bottom-start";
167
+ const offset = mergedPositioning.offset?.mainAxis ?? 4;
168
+ return /* @__PURE__ */ jsxRuntime.jsx(PositioningContext.Provider, { value: positioningValue, children: /* @__PURE__ */ jsxRuntime.jsx(
169
+ popover.Popover,
170
+ {
171
+ open,
172
+ defaultOpen,
173
+ onOpenChange: handleOpenChange,
174
+ placement,
175
+ offset,
176
+ disableFocus: !autoFocus,
177
+ children
178
+ }
179
+ ) });
180
+ };
181
+ var PopoverTrigger = React2__namespace.forwardRef(function PopoverTrigger2(props, ref) {
182
+ const { asChild = true, ...rest } = props;
183
+ return /* @__PURE__ */ jsxRuntime.jsx(popover.Popover.Trigger, { asChild: asChild ? "except-style" : void 0, ref, ...rest });
184
+ });
185
+ var PopoverContent = React2__namespace.forwardRef(function PopoverContent2(props, ref) {
186
+ const { portalled = true, portalRef: _portalRef, className, w, minW, maxW, paddingTop, style: styleProp, ...rest } = props;
187
+ const resolvedW = typeof w === "object" ? w.base ?? w.lg : w;
188
+ const contentStyle = {
189
+ ...styleProp,
190
+ ...resolvedW ? { width: resolvedW } : {},
191
+ ...minW ? { minWidth: minW } : {},
192
+ ...maxW ? { maxWidth: maxW } : {},
193
+ ...paddingTop !== void 0 ? { paddingTop: typeof paddingTop === "number" ? `${paddingTop * 4}px` : paddingTop } : {}
194
+ };
195
+ return /* @__PURE__ */ jsxRuntime.jsx(
196
+ popover.Popover.Content,
197
+ {
198
+ ref,
199
+ unstyled: true,
200
+ className: cn(
201
+ "z-50 rounded-lg border border-[var(--color-popover-border,var(--color-border-divider))]",
202
+ "bg-[var(--color-popover-bg,var(--color-dialog-bg))]",
203
+ "shadow-[var(--shadow-popover,var(--shadow-lg))]",
204
+ "outline-none",
205
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
206
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
207
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
208
+ "data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
209
+ className
210
+ ),
211
+ style: Object.keys(contentStyle).length > 0 ? contentStyle : void 0,
212
+ ...rest
213
+ }
214
+ );
215
+ });
216
+ var PopoverArrow = React2__namespace.forwardRef(function PopoverArrow2(props, ref) {
217
+ const { className, ...rest } = props;
218
+ return /* @__PURE__ */ jsxRuntime.jsx(
219
+ popover.Popover.Arrow,
220
+ {
221
+ ref,
222
+ unstyled: true,
223
+ className: cn("fill-[var(--color-popover-bg,var(--color-dialog-bg))]", className),
224
+ ...rest
225
+ }
226
+ );
227
+ });
228
+ var PopoverCloseTrigger = React2__namespace.forwardRef(function PopoverCloseTrigger2(props, ref) {
229
+ const { className, ...rest } = props;
230
+ return /* @__PURE__ */ jsxRuntime.jsx(
231
+ popover.Popover.Close,
232
+ {
233
+ unstyled: true,
234
+ className: cn("absolute top-1 right-1", className),
235
+ ...rest,
236
+ asChild: true,
237
+ ref,
238
+ children: /* @__PURE__ */ jsxRuntime.jsx(CloseButton, {})
239
+ }
240
+ );
241
+ });
242
+ var PopoverCloseTriggerWrapper = React2__namespace.forwardRef(function PopoverCloseTriggerWrapper2(props, ref) {
243
+ const { disabled, children, ...rest } = props;
244
+ if (disabled) {
245
+ return children;
246
+ }
247
+ return /* @__PURE__ */ jsxRuntime.jsx(popover.Popover.Close, { ref, ...rest, asChild: true, children });
248
+ });
249
+ var PopoverBody = React2__namespace.forwardRef(function PopoverBody2(props, ref) {
250
+ const {
251
+ className,
252
+ style: styleProp,
253
+ display: _display,
254
+ flexDir: _flexDir,
255
+ rowGap: _rowGap,
256
+ px: _px,
257
+ py: _py,
258
+ textStyle: _textStyle,
259
+ alignItems: _alignItems,
260
+ ...rest
261
+ } = props;
262
+ const bodyStyle = {
263
+ ...styleProp,
264
+ ..._display ? { display: _display } : {},
265
+ ..._flexDir ? { flexDirection: _flexDir } : {},
266
+ ..._rowGap !== void 0 ? { rowGap: typeof _rowGap === "number" ? `${_rowGap * 4}px` : _rowGap } : {},
267
+ ..._px !== void 0 ? {
268
+ paddingLeft: typeof _px === "number" ? `${_px * 4}px` : _px,
269
+ paddingRight: typeof _px === "number" ? `${_px * 4}px` : _px
270
+ } : {},
271
+ ..._py !== void 0 ? {
272
+ paddingTop: typeof _py === "number" ? `${_py * 4}px` : _py,
273
+ paddingBottom: typeof _py === "number" ? `${_py * 4}px` : _py
274
+ } : {},
275
+ ..._alignItems ? { alignItems: _alignItems } : {}
276
+ };
277
+ return /* @__PURE__ */ jsxRuntime.jsx(
278
+ "div",
279
+ {
280
+ ref,
281
+ className: cn("p-4", className),
282
+ style: Object.keys(bodyStyle).length > 0 ? bodyStyle : void 0,
283
+ ...rest
284
+ }
285
+ );
286
+ });
287
+ var PopoverHeader = React2__namespace.forwardRef(function PopoverHeader2(props, ref) {
288
+ const { className, ...rest } = props;
289
+ return /* @__PURE__ */ jsxRuntime.jsx(
290
+ "div",
291
+ {
292
+ ref,
293
+ className: cn("px-4 pt-4 pb-0 font-semibold", className),
294
+ ...rest
295
+ }
296
+ );
297
+ });
298
+ var PopoverFooter = React2__namespace.forwardRef(function PopoverFooter2(props, ref) {
299
+ const { className, ...rest } = props;
300
+ return /* @__PURE__ */ jsxRuntime.jsx(
301
+ "div",
302
+ {
303
+ ref,
304
+ className: cn("px-4 pb-4 pt-0", className),
305
+ ...rest
306
+ }
307
+ );
308
+ });
309
+ var PopoverTitle = React2__namespace.forwardRef(function PopoverTitle2(props, ref) {
310
+ const { className, ...rest } = props;
311
+ return /* @__PURE__ */ jsxRuntime.jsx(
312
+ "h3",
313
+ {
314
+ ref,
315
+ className: cn("text-base font-semibold", className),
316
+ ...rest
317
+ }
318
+ );
319
+ });
320
+ var PopoverDescription = React2__namespace.forwardRef(function PopoverDescription2(props, ref) {
321
+ const { className, ...rest } = props;
322
+ return /* @__PURE__ */ jsxRuntime.jsx(
323
+ "p",
324
+ {
325
+ ref,
326
+ className: cn("text-sm", className),
327
+ ...rest
328
+ }
329
+ );
330
+ });
331
+
332
+ exports.PopoverArrow = PopoverArrow;
333
+ exports.PopoverBody = PopoverBody;
334
+ exports.PopoverCloseTrigger = PopoverCloseTrigger;
335
+ exports.PopoverCloseTriggerWrapper = PopoverCloseTriggerWrapper;
336
+ exports.PopoverContent = PopoverContent;
337
+ exports.PopoverDescription = PopoverDescription;
338
+ exports.PopoverFooter = PopoverFooter;
339
+ exports.PopoverHeader = PopoverHeader;
340
+ exports.PopoverRoot = PopoverRoot;
341
+ exports.PopoverTitle = PopoverTitle;
342
+ exports.PopoverTrigger = PopoverTrigger;
@@ -0,0 +1,73 @@
1
+ import * as React from 'react';
2
+
3
+ interface Positioning {
4
+ readonly placement?: string;
5
+ readonly offset?: {
6
+ readonly mainAxis?: number;
7
+ readonly crossAxis?: number;
8
+ };
9
+ readonly overflowPadding?: number;
10
+ }
11
+ interface PopoverRootProps {
12
+ readonly children?: React.ReactNode;
13
+ readonly open?: boolean;
14
+ readonly defaultOpen?: boolean;
15
+ /** Chakra-style callback: receives `{ open: boolean }` */
16
+ readonly onOpenChange?: (details: {
17
+ open: boolean;
18
+ }) => void;
19
+ readonly positioning?: Positioning;
20
+ readonly lazyMount?: boolean;
21
+ readonly unmountOnExit?: boolean;
22
+ readonly autoFocus?: boolean;
23
+ readonly closeOnInteractOutside?: boolean;
24
+ readonly modal?: boolean;
25
+ }
26
+ declare const PopoverRoot: (props: PopoverRootProps) => React.ReactElement;
27
+ interface PopoverTriggerProps extends React.ComponentPropsWithoutRef<'button'> {
28
+ readonly asChild?: boolean;
29
+ }
30
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
31
+ interface PopoverContentProps extends React.ComponentPropsWithoutRef<'div'> {
32
+ readonly portalled?: boolean;
33
+ readonly portalRef?: React.RefObject<HTMLElement>;
34
+ readonly w?: string | Record<string, string>;
35
+ readonly minW?: string;
36
+ readonly maxW?: string;
37
+ readonly paddingTop?: number | string;
38
+ }
39
+ declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
40
+ interface PopoverArrowProps extends React.ComponentPropsWithoutRef<'svg'> {
41
+ }
42
+ declare const PopoverArrow: React.ForwardRefExoticComponent<PopoverArrowProps & React.RefAttributes<SVGSVGElement>>;
43
+ interface PopoverCloseTriggerProps extends React.ComponentPropsWithoutRef<'button'> {
44
+ }
45
+ declare const PopoverCloseTrigger: React.ForwardRefExoticComponent<PopoverCloseTriggerProps & React.RefAttributes<HTMLButtonElement>>;
46
+ interface PopoverCloseTriggerWrapperProps extends React.ComponentPropsWithoutRef<'button'> {
47
+ readonly disabled?: boolean;
48
+ }
49
+ declare const PopoverCloseTriggerWrapper: React.ForwardRefExoticComponent<PopoverCloseTriggerWrapperProps & React.RefAttributes<HTMLButtonElement>>;
50
+ interface PopoverBodyProps extends React.ComponentPropsWithoutRef<'div'> {
51
+ readonly display?: string;
52
+ readonly flexDir?: string;
53
+ readonly rowGap?: number | string;
54
+ readonly px?: number | string;
55
+ readonly py?: number | string;
56
+ readonly textStyle?: string;
57
+ readonly alignItems?: string;
58
+ }
59
+ declare const PopoverBody: React.ForwardRefExoticComponent<PopoverBodyProps & React.RefAttributes<HTMLDivElement>>;
60
+ interface PopoverHeaderProps extends React.ComponentPropsWithoutRef<'div'> {
61
+ }
62
+ declare const PopoverHeader: React.ForwardRefExoticComponent<PopoverHeaderProps & React.RefAttributes<HTMLDivElement>>;
63
+ interface PopoverFooterProps extends React.ComponentPropsWithoutRef<'div'> {
64
+ }
65
+ declare const PopoverFooter: React.ForwardRefExoticComponent<PopoverFooterProps & React.RefAttributes<HTMLDivElement>>;
66
+ interface PopoverTitleProps extends React.ComponentPropsWithoutRef<'h3'> {
67
+ }
68
+ declare const PopoverTitle: React.ForwardRefExoticComponent<PopoverTitleProps & React.RefAttributes<HTMLHeadingElement>>;
69
+ interface PopoverDescriptionProps extends React.ComponentPropsWithoutRef<'p'> {
70
+ }
71
+ declare const PopoverDescription: React.ForwardRefExoticComponent<PopoverDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
72
+
73
+ export { PopoverArrow, type PopoverArrowProps, PopoverBody, type PopoverBodyProps, PopoverCloseTrigger, type PopoverCloseTriggerProps, PopoverCloseTriggerWrapper, type PopoverCloseTriggerWrapperProps, PopoverContent, type PopoverContentProps, PopoverDescription, type PopoverDescriptionProps, PopoverFooter, type PopoverFooterProps, PopoverHeader, type PopoverHeaderProps, PopoverRoot, type PopoverRootProps, PopoverTitle, type PopoverTitleProps, PopoverTrigger, type PopoverTriggerProps };
@@ -0,0 +1,73 @@
1
+ import * as React from 'react';
2
+
3
+ interface Positioning {
4
+ readonly placement?: string;
5
+ readonly offset?: {
6
+ readonly mainAxis?: number;
7
+ readonly crossAxis?: number;
8
+ };
9
+ readonly overflowPadding?: number;
10
+ }
11
+ interface PopoverRootProps {
12
+ readonly children?: React.ReactNode;
13
+ readonly open?: boolean;
14
+ readonly defaultOpen?: boolean;
15
+ /** Chakra-style callback: receives `{ open: boolean }` */
16
+ readonly onOpenChange?: (details: {
17
+ open: boolean;
18
+ }) => void;
19
+ readonly positioning?: Positioning;
20
+ readonly lazyMount?: boolean;
21
+ readonly unmountOnExit?: boolean;
22
+ readonly autoFocus?: boolean;
23
+ readonly closeOnInteractOutside?: boolean;
24
+ readonly modal?: boolean;
25
+ }
26
+ declare const PopoverRoot: (props: PopoverRootProps) => React.ReactElement;
27
+ interface PopoverTriggerProps extends React.ComponentPropsWithoutRef<'button'> {
28
+ readonly asChild?: boolean;
29
+ }
30
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
31
+ interface PopoverContentProps extends React.ComponentPropsWithoutRef<'div'> {
32
+ readonly portalled?: boolean;
33
+ readonly portalRef?: React.RefObject<HTMLElement>;
34
+ readonly w?: string | Record<string, string>;
35
+ readonly minW?: string;
36
+ readonly maxW?: string;
37
+ readonly paddingTop?: number | string;
38
+ }
39
+ declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
40
+ interface PopoverArrowProps extends React.ComponentPropsWithoutRef<'svg'> {
41
+ }
42
+ declare const PopoverArrow: React.ForwardRefExoticComponent<PopoverArrowProps & React.RefAttributes<SVGSVGElement>>;
43
+ interface PopoverCloseTriggerProps extends React.ComponentPropsWithoutRef<'button'> {
44
+ }
45
+ declare const PopoverCloseTrigger: React.ForwardRefExoticComponent<PopoverCloseTriggerProps & React.RefAttributes<HTMLButtonElement>>;
46
+ interface PopoverCloseTriggerWrapperProps extends React.ComponentPropsWithoutRef<'button'> {
47
+ readonly disabled?: boolean;
48
+ }
49
+ declare const PopoverCloseTriggerWrapper: React.ForwardRefExoticComponent<PopoverCloseTriggerWrapperProps & React.RefAttributes<HTMLButtonElement>>;
50
+ interface PopoverBodyProps extends React.ComponentPropsWithoutRef<'div'> {
51
+ readonly display?: string;
52
+ readonly flexDir?: string;
53
+ readonly rowGap?: number | string;
54
+ readonly px?: number | string;
55
+ readonly py?: number | string;
56
+ readonly textStyle?: string;
57
+ readonly alignItems?: string;
58
+ }
59
+ declare const PopoverBody: React.ForwardRefExoticComponent<PopoverBodyProps & React.RefAttributes<HTMLDivElement>>;
60
+ interface PopoverHeaderProps extends React.ComponentPropsWithoutRef<'div'> {
61
+ }
62
+ declare const PopoverHeader: React.ForwardRefExoticComponent<PopoverHeaderProps & React.RefAttributes<HTMLDivElement>>;
63
+ interface PopoverFooterProps extends React.ComponentPropsWithoutRef<'div'> {
64
+ }
65
+ declare const PopoverFooter: React.ForwardRefExoticComponent<PopoverFooterProps & React.RefAttributes<HTMLDivElement>>;
66
+ interface PopoverTitleProps extends React.ComponentPropsWithoutRef<'h3'> {
67
+ }
68
+ declare const PopoverTitle: React.ForwardRefExoticComponent<PopoverTitleProps & React.RefAttributes<HTMLHeadingElement>>;
69
+ interface PopoverDescriptionProps extends React.ComponentPropsWithoutRef<'p'> {
70
+ }
71
+ declare const PopoverDescription: React.ForwardRefExoticComponent<PopoverDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
72
+
73
+ export { PopoverArrow, type PopoverArrowProps, PopoverBody, type PopoverBodyProps, PopoverCloseTrigger, type PopoverCloseTriggerProps, PopoverCloseTriggerWrapper, type PopoverCloseTriggerWrapperProps, PopoverContent, type PopoverContentProps, PopoverDescription, type PopoverDescriptionProps, PopoverFooter, type PopoverFooterProps, PopoverHeader, type PopoverHeaderProps, PopoverRoot, type PopoverRootProps, PopoverTitle, type PopoverTitleProps, PopoverTrigger, type PopoverTriggerProps };