@stevederico/skateboard-ui 3.0.2 → 3.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 (175) hide show
  1. package/App.jsx +13 -13
  2. package/CHANGELOG.md +64 -0
  3. package/README.md +59 -65
  4. package/components/AuthOverlay.jsx +4 -4
  5. package/components/ProtectedRoute.jsx +1 -1
  6. package/components/ThemeToggle.jsx +1 -1
  7. package/components/UpgradeSheet.jsx +2 -2
  8. package/{core → components/core}/DynamicIcon.jsx +1 -1
  9. package/{layout → components/layout}/Header.jsx +4 -4
  10. package/{layout → components/layout}/Layout.jsx +1 -1
  11. package/{layout → components/layout}/Sidebar.jsx +2 -2
  12. package/{layout → components/layout}/TabBar.jsx +1 -1
  13. package/{views → components/views}/LandingView.jsx +5 -5
  14. package/{views → components/views}/NotFound.jsx +2 -2
  15. package/{views → components/views}/PaymentView.jsx +1 -1
  16. package/{views → components/views}/SettingsView.jsx +6 -6
  17. package/{views → components/views}/SignInView.jsx +6 -6
  18. package/{views → components/views}/SignOutView.jsx +1 -1
  19. package/{views → components/views}/SignUpView.jsx +6 -6
  20. package/{views → components/views}/TextView.jsx +3 -3
  21. package/hooks/useAuthGate.js +1 -1
  22. package/index.js +1 -1
  23. package/package.json +32 -50
  24. package/shadcn/lib/base-ui/LICENSE +21 -0
  25. package/shadcn/lib/base-ui/_chunk-01rqe37g.js +70 -0
  26. package/shadcn/lib/base-ui/_chunk-0h5sskyw.js +347 -0
  27. package/shadcn/lib/base-ui/_chunk-0xhx4g7r.js +57 -0
  28. package/shadcn/lib/base-ui/_chunk-1e6khrvm.js +218 -0
  29. package/shadcn/lib/base-ui/_chunk-1s41sngz.js +302 -0
  30. package/shadcn/lib/base-ui/_chunk-20rtfsz9.js +23 -0
  31. package/shadcn/lib/base-ui/_chunk-2tyt8f8r.js +6034 -0
  32. package/shadcn/lib/base-ui/_chunk-3f31ka8n.js +11 -0
  33. package/shadcn/lib/base-ui/_chunk-3h6zpchb.js +89 -0
  34. package/shadcn/lib/base-ui/_chunk-4s0k3h7t.js +114 -0
  35. package/shadcn/lib/base-ui/_chunk-502wngfc.js +598 -0
  36. package/shadcn/lib/base-ui/_chunk-536jvgeq.js +68 -0
  37. package/shadcn/lib/base-ui/_chunk-611pz5sm.js +10 -0
  38. package/shadcn/lib/base-ui/_chunk-65zw5gs2.js +15 -0
  39. package/shadcn/lib/base-ui/_chunk-6b17g8t7.js +34 -0
  40. package/shadcn/lib/base-ui/_chunk-6xevjepc.js +15 -0
  41. package/shadcn/lib/base-ui/_chunk-71zm6zgv.js +16 -0
  42. package/shadcn/lib/base-ui/_chunk-7fmjymvh.js +32 -0
  43. package/shadcn/lib/base-ui/_chunk-7jjzay8b.js +176 -0
  44. package/shadcn/lib/base-ui/_chunk-7v1t86x1.js +43 -0
  45. package/shadcn/lib/base-ui/_chunk-85vrgzwr.js +227 -0
  46. package/shadcn/lib/base-ui/_chunk-8jz3hb7q.js +9 -0
  47. package/shadcn/lib/base-ui/_chunk-8kh3xk78.js +35 -0
  48. package/shadcn/lib/base-ui/_chunk-97tas84n.js +67 -0
  49. package/shadcn/lib/base-ui/_chunk-9nyxkvte.js +13 -0
  50. package/shadcn/lib/base-ui/_chunk-a8fwg9d0.js +52 -0
  51. package/shadcn/lib/base-ui/_chunk-agc6ew3g.js +29 -0
  52. package/shadcn/lib/base-ui/_chunk-aqwsk46c.js +64 -0
  53. package/shadcn/lib/base-ui/_chunk-atd5kq5q.js +803 -0
  54. package/shadcn/lib/base-ui/_chunk-atnkefgd.js +104 -0
  55. package/shadcn/lib/base-ui/_chunk-b40erthe.js +7 -0
  56. package/shadcn/lib/base-ui/_chunk-b5jsqt97.js +50 -0
  57. package/shadcn/lib/base-ui/_chunk-bk7n9s9e.js +15 -0
  58. package/shadcn/lib/base-ui/_chunk-c3572b5x.js +19 -0
  59. package/shadcn/lib/base-ui/_chunk-cwr896nf.js +25 -0
  60. package/shadcn/lib/base-ui/_chunk-drfb9kp2.js +27 -0
  61. package/shadcn/lib/base-ui/_chunk-ds8fnpjj.js +0 -0
  62. package/shadcn/lib/base-ui/_chunk-ek863ta9.js +82 -0
  63. package/shadcn/lib/base-ui/_chunk-f09cp81f.js +12 -0
  64. package/shadcn/lib/base-ui/_chunk-f5d01bp9.js +0 -0
  65. package/shadcn/lib/base-ui/_chunk-f9tgee1q.js +21 -0
  66. package/shadcn/lib/base-ui/_chunk-fch5cba8.js +84 -0
  67. package/shadcn/lib/base-ui/_chunk-gfce3j3z.js +18 -0
  68. package/shadcn/lib/base-ui/_chunk-ha06w2pp.js +2391 -0
  69. package/shadcn/lib/base-ui/_chunk-hzgetm70.js +23 -0
  70. package/shadcn/lib/base-ui/_chunk-j0eqdjta.js +39 -0
  71. package/shadcn/lib/base-ui/_chunk-k1e5fvcj.js +48 -0
  72. package/shadcn/lib/base-ui/_chunk-k4mc2kan.js +81 -0
  73. package/shadcn/lib/base-ui/_chunk-kfz96xv1.js +128 -0
  74. package/shadcn/lib/base-ui/_chunk-m45547cc.js +15 -0
  75. package/shadcn/lib/base-ui/_chunk-mbn76q14.js +184 -0
  76. package/shadcn/lib/base-ui/_chunk-mvv30fkv.js +9 -0
  77. package/shadcn/lib/base-ui/_chunk-mznt6ktj.js +33 -0
  78. package/shadcn/lib/base-ui/_chunk-n7dnqnbw.js +7 -0
  79. package/shadcn/lib/base-ui/_chunk-nya71ccw.js +546 -0
  80. package/shadcn/lib/base-ui/_chunk-p6qynd6r.js +146 -0
  81. package/shadcn/lib/base-ui/_chunk-q3nee19r.js +323 -0
  82. package/shadcn/lib/base-ui/_chunk-q7yw9mz4.js +385 -0
  83. package/shadcn/lib/base-ui/_chunk-qce0xt57.js +107 -0
  84. package/shadcn/lib/base-ui/_chunk-qgzhcjsj.js +14 -0
  85. package/shadcn/lib/base-ui/_chunk-qt6r015s.js +38 -0
  86. package/shadcn/lib/base-ui/_chunk-r0vsdknk.js +4 -0
  87. package/shadcn/lib/base-ui/_chunk-sx6vkz01.js +150 -0
  88. package/shadcn/lib/base-ui/_chunk-szcr6mhk.js +6 -0
  89. package/shadcn/lib/base-ui/_chunk-t7j3rbpv.js +67 -0
  90. package/shadcn/lib/base-ui/_chunk-tmfmrzwe.js +39 -0
  91. package/shadcn/lib/base-ui/_chunk-v92ycsfj.js +9 -0
  92. package/shadcn/lib/base-ui/_chunk-vdc01ss3.js +6 -0
  93. package/shadcn/lib/base-ui/_chunk-vjbnhhg1.js +26 -0
  94. package/shadcn/lib/base-ui/_chunk-w68yxg9d.js +21 -0
  95. package/shadcn/lib/base-ui/_chunk-wana68v3.js +477 -0
  96. package/shadcn/lib/base-ui/_chunk-wtw745qd.js +12 -0
  97. package/shadcn/lib/base-ui/_chunk-xb7ph1ka.js +6 -0
  98. package/shadcn/lib/base-ui/_chunk-xfagb0fq.js +28 -0
  99. package/shadcn/lib/base-ui/_chunk-xxhqanfd.js +16 -0
  100. package/shadcn/lib/base-ui/_chunk-y887e46p.js +15 -0
  101. package/shadcn/lib/base-ui/_chunk-ymj1dpqg.js +14 -0
  102. package/shadcn/lib/base-ui/accordion.js +650 -0
  103. package/shadcn/lib/base-ui/alert-dialog.js +138 -0
  104. package/shadcn/lib/base-ui/avatar.js +235 -0
  105. package/shadcn/lib/base-ui/button.js +52 -0
  106. package/shadcn/lib/base-ui/checkbox.js +454 -0
  107. package/shadcn/lib/base-ui/collapsible.js +283 -0
  108. package/shadcn/lib/base-ui/context-menu.js +324 -0
  109. package/shadcn/lib/base-ui/dialog.js +71 -0
  110. package/shadcn/lib/base-ui/input.js +1028 -0
  111. package/shadcn/lib/base-ui/menu.js +61 -0
  112. package/shadcn/lib/base-ui/menubar.js +157 -0
  113. package/shadcn/lib/base-ui/merge-props.js +15 -0
  114. package/shadcn/lib/base-ui/navigation-menu.js +1854 -0
  115. package/shadcn/lib/base-ui/popover.js +1090 -0
  116. package/shadcn/lib/base-ui/preview-card.js +709 -0
  117. package/shadcn/lib/base-ui/progress.js +278 -0
  118. package/shadcn/lib/base-ui/radio-group.js +247 -0
  119. package/shadcn/lib/base-ui/radio.js +382 -0
  120. package/shadcn/lib/base-ui/scroll-area.js +1061 -0
  121. package/shadcn/lib/base-ui/select.js +2438 -0
  122. package/shadcn/lib/base-ui/separator.js +11 -0
  123. package/shadcn/lib/base-ui/slider.js +1595 -0
  124. package/shadcn/lib/base-ui/switch.js +333 -0
  125. package/shadcn/lib/base-ui/tabs.js +892 -0
  126. package/shadcn/lib/base-ui/toggle-group.js +152 -0
  127. package/shadcn/lib/base-ui/toggle.js +133 -0
  128. package/shadcn/lib/base-ui/tooltip.js +791 -0
  129. package/shadcn/lib/base-ui/use-render.js +15 -0
  130. package/shadcn/lib/tailwind-merge.js +3312 -0
  131. package/shadcn/lib/utils.js +1 -1
  132. package/shadcn/ui/accordion.jsx +1 -1
  133. package/shadcn/ui/alert-dialog.jsx +1 -1
  134. package/shadcn/ui/avatar.jsx +1 -1
  135. package/shadcn/ui/badge.jsx +2 -2
  136. package/shadcn/ui/breadcrumb.jsx +2 -2
  137. package/shadcn/ui/button-group.jsx +2 -2
  138. package/shadcn/ui/button.jsx +1 -1
  139. package/shadcn/ui/calendar.jsx +1 -1
  140. package/shadcn/ui/checkbox.jsx +1 -1
  141. package/shadcn/ui/collapsible.jsx +1 -1
  142. package/shadcn/ui/command.jsx +1 -1
  143. package/shadcn/ui/context-menu.jsx +1 -1
  144. package/shadcn/ui/dialog.jsx +1 -1
  145. package/shadcn/ui/drawer.jsx +176 -74
  146. package/shadcn/ui/dropdown-menu.jsx +1 -1
  147. package/shadcn/ui/hover-card.jsx +1 -1
  148. package/shadcn/ui/input.jsx +1 -1
  149. package/shadcn/ui/item.jsx +2 -2
  150. package/shadcn/ui/menubar.jsx +2 -2
  151. package/shadcn/ui/navigation-menu.jsx +1 -1
  152. package/shadcn/ui/popover.jsx +1 -1
  153. package/shadcn/ui/progress.jsx +1 -1
  154. package/shadcn/ui/radio-group.jsx +2 -2
  155. package/shadcn/ui/scroll-area.jsx +1 -1
  156. package/shadcn/ui/select.jsx +1 -1
  157. package/shadcn/ui/separator.jsx +1 -1
  158. package/shadcn/ui/sheet.jsx +1 -1
  159. package/shadcn/ui/sidebar.jsx +3 -3
  160. package/shadcn/ui/slider.jsx +1 -1
  161. package/shadcn/ui/switch.jsx +1 -1
  162. package/shadcn/ui/tabs.jsx +1 -1
  163. package/shadcn/ui/toggle-group.jsx +2 -2
  164. package/shadcn/ui/toggle.jsx +1 -1
  165. package/shadcn/ui/tooltip.jsx +1 -1
  166. package/styles.css +31 -0
  167. package/MIGRATION.md +0 -230
  168. package/shadcn/ui/carousel.jsx +0 -195
  169. package/shadcn/ui/chart.jsx +0 -312
  170. package/shadcn/ui/resizable.jsx +0 -47
  171. /package/{core → components/core}/Calendar.jsx +0 -0
  172. /package/{core → components/core}/Command.jsx +0 -0
  173. /package/{core → components/core}/Context.jsx +0 -0
  174. /package/{core → components/core}/ThemeProvider.jsx +0 -0
  175. /package/{core → components/core}/Utilities.js +0 -0
