@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.
- package/App.jsx +13 -13
- package/CHANGELOG.md +64 -0
- package/README.md +59 -65
- package/components/AuthOverlay.jsx +4 -4
- package/components/ProtectedRoute.jsx +1 -1
- package/components/ThemeToggle.jsx +1 -1
- package/components/UpgradeSheet.jsx +2 -2
- package/{core → components/core}/DynamicIcon.jsx +1 -1
- package/{layout → components/layout}/Header.jsx +4 -4
- package/{layout → components/layout}/Layout.jsx +1 -1
- package/{layout → components/layout}/Sidebar.jsx +2 -2
- package/{layout → components/layout}/TabBar.jsx +1 -1
- package/{views → components/views}/LandingView.jsx +5 -5
- package/{views → components/views}/NotFound.jsx +2 -2
- package/{views → components/views}/PaymentView.jsx +1 -1
- package/{views → components/views}/SettingsView.jsx +6 -6
- package/{views → components/views}/SignInView.jsx +6 -6
- package/{views → components/views}/SignOutView.jsx +1 -1
- package/{views → components/views}/SignUpView.jsx +6 -6
- package/{views → components/views}/TextView.jsx +3 -3
- package/hooks/useAuthGate.js +1 -1
- package/index.js +1 -1
- package/package.json +32 -50
- package/shadcn/lib/base-ui/LICENSE +21 -0
- package/shadcn/lib/base-ui/_chunk-01rqe37g.js +70 -0
- package/shadcn/lib/base-ui/_chunk-0h5sskyw.js +347 -0
- package/shadcn/lib/base-ui/_chunk-0xhx4g7r.js +57 -0
- package/shadcn/lib/base-ui/_chunk-1e6khrvm.js +218 -0
- package/shadcn/lib/base-ui/_chunk-1s41sngz.js +302 -0
- package/shadcn/lib/base-ui/_chunk-20rtfsz9.js +23 -0
- package/shadcn/lib/base-ui/_chunk-2tyt8f8r.js +6034 -0
- package/shadcn/lib/base-ui/_chunk-3f31ka8n.js +11 -0
- package/shadcn/lib/base-ui/_chunk-3h6zpchb.js +89 -0
- package/shadcn/lib/base-ui/_chunk-4s0k3h7t.js +114 -0
- package/shadcn/lib/base-ui/_chunk-502wngfc.js +598 -0
- package/shadcn/lib/base-ui/_chunk-536jvgeq.js +68 -0
- package/shadcn/lib/base-ui/_chunk-611pz5sm.js +10 -0
- package/shadcn/lib/base-ui/_chunk-65zw5gs2.js +15 -0
- package/shadcn/lib/base-ui/_chunk-6b17g8t7.js +34 -0
- package/shadcn/lib/base-ui/_chunk-6xevjepc.js +15 -0
- package/shadcn/lib/base-ui/_chunk-71zm6zgv.js +16 -0
- package/shadcn/lib/base-ui/_chunk-7fmjymvh.js +32 -0
- package/shadcn/lib/base-ui/_chunk-7jjzay8b.js +176 -0
- package/shadcn/lib/base-ui/_chunk-7v1t86x1.js +43 -0
- package/shadcn/lib/base-ui/_chunk-85vrgzwr.js +227 -0
- package/shadcn/lib/base-ui/_chunk-8jz3hb7q.js +9 -0
- package/shadcn/lib/base-ui/_chunk-8kh3xk78.js +35 -0
- package/shadcn/lib/base-ui/_chunk-97tas84n.js +67 -0
- package/shadcn/lib/base-ui/_chunk-9nyxkvte.js +13 -0
- package/shadcn/lib/base-ui/_chunk-a8fwg9d0.js +52 -0
- package/shadcn/lib/base-ui/_chunk-agc6ew3g.js +29 -0
- package/shadcn/lib/base-ui/_chunk-aqwsk46c.js +64 -0
- package/shadcn/lib/base-ui/_chunk-atd5kq5q.js +803 -0
- package/shadcn/lib/base-ui/_chunk-atnkefgd.js +104 -0
- package/shadcn/lib/base-ui/_chunk-b40erthe.js +7 -0
- package/shadcn/lib/base-ui/_chunk-b5jsqt97.js +50 -0
- package/shadcn/lib/base-ui/_chunk-bk7n9s9e.js +15 -0
- package/shadcn/lib/base-ui/_chunk-c3572b5x.js +19 -0
- package/shadcn/lib/base-ui/_chunk-cwr896nf.js +25 -0
- package/shadcn/lib/base-ui/_chunk-drfb9kp2.js +27 -0
- package/shadcn/lib/base-ui/_chunk-ds8fnpjj.js +0 -0
- package/shadcn/lib/base-ui/_chunk-ek863ta9.js +82 -0
- package/shadcn/lib/base-ui/_chunk-f09cp81f.js +12 -0
- package/shadcn/lib/base-ui/_chunk-f5d01bp9.js +0 -0
- package/shadcn/lib/base-ui/_chunk-f9tgee1q.js +21 -0
- package/shadcn/lib/base-ui/_chunk-fch5cba8.js +84 -0
- package/shadcn/lib/base-ui/_chunk-gfce3j3z.js +18 -0
- package/shadcn/lib/base-ui/_chunk-ha06w2pp.js +2391 -0
- package/shadcn/lib/base-ui/_chunk-hzgetm70.js +23 -0
- package/shadcn/lib/base-ui/_chunk-j0eqdjta.js +39 -0
- package/shadcn/lib/base-ui/_chunk-k1e5fvcj.js +48 -0
- package/shadcn/lib/base-ui/_chunk-k4mc2kan.js +81 -0
- package/shadcn/lib/base-ui/_chunk-kfz96xv1.js +128 -0
- package/shadcn/lib/base-ui/_chunk-m45547cc.js +15 -0
- package/shadcn/lib/base-ui/_chunk-mbn76q14.js +184 -0
- package/shadcn/lib/base-ui/_chunk-mvv30fkv.js +9 -0
- package/shadcn/lib/base-ui/_chunk-mznt6ktj.js +33 -0
- package/shadcn/lib/base-ui/_chunk-n7dnqnbw.js +7 -0
- package/shadcn/lib/base-ui/_chunk-nya71ccw.js +546 -0
- package/shadcn/lib/base-ui/_chunk-p6qynd6r.js +146 -0
- package/shadcn/lib/base-ui/_chunk-q3nee19r.js +323 -0
- package/shadcn/lib/base-ui/_chunk-q7yw9mz4.js +385 -0
- package/shadcn/lib/base-ui/_chunk-qce0xt57.js +107 -0
- package/shadcn/lib/base-ui/_chunk-qgzhcjsj.js +14 -0
- package/shadcn/lib/base-ui/_chunk-qt6r015s.js +38 -0
- package/shadcn/lib/base-ui/_chunk-r0vsdknk.js +4 -0
- package/shadcn/lib/base-ui/_chunk-sx6vkz01.js +150 -0
- package/shadcn/lib/base-ui/_chunk-szcr6mhk.js +6 -0
- package/shadcn/lib/base-ui/_chunk-t7j3rbpv.js +67 -0
- package/shadcn/lib/base-ui/_chunk-tmfmrzwe.js +39 -0
- package/shadcn/lib/base-ui/_chunk-v92ycsfj.js +9 -0
- package/shadcn/lib/base-ui/_chunk-vdc01ss3.js +6 -0
- package/shadcn/lib/base-ui/_chunk-vjbnhhg1.js +26 -0
- package/shadcn/lib/base-ui/_chunk-w68yxg9d.js +21 -0
- package/shadcn/lib/base-ui/_chunk-wana68v3.js +477 -0
- package/shadcn/lib/base-ui/_chunk-wtw745qd.js +12 -0
- package/shadcn/lib/base-ui/_chunk-xb7ph1ka.js +6 -0
- package/shadcn/lib/base-ui/_chunk-xfagb0fq.js +28 -0
- package/shadcn/lib/base-ui/_chunk-xxhqanfd.js +16 -0
- package/shadcn/lib/base-ui/_chunk-y887e46p.js +15 -0
- package/shadcn/lib/base-ui/_chunk-ymj1dpqg.js +14 -0
- package/shadcn/lib/base-ui/accordion.js +650 -0
- package/shadcn/lib/base-ui/alert-dialog.js +138 -0
- package/shadcn/lib/base-ui/avatar.js +235 -0
- package/shadcn/lib/base-ui/button.js +52 -0
- package/shadcn/lib/base-ui/checkbox.js +454 -0
- package/shadcn/lib/base-ui/collapsible.js +283 -0
- package/shadcn/lib/base-ui/context-menu.js +324 -0
- package/shadcn/lib/base-ui/dialog.js +71 -0
- package/shadcn/lib/base-ui/input.js +1028 -0
- package/shadcn/lib/base-ui/menu.js +61 -0
- package/shadcn/lib/base-ui/menubar.js +157 -0
- package/shadcn/lib/base-ui/merge-props.js +15 -0
- package/shadcn/lib/base-ui/navigation-menu.js +1854 -0
- package/shadcn/lib/base-ui/popover.js +1090 -0
- package/shadcn/lib/base-ui/preview-card.js +709 -0
- package/shadcn/lib/base-ui/progress.js +278 -0
- package/shadcn/lib/base-ui/radio-group.js +247 -0
- package/shadcn/lib/base-ui/radio.js +382 -0
- package/shadcn/lib/base-ui/scroll-area.js +1061 -0
- package/shadcn/lib/base-ui/select.js +2438 -0
- package/shadcn/lib/base-ui/separator.js +11 -0
- package/shadcn/lib/base-ui/slider.js +1595 -0
- package/shadcn/lib/base-ui/switch.js +333 -0
- package/shadcn/lib/base-ui/tabs.js +892 -0
- package/shadcn/lib/base-ui/toggle-group.js +152 -0
- package/shadcn/lib/base-ui/toggle.js +133 -0
- package/shadcn/lib/base-ui/tooltip.js +791 -0
- package/shadcn/lib/base-ui/use-render.js +15 -0
- package/shadcn/lib/tailwind-merge.js +3312 -0
- package/shadcn/lib/utils.js +1 -1
- package/shadcn/ui/accordion.jsx +1 -1
- package/shadcn/ui/alert-dialog.jsx +1 -1
- package/shadcn/ui/avatar.jsx +1 -1
- package/shadcn/ui/badge.jsx +2 -2
- package/shadcn/ui/breadcrumb.jsx +2 -2
- package/shadcn/ui/button-group.jsx +2 -2
- package/shadcn/ui/button.jsx +1 -1
- package/shadcn/ui/calendar.jsx +1 -1
- package/shadcn/ui/checkbox.jsx +1 -1
- package/shadcn/ui/collapsible.jsx +1 -1
- package/shadcn/ui/command.jsx +1 -1
- package/shadcn/ui/context-menu.jsx +1 -1
- package/shadcn/ui/dialog.jsx +1 -1
- package/shadcn/ui/drawer.jsx +176 -74
- package/shadcn/ui/dropdown-menu.jsx +1 -1
- package/shadcn/ui/hover-card.jsx +1 -1
- package/shadcn/ui/input.jsx +1 -1
- package/shadcn/ui/item.jsx +2 -2
- package/shadcn/ui/menubar.jsx +2 -2
- package/shadcn/ui/navigation-menu.jsx +1 -1
- package/shadcn/ui/popover.jsx +1 -1
- package/shadcn/ui/progress.jsx +1 -1
- package/shadcn/ui/radio-group.jsx +2 -2
- package/shadcn/ui/scroll-area.jsx +1 -1
- package/shadcn/ui/select.jsx +1 -1
- package/shadcn/ui/separator.jsx +1 -1
- package/shadcn/ui/sheet.jsx +1 -1
- package/shadcn/ui/sidebar.jsx +3 -3
- package/shadcn/ui/slider.jsx +1 -1
- package/shadcn/ui/switch.jsx +1 -1
- package/shadcn/ui/tabs.jsx +1 -1
- package/shadcn/ui/toggle-group.jsx +2 -2
- package/shadcn/ui/toggle.jsx +1 -1
- package/shadcn/ui/tooltip.jsx +1 -1
- package/styles.css +31 -0
- package/MIGRATION.md +0 -230
- package/shadcn/ui/carousel.jsx +0 -195
- package/shadcn/ui/chart.jsx +0 -312
- package/shadcn/ui/resizable.jsx +0 -47
- /package/{core → components/core}/Calendar.jsx +0 -0
- /package/{core → components/core}/Command.jsx +0 -0
- /package/{core → components/core}/Context.jsx +0 -0
- /package/{core → components/core}/ThemeProvider.jsx +0 -0
- /package/{core → components/core}/Utilities.js +0 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isHTMLElement
|
|
3
|
+
} from "./_chunk-sx6vkz01.js";
|
|
4
|
+
|
|
5
|
+
// node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/internals/composite/composite.js
|
|
6
|
+
var ARROW_UP = "ArrowUp";
|
|
7
|
+
var ARROW_DOWN = "ArrowDown";
|
|
8
|
+
var ARROW_LEFT = "ArrowLeft";
|
|
9
|
+
var ARROW_RIGHT = "ArrowRight";
|
|
10
|
+
var HOME = "Home";
|
|
11
|
+
var END = "End";
|
|
12
|
+
var PAGE_UP = "PageUp";
|
|
13
|
+
var PAGE_DOWN = "PageDown";
|
|
14
|
+
var HORIZONTAL_KEYS = new Set([ARROW_LEFT, ARROW_RIGHT]);
|
|
15
|
+
var HORIZONTAL_KEYS_WITH_EXTRA_KEYS = new Set([ARROW_LEFT, ARROW_RIGHT, HOME, END]);
|
|
16
|
+
var VERTICAL_KEYS = new Set([ARROW_UP, ARROW_DOWN]);
|
|
17
|
+
var VERTICAL_KEYS_WITH_EXTRA_KEYS = new Set([ARROW_UP, ARROW_DOWN, HOME, END]);
|
|
18
|
+
var ARROW_KEYS = new Set([...HORIZONTAL_KEYS, ...VERTICAL_KEYS]);
|
|
19
|
+
var ALL_KEYS = new Set([...ARROW_KEYS, HOME, END]);
|
|
20
|
+
var COMPOSITE_KEYS = new Set([ARROW_UP, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, HOME, END]);
|
|
21
|
+
var SHIFT = "Shift";
|
|
22
|
+
var CONTROL = "Control";
|
|
23
|
+
var ALT = "Alt";
|
|
24
|
+
var META = "Meta";
|
|
25
|
+
var MODIFIER_KEYS = new Set([SHIFT, CONTROL, ALT, META]);
|
|
26
|
+
function isInputElement(element) {
|
|
27
|
+
return isHTMLElement(element) && element.tagName === "INPUT";
|
|
28
|
+
}
|
|
29
|
+
function isNativeInput(element) {
|
|
30
|
+
if (isInputElement(element) && element.selectionStart != null) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
if (isHTMLElement(element) && element.tagName === "TEXTAREA") {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
function scrollIntoViewIfNeeded(scrollContainer, element, direction, orientation) {
|
|
39
|
+
if (!scrollContainer || !element || !element.scrollTo) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
let targetX = scrollContainer.scrollLeft;
|
|
43
|
+
let targetY = scrollContainer.scrollTop;
|
|
44
|
+
const isOverflowingX = scrollContainer.clientWidth < scrollContainer.scrollWidth;
|
|
45
|
+
const isOverflowingY = scrollContainer.clientHeight < scrollContainer.scrollHeight;
|
|
46
|
+
if (isOverflowingX && orientation !== "vertical") {
|
|
47
|
+
const elementOffsetLeft = getOffset(scrollContainer, element, "left");
|
|
48
|
+
const containerStyles = getStyles(scrollContainer);
|
|
49
|
+
const elementStyles = getStyles(element);
|
|
50
|
+
if (direction === "ltr") {
|
|
51
|
+
if (elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight > scrollContainer.scrollLeft + scrollContainer.clientWidth - containerStyles.scrollPaddingRight) {
|
|
52
|
+
targetX = elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight - scrollContainer.clientWidth + containerStyles.scrollPaddingRight;
|
|
53
|
+
} else if (elementOffsetLeft - elementStyles.scrollMarginLeft < scrollContainer.scrollLeft + containerStyles.scrollPaddingLeft) {
|
|
54
|
+
targetX = elementOffsetLeft - elementStyles.scrollMarginLeft - containerStyles.scrollPaddingLeft;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (direction === "rtl") {
|
|
58
|
+
if (elementOffsetLeft - elementStyles.scrollMarginRight < scrollContainer.scrollLeft + containerStyles.scrollPaddingLeft) {
|
|
59
|
+
targetX = elementOffsetLeft - elementStyles.scrollMarginLeft - containerStyles.scrollPaddingLeft;
|
|
60
|
+
} else if (elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight > scrollContainer.scrollLeft + scrollContainer.clientWidth - containerStyles.scrollPaddingRight) {
|
|
61
|
+
targetX = elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight - scrollContainer.clientWidth + containerStyles.scrollPaddingRight;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (isOverflowingY && orientation !== "horizontal") {
|
|
66
|
+
const elementOffsetTop = getOffset(scrollContainer, element, "top");
|
|
67
|
+
const containerStyles = getStyles(scrollContainer);
|
|
68
|
+
const elementStyles = getStyles(element);
|
|
69
|
+
if (elementOffsetTop - elementStyles.scrollMarginTop < scrollContainer.scrollTop + containerStyles.scrollPaddingTop) {
|
|
70
|
+
targetY = elementOffsetTop - elementStyles.scrollMarginTop - containerStyles.scrollPaddingTop;
|
|
71
|
+
} else if (elementOffsetTop + element.offsetHeight + elementStyles.scrollMarginBottom > scrollContainer.scrollTop + scrollContainer.clientHeight - containerStyles.scrollPaddingBottom) {
|
|
72
|
+
targetY = elementOffsetTop + element.offsetHeight + elementStyles.scrollMarginBottom - scrollContainer.clientHeight + containerStyles.scrollPaddingBottom;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
scrollContainer.scrollTo({
|
|
76
|
+
left: targetX,
|
|
77
|
+
top: targetY,
|
|
78
|
+
behavior: "auto"
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function getOffset(ancestor, element, side) {
|
|
82
|
+
const propName = side === "left" ? "offsetLeft" : "offsetTop";
|
|
83
|
+
let result = 0;
|
|
84
|
+
while (element.offsetParent) {
|
|
85
|
+
result += element[propName];
|
|
86
|
+
if (element.offsetParent === ancestor) {
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
element = element.offsetParent;
|
|
90
|
+
}
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
function getStyles(element) {
|
|
94
|
+
const styles = getComputedStyle(element);
|
|
95
|
+
return {
|
|
96
|
+
scrollMarginTop: parseFloat(styles.scrollMarginTop) || 0,
|
|
97
|
+
scrollMarginRight: parseFloat(styles.scrollMarginRight) || 0,
|
|
98
|
+
scrollMarginBottom: parseFloat(styles.scrollMarginBottom) || 0,
|
|
99
|
+
scrollMarginLeft: parseFloat(styles.scrollMarginLeft) || 0,
|
|
100
|
+
scrollPaddingTop: parseFloat(styles.scrollPaddingTop) || 0,
|
|
101
|
+
scrollPaddingRight: parseFloat(styles.scrollPaddingRight) || 0,
|
|
102
|
+
scrollPaddingBottom: parseFloat(styles.scrollPaddingBottom) || 0,
|
|
103
|
+
scrollPaddingLeft: parseFloat(styles.scrollPaddingLeft) || 0
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export { ARROW_UP, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, HOME, END, PAGE_UP, PAGE_DOWN, HORIZONTAL_KEYS, HORIZONTAL_KEYS_WITH_EXTRA_KEYS, VERTICAL_KEYS, VERTICAL_KEYS_WITH_EXTRA_KEYS, ARROW_KEYS, ALL_KEYS, COMPOSITE_KEYS, SHIFT, MODIFIER_KEYS, isNativeInput, scrollIntoViewIfNeeded };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/field/item/FieldItemContext.js
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
"use client";
|
|
4
|
+
var FieldItemContext = /* @__PURE__ */ React.createContext({
|
|
5
|
+
disabled: false
|
|
6
|
+
});
|
|
7
|
+
if (true)
|
|
8
|
+
FieldItemContext.displayName = "FieldItemContext";
|
|
9
|
+
function useFieldItemContext() {
|
|
10
|
+
const context = React.useContext(FieldItemContext);
|
|
11
|
+
return context;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { FieldItemContext, useFieldItemContext };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useFloatingPortalNode
|
|
3
|
+
} from "./_chunk-2tyt8f8r.js";
|
|
4
|
+
|
|
5
|
+
// node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/utils/FloatingPortalLite.js
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import * as ReactDOM from "react-dom";
|
|
8
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
"use client";
|
|
10
|
+
var FloatingPortalLite = /* @__PURE__ */ React.forwardRef(function FloatingPortalLite2(componentProps, forwardedRef) {
|
|
11
|
+
const {
|
|
12
|
+
children,
|
|
13
|
+
container,
|
|
14
|
+
className,
|
|
15
|
+
render,
|
|
16
|
+
style,
|
|
17
|
+
...elementProps
|
|
18
|
+
} = componentProps;
|
|
19
|
+
const {
|
|
20
|
+
portalNode,
|
|
21
|
+
portalSubtree
|
|
22
|
+
} = useFloatingPortalNode({
|
|
23
|
+
container,
|
|
24
|
+
ref: forwardedRef,
|
|
25
|
+
componentProps,
|
|
26
|
+
elementProps
|
|
27
|
+
});
|
|
28
|
+
if (!portalSubtree && !portalNode) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return /* @__PURE__ */ _jsxs(React.Fragment, {
|
|
32
|
+
children: [portalSubtree, portalNode && /* @__PURE__ */ ReactDOM.createPortal(children, portalNode)]
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
if (true)
|
|
36
|
+
FloatingPortalLite.displayName = "FloatingPortalLite";
|
|
37
|
+
|
|
38
|
+
export { FloatingPortalLite };
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// node_modules/.deno/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
|
|
2
|
+
function hasWindow() {
|
|
3
|
+
return typeof window !== "undefined";
|
|
4
|
+
}
|
|
5
|
+
function getNodeName(node) {
|
|
6
|
+
if (isNode(node)) {
|
|
7
|
+
return (node.nodeName || "").toLowerCase();
|
|
8
|
+
}
|
|
9
|
+
return "#document";
|
|
10
|
+
}
|
|
11
|
+
function getWindow(node) {
|
|
12
|
+
var _node$ownerDocument;
|
|
13
|
+
return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? undefined : _node$ownerDocument.defaultView) || window;
|
|
14
|
+
}
|
|
15
|
+
function getDocumentElement(node) {
|
|
16
|
+
var _ref;
|
|
17
|
+
return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? undefined : _ref.documentElement;
|
|
18
|
+
}
|
|
19
|
+
function isNode(value) {
|
|
20
|
+
if (!hasWindow()) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return value instanceof Node || value instanceof getWindow(value).Node;
|
|
24
|
+
}
|
|
25
|
+
function isElement(value) {
|
|
26
|
+
if (!hasWindow()) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return value instanceof Element || value instanceof getWindow(value).Element;
|
|
30
|
+
}
|
|
31
|
+
function isHTMLElement(value) {
|
|
32
|
+
if (!hasWindow()) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
|
|
36
|
+
}
|
|
37
|
+
function isShadowRoot(value) {
|
|
38
|
+
if (!hasWindow() || typeof ShadowRoot === "undefined") {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
42
|
+
}
|
|
43
|
+
function isOverflowElement(element) {
|
|
44
|
+
const {
|
|
45
|
+
overflow,
|
|
46
|
+
overflowX,
|
|
47
|
+
overflowY,
|
|
48
|
+
display
|
|
49
|
+
} = getComputedStyle(element);
|
|
50
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
|
|
51
|
+
}
|
|
52
|
+
function isTableElement(element) {
|
|
53
|
+
return /^(table|td|th)$/.test(getNodeName(element));
|
|
54
|
+
}
|
|
55
|
+
function isTopLayer(element) {
|
|
56
|
+
try {
|
|
57
|
+
if (element.matches(":popover-open")) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
} catch (_e) {}
|
|
61
|
+
try {
|
|
62
|
+
return element.matches(":modal");
|
|
63
|
+
} catch (_e) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
|
|
68
|
+
var containRe = /paint|layout|strict|content/;
|
|
69
|
+
var isNotNone = (value) => !!value && value !== "none";
|
|
70
|
+
var isWebKitValue;
|
|
71
|
+
function isContainingBlock(elementOrCss) {
|
|
72
|
+
const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
|
|
73
|
+
return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || "");
|
|
74
|
+
}
|
|
75
|
+
function getContainingBlock(element) {
|
|
76
|
+
let currentNode = getParentNode(element);
|
|
77
|
+
while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
|
|
78
|
+
if (isContainingBlock(currentNode)) {
|
|
79
|
+
return currentNode;
|
|
80
|
+
} else if (isTopLayer(currentNode)) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
currentNode = getParentNode(currentNode);
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
function isWebKit() {
|
|
88
|
+
if (isWebKitValue == null) {
|
|
89
|
+
isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
|
|
90
|
+
}
|
|
91
|
+
return isWebKitValue;
|
|
92
|
+
}
|
|
93
|
+
function isLastTraversableNode(node) {
|
|
94
|
+
return /^(html|body|#document)$/.test(getNodeName(node));
|
|
95
|
+
}
|
|
96
|
+
function getComputedStyle(element) {
|
|
97
|
+
return getWindow(element).getComputedStyle(element);
|
|
98
|
+
}
|
|
99
|
+
function getNodeScroll(element) {
|
|
100
|
+
if (isElement(element)) {
|
|
101
|
+
return {
|
|
102
|
+
scrollLeft: element.scrollLeft,
|
|
103
|
+
scrollTop: element.scrollTop
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
scrollLeft: element.scrollX,
|
|
108
|
+
scrollTop: element.scrollY
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function getParentNode(node) {
|
|
112
|
+
if (getNodeName(node) === "html") {
|
|
113
|
+
return node;
|
|
114
|
+
}
|
|
115
|
+
const result = node.assignedSlot || node.parentNode || isShadowRoot(node) && node.host || getDocumentElement(node);
|
|
116
|
+
return isShadowRoot(result) ? result.host : result;
|
|
117
|
+
}
|
|
118
|
+
function getNearestOverflowAncestor(node) {
|
|
119
|
+
const parentNode = getParentNode(node);
|
|
120
|
+
if (isLastTraversableNode(parentNode)) {
|
|
121
|
+
return node.ownerDocument ? node.ownerDocument.body : node.body;
|
|
122
|
+
}
|
|
123
|
+
if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
|
|
124
|
+
return parentNode;
|
|
125
|
+
}
|
|
126
|
+
return getNearestOverflowAncestor(parentNode);
|
|
127
|
+
}
|
|
128
|
+
function getOverflowAncestors(node, list, traverseIframes) {
|
|
129
|
+
var _node$ownerDocument2;
|
|
130
|
+
if (list === undefined) {
|
|
131
|
+
list = [];
|
|
132
|
+
}
|
|
133
|
+
if (traverseIframes === undefined) {
|
|
134
|
+
traverseIframes = true;
|
|
135
|
+
}
|
|
136
|
+
const scrollableAncestor = getNearestOverflowAncestor(node);
|
|
137
|
+
const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? undefined : _node$ownerDocument2.body);
|
|
138
|
+
const win = getWindow(scrollableAncestor);
|
|
139
|
+
if (isBody) {
|
|
140
|
+
const frameElement = getFrameElement(win);
|
|
141
|
+
return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
|
|
142
|
+
} else {
|
|
143
|
+
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function getFrameElement(win) {
|
|
147
|
+
return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export { getNodeName, getWindow, getDocumentElement, isNode, isElement, isHTMLElement, isShadowRoot, isOverflowElement, isTableElement, isTopLayer, isContainingBlock, getContainingBlock, isWebKit, isLastTraversableNode, getComputedStyle, getNodeScroll, getParentNode, getOverflowAncestors, getFrameElement };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// node_modules/.deno/@base-ui+utils@0.2.8/node_modules/@base-ui/utils/esm/detectBrowser.js
|
|
2
|
+
var hasNavigator = typeof navigator !== "undefined";
|
|
3
|
+
var nav = getNavigatorData();
|
|
4
|
+
var platform = getPlatform();
|
|
5
|
+
var userAgent = getUserAgent();
|
|
6
|
+
var isWebKit = typeof CSS === "undefined" || !CSS.supports ? false : CSS.supports("-webkit-backdrop-filter:none");
|
|
7
|
+
var isIOS = nav.platform === "MacIntel" && nav.maxTouchPoints > 1 ? true : /iP(hone|ad|od)|iOS/.test(nav.platform);
|
|
8
|
+
var isFirefox = hasNavigator && /firefox/i.test(userAgent);
|
|
9
|
+
var isSafari = hasNavigator && /apple/i.test(navigator.vendor);
|
|
10
|
+
var isEdge = hasNavigator && /Edg/i.test(userAgent);
|
|
11
|
+
var isAndroid = hasNavigator && /android/i.test(platform) || /android/i.test(userAgent);
|
|
12
|
+
var isMac = hasNavigator && platform.toLowerCase().startsWith("mac") && !navigator.maxTouchPoints;
|
|
13
|
+
var isJSDOM = userAgent.includes("jsdom/");
|
|
14
|
+
function getNavigatorData() {
|
|
15
|
+
if (!hasNavigator) {
|
|
16
|
+
return {
|
|
17
|
+
platform: "",
|
|
18
|
+
maxTouchPoints: -1
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const uaData = navigator.userAgentData;
|
|
22
|
+
if (uaData?.platform) {
|
|
23
|
+
return {
|
|
24
|
+
platform: uaData.platform,
|
|
25
|
+
maxTouchPoints: navigator.maxTouchPoints
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
platform: navigator.platform ?? "",
|
|
30
|
+
maxTouchPoints: navigator.maxTouchPoints ?? -1
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function getUserAgent() {
|
|
34
|
+
if (!hasNavigator) {
|
|
35
|
+
return "";
|
|
36
|
+
}
|
|
37
|
+
const uaData = navigator.userAgentData;
|
|
38
|
+
if (uaData && Array.isArray(uaData.brands)) {
|
|
39
|
+
return uaData.brands.map(({
|
|
40
|
+
brand,
|
|
41
|
+
version
|
|
42
|
+
}) => `${brand}/${version}`).join(" ");
|
|
43
|
+
}
|
|
44
|
+
return navigator.userAgent;
|
|
45
|
+
}
|
|
46
|
+
function getPlatform() {
|
|
47
|
+
if (!hasNavigator) {
|
|
48
|
+
return "";
|
|
49
|
+
}
|
|
50
|
+
const uaData = navigator.userAgentData;
|
|
51
|
+
if (uaData?.platform) {
|
|
52
|
+
return uaData.platform;
|
|
53
|
+
}
|
|
54
|
+
return navigator.platform ?? "";
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/floating-ui-react/utils/constants.js
|
|
58
|
+
var FOCUSABLE_ATTRIBUTE = "data-base-ui-focusable";
|
|
59
|
+
var ACTIVE_KEY = "active";
|
|
60
|
+
var SELECTED_KEY = "selected";
|
|
61
|
+
var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled])," + "[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
|
|
62
|
+
var ARROW_LEFT = "ArrowLeft";
|
|
63
|
+
var ARROW_RIGHT = "ArrowRight";
|
|
64
|
+
var ARROW_UP = "ArrowUp";
|
|
65
|
+
var ARROW_DOWN = "ArrowDown";
|
|
66
|
+
|
|
67
|
+
export { isWebKit, isIOS, isSafari, isAndroid, isMac, isJSDOM, FOCUSABLE_ATTRIBUTE, ACTIVE_KEY, SELECTED_KEY, TYPEABLE_SELECTOR, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, ARROW_DOWN };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/utils/formatNumber.js
|
|
2
|
+
var cache = new Map;
|
|
3
|
+
function getFormatter(locale, options) {
|
|
4
|
+
const optionsString = JSON.stringify({
|
|
5
|
+
locale,
|
|
6
|
+
options
|
|
7
|
+
});
|
|
8
|
+
const cachedFormatter = cache.get(optionsString);
|
|
9
|
+
if (cachedFormatter) {
|
|
10
|
+
return cachedFormatter;
|
|
11
|
+
}
|
|
12
|
+
const formatter = new Intl.NumberFormat(locale, options);
|
|
13
|
+
cache.set(optionsString, formatter);
|
|
14
|
+
return formatter;
|
|
15
|
+
}
|
|
16
|
+
function formatNumber(value, locale, options) {
|
|
17
|
+
if (value == null) {
|
|
18
|
+
return "";
|
|
19
|
+
}
|
|
20
|
+
return getFormatter(locale, options).format(value);
|
|
21
|
+
}
|
|
22
|
+
function formatNumberValue(value, locale, format) {
|
|
23
|
+
if (value == null) {
|
|
24
|
+
return "";
|
|
25
|
+
}
|
|
26
|
+
if (!format) {
|
|
27
|
+
return formatNumber(value / 100, locale, {
|
|
28
|
+
style: "percent"
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return formatNumber(value, locale, format);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/utils/valueToPercent.js
|
|
35
|
+
function valueToPercent(value, min, max) {
|
|
36
|
+
return (value - min) * 100 / (max - min);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { formatNumber, formatNumberValue, valueToPercent };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/utils/resolveRef.js
|
|
2
|
+
function resolveRef(maybeRef) {
|
|
3
|
+
if (maybeRef == null) {
|
|
4
|
+
return maybeRef;
|
|
5
|
+
}
|
|
6
|
+
return "current" in maybeRef ? maybeRef.current : maybeRef;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { resolveRef };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// node_modules/.deno/@base-ui+utils@0.2.8/node_modules/@base-ui/utils/esm/isElementDisabled.js
|
|
2
|
+
function isElementDisabled(element) {
|
|
3
|
+
return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true";
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export { isElementDisabled };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
require_shim
|
|
3
|
+
} from "./_chunk-aqwsk46c.js";
|
|
4
|
+
import {
|
|
5
|
+
NOOP
|
|
6
|
+
} from "./_chunk-1s41sngz.js";
|
|
7
|
+
import {
|
|
8
|
+
__toESM
|
|
9
|
+
} from "./_chunk-1e6khrvm.js";
|
|
10
|
+
|
|
11
|
+
// node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/utils/useIsHydrating.js
|
|
12
|
+
var import_shim = __toESM(require_shim(), 1);
|
|
13
|
+
function subscribe() {
|
|
14
|
+
return NOOP;
|
|
15
|
+
}
|
|
16
|
+
function getSnapshot() {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
function getServerSnapshot() {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
function useIsHydrating() {
|
|
23
|
+
return import_shim.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { useIsHydrating };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useBaseUiId
|
|
3
|
+
} from "./_chunk-8kh3xk78.js";
|
|
4
|
+
import {
|
|
5
|
+
useIsoLayoutEffect
|
|
6
|
+
} from "./_chunk-b40erthe.js";
|
|
7
|
+
|
|
8
|
+
// node_modules/.deno/@base-ui+react@1.4.1/node_modules/@base-ui/react/esm/utils/useRegisteredLabelId.js
|
|
9
|
+
"use client";
|
|
10
|
+
function useRegisteredLabelId(idProp, setLabelId) {
|
|
11
|
+
const id = useBaseUiId(idProp);
|
|
12
|
+
useIsoLayoutEffect(() => {
|
|
13
|
+
setLabelId(id);
|
|
14
|
+
return () => {
|
|
15
|
+
setLabelId(undefined);
|
|
16
|
+
};
|
|
17
|
+
}, [id, setLabelId]);
|
|
18
|
+
return id;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { useRegisteredLabelId };
|