@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,791 @@
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
+ CommonTriggerDataAttributes,
32
+ popupStateMapping,
33
+ triggerOpenStateMapping
34
+ } from "./_chunk-536jvgeq.js";
35
+ import"./_chunk-9nyxkvte.js";
36
+ import {
37
+ FloatingDelayGroup,
38
+ POPUP_COLLISION_AVOIDANCE,
39
+ PopupTriggerMap,
40
+ ReactStore,
41
+ createSelector,
42
+ fastComponent,
43
+ fastComponentRef,
44
+ safePolygon,
45
+ useClientPoint,
46
+ useDelayGroup,
47
+ useDismiss,
48
+ useFocus,
49
+ useHoverFloatingInteraction,
50
+ useHoverReferenceInteraction,
51
+ useInteractions,
52
+ useSyncedFloatingRootContext
53
+ } from "./_chunk-2tyt8f8r.js";
54
+ import"./_chunk-aqwsk46c.js";
55
+ import"./_chunk-xb7ph1ka.js";
56
+ import"./_chunk-atnkefgd.js";
57
+ import"./_chunk-drfb9kp2.js";
58
+ import"./_chunk-nya71ccw.js";
59
+ import"./_chunk-t7j3rbpv.js";
60
+ import"./_chunk-7v1t86x1.js";
61
+ import"./_chunk-hzgetm70.js";
62
+ import"./_chunk-mvv30fkv.js";
63
+ import {
64
+ createChangeEventDetails,
65
+ exports_reason_parts
66
+ } from "./_chunk-4s0k3h7t.js";
67
+ import {
68
+ useBaseUiId
69
+ } from "./_chunk-8kh3xk78.js";
70
+ import {
71
+ transitionStatusMapping,
72
+ useOpenChangeComplete
73
+ } from "./_chunk-mbn76q14.js";
74
+ import"./_chunk-v92ycsfj.js";
75
+ import"./_chunk-3h6zpchb.js";
76
+ import"./_chunk-8jz3hb7q.js";
77
+ import"./_chunk-sx6vkz01.js";
78
+ import"./_chunk-n7dnqnbw.js";
79
+ import"./_chunk-mznt6ktj.js";
80
+ import {
81
+ useIsoLayoutEffect
82
+ } from "./_chunk-b40erthe.js";
83
+ import {
84
+ useRefWithInit,
85
+ useRenderElement
86
+ } from "./_chunk-1s41sngz.js";
87
+ import {
88
+ __export
89
+ } from "./_chunk-1e6khrvm.js";
90
+
91
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/index.parts.js
92
+ var exports_index_parts = {};
93
+ __export(exports_index_parts, {
94
+ createHandle: () => createTooltipHandle,
95
+ Viewport: () => TooltipViewport,
96
+ Trigger: () => TooltipTrigger,
97
+ Root: () => TooltipRoot,
98
+ Provider: () => TooltipProvider,
99
+ Positioner: () => TooltipPositioner,
100
+ Portal: () => TooltipPortal,
101
+ Popup: () => TooltipPopup,
102
+ Handle: () => TooltipHandle,
103
+ Arrow: () => TooltipArrow
104
+ });
105
+
106
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/root/TooltipRoot.js
107
+ import * as React3 from "react";
108
+
109
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/root/TooltipRootContext.js
110
+ import * as React from "react";
111
+ "use client";
112
+ var TooltipRootContext = /* @__PURE__ */ React.createContext(undefined);
113
+ if (true)
114
+ TooltipRootContext.displayName = "TooltipRootContext";
115
+ function useTooltipRootContext(optional) {
116
+ const context = React.useContext(TooltipRootContext);
117
+ if (context === undefined && !optional) {
118
+ throw new Error("Base UI: TooltipRootContext is missing. Tooltip parts must be placed within <Tooltip.Root>.");
119
+ }
120
+ return context;
121
+ }
122
+
123
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/store/TooltipStore.js
124
+ import * as React2 from "react";
125
+ import * as ReactDOM from "react-dom";
126
+ var selectors = {
127
+ ...popupStoreSelectors,
128
+ disabled: createSelector((state) => state.disabled),
129
+ instantType: createSelector((state) => state.instantType),
130
+ isInstantPhase: createSelector((state) => state.isInstantPhase),
131
+ trackCursorAxis: createSelector((state) => state.trackCursorAxis),
132
+ disableHoverablePopup: createSelector((state) => state.disableHoverablePopup),
133
+ lastOpenChangeReason: createSelector((state) => state.openChangeReason),
134
+ closeOnClick: createSelector((state) => state.closeOnClick),
135
+ closeDelay: createSelector((state) => state.closeDelay),
136
+ hasViewport: createSelector((state) => state.hasViewport)
137
+ };
138
+
139
+ class TooltipStore extends ReactStore {
140
+ constructor(initialState) {
141
+ super({
142
+ ...createInitialState(),
143
+ ...initialState
144
+ }, {
145
+ popupRef: /* @__PURE__ */ React2.createRef(),
146
+ onOpenChange: undefined,
147
+ onOpenChangeComplete: undefined,
148
+ triggerElements: new PopupTriggerMap
149
+ }, selectors);
150
+ }
151
+ setOpen = (nextOpen, eventDetails) => {
152
+ const reason = eventDetails.reason;
153
+ const isHover = reason === exports_reason_parts.triggerHover;
154
+ const isFocusOpen = nextOpen && reason === exports_reason_parts.triggerFocus;
155
+ const isDismissClose = !nextOpen && (reason === exports_reason_parts.triggerPress || reason === exports_reason_parts.escapeKey);
156
+ eventDetails.preventUnmountOnClose = () => {
157
+ this.set("preventUnmountingOnClose", true);
158
+ };
159
+ this.context.onOpenChange?.(nextOpen, eventDetails);
160
+ if (eventDetails.isCanceled) {
161
+ return;
162
+ }
163
+ this.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);
164
+ const changeState = () => {
165
+ const updatedState = {
166
+ open: nextOpen,
167
+ openChangeReason: reason
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 TooltipStore(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
+ disabled: false,
206
+ instantType: undefined,
207
+ isInstantPhase: false,
208
+ trackCursorAxis: "none",
209
+ disableHoverablePopup: false,
210
+ openChangeReason: null,
211
+ closeOnClick: true,
212
+ closeDelay: 0,
213
+ hasViewport: false
214
+ };
215
+ }
216
+
217
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/root/TooltipRoot.js
218
+ import { jsx as _jsx } from "react/jsx-runtime";
219
+ "use client";
220
+ var TooltipRoot = fastComponent(function TooltipRoot2(props) {
221
+ const {
222
+ disabled = false,
223
+ defaultOpen = false,
224
+ open: openProp,
225
+ disableHoverablePopup = false,
226
+ trackCursorAxis = "none",
227
+ actionsRef,
228
+ onOpenChange,
229
+ onOpenChangeComplete,
230
+ handle,
231
+ triggerId: triggerIdProp,
232
+ defaultTriggerId: defaultTriggerIdProp = null,
233
+ children
234
+ } = props;
235
+ const store = TooltipStore.useStore(handle?.store, {
236
+ open: defaultOpen,
237
+ openProp,
238
+ activeTriggerId: defaultTriggerIdProp,
239
+ triggerIdProp
240
+ });
241
+ useOnFirstRender(() => {
242
+ if (openProp === undefined && store.state.open === false && defaultOpen === true) {
243
+ store.update({
244
+ open: true,
245
+ activeTriggerId: defaultTriggerIdProp
246
+ });
247
+ }
248
+ });
249
+ store.useControlledProp("openProp", openProp);
250
+ store.useControlledProp("triggerIdProp", triggerIdProp);
251
+ store.useContextCallback("onOpenChange", onOpenChange);
252
+ store.useContextCallback("onOpenChangeComplete", onOpenChangeComplete);
253
+ const openState = store.useState("open");
254
+ const open = !disabled && openState;
255
+ const activeTriggerId = store.useState("activeTriggerId");
256
+ const payload = store.useState("payload");
257
+ store.useSyncedValues({
258
+ trackCursorAxis,
259
+ disableHoverablePopup
260
+ });
261
+ useIsoLayoutEffect(() => {
262
+ if (openState && disabled) {
263
+ store.setOpen(false, createChangeEventDetails(exports_reason_parts.disabled));
264
+ }
265
+ }, [openState, disabled, store]);
266
+ store.useSyncedValue("disabled", disabled);
267
+ useImplicitActiveTrigger(store);
268
+ const {
269
+ forceUnmount,
270
+ transitionStatus
271
+ } = useOpenStateTransitions(open, store);
272
+ const floatingRootContext = store.select("floatingRootContext");
273
+ const isInstantPhase = store.useState("isInstantPhase");
274
+ const instantType = store.useState("instantType");
275
+ const lastOpenChangeReason = store.useState("lastOpenChangeReason");
276
+ const previousInstantTypeRef = React3.useRef(null);
277
+ useIsoLayoutEffect(() => {
278
+ if (transitionStatus === "ending" && lastOpenChangeReason === exports_reason_parts.none || transitionStatus !== "ending" && isInstantPhase) {
279
+ if (instantType !== "delay") {
280
+ previousInstantTypeRef.current = instantType;
281
+ }
282
+ store.set("instantType", "delay");
283
+ } else if (previousInstantTypeRef.current !== null) {
284
+ store.set("instantType", previousInstantTypeRef.current);
285
+ previousInstantTypeRef.current = null;
286
+ }
287
+ }, [transitionStatus, isInstantPhase, lastOpenChangeReason, instantType, store]);
288
+ useIsoLayoutEffect(() => {
289
+ if (open) {
290
+ if (activeTriggerId == null) {
291
+ store.set("payload", undefined);
292
+ }
293
+ }
294
+ }, [store, activeTriggerId, open]);
295
+ const handleImperativeClose = React3.useCallback(() => {
296
+ store.setOpen(false, createChangeEventDetails(exports_reason_parts.imperativeAction));
297
+ }, [store]);
298
+ React3.useImperativeHandle(actionsRef, () => ({
299
+ unmount: forceUnmount,
300
+ close: handleImperativeClose
301
+ }), [forceUnmount, handleImperativeClose]);
302
+ const dismiss = useDismiss(floatingRootContext, {
303
+ enabled: !disabled,
304
+ referencePress: () => store.select("closeOnClick")
305
+ });
306
+ const clientPoint = useClientPoint(floatingRootContext, {
307
+ enabled: !disabled && trackCursorAxis !== "none",
308
+ axis: trackCursorAxis === "none" ? undefined : trackCursorAxis
309
+ });
310
+ const {
311
+ getReferenceProps,
312
+ getFloatingProps,
313
+ getTriggerProps
314
+ } = useInteractions([dismiss, clientPoint]);
315
+ const activeTriggerProps = React3.useMemo(() => getReferenceProps(), [getReferenceProps]);
316
+ const inactiveTriggerProps = React3.useMemo(() => getTriggerProps(), [getTriggerProps]);
317
+ const popupProps = React3.useMemo(() => getFloatingProps(), [getFloatingProps]);
318
+ store.useSyncedValues({
319
+ activeTriggerProps,
320
+ inactiveTriggerProps,
321
+ popupProps
322
+ });
323
+ return /* @__PURE__ */ _jsx(TooltipRootContext.Provider, {
324
+ value: store,
325
+ children: typeof children === "function" ? children({
326
+ payload
327
+ }) : children
328
+ });
329
+ });
330
+ if (true)
331
+ TooltipRoot.displayName = "TooltipRoot";
332
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/trigger/TooltipTrigger.js
333
+ import * as React5 from "react";
334
+
335
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/provider/TooltipProviderContext.js
336
+ import * as React4 from "react";
337
+ "use client";
338
+ var TooltipProviderContext = /* @__PURE__ */ React4.createContext(undefined);
339
+ if (true)
340
+ TooltipProviderContext.displayName = "TooltipProviderContext";
341
+ function useTooltipProviderContext() {
342
+ return React4.useContext(TooltipProviderContext);
343
+ }
344
+
345
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/trigger/TooltipTriggerDataAttributes.js
346
+ var TooltipTriggerDataAttributes = function(TooltipTriggerDataAttributes2) {
347
+ TooltipTriggerDataAttributes2[TooltipTriggerDataAttributes2["popupOpen"] = CommonTriggerDataAttributes.popupOpen] = "popupOpen";
348
+ TooltipTriggerDataAttributes2["triggerDisabled"] = "data-trigger-disabled";
349
+ return TooltipTriggerDataAttributes2;
350
+ }({});
351
+
352
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/utils/constants.js
353
+ var OPEN_DELAY = 600;
354
+
355
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/trigger/TooltipTrigger.js
356
+ "use client";
357
+ var TooltipTrigger = fastComponentRef(function TooltipTrigger2(componentProps, forwardedRef) {
358
+ const {
359
+ className,
360
+ render,
361
+ handle,
362
+ payload,
363
+ disabled: disabledProp,
364
+ delay,
365
+ closeOnClick = true,
366
+ closeDelay,
367
+ id: idProp,
368
+ style,
369
+ ...elementProps
370
+ } = componentProps;
371
+ const rootContext = useTooltipRootContext(true);
372
+ const store = handle?.store ?? rootContext;
373
+ if (!store) {
374
+ throw new Error("Base UI: <Tooltip.Trigger> must be either used within a <Tooltip.Root> component or provided with a handle.");
375
+ }
376
+ const thisTriggerId = useBaseUiId(idProp);
377
+ const isTriggerActive = store.useState("isTriggerActive", thisTriggerId);
378
+ const isOpenedByThisTrigger = store.useState("isOpenedByTrigger", thisTriggerId);
379
+ const floatingRootContext = store.useState("floatingRootContext");
380
+ const triggerElementRef = React5.useRef(null);
381
+ const delayWithDefault = delay ?? OPEN_DELAY;
382
+ const closeDelayWithDefault = closeDelay ?? 0;
383
+ const {
384
+ registerTrigger,
385
+ isMountedByThisTrigger
386
+ } = useTriggerDataForwarding(thisTriggerId, triggerElementRef, store, {
387
+ payload,
388
+ closeOnClick,
389
+ closeDelay: closeDelayWithDefault
390
+ });
391
+ const providerContext = useTooltipProviderContext();
392
+ const {
393
+ delayRef,
394
+ isInstantPhase,
395
+ hasProvider
396
+ } = useDelayGroup(floatingRootContext, {
397
+ open: isOpenedByThisTrigger
398
+ });
399
+ store.useSyncedValue("isInstantPhase", isInstantPhase);
400
+ const rootDisabled = store.useState("disabled");
401
+ const disabled = disabledProp ?? rootDisabled;
402
+ const trackCursorAxis = store.useState("trackCursorAxis");
403
+ const disableHoverablePopup = store.useState("disableHoverablePopup");
404
+ const hoverProps = useHoverReferenceInteraction(floatingRootContext, {
405
+ enabled: !disabled,
406
+ mouseOnly: true,
407
+ move: false,
408
+ handleClose: !disableHoverablePopup && trackCursorAxis !== "both" ? safePolygon() : null,
409
+ restMs() {
410
+ const providerDelay = providerContext?.delay;
411
+ const groupOpenValue = typeof delayRef.current === "object" ? delayRef.current.open : undefined;
412
+ let computedRestMs = delayWithDefault;
413
+ if (hasProvider) {
414
+ if (groupOpenValue !== 0) {
415
+ computedRestMs = delay ?? providerDelay ?? delayWithDefault;
416
+ } else {
417
+ computedRestMs = 0;
418
+ }
419
+ }
420
+ return computedRestMs;
421
+ },
422
+ delay() {
423
+ const closeValue = typeof delayRef.current === "object" ? delayRef.current.close : undefined;
424
+ let computedCloseDelay = closeDelayWithDefault;
425
+ if (closeDelay == null && hasProvider) {
426
+ computedCloseDelay = closeValue;
427
+ }
428
+ return {
429
+ close: computedCloseDelay
430
+ };
431
+ },
432
+ triggerElementRef,
433
+ isActiveTrigger: isTriggerActive,
434
+ isClosing: () => store.select("transitionStatus") === "ending"
435
+ });
436
+ const focusProps = useFocus(floatingRootContext, {
437
+ enabled: !disabled
438
+ }).reference;
439
+ const state = {
440
+ open: isOpenedByThisTrigger
441
+ };
442
+ const rootTriggerProps = store.useState("triggerProps", isMountedByThisTrigger);
443
+ const element = useRenderElement("button", componentProps, {
444
+ state,
445
+ ref: [forwardedRef, registerTrigger, triggerElementRef],
446
+ props: [hoverProps, focusProps, rootTriggerProps, {
447
+ onPointerDown() {
448
+ store.set("closeOnClick", closeOnClick);
449
+ },
450
+ id: thisTriggerId,
451
+ [TooltipTriggerDataAttributes.triggerDisabled]: disabled ? "" : undefined
452
+ }, elementProps],
453
+ stateAttributesMapping: triggerOpenStateMapping
454
+ });
455
+ return element;
456
+ });
457
+ if (true)
458
+ TooltipTrigger.displayName = "TooltipTrigger";
459
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/portal/TooltipPortal.js
460
+ import * as React7 from "react";
461
+
462
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/portal/TooltipPortalContext.js
463
+ import * as React6 from "react";
464
+ "use client";
465
+ var TooltipPortalContext = /* @__PURE__ */ React6.createContext(undefined);
466
+ if (true)
467
+ TooltipPortalContext.displayName = "TooltipPortalContext";
468
+ function useTooltipPortalContext() {
469
+ const value = React6.useContext(TooltipPortalContext);
470
+ if (value === undefined) {
471
+ throw new Error("Base UI: <Tooltip.Portal> is missing.");
472
+ }
473
+ return value;
474
+ }
475
+
476
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/portal/TooltipPortal.js
477
+ import { jsx as _jsx2 } from "react/jsx-runtime";
478
+ "use client";
479
+ var TooltipPortal = /* @__PURE__ */ React7.forwardRef(function TooltipPortal2(props, forwardedRef) {
480
+ const {
481
+ keepMounted = false,
482
+ ...portalProps
483
+ } = props;
484
+ const store = useTooltipRootContext();
485
+ const mounted = store.useState("mounted");
486
+ const shouldRender = mounted || keepMounted;
487
+ if (!shouldRender) {
488
+ return null;
489
+ }
490
+ return /* @__PURE__ */ _jsx2(TooltipPortalContext.Provider, {
491
+ value: keepMounted,
492
+ children: /* @__PURE__ */ _jsx2(FloatingPortalLite, {
493
+ ref: forwardedRef,
494
+ ...portalProps
495
+ })
496
+ });
497
+ });
498
+ if (true)
499
+ TooltipPortal.displayName = "TooltipPortal";
500
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/positioner/TooltipPositioner.js
501
+ import * as React9 from "react";
502
+
503
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/positioner/TooltipPositionerContext.js
504
+ import * as React8 from "react";
505
+ "use client";
506
+ var TooltipPositionerContext = /* @__PURE__ */ React8.createContext(undefined);
507
+ if (true)
508
+ TooltipPositionerContext.displayName = "TooltipPositionerContext";
509
+ function useTooltipPositionerContext() {
510
+ const context = React8.useContext(TooltipPositionerContext);
511
+ if (context === undefined) {
512
+ throw new Error("Base UI: TooltipPositionerContext is missing. TooltipPositioner parts must be placed within <Tooltip.Positioner>.");
513
+ }
514
+ return context;
515
+ }
516
+
517
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/positioner/TooltipPositioner.js
518
+ import { jsx as _jsx3 } from "react/jsx-runtime";
519
+ "use client";
520
+ var TooltipPositioner = /* @__PURE__ */ React9.forwardRef(function TooltipPositioner2(componentProps, forwardedRef) {
521
+ const {
522
+ render,
523
+ className,
524
+ anchor,
525
+ positionMethod = "absolute",
526
+ side = "top",
527
+ align = "center",
528
+ sideOffset = 0,
529
+ alignOffset = 0,
530
+ collisionBoundary = "clipping-ancestors",
531
+ collisionPadding = 5,
532
+ arrowPadding = 5,
533
+ sticky = false,
534
+ disableAnchorTracking = false,
535
+ collisionAvoidance = POPUP_COLLISION_AVOIDANCE,
536
+ style,
537
+ ...elementProps
538
+ } = componentProps;
539
+ const store = useTooltipRootContext();
540
+ const keepMounted = useTooltipPortalContext();
541
+ const open = store.useState("open");
542
+ const mounted = store.useState("mounted");
543
+ const trackCursorAxis = store.useState("trackCursorAxis");
544
+ const disableHoverablePopup = store.useState("disableHoverablePopup");
545
+ const floatingRootContext = store.useState("floatingRootContext");
546
+ const instantType = store.useState("instantType");
547
+ const transitionStatus = store.useState("transitionStatus");
548
+ const hasViewport = store.useState("hasViewport");
549
+ const positioning = useAnchorPositioning({
550
+ anchor,
551
+ positionMethod,
552
+ floatingRootContext,
553
+ mounted,
554
+ side,
555
+ sideOffset,
556
+ align,
557
+ alignOffset,
558
+ collisionBoundary,
559
+ collisionPadding,
560
+ sticky,
561
+ arrowPadding,
562
+ disableAnchorTracking,
563
+ keepMounted,
564
+ collisionAvoidance,
565
+ adaptiveOrigin: hasViewport ? adaptiveOrigin : undefined
566
+ });
567
+ const state = React9.useMemo(() => ({
568
+ open,
569
+ side: positioning.side,
570
+ align: positioning.align,
571
+ anchorHidden: positioning.anchorHidden,
572
+ instant: trackCursorAxis !== "none" ? "tracking-cursor" : instantType
573
+ }), [open, positioning.side, positioning.align, positioning.anchorHidden, trackCursorAxis, instantType]);
574
+ const element = usePositioner(componentProps, state, {
575
+ styles: positioning.positionerStyles,
576
+ transitionStatus,
577
+ props: elementProps,
578
+ refs: [forwardedRef, store.useStateSetter("positionerElement")],
579
+ hidden: !mounted,
580
+ inert: !open || trackCursorAxis === "both" || disableHoverablePopup
581
+ });
582
+ return /* @__PURE__ */ _jsx3(TooltipPositionerContext.Provider, {
583
+ value: positioning,
584
+ children: element
585
+ });
586
+ });
587
+ if (true)
588
+ TooltipPositioner.displayName = "TooltipPositioner";
589
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/popup/TooltipPopup.js
590
+ import * as React10 from "react";
591
+ "use client";
592
+ var stateAttributesMapping = {
593
+ ...popupStateMapping,
594
+ ...transitionStatusMapping
595
+ };
596
+ var TooltipPopup = /* @__PURE__ */ React10.forwardRef(function TooltipPopup2(componentProps, forwardedRef) {
597
+ const {
598
+ className,
599
+ render,
600
+ style,
601
+ ...elementProps
602
+ } = componentProps;
603
+ const store = useTooltipRootContext();
604
+ const {
605
+ side,
606
+ align
607
+ } = useTooltipPositionerContext();
608
+ const open = store.useState("open");
609
+ const instantType = store.useState("instantType");
610
+ const transitionStatus = store.useState("transitionStatus");
611
+ const popupProps = store.useState("popupProps");
612
+ const floatingContext = store.useState("floatingRootContext");
613
+ useOpenChangeComplete({
614
+ open,
615
+ ref: store.context.popupRef,
616
+ onComplete() {
617
+ if (open) {
618
+ store.context.onOpenChangeComplete?.(true);
619
+ }
620
+ }
621
+ });
622
+ const disabled = store.useState("disabled");
623
+ const closeDelay = store.useState("closeDelay");
624
+ useHoverFloatingInteraction(floatingContext, {
625
+ enabled: !disabled,
626
+ closeDelay
627
+ });
628
+ const state = {
629
+ open,
630
+ side,
631
+ align,
632
+ instant: instantType,
633
+ transitionStatus
634
+ };
635
+ const element = useRenderElement("div", componentProps, {
636
+ state,
637
+ ref: [forwardedRef, store.context.popupRef, store.useStateSetter("popupElement")],
638
+ props: [popupProps, getDisabledMountTransitionStyles(transitionStatus), elementProps],
639
+ stateAttributesMapping
640
+ });
641
+ return element;
642
+ });
643
+ if (true)
644
+ TooltipPopup.displayName = "TooltipPopup";
645
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/arrow/TooltipArrow.js
646
+ import * as React11 from "react";
647
+ "use client";
648
+ var TooltipArrow = /* @__PURE__ */ React11.forwardRef(function TooltipArrow2(componentProps, forwardedRef) {
649
+ const {
650
+ className,
651
+ render,
652
+ style,
653
+ ...elementProps
654
+ } = componentProps;
655
+ const store = useTooltipRootContext();
656
+ const open = store.useState("open");
657
+ const instantType = store.useState("instantType");
658
+ const {
659
+ arrowRef,
660
+ side,
661
+ align,
662
+ arrowUncentered,
663
+ arrowStyles
664
+ } = useTooltipPositionerContext();
665
+ const state = {
666
+ open,
667
+ side,
668
+ align,
669
+ uncentered: arrowUncentered,
670
+ instant: instantType
671
+ };
672
+ const element = useRenderElement("div", componentProps, {
673
+ state,
674
+ ref: [forwardedRef, arrowRef],
675
+ props: [{
676
+ style: arrowStyles,
677
+ "aria-hidden": true
678
+ }, elementProps],
679
+ stateAttributesMapping: popupStateMapping
680
+ });
681
+ return element;
682
+ });
683
+ if (true)
684
+ TooltipArrow.displayName = "TooltipArrow";
685
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/provider/TooltipProvider.js
686
+ import * as React12 from "react";
687
+ import { jsx as _jsx4 } from "react/jsx-runtime";
688
+ "use client";
689
+ var TooltipProvider = function TooltipProvider2(props) {
690
+ const {
691
+ delay,
692
+ closeDelay,
693
+ timeout = 400
694
+ } = props;
695
+ const contextValue = React12.useMemo(() => ({
696
+ delay,
697
+ closeDelay
698
+ }), [delay, closeDelay]);
699
+ const delayValue = React12.useMemo(() => ({
700
+ open: delay,
701
+ close: closeDelay
702
+ }), [delay, closeDelay]);
703
+ return /* @__PURE__ */ _jsx4(TooltipProviderContext.Provider, {
704
+ value: contextValue,
705
+ children: /* @__PURE__ */ _jsx4(FloatingDelayGroup, {
706
+ delay: delayValue,
707
+ timeoutMs: timeout,
708
+ children: props.children
709
+ })
710
+ });
711
+ };
712
+ if (true)
713
+ TooltipProvider.displayName = "TooltipProvider";
714
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/viewport/TooltipViewport.js
715
+ import * as React13 from "react";
716
+
717
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/viewport/TooltipViewportCssVars.js
718
+ var TooltipViewportCssVars = /* @__PURE__ */ function(TooltipViewportCssVars2) {
719
+ TooltipViewportCssVars2["popupWidth"] = "--popup-width";
720
+ TooltipViewportCssVars2["popupHeight"] = "--popup-height";
721
+ return TooltipViewportCssVars2;
722
+ }({});
723
+
724
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/viewport/TooltipViewport.js
725
+ "use client";
726
+ var stateAttributesMapping2 = {
727
+ activationDirection: (value) => value ? {
728
+ "data-activation-direction": value
729
+ } : null
730
+ };
731
+ var TooltipViewport = /* @__PURE__ */ React13.forwardRef(function TooltipViewport2(componentProps, forwardedRef) {
732
+ const {
733
+ render,
734
+ className,
735
+ style,
736
+ children,
737
+ ...elementProps
738
+ } = componentProps;
739
+ const store = useTooltipRootContext();
740
+ const positioner = useTooltipPositionerContext();
741
+ const instantType = store.useState("instantType");
742
+ const {
743
+ children: childrenToRender,
744
+ state: viewportState
745
+ } = usePopupViewport({
746
+ store,
747
+ side: positioner.side,
748
+ cssVars: TooltipViewportCssVars,
749
+ children
750
+ });
751
+ const state = {
752
+ activationDirection: viewportState.activationDirection,
753
+ transitioning: viewportState.transitioning,
754
+ instant: instantType
755
+ };
756
+ return useRenderElement("div", componentProps, {
757
+ state,
758
+ ref: forwardedRef,
759
+ props: [elementProps, {
760
+ children: childrenToRender
761
+ }],
762
+ stateAttributesMapping: stateAttributesMapping2
763
+ });
764
+ });
765
+ if (true)
766
+ TooltipViewport.displayName = "TooltipViewport";
767
+ // node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/tooltip/store/TooltipHandle.js
768
+ class TooltipHandle {
769
+ constructor() {
770
+ this.store = new TooltipStore;
771
+ }
772
+ open(triggerId) {
773
+ const triggerElement = triggerId ? this.store.context.triggerElements.getById(triggerId) : undefined;
774
+ if (triggerId && !triggerElement) {
775
+ throw new Error(`Base UI: TooltipHandle.open: No trigger found with id "${triggerId}".`);
776
+ }
777
+ this.store.setOpen(true, createChangeEventDetails(exports_reason_parts.imperativeAction, undefined, triggerElement));
778
+ }
779
+ close() {
780
+ this.store.setOpen(false, createChangeEventDetails(exports_reason_parts.imperativeAction, undefined, undefined));
781
+ }
782
+ get isOpen() {
783
+ return this.store.state.open;
784
+ }
785
+ }
786
+ function createTooltipHandle() {
787
+ return new TooltipHandle;
788
+ }
789
+ export {
790
+ exports_index_parts as Tooltip
791
+ };