@@ -0,0 +1,709 @@
1
+ /* @base-ui/react 1.4.1 — vendored (MIT — MUI Inc).
2
+ * Refresh: scripts/vendor-base-ui.js (see header for instructions).
3
+ * Do not edit by hand. */
4
+ import {
5
+ FloatingPortalLite
6
+ } from "./_chunk-qt6r015s.js";
7
+ import {
8
+ usePopupViewport
9
+ } from "./_chunk-q7yw9mz4.js";
10
+ import"./_chunk-gfce3j3z.js";
11
+ import {
12
+ adaptiveOrigin,
13
+ getDisabledMountTransitionStyles,
14
+ useAnchorPositioning,
15
+ usePositioner
16
+ } from "./_chunk-502wngfc.js";
17
+ import"./_chunk-xfagb0fq.js";
18
+ import"./_chunk-wtw745qd.js";
19
+ import {
20
+ createInitialPopupStoreState,
21
+ popupStoreSelectors,
22
+ useImplicitActiveTrigger,
23
+ useOpenStateTransitions,
24
+ useTriggerDataForwarding
25
+ } from "./_chunk-7jjzay8b.js";
26
+ import {
27
+ useOnFirstRender
28
+ } from "./_chunk-f09cp81f.js";
29
+ import"./_chunk-f9tgee1q.js";
30
+ import {
31
+ popupStateMapping,
32
+ triggerOpenStateMapping
33
+ } from "./_chunk-536jvgeq.js";
34
+ import"./_chunk-9nyxkvte.js";
35
+ import {
36
+ FloatingNode,
37
+ FloatingTree,
38
+ POPUP_COLLISION_AVOIDANCE,
39
+ PopupTriggerMap,
40
+ ReactStore,
41
+ createSelector,
42
+ safePolygon,
43
+ useDismiss,
44
+ useFloatingNodeId,
45
+ useFocus,
46
+ useHoverFloatingInteraction,
47
+ useHoverReferenceInteraction,
48
+ useInteractions,
49
+ useSyncedFloatingRootContext
50
+ } from "./_chunk-2tyt8f8r.js";
51
+ import"./_chunk-aqwsk46c.js";
52
+ import"./_chunk-xb7ph1ka.js";
53
+ import"./_chunk-atnkefgd.js";
54
+ import"./_chunk-drfb9kp2.js";
55
+ import"./_chunk-nya71ccw.js";
56
+ import"./_chunk-t7j3rbpv.js";
57
+ import"./_chunk-7v1t86x1.js";
58
+ import"./_chunk-hzgetm70.js";
59
+ import"./_chunk-mvv30fkv.js";
60
+ import {
61
+ createChangeEventDetails,
62
+ exports_reason_parts
63
+ } from "./_chunk-4s0k3h7t.js";
64
+ import {
65
+ useBaseUiId
66
+ } from "./_chunk-8kh3xk78.js";
67
+ import {
68
+ transitionStatusMapping,
69
+ useOpenChangeComplete
70
+ } from "./_chunk-mbn76q14.js";
71
+ import"./_chunk-v92ycsfj.js";
72
+ import"./_chunk-3h6zpchb.js";
73
+ import"./_chunk-8jz3hb7q.js";
74
+ import"./_chunk-sx6vkz01.js";
75
+ import"./_chunk-n7dnqnbw.js";
76
+ import {
77
+ useStableCallback
78
+ } from "./_chunk-mznt6ktj.js";
79
+ import {
80
+ useIsoLayoutEffect
81
+ } from "./_chunk-b40erthe.js";
82
+ import {
83
+ useRefWithInit,
84
+ useRenderElement
85
+ } from "./_chunk-1s41sngz.js";
86
+ import {
87
+ __export
88
+ } from "./_chunk-1e6khrvm.js";
89
+
90
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/index.parts.js
91
+ var exports_index_parts = {};
92
+ __export(exports_index_parts, {
93
+ createHandle: () => createPreviewCardHandle,
94
+ Viewport: () => PreviewCardViewport,
95
+ Trigger: () => PreviewCardTrigger,
96
+ Root: () => PreviewCardRoot,
97
+ Positioner: () => PreviewCardPositioner,
98
+ Portal: () => PreviewCardPortal,
99
+ Popup: () => PreviewCardPopup,
100
+ Handle: () => PreviewCardHandle,
101
+ Backdrop: () => PreviewCardBackdrop,
102
+ Arrow: () => PreviewCardArrow
103
+ });
104
+
105
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/root/PreviewCardRoot.js
106
+ import * as React3 from "react";
107
+
108
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/root/PreviewCardContext.js
109
+ import * as React from "react";
110
+ "use client";
111
+ var PreviewCardRootContext = /* @__PURE__ */ React.createContext(undefined);
112
+ if (true)
113
+ PreviewCardRootContext.displayName = "PreviewCardRootContext";
114
+ function usePreviewCardRootContext(optional) {
115
+ const context = React.useContext(PreviewCardRootContext);
116
+ if (context === undefined && !optional) {
117
+ throw new Error("Base UI: PreviewCardRootContext is missing. PreviewCard parts must be placed within <PreviewCard.Root>.");
118
+ }
119
+ return context;
120
+ }
121
+
122
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/store/PreviewCardStore.js
123
+ import * as React2 from "react";
124
+ import * as ReactDOM from "react-dom";
125
+
126
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/utils/constants.js
127
+ var OPEN_DELAY = 600;
128
+ var CLOSE_DELAY = 300;
129
+
130
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/store/PreviewCardStore.js
131
+ var selectors = {
132
+ ...popupStoreSelectors,
133
+ instantType: createSelector((state) => state.instantType),
134
+ hasViewport: createSelector((state) => state.hasViewport)
135
+ };
136
+
137
+ class PreviewCardStore extends ReactStore {
138
+ constructor(initialState) {
139
+ super({
140
+ ...createInitialState(),
141
+ ...initialState
142
+ }, {
143
+ popupRef: /* @__PURE__ */ React2.createRef(),
144
+ onOpenChange: undefined,
145
+ onOpenChangeComplete: undefined,
146
+ triggerElements: new PopupTriggerMap,
147
+ closeDelayRef: {
148
+ current: CLOSE_DELAY
149
+ }
150
+ }, selectors);
151
+ }
152
+ setOpen = (nextOpen, eventDetails) => {
153
+ const reason = eventDetails.reason;
154
+ const isHover = reason === exports_reason_parts.triggerHover;
155
+ const isFocusOpen = nextOpen && reason === exports_reason_parts.triggerFocus;
156
+ const isDismissClose = !nextOpen && (reason === exports_reason_parts.triggerPress || reason === exports_reason_parts.escapeKey);
157
+ eventDetails.preventUnmountOnClose = () => {
158
+ this.set("preventUnmountingOnClose", true);
159
+ };
160
+ this.context.onOpenChange?.(nextOpen, eventDetails);
161
+ if (eventDetails.isCanceled) {
162
+ return;
163
+ }
164
+ this.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);
165
+ const changeState = () => {
166
+ const updatedState = {
167
+ open: nextOpen
168
+ };
169
+ if (isFocusOpen) {
170
+ updatedState.instantType = "focus";
171
+ } else if (isDismissClose) {
172
+ updatedState.instantType = "dismiss";
173
+ } else if (reason === exports_reason_parts.triggerHover) {
174
+ updatedState.instantType = undefined;
175
+ }
176
+ const newTriggerId = eventDetails.trigger?.id ?? null;
177
+ if (newTriggerId || nextOpen) {
178
+ updatedState.activeTriggerId = newTriggerId;
179
+ updatedState.activeTriggerElement = eventDetails.trigger ?? null;
180
+ }
181
+ this.update(updatedState);
182
+ };
183
+ if (isHover) {
184
+ ReactDOM.flushSync(changeState);
185
+ } else {
186
+ changeState();
187
+ }
188
+ };
189
+ static useStore(externalStore, initialState) {
190
+ const internalStore = useRefWithInit(() => {
191
+ return new PreviewCardStore(initialState);
192
+ }).current;
193
+ const store = externalStore ?? internalStore;
194
+ const floatingRootContext = useSyncedFloatingRootContext({
195
+ popupStore: store,
196
+ onOpenChange: store.setOpen
197
+ });
198
+ store.state.floatingRootContext = floatingRootContext;
199
+ return store;
200
+ }
201
+ }
202
+ function createInitialState() {
203
+ return {
204
+ ...createInitialPopupStoreState(),
205
+ instantType: undefined,
206
+ hasViewport: false
207
+ };
208
+ }
209
+
210
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/root/PreviewCardRoot.js
211
+ import { jsx as _jsx } from "react/jsx-runtime";
212
+ "use client";
213
+ function PreviewCardRootComponent(props) {
214
+ const {
215
+ open: openProp,
216
+ defaultOpen = false,
217
+ onOpenChange,
218
+ onOpenChangeComplete,
219
+ actionsRef,
220
+ handle,
221
+ triggerId: triggerIdProp,
222
+ defaultTriggerId: defaultTriggerIdProp = null,
223
+ children
224
+ } = props;
225
+ const store = PreviewCardStore.useStore(handle?.store, {
226
+ open: defaultOpen,
227
+ openProp,
228
+ activeTriggerId: defaultTriggerIdProp,
229
+ triggerIdProp
230
+ });
231
+ useOnFirstRender(() => {
232
+ if (openProp === undefined && store.state.open === false && defaultOpen === true) {
233
+ store.update({
234
+ open: true,
235
+ activeTriggerId: defaultTriggerIdProp
236
+ });
237
+ }
238
+ });
239
+ store.useControlledProp("openProp", openProp);
240
+ store.useControlledProp("triggerIdProp", triggerIdProp);
241
+ store.useContextCallback("onOpenChange", onOpenChange);
242
+ store.useContextCallback("onOpenChangeComplete", onOpenChangeComplete);
243
+ const open = store.useState("open");
244
+ const floatingRootContext = store.select("floatingRootContext");
245
+ const activeTriggerId = store.useState("activeTriggerId");
246
+ const payload = store.useState("payload");
247
+ useImplicitActiveTrigger(store);
248
+ const {
249
+ forceUnmount
250
+ } = useOpenStateTransitions(open, store);
251
+ useIsoLayoutEffect(() => {
252
+ if (open) {
253
+ if (activeTriggerId == null) {
254
+ store.set("payload", undefined);
255
+ }
256
+ }
257
+ }, [store, activeTriggerId, open]);
258
+ const handleImperativeClose = React3.useCallback(() => {
259
+ store.setOpen(false, createChangeEventDetails(exports_reason_parts.imperativeAction));
260
+ }, [store]);
261
+ React3.useImperativeHandle(actionsRef, () => ({
262
+ unmount: forceUnmount,
263
+ close: handleImperativeClose
264
+ }), [forceUnmount, handleImperativeClose]);
265
+ const dismiss = useDismiss(floatingRootContext);
266
+ const {
267
+ getReferenceProps,
268
+ getTriggerProps,
269
+ getFloatingProps
270
+ } = useInteractions([dismiss]);
271
+ const activeTriggerProps = React3.useMemo(() => getReferenceProps(), [getReferenceProps]);
272
+ const inactiveTriggerProps = React3.useMemo(() => getTriggerProps(), [getTriggerProps]);
273
+ const popupProps = React3.useMemo(() => getFloatingProps(), [getFloatingProps]);
274
+ store.useSyncedValues({
275
+ activeTriggerProps,
276
+ inactiveTriggerProps,
277
+ popupProps
278
+ });
279
+ return /* @__PURE__ */ _jsx(PreviewCardRootContext.Provider, {
280
+ value: store,
281
+ children: typeof children === "function" ? children({
282
+ payload
283
+ }) : children
284
+ });
285
+ }
286
+ function PreviewCardRoot(props) {
287
+ if (usePreviewCardRootContext(true)) {
288
+ return /* @__PURE__ */ _jsx(PreviewCardRootComponent, {
289
+ ...props
290
+ });
291
+ }
292
+ return /* @__PURE__ */ _jsx(FloatingTree, {
293
+ children: /* @__PURE__ */ _jsx(PreviewCardRootComponent, {
294
+ ...props
295
+ })
296
+ });
297
+ }
298
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/portal/PreviewCardPortal.js
299
+ import * as React5 from "react";
300
+
301
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/portal/PreviewCardPortalContext.js
302
+ import * as React4 from "react";
303
+ "use client";
304
+ var PreviewCardPortalContext = /* @__PURE__ */ React4.createContext(undefined);
305
+ if (true)
306
+ PreviewCardPortalContext.displayName = "PreviewCardPortalContext";
307
+ function usePreviewCardPortalContext() {
308
+ const value = React4.useContext(PreviewCardPortalContext);
309
+ if (value === undefined) {
310
+ throw new Error("Base UI: <PreviewCard.Portal> is missing.");
311
+ }
312
+ return value;
313
+ }
314
+
315
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/portal/PreviewCardPortal.js
316
+ import { jsx as _jsx2 } from "react/jsx-runtime";
317
+ "use client";
318
+ var PreviewCardPortal = /* @__PURE__ */ React5.forwardRef(function PreviewCardPortal2(props, forwardedRef) {
319
+ const {
320
+ keepMounted = false,
321
+ ...portalProps
322
+ } = props;
323
+ const store = usePreviewCardRootContext();
324
+ const mounted = store.useState("mounted");
325
+ const shouldRender = mounted || keepMounted;
326
+ if (!shouldRender) {
327
+ return null;
328
+ }
329
+ return /* @__PURE__ */ _jsx2(PreviewCardPortalContext.Provider, {
330
+ value: keepMounted,
331
+ children: /* @__PURE__ */ _jsx2(FloatingPortalLite, {
332
+ ref: forwardedRef,
333
+ ...portalProps
334
+ })
335
+ });
336
+ });
337
+ if (true)
338
+ PreviewCardPortal.displayName = "PreviewCardPortal";
339
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/trigger/PreviewCardTrigger.js
340
+ import * as React6 from "react";
341
+ "use client";
342
+ var PreviewCardTrigger = /* @__PURE__ */ React6.forwardRef(function PreviewCardTrigger2(componentProps, forwardedRef) {
343
+ const {
344
+ render,
345
+ className,
346
+ delay,
347
+ closeDelay,
348
+ id: idProp,
349
+ payload,
350
+ handle,
351
+ style,
352
+ ...elementProps
353
+ } = componentProps;
354
+ const rootContext = usePreviewCardRootContext(true);
355
+ const store = handle?.store ?? rootContext;
356
+ if (!store) {
357
+ throw new Error("Base UI: <PreviewCard.Trigger> must be either used within a <PreviewCard.Root> component or provided with a handle.");
358
+ }
359
+ const thisTriggerId = useBaseUiId(idProp);
360
+ const isTriggerActive = store.useState("isTriggerActive", thisTriggerId);
361
+ const isOpenedByThisTrigger = store.useState("isOpenedByTrigger", thisTriggerId);
362
+ const floatingRootContext = store.useState("floatingRootContext");
363
+ const triggerElementRef = React6.useRef(null);
364
+ const delayWithDefault = delay ?? OPEN_DELAY;
365
+ const closeDelayWithDefault = closeDelay ?? CLOSE_DELAY;
366
+ const {
367
+ registerTrigger,
368
+ isMountedByThisTrigger
369
+ } = useTriggerDataForwarding(thisTriggerId, triggerElementRef, store, {
370
+ payload
371
+ });
372
+ useIsoLayoutEffect(() => {
373
+ if (isMountedByThisTrigger) {
374
+ store.context.closeDelayRef.current = closeDelayWithDefault;
375
+ }
376
+ }, [store, isMountedByThisTrigger, closeDelayWithDefault]);
377
+ const hoverProps = useHoverReferenceInteraction(floatingRootContext, {
378
+ mouseOnly: true,
379
+ move: false,
380
+ handleClose: safePolygon(),
381
+ delay: () => ({
382
+ open: delayWithDefault,
383
+ close: closeDelayWithDefault
384
+ }),
385
+ triggerElementRef,
386
+ isActiveTrigger: isTriggerActive,
387
+ isClosing: () => store.select("transitionStatus") === "ending"
388
+ });
389
+ const focusProps = useFocus(floatingRootContext, {
390
+ delay: delayWithDefault
391
+ });
392
+ const state = {
393
+ open: isOpenedByThisTrigger
394
+ };
395
+ const rootTriggerProps = store.useState("triggerProps", isMountedByThisTrigger);
396
+ const element = useRenderElement("a", componentProps, {
397
+ state,
398
+ ref: [forwardedRef, registerTrigger, triggerElementRef],
399
+ props: [hoverProps, focusProps.reference, rootTriggerProps, {
400
+ id: thisTriggerId
401
+ }, elementProps],
402
+ stateAttributesMapping: triggerOpenStateMapping
403
+ });
404
+ return element;
405
+ });
406
+ if (true)
407
+ PreviewCardTrigger.displayName = "PreviewCardTrigger";
408
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/positioner/PreviewCardPositioner.js
409
+ import * as React8 from "react";
410
+
411
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/positioner/PreviewCardPositionerContext.js
412
+ import * as React7 from "react";
413
+ "use client";
414
+ var PreviewCardPositionerContext = /* @__PURE__ */ React7.createContext(undefined);
415
+ if (true)
416
+ PreviewCardPositionerContext.displayName = "PreviewCardPositionerContext";
417
+ function usePreviewCardPositionerContext() {
418
+ const context = React7.useContext(PreviewCardPositionerContext);
419
+ if (context === undefined) {
420
+ throw new Error("Base UI: <PreviewCard.Popup> and <PreviewCard.Arrow> must be used within the <PreviewCard.Positioner> component");
421
+ }
422
+ return context;
423
+ }
424
+
425
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/positioner/PreviewCardPositioner.js
426
+ import { jsx as _jsx3 } from "react/jsx-runtime";
427
+ "use client";
428
+ var PreviewCardPositioner = /* @__PURE__ */ React8.forwardRef(function PreviewCardPositioner2(componentProps, forwardedRef) {
429
+ const {
430
+ render,
431
+ className,
432
+ anchor,
433
+ positionMethod = "absolute",
434
+ side = "bottom",
435
+ align = "center",
436
+ sideOffset = 0,
437
+ alignOffset = 0,
438
+ collisionBoundary = "clipping-ancestors",
439
+ collisionPadding = 5,
440
+ arrowPadding = 5,
441
+ sticky = false,
442
+ disableAnchorTracking = false,
443
+ collisionAvoidance = POPUP_COLLISION_AVOIDANCE,
444
+ style,
445
+ ...elementProps
446
+ } = componentProps;
447
+ const store = usePreviewCardRootContext();
448
+ const keepMounted = usePreviewCardPortalContext();
449
+ const nodeId = useFloatingNodeId();
450
+ const open = store.useState("open");
451
+ const mounted = store.useState("mounted");
452
+ const floatingRootContext = store.useState("floatingRootContext");
453
+ const instantType = store.useState("instantType");
454
+ const transitionStatus = store.useState("transitionStatus");
455
+ const hasViewport = store.useState("hasViewport");
456
+ const positioning = useAnchorPositioning({
457
+ anchor,
458
+ floatingRootContext,
459
+ positionMethod,
460
+ mounted,
461
+ side,
462
+ sideOffset,
463
+ align,
464
+ alignOffset,
465
+ arrowPadding,
466
+ collisionBoundary,
467
+ collisionPadding,
468
+ sticky,
469
+ disableAnchorTracking,
470
+ keepMounted,
471
+ nodeId,
472
+ collisionAvoidance,
473
+ adaptiveOrigin: hasViewport ? adaptiveOrigin : undefined
474
+ });
475
+ const state = {
476
+ open,
477
+ side: positioning.side,
478
+ align: positioning.align,
479
+ anchorHidden: positioning.anchorHidden,
480
+ instant: instantType
481
+ };
482
+ const element = usePositioner(componentProps, state, {
483
+ styles: positioning.positionerStyles,
484
+ transitionStatus,
485
+ props: elementProps,
486
+ refs: [forwardedRef, store.useStateSetter("positionerElement")],
487
+ hidden: !mounted,
488
+ inert: !open
489
+ });
490
+ return /* @__PURE__ */ _jsx3(PreviewCardPositionerContext.Provider, {
491
+ value: positioning,
492
+ children: /* @__PURE__ */ _jsx3(FloatingNode, {
493
+ id: nodeId,
494
+ children: element
495
+ })
496
+ });
497
+ });
498
+ if (true)
499
+ PreviewCardPositioner.displayName = "PreviewCardPositioner";
500
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/popup/PreviewCardPopup.js
501
+ import * as React9 from "react";
502
+ "use client";
503
+ var stateAttributesMapping = {
504
+ ...popupStateMapping,
505
+ ...transitionStatusMapping
506
+ };
507
+ var PreviewCardPopup = /* @__PURE__ */ React9.forwardRef(function PreviewCardPopup2(componentProps, forwardedRef) {
508
+ const {
509
+ className,
510
+ render,
511
+ style,
512
+ ...elementProps
513
+ } = componentProps;
514
+ const store = usePreviewCardRootContext();
515
+ const {
516
+ side,
517
+ align
518
+ } = usePreviewCardPositionerContext();
519
+ const open = store.useState("open");
520
+ const instantType = store.useState("instantType");
521
+ const transitionStatus = store.useState("transitionStatus");
522
+ const popupProps = store.useState("popupProps");
523
+ const floatingContext = store.useState("floatingRootContext");
524
+ useOpenChangeComplete({
525
+ open,
526
+ ref: store.context.popupRef,
527
+ onComplete() {
528
+ if (open) {
529
+ store.context.onOpenChangeComplete?.(true);
530
+ }
531
+ }
532
+ });
533
+ const getCloseDelay = useStableCallback(() => store.context.closeDelayRef.current);
534
+ useHoverFloatingInteraction(floatingContext, {
535
+ closeDelay: getCloseDelay
536
+ });
537
+ const state = {
538
+ open,
539
+ side,
540
+ align,
541
+ instant: instantType,
542
+ transitionStatus
543
+ };
544
+ const element = useRenderElement("div", componentProps, {
545
+ state,
546
+ ref: [forwardedRef, store.context.popupRef, store.useStateSetter("popupElement")],
547
+ props: [popupProps, getDisabledMountTransitionStyles(transitionStatus), elementProps],
548
+ stateAttributesMapping
549
+ });
550
+ return element;
551
+ });
552
+ if (true)
553
+ PreviewCardPopup.displayName = "PreviewCardPopup";
554
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/arrow/PreviewCardArrow.js
555
+ import * as React10 from "react";
556
+ "use client";
557
+ var PreviewCardArrow = /* @__PURE__ */ React10.forwardRef(function PreviewCardArrow2(componentProps, forwardedRef) {
558
+ const {
559
+ render,
560
+ className,
561
+ style,
562
+ ...elementProps
563
+ } = componentProps;
564
+ const store = usePreviewCardRootContext();
565
+ const {
566
+ arrowRef,
567
+ side,
568
+ align,
569
+ arrowUncentered,
570
+ arrowStyles
571
+ } = usePreviewCardPositionerContext();
572
+ const open = store.useState("open");
573
+ const state = {
574
+ open,
575
+ side,
576
+ align,
577
+ uncentered: arrowUncentered
578
+ };
579
+ const element = useRenderElement("div", componentProps, {
580
+ state,
581
+ ref: [arrowRef, forwardedRef],
582
+ props: [{
583
+ style: arrowStyles,
584
+ "aria-hidden": true
585
+ }, elementProps],
586
+ stateAttributesMapping: popupStateMapping
587
+ });
588
+ return element;
589
+ });
590
+ if (true)
591
+ PreviewCardArrow.displayName = "PreviewCardArrow";
592
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/backdrop/PreviewCardBackdrop.js
593
+ import * as React11 from "react";
594
+ "use client";
595
+ var stateAttributesMapping2 = {
596
+ ...popupStateMapping,
597
+ ...transitionStatusMapping
598
+ };
599
+ var PreviewCardBackdrop = /* @__PURE__ */ React11.forwardRef(function PreviewCardBackdrop2(componentProps, forwardedRef) {
600
+ const {
601
+ render,
602
+ className,
603
+ style,
604
+ ...elementProps
605
+ } = componentProps;
606
+ const store = usePreviewCardRootContext();
607
+ const open = store.useState("open");
608
+ const mounted = store.useState("mounted");
609
+ const transitionStatus = store.useState("transitionStatus");
610
+ const state = {
611
+ open,
612
+ transitionStatus
613
+ };
614
+ const element = useRenderElement("div", componentProps, {
615
+ state,
616
+ ref: [forwardedRef],
617
+ props: [{
618
+ role: "presentation",
619
+ hidden: !mounted,
620
+ style: {
621
+ pointerEvents: "none",
622
+ userSelect: "none",
623
+ WebkitUserSelect: "none"
624
+ }
625
+ }, elementProps],
626
+ stateAttributesMapping: stateAttributesMapping2
627
+ });
628
+ return element;
629
+ });
630
+ if (true)
631
+ PreviewCardBackdrop.displayName = "PreviewCardBackdrop";
632
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/viewport/PreviewCardViewport.js
633
+ import * as React12 from "react";
634
+
635
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/viewport/PreviewCardViewportCssVars.js
636
+ var PreviewCardViewportCssVars = /* @__PURE__ */ function(PreviewCardViewportCssVars2) {
637
+ PreviewCardViewportCssVars2["popupWidth"] = "--popup-width";
638
+ PreviewCardViewportCssVars2["popupHeight"] = "--popup-height";
639
+ return PreviewCardViewportCssVars2;
640
+ }({});
641
+
642
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/viewport/PreviewCardViewport.js
643
+ "use client";
644
+ var stateAttributesMapping3 = {
645
+ activationDirection: (value) => value ? {
646
+ "data-activation-direction": value
647
+ } : null
648
+ };
649
+ var PreviewCardViewport = /* @__PURE__ */ React12.forwardRef(function PreviewCardViewport2(componentProps, forwardedRef) {
650
+ const {
651
+ render,
652
+ className,
653
+ style,
654
+ children,
655
+ ...elementProps
656
+ } = componentProps;
657
+ const store = usePreviewCardRootContext();
658
+ const positioner = usePreviewCardPositionerContext();
659
+ const instantType = store.useState("instantType");
660
+ const {
661
+ children: childrenToRender,
662
+ state: viewportState
663
+ } = usePopupViewport({
664
+ store,
665
+ side: positioner.side,
666
+ cssVars: PreviewCardViewportCssVars,
667
+ children
668
+ });
669
+ const state = {
670
+ activationDirection: viewportState.activationDirection,
671
+ transitioning: viewportState.transitioning,
672
+ instant: instantType
673
+ };
674
+ return useRenderElement("div", componentProps, {
675
+ state,
676
+ ref: forwardedRef,
677
+ props: [elementProps, {
678
+ children: childrenToRender
679
+ }],
680
+ stateAttributesMapping: stateAttributesMapping3
681
+ });
682
+ });
683
+ if (true)
684
+ PreviewCardViewport.displayName = "PreviewCardViewport";
685
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/preview-card/store/PreviewCardHandle.js
686
+ class PreviewCardHandle {
687
+ constructor() {
688
+ this.store = new PreviewCardStore;
689
+ }
690
+ open(triggerId) {
691
+ const triggerElement = triggerId ? this.store.context.triggerElements.getById(triggerId) : undefined;
692
+ if (triggerId && !triggerElement) {
693
+ throw new Error(`Base UI: PreviewCardHandle.open: No trigger found with id "${triggerId}".`);
694
+ }
695
+ this.store.setOpen(true, createChangeEventDetails(exports_reason_parts.imperativeAction, undefined, triggerElement));
696
+ }
697
+ close() {
698
+ this.store.setOpen(false, createChangeEventDetails(exports_reason_parts.imperativeAction, undefined, undefined));
699
+ }
700
+ get isOpen() {
701
+ return this.store.state.open;
702
+ }
703
+ }
704
+ function createPreviewCardHandle() {
705
+ return new PreviewCardHandle;
706
+ }
707
+ export {
708
+ exports_index_parts as PreviewCard
709
+ };