@streamplace/components 0.9.0 → 0.9.4
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/dist/components/chat/chat-box.d.ts.map +1 -1
- package/dist/components/chat/chat-box.js +90 -34
- package/dist/components/chat/chat-box.js.map +1 -1
- package/dist/components/chat/chat-message.d.ts +4 -0
- package/dist/components/chat/chat-message.d.ts.map +1 -1
- package/dist/components/chat/chat-message.js +3 -2
- package/dist/components/chat/chat-message.js.map +1 -1
- package/dist/components/chat/chat.d.ts.map +1 -1
- package/dist/components/chat/chat.js +56 -3
- package/dist/components/chat/chat.js.map +1 -1
- package/dist/components/chat/emoji-suggestions.d.ts.map +1 -1
- package/dist/components/chat/emoji-suggestions.js +11 -11
- package/dist/components/chat/emoji-suggestions.js.map +1 -1
- package/dist/components/chat/mention-suggestions.d.ts.map +1 -1
- package/dist/components/chat/mention-suggestions.js +20 -19
- package/dist/components/chat/mention-suggestions.js.map +1 -1
- package/dist/components/chat/mod-view.d.ts.map +1 -1
- package/dist/components/chat/mod-view.js +1 -9
- package/dist/components/chat/mod-view.js.map +1 -1
- package/dist/components/chat/system-message.d.ts +5 -1
- package/dist/components/chat/system-message.d.ts.map +1 -1
- package/dist/components/chat/system-message.js +4 -4
- package/dist/components/chat/system-message.js.map +1 -1
- package/dist/components/mobile-player/shared.d.ts +1 -1
- package/dist/components/mobile-player/shared.d.ts.map +1 -1
- package/dist/components/mobile-player/shared.js +11 -10
- package/dist/components/mobile-player/shared.js.map +1 -1
- package/dist/components/mobile-player/ui/report-modal.d.ts.map +1 -1
- package/dist/components/mobile-player/ui/report-modal.js +1 -1
- package/dist/components/mobile-player/ui/report-modal.js.map +1 -1
- package/dist/components/mobile-player/ui/viewer-context-menu.d.ts +1 -1
- package/dist/components/mobile-player/ui/viewer-context-menu.d.ts.map +1 -1
- package/dist/components/mobile-player/ui/viewer-context-menu.js +60 -43
- package/dist/components/mobile-player/ui/viewer-context-menu.js.map +1 -1
- package/dist/components/mobile-player/ui/viewer-loading-overlay.d.ts.map +1 -1
- package/dist/components/mobile-player/ui/viewer-loading-overlay.js +0 -1
- package/dist/components/mobile-player/ui/viewer-loading-overlay.js.map +1 -1
- package/dist/components/stream-notification/index.d.ts +3 -0
- package/dist/components/stream-notification/index.d.ts.map +1 -0
- package/dist/components/stream-notification/index.js +9 -0
- package/dist/components/stream-notification/index.js.map +1 -0
- package/dist/components/stream-notification/stream-notification-manager.d.ts +36 -0
- package/dist/components/stream-notification/stream-notification-manager.d.ts.map +1 -0
- package/dist/components/stream-notification/stream-notification-manager.js +96 -0
- package/dist/components/stream-notification/stream-notification-manager.js.map +1 -0
- package/dist/components/stream-notification/stream-notification.d.ts +5 -0
- package/dist/components/stream-notification/stream-notification.d.ts.map +1 -0
- package/dist/components/stream-notification/stream-notification.js +146 -0
- package/dist/components/stream-notification/stream-notification.js.map +1 -0
- package/dist/components/stream-notification/teleport-notification.d.ts +8 -0
- package/dist/components/stream-notification/teleport-notification.d.ts.map +1 -0
- package/dist/components/stream-notification/teleport-notification.js +116 -0
- package/dist/components/stream-notification/teleport-notification.js.map +1 -0
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +7 -0
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/dialog.d.ts +2 -2
- package/dist/components/ui/dropdown.d.ts +4 -0
- package/dist/components/ui/dropdown.d.ts.map +1 -1
- package/dist/components/ui/dropdown.js +41 -15
- package/dist/components/ui/dropdown.js.map +1 -1
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +1 -0
- package/dist/components/ui/index.js.map +1 -1
- package/dist/components/ui/portal.d.ts +2 -0
- package/dist/components/ui/portal.d.ts.map +1 -0
- package/dist/components/ui/portal.js +5 -0
- package/dist/components/ui/portal.js.map +1 -0
- package/dist/components/ui/portal.web.d.ts +11 -0
- package/dist/components/ui/portal.web.d.ts.map +1 -0
- package/dist/components/ui/portal.web.js +22 -0
- package/dist/components/ui/portal.web.js.map +1 -0
- package/dist/components/ui/resizeable.d.ts +2 -1
- package/dist/components/ui/resizeable.d.ts.map +1 -1
- package/dist/components/ui/resizeable.js +68 -26
- package/dist/components/ui/resizeable.js.map +1 -1
- package/dist/components/ui/text.d.ts +1 -1
- package/dist/components/ui/view.d.ts +3 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/slash-commands/teleport.d.ts +4 -0
- package/dist/lib/slash-commands/teleport.d.ts.map +1 -0
- package/dist/lib/slash-commands/teleport.js +110 -0
- package/dist/lib/slash-commands/teleport.js.map +1 -0
- package/dist/lib/slash-commands.d.ts +16 -0
- package/dist/lib/slash-commands.d.ts.map +1 -0
- package/dist/lib/slash-commands.js +46 -0
- package/dist/lib/slash-commands.js.map +1 -0
- package/dist/lib/stream-notifications.d.ts +13 -0
- package/dist/lib/stream-notifications.d.ts.map +1 -0
- package/dist/lib/stream-notifications.js +46 -0
- package/dist/lib/stream-notifications.js.map +1 -0
- package/dist/lib/system-messages.d.ts +4 -8
- package/dist/lib/system-messages.d.ts.map +1 -1
- package/dist/lib/system-messages.js +38 -2
- package/dist/lib/system-messages.js.map +1 -1
- package/dist/lib/theme/atoms.d.ts +193 -193
- package/dist/livestream-provider/index.d.ts +7 -2
- package/dist/livestream-provider/index.d.ts.map +1 -1
- package/dist/livestream-provider/index.js +72 -4
- package/dist/livestream-provider/index.js.map +1 -1
- package/dist/livestream-store/livestream-state.d.ts +4 -1
- package/dist/livestream-store/livestream-state.d.ts.map +1 -1
- package/dist/livestream-store/livestream-store.d.ts.map +1 -1
- package/dist/livestream-store/livestream-store.js +3 -0
- package/dist/livestream-store/livestream-store.js.map +1 -1
- package/dist/livestream-store/websocket-consumer.d.ts.map +1 -1
- package/dist/livestream-store/websocket-consumer.js +30 -43
- package/dist/livestream-store/websocket-consumer.js.map +1 -1
- package/dist/streamplace-store/index.d.ts +1 -0
- package/dist/streamplace-store/index.d.ts.map +1 -1
- package/dist/streamplace-store/index.js +1 -0
- package/dist/streamplace-store/index.js.map +1 -1
- package/node-compile-cache/v22.15.0-x64-efe9a9df-0/37be0eec +0 -0
- package/package.json +4 -2
- package/src/components/chat/chat-box.tsx +126 -53
- package/src/components/chat/chat-message.tsx +1 -1
- package/src/components/chat/chat.tsx +79 -5
- package/src/components/chat/emoji-suggestions.tsx +27 -25
- package/src/components/chat/mention-suggestions.tsx +36 -33
- package/src/components/chat/mod-view.tsx +2 -13
- package/src/components/chat/system-message.tsx +14 -5
- package/src/components/mobile-player/shared.tsx +2 -1
- package/src/components/mobile-player/ui/report-modal.tsx +2 -0
- package/src/components/mobile-player/ui/viewer-context-menu.tsx +192 -166
- package/src/components/mobile-player/ui/viewer-loading-overlay.tsx +0 -1
- package/src/components/stream-notification/index.ts +5 -0
- package/src/components/stream-notification/stream-notification-manager.ts +140 -0
- package/src/components/stream-notification/stream-notification.tsx +227 -0
- package/src/components/stream-notification/teleport-notification.tsx +187 -0
- package/src/components/ui/button.tsx +7 -0
- package/src/components/ui/dropdown.tsx +96 -26
- package/src/components/ui/index.ts +1 -0
- package/src/components/ui/portal.tsx +1 -0
- package/src/components/ui/portal.web.tsx +37 -0
- package/src/components/ui/resizeable.tsx +89 -35
- package/src/index.tsx +3 -0
- package/src/lib/slash-commands/teleport.ts +136 -0
- package/src/lib/slash-commands.ts +65 -0
- package/src/lib/stream-notifications.ts +51 -0
- package/src/lib/system-messages.ts +52 -2
- package/src/livestream-provider/index.tsx +106 -3
- package/src/livestream-store/livestream-state.tsx +4 -0
- package/src/livestream-store/livestream-store.tsx +3 -0
- package/src/livestream-store/websocket-consumer.tsx +35 -54
- package/src/streamplace-store/index.tsx +1 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.streamNotification = exports.streamNotificationManager = void 0;
|
|
4
|
+
class StreamNotificationManager {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.notifications = [];
|
|
7
|
+
this.listeners = new Set();
|
|
8
|
+
this.dismissTimers = new Map();
|
|
9
|
+
}
|
|
10
|
+
show(config) {
|
|
11
|
+
const notification = {
|
|
12
|
+
id: config.id || `notification-${Date.now()}`,
|
|
13
|
+
message: config.message,
|
|
14
|
+
render: config.render,
|
|
15
|
+
duration: config.duration ?? 5,
|
|
16
|
+
actionLabel: config.actionLabel,
|
|
17
|
+
onAction: config.onAction,
|
|
18
|
+
onDismiss: config.onDismiss,
|
|
19
|
+
variant: config.variant ?? "default",
|
|
20
|
+
visible: true,
|
|
21
|
+
startTime: Date.now(),
|
|
22
|
+
};
|
|
23
|
+
// if notification with same ID exists, dismiss it first
|
|
24
|
+
const existingIndex = this.notifications.findIndex((n) => n.id === notification.id);
|
|
25
|
+
if (existingIndex !== -1) {
|
|
26
|
+
const existingTimer = this.dismissTimers.get(notification.id);
|
|
27
|
+
if (existingTimer) {
|
|
28
|
+
clearTimeout(existingTimer);
|
|
29
|
+
this.dismissTimers.delete(notification.id);
|
|
30
|
+
}
|
|
31
|
+
this.notifications = this.notifications.filter((n) => n.id !== notification.id);
|
|
32
|
+
}
|
|
33
|
+
this.notifications = [...this.notifications, notification];
|
|
34
|
+
this.notifyListeners();
|
|
35
|
+
// auto-dismiss if duration > 0
|
|
36
|
+
if (notification.duration && notification.duration > 0) {
|
|
37
|
+
const timer = setTimeout(() => {
|
|
38
|
+
this.requestDismiss(notification.id, "auto");
|
|
39
|
+
}, notification.duration * 1000);
|
|
40
|
+
this.dismissTimers.set(notification.id, timer);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
requestDismiss(id, reason = "user") {
|
|
44
|
+
const notification = this.notifications.find((n) => n.id === id);
|
|
45
|
+
if (!notification) {
|
|
46
|
+
console.log("Notification not found!");
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
// mark the notification for dismissal
|
|
50
|
+
notification.shouldDismiss = true;
|
|
51
|
+
notification.dismissReason = reason;
|
|
52
|
+
this.notifyListeners();
|
|
53
|
+
// after 500ms, just hide it for real
|
|
54
|
+
setTimeout(() => {
|
|
55
|
+
this.hide(id, reason);
|
|
56
|
+
}, 500);
|
|
57
|
+
}
|
|
58
|
+
hide(id, reason = "user") {
|
|
59
|
+
console.log("Hide called with id:", id, "reason:", reason);
|
|
60
|
+
console.log("Current notifications:", this.notifications.map((n) => n.id));
|
|
61
|
+
const notification = this.notifications.find((n) => n.id === id);
|
|
62
|
+
if (!notification) {
|
|
63
|
+
console.log("Notification not found!");
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const timer = this.dismissTimers.get(id);
|
|
67
|
+
if (timer) {
|
|
68
|
+
clearTimeout(timer);
|
|
69
|
+
this.dismissTimers.delete(id);
|
|
70
|
+
}
|
|
71
|
+
this.notifications = this.notifications.filter((n) => n.id !== id);
|
|
72
|
+
console.log("Remaining notifications:", this.notifications.map((n) => n.id));
|
|
73
|
+
this.notifyListeners();
|
|
74
|
+
notification.onDismiss?.(reason);
|
|
75
|
+
}
|
|
76
|
+
getAll() {
|
|
77
|
+
return this.notifications;
|
|
78
|
+
}
|
|
79
|
+
subscribe(listener) {
|
|
80
|
+
this.listeners.add(listener);
|
|
81
|
+
return () => {
|
|
82
|
+
this.listeners.delete(listener);
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
notifyListeners() {
|
|
86
|
+
this.listeners.forEach((listener) => {
|
|
87
|
+
listener(this.notifications);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.streamNotificationManager = new StreamNotificationManager();
|
|
92
|
+
exports.streamNotification = {
|
|
93
|
+
show: (config) => exports.streamNotificationManager.show(config),
|
|
94
|
+
hide: (id) => exports.streamNotificationManager.hide(id),
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=stream-notification-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-notification-manager.js","sourceRoot":"","sources":["../../../src/components/stream-notification/stream-notification-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-notification.d.ts","sourceRoot":"","sources":["../../../src/components/stream-notification/stream-notification.tsx"],"names":[],"mappings":"AAeA,wBAAgB,0BAA0B,CAAC,EACzC,QAAgB,EAChB,QAAgB,GACjB,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC7B,2CAsBA"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StreamNotificationProvider = StreamNotificationProvider;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const lucide_react_native_1 = require("lucide-react-native");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const react_native_1 = require("react-native");
|
|
9
|
+
const react_native_reanimated_1 = tslib_1.__importStar(require("react-native-reanimated"));
|
|
10
|
+
const __1 = require("../../");
|
|
11
|
+
const stream_notification_manager_1 = require("./stream-notification-manager");
|
|
12
|
+
function StreamNotificationProvider({ children = (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}), position = "top", }) {
|
|
13
|
+
const [notifications, setNotifications] = (0, react_1.useState)(stream_notification_manager_1.streamNotificationManager.getAll());
|
|
14
|
+
(0, react_1.useEffect)(() => {
|
|
15
|
+
return stream_notification_manager_1.streamNotificationManager.subscribe(setNotifications);
|
|
16
|
+
}, []);
|
|
17
|
+
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.container, children: [children, notifications.map((notification, index) => ((0, jsx_runtime_1.jsx)(NotificationItem, { notification: notification, index: index, position: position }, notification.id)))] }));
|
|
18
|
+
}
|
|
19
|
+
function NotificationItem({ notification, index, position, }) {
|
|
20
|
+
const { theme } = (0, __1.useTheme)();
|
|
21
|
+
const translateY = (0, react_native_reanimated_1.useSharedValue)(position === "top" ? -100 : 100);
|
|
22
|
+
const opacity = (0, react_native_reanimated_1.useSharedValue)(0);
|
|
23
|
+
const [isExiting, setIsExiting] = (0, react_1.useState)(false);
|
|
24
|
+
const NOTIFICATION_HEIGHT = 60;
|
|
25
|
+
const NOTIFICATION_GAP = 8;
|
|
26
|
+
const offset = 16 + index * (NOTIFICATION_HEIGHT + NOTIFICATION_GAP);
|
|
27
|
+
(0, react_1.useEffect)(() => {
|
|
28
|
+
translateY.value = (0, react_native_reanimated_1.withTiming)(position === "top" ? offset : -offset, {
|
|
29
|
+
duration: 300,
|
|
30
|
+
easing: react_native_reanimated_1.Easing.out(react_native_reanimated_1.Easing.cubic),
|
|
31
|
+
});
|
|
32
|
+
opacity.value = (0, react_native_reanimated_1.withTiming)(1, {
|
|
33
|
+
duration: 200,
|
|
34
|
+
});
|
|
35
|
+
}, [offset, position]);
|
|
36
|
+
(0, react_1.useEffect)(() => {
|
|
37
|
+
if (notification.shouldDismiss && !isExiting) {
|
|
38
|
+
setIsExiting(true);
|
|
39
|
+
setTimeout(() => {
|
|
40
|
+
stream_notification_manager_1.streamNotificationManager.hide(notification.id, notification.dismissReason || "auto");
|
|
41
|
+
}, 200);
|
|
42
|
+
}
|
|
43
|
+
}, [
|
|
44
|
+
notification.shouldDismiss,
|
|
45
|
+
isExiting,
|
|
46
|
+
notification.id,
|
|
47
|
+
notification.dismissReason,
|
|
48
|
+
]);
|
|
49
|
+
(0, react_1.useEffect)(() => {
|
|
50
|
+
if (isExiting) {
|
|
51
|
+
translateY.value = (0, react_native_reanimated_1.withTiming)(position === "top" ? -100 : 100, {
|
|
52
|
+
duration: 200,
|
|
53
|
+
easing: react_native_reanimated_1.Easing.in(react_native_reanimated_1.Easing.cubic),
|
|
54
|
+
});
|
|
55
|
+
opacity.value = (0, react_native_reanimated_1.withTiming)(0, {
|
|
56
|
+
duration: 200,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}, [isExiting, position]);
|
|
60
|
+
const animatedStyle = (0, react_native_reanimated_1.useAnimatedStyle)(() => ({
|
|
61
|
+
transform: [{ translateY: translateY.value }],
|
|
62
|
+
opacity: opacity.value,
|
|
63
|
+
}));
|
|
64
|
+
const variantStyles = {
|
|
65
|
+
default: {
|
|
66
|
+
backgroundColor: theme.colors.card,
|
|
67
|
+
borderColor: theme.colors.border,
|
|
68
|
+
},
|
|
69
|
+
info: {
|
|
70
|
+
backgroundColor: theme.colors.info,
|
|
71
|
+
borderColor: theme.colors.info,
|
|
72
|
+
},
|
|
73
|
+
warning: {
|
|
74
|
+
backgroundColor: theme.colors.warning,
|
|
75
|
+
borderColor: theme.colors.warning,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
const handleDismiss = (reason = "user") => {
|
|
79
|
+
console.log("Dismissing notification:", notification.id);
|
|
80
|
+
setIsExiting(true);
|
|
81
|
+
setTimeout(() => {
|
|
82
|
+
console.log("Requesting dismiss for notification:", notification.id);
|
|
83
|
+
stream_notification_manager_1.streamNotificationManager.hide(notification.id, reason);
|
|
84
|
+
}, 200);
|
|
85
|
+
console.log(stream_notification_manager_1.streamNotificationManager.getAll());
|
|
86
|
+
};
|
|
87
|
+
const handleAction = () => {
|
|
88
|
+
notification.onAction?.();
|
|
89
|
+
stream_notification_manager_1.streamNotificationManager.hide(notification.id, "user");
|
|
90
|
+
};
|
|
91
|
+
const positionStyle = position === "top" ? { top: 0 } : { bottom: 0 };
|
|
92
|
+
return ((0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [
|
|
93
|
+
styles.notification,
|
|
94
|
+
positionStyle,
|
|
95
|
+
notification.render
|
|
96
|
+
? {}
|
|
97
|
+
: variantStyles[notification.variant || "default"],
|
|
98
|
+
{ margin: 0, padding: 0 },
|
|
99
|
+
animatedStyle,
|
|
100
|
+
], children: notification.render ? (notification.render(isExiting, handleDismiss, notification.startTime)) : ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.content, children: [(0, jsx_runtime_1.jsx)(__1.Text, { style: [styles.message, { color: theme.colors.foreground }], children: notification.message }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.actions, children: [notification.actionLabel && ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { onPress: handleAction, children: (0, jsx_runtime_1.jsx)(__1.Text, { style: [styles.actionButton, { color: theme.colors.primary }], children: notification.actionLabel }) })), (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { onPress: () => handleDismiss("user"), style: styles.closeButton, children: (0, jsx_runtime_1.jsx)(lucide_react_native_1.X, { size: 16, color: theme.colors.mutedForeground }) })] })] })) }));
|
|
101
|
+
}
|
|
102
|
+
const styles = react_native_1.StyleSheet.create({
|
|
103
|
+
container: {
|
|
104
|
+
flex: 1,
|
|
105
|
+
pointerEvents: "box-none",
|
|
106
|
+
},
|
|
107
|
+
notification: {
|
|
108
|
+
position: "absolute",
|
|
109
|
+
top: 0,
|
|
110
|
+
left: 16,
|
|
111
|
+
right: 16,
|
|
112
|
+
zIndex: 9999,
|
|
113
|
+
borderRadius: 8,
|
|
114
|
+
borderWidth: 1,
|
|
115
|
+
padding: 12,
|
|
116
|
+
shadowColor: "#000",
|
|
117
|
+
shadowOffset: { width: 0, height: 2 },
|
|
118
|
+
shadowOpacity: 0.25,
|
|
119
|
+
shadowRadius: 8,
|
|
120
|
+
elevation: 5,
|
|
121
|
+
},
|
|
122
|
+
content: {
|
|
123
|
+
flexDirection: "row",
|
|
124
|
+
alignItems: "center",
|
|
125
|
+
justifyContent: "space-between",
|
|
126
|
+
gap: 12,
|
|
127
|
+
},
|
|
128
|
+
message: {
|
|
129
|
+
flex: 1,
|
|
130
|
+
fontSize: 14,
|
|
131
|
+
fontWeight: "500",
|
|
132
|
+
},
|
|
133
|
+
actions: {
|
|
134
|
+
flexDirection: "row",
|
|
135
|
+
alignItems: "center",
|
|
136
|
+
gap: 12,
|
|
137
|
+
},
|
|
138
|
+
actionButton: {
|
|
139
|
+
fontSize: 14,
|
|
140
|
+
fontWeight: "600",
|
|
141
|
+
},
|
|
142
|
+
closeButton: {
|
|
143
|
+
padding: 4,
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
//# sourceMappingURL=stream-notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-notification.js","sourceRoot":"","sources":["../../../src/components/stream-notification/stream-notification.tsx"],"names":[],"mappings":";;AAeA,gEA4BC;;;AA3CD,6DAAwC;AACxC,iCAA4C;AAC5C,+CAA2D;AAC3D,2FAKiC;AACjC,8BAAwC;AACxC,+EAGuC;AAEvC,SAAgB,0BAA0B,CAAC,EACzC,QAAQ,GAAG,kDAAK,EAChB,QAAQ,GAAG,KAAK,GAIjB;IACC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAChD,uDAAyB,CAAC,MAAM,EAAE,CACnC,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,uDAAyB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,wBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,aAC1B,QAAQ,EACR,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1C,uBAAC,gBAAgB,IAEf,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,IAHb,YAAY,CAAC,EAAE,CAIpB,CACH,CAAC,IACG,CACR,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,YAAY,EACZ,KAAK,EACL,QAAQ,GAKT;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,YAAQ,GAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAA,wCAAc,EAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,IAAA,wCAAc,EAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAElD,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAC/B,MAAM,gBAAgB,GAAG,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IAErE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,UAAU,CAAC,KAAK,GAAG,IAAA,oCAAU,EAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACnE,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,gCAAM,CAAC,GAAG,CAAC,gCAAM,CAAC,KAAK,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,GAAG,IAAA,oCAAU,EAAC,CAAC,EAAE;YAC5B,QAAQ,EAAE,GAAG;SACd,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,UAAU,CAAC,GAAG,EAAE;gBACd,uDAAyB,CAAC,IAAI,CAC5B,YAAY,CAAC,EAAE,EACf,YAAY,CAAC,aAAa,IAAI,MAAM,CACrC,CAAC;YACJ,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;IACH,CAAC,EAAE;QACD,YAAY,CAAC,aAAa;QAC1B,SAAS;QACT,YAAY,CAAC,EAAE;QACf,YAAY,CAAC,aAAa;KAC3B,CAAC,CAAC;IAEH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,CAAC,KAAK,GAAG,IAAA,oCAAU,EAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC7D,QAAQ,EAAE,GAAG;gBACb,MAAM,EAAE,gCAAM,CAAC,EAAE,CAAC,gCAAM,CAAC,KAAK,CAAC;aAChC,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,GAAG,IAAA,oCAAU,EAAC,CAAC,EAAE;gBAC5B,QAAQ,EAAE,GAAG;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1B,MAAM,aAAa,GAAG,IAAA,0CAAgB,EAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;QAC7C,OAAO,EAAE,OAAO,CAAC,KAAK;KACvB,CAAC,CAAC,CAAC;IAEJ,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE;YACP,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;YAClC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;SACjC;QACD,IAAI,EAAE;YACJ,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;YAClC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;SAC/B;QACD,OAAO,EAAE;YACP,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;YACrC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;SAClC;KACF,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,SAA0B,MAAM,EAAE,EAAE;QACzD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QACzD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YACrE,uDAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,uDAAyB,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC1B,uDAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAEtE,OAAO,CACL,uBAAC,iCAAQ,CAAC,IAAI,IACZ,KAAK,EAAE;YACL,MAAM,CAAC,YAAY;YACnB,aAAa;YACb,YAAY,CAAC,MAAM;gBACjB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,IAAI,SAAS,CAAC;YACpD,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;YACzB,aAAa;SACd,YAEA,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CACrB,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,CACtE,CAAC,CAAC,CAAC,CACF,wBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,aACzB,uBAAC,QAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,YAC9D,YAAY,CAAC,OAAO,GAChB,EAEP,wBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,aACxB,YAAY,CAAC,WAAW,IAAI,CAC3B,uBAAC,wBAAS,IAAC,OAAO,EAAE,YAAY,YAC9B,uBAAC,QAAI,IACH,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,YAE5D,YAAY,CAAC,WAAW,GACpB,GACG,CACb,EAED,uBAAC,wBAAS,IACR,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EACpC,KAAK,EAAE,MAAM,CAAC,WAAW,YAEzB,uBAAC,uBAAC,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,GAAI,GAC1C,IACP,IACF,CACR,GACa,CACjB,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;QACP,aAAa,EAAE,UAAU;KAC1B;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACrC,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;KACb;IACD,OAAO,EAAE;QACP,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,eAAe;QAC/B,GAAG,EAAE,EAAE;KACR;IACD,OAAO,EAAE;QACP,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IACD,OAAO,EAAE;QACP,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,EAAE;KACR;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,CAAC;KACX;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function TeleportNotification({ targetHandle, countdown, canCancel, startTime, onDismiss, }: {
|
|
2
|
+
targetHandle: string;
|
|
3
|
+
countdown: number;
|
|
4
|
+
canCancel: boolean;
|
|
5
|
+
startTime?: number;
|
|
6
|
+
onDismiss: (reason?: "user" | "auto") => void;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=teleport-notification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teleport-notification.d.ts","sourceRoot":"","sources":["../../../src/components/stream-notification/teleport-notification.tsx"],"names":[],"mappings":"AAWA,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,GACV,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CAC/C,2CAmKA"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TeleportNotification = TeleportNotification;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const react_native_1 = require("react-native");
|
|
8
|
+
const react_native_reanimated_1 = tslib_1.__importStar(require("react-native-reanimated"));
|
|
9
|
+
const __1 = require("../../");
|
|
10
|
+
function TeleportNotification({ targetHandle, countdown, canCancel, startTime, onDismiss, }) {
|
|
11
|
+
const { zero: z } = (0, __1.useTheme)();
|
|
12
|
+
const w = (0, react_native_1.useWindowDimensions)().width;
|
|
13
|
+
const [start, setStart] = (0, react_1.useState)(Date.now());
|
|
14
|
+
const [now, setNow] = (0, react_1.useState)(Date.now());
|
|
15
|
+
const [dismissed, setDismissed] = (0, react_1.useState)(false);
|
|
16
|
+
(0, react_1.useEffect)(() => {
|
|
17
|
+
const interval = setInterval(() => {
|
|
18
|
+
setNow(Date.now());
|
|
19
|
+
}, 100);
|
|
20
|
+
return () => clearInterval(interval);
|
|
21
|
+
}, []);
|
|
22
|
+
const timeLeft = Math.max(0, countdown - Math.floor((now - start) / 1000));
|
|
23
|
+
(0, react_1.useEffect)(() => {
|
|
24
|
+
if (dismissed) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (timeLeft <= 0) {
|
|
28
|
+
setDismissed(true);
|
|
29
|
+
onDismiss("auto");
|
|
30
|
+
}
|
|
31
|
+
}, [dismissed, onDismiss, timeLeft]);
|
|
32
|
+
// if we're past 5 seconds from start, stripes should already be hidden
|
|
33
|
+
const elapsedTime = startTime ? (Date.now() - startTime) / 1000 : 0;
|
|
34
|
+
const [showStripes, setShowStripes] = (0, react_1.useState)(elapsedTime < 5);
|
|
35
|
+
const stripeX = (0, react_native_reanimated_1.useSharedValue)(0);
|
|
36
|
+
const stripeOpacity = (0, react_native_reanimated_1.useSharedValue)(1);
|
|
37
|
+
const progressWidth = (0, react_native_reanimated_1.useSharedValue)(100);
|
|
38
|
+
(0, react_1.useEffect)(() => {
|
|
39
|
+
// if stripes are already hidden, fade out asap and return
|
|
40
|
+
if (!showStripes) {
|
|
41
|
+
stripeOpacity.value = (0, react_native_reanimated_1.withTiming)(0, { duration: 0 });
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
// warning stripes animation
|
|
45
|
+
stripeX.value = (0, react_native_reanimated_1.withRepeat)((0, react_native_reanimated_1.withTiming)(30 * 2, {
|
|
46
|
+
duration: 1000,
|
|
47
|
+
easing: react_native_reanimated_1.Easing.linear,
|
|
48
|
+
}), 3, false);
|
|
49
|
+
// hide stripes after 500ms
|
|
50
|
+
const stripesTimer = setTimeout(() => {
|
|
51
|
+
// woosh the stripes off to the right before hiding
|
|
52
|
+
stripeX.value = (0, react_native_reanimated_1.withTiming)(30 * 80, {
|
|
53
|
+
duration: 1500,
|
|
54
|
+
easing: react_native_reanimated_1.Easing.cubic,
|
|
55
|
+
});
|
|
56
|
+
// after animation, set stripes as hidden
|
|
57
|
+
setTimeout(() => {
|
|
58
|
+
setShowStripes(false);
|
|
59
|
+
}, 350);
|
|
60
|
+
}, 1500);
|
|
61
|
+
return () => clearTimeout(stripesTimer);
|
|
62
|
+
}, []);
|
|
63
|
+
(0, react_1.useEffect)(() => {
|
|
64
|
+
if (showStripes)
|
|
65
|
+
return;
|
|
66
|
+
// animate progress bar
|
|
67
|
+
const percentage = (timeLeft / countdown) * 100;
|
|
68
|
+
progressWidth.value = (0, react_native_reanimated_1.withTiming)(percentage, {
|
|
69
|
+
duration: 1000,
|
|
70
|
+
easing: react_native_reanimated_1.Easing.linear,
|
|
71
|
+
});
|
|
72
|
+
}, [timeLeft, countdown, showStripes]);
|
|
73
|
+
const stripesStyle = (0, react_native_reanimated_1.useAnimatedStyle)(() => ({
|
|
74
|
+
opacity: stripeOpacity.value,
|
|
75
|
+
transform: [{ translateX: stripeX.value }],
|
|
76
|
+
}));
|
|
77
|
+
const progressStyle = (0, react_native_reanimated_1.useAnimatedStyle)(() => ({
|
|
78
|
+
width: `${progressWidth.value}%`,
|
|
79
|
+
}));
|
|
80
|
+
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [{ overflow: "hidden" }, __1.zero.r.lg, __1.zero.bg.neutral[900]], children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [
|
|
81
|
+
__1.zero.layout.flex.row,
|
|
82
|
+
__1.zero.layout.flex.alignCenter,
|
|
83
|
+
__1.zero.layout.flex.spaceBetween,
|
|
84
|
+
__1.zero.px[3],
|
|
85
|
+
w > 650 ? __1.zero.py[4] : __1.zero.py[2],
|
|
86
|
+
], children: [(0, jsx_runtime_1.jsxs)(__1.Text, { size: w > 650 ? "xl" : "base", children: ["Teleporting to @", targetHandle] }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [
|
|
87
|
+
__1.zero.layout.flex.row,
|
|
88
|
+
__1.zero.layout.flex.alignCenter,
|
|
89
|
+
__1.zero.gap.all[3],
|
|
90
|
+
], children: [(0, jsx_runtime_1.jsxs)(__1.Text, { color: "muted", children: [timeLeft, "s"] }), canCancel && ((0, jsx_runtime_1.jsx)(__1.Button, { onPress: () => onDismiss("user"), width: "min", variant: "destructive", children: "Cancel" }))] })] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: {
|
|
91
|
+
height: 4,
|
|
92
|
+
width: "100%",
|
|
93
|
+
borderRadius: 2,
|
|
94
|
+
overflow: "hidden",
|
|
95
|
+
backgroundColor: "#0f0f1e",
|
|
96
|
+
}, children: (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [
|
|
97
|
+
{ height: "100%", borderRadius: 2, backgroundColor: "#16f4d0" },
|
|
98
|
+
progressStyle,
|
|
99
|
+
] }) }), (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [
|
|
100
|
+
{
|
|
101
|
+
position: "absolute",
|
|
102
|
+
flexDirection: "row",
|
|
103
|
+
height: 180,
|
|
104
|
+
width: "200%",
|
|
105
|
+
//clickthrough
|
|
106
|
+
pointerEvents: "none",
|
|
107
|
+
},
|
|
108
|
+
stripesStyle,
|
|
109
|
+
], children: [...Array(80)].map((_, i) => ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: {
|
|
110
|
+
width: 30,
|
|
111
|
+
height: "100%",
|
|
112
|
+
backgroundColor: i % 2 === 0 ? "#FFA500" : "#000000",
|
|
113
|
+
transform: [{ skewX: "-45deg" }, { translateX: -30 * 8 }],
|
|
114
|
+
} }, i))) })] }));
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=teleport-notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teleport-notification.js","sourceRoot":"","sources":["../../../src/components/stream-notification/teleport-notification.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import React from "react";
|
|
|
3
3
|
import { ButtonPrimitiveProps } from "./primitives/button";
|
|
4
4
|
declare const buttonVariants: (props?: ({
|
|
5
5
|
variant?: "primary" | "secondary" | "destructive" | "success" | "outline" | "ghost" | null | undefined;
|
|
6
|
-
size?: "sm" | "lg" | "xl" | "md" | "pill" | null | undefined;
|
|
6
|
+
size?: "icon" | "sm" | "lg" | "xl" | "md" | "pill" | null | undefined;
|
|
7
7
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
8
8
|
export interface ButtonProps extends Omit<ButtonPrimitiveProps, "children">, VariantProps<typeof buttonVariants> {
|
|
9
9
|
children?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,EAAmB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAI5E,QAAA,MAAM,cAAc;;;
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,EAAmB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAI5E,QAAA,MAAM,cAAc;;;mFAuBlB,CAAC;AAEH,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,EAC5C,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,MAAM,yEA0NlB,CAAC;AAKF,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -27,6 +27,7 @@ const buttonVariants = (0, class_variance_authority_1.cva)("", {
|
|
|
27
27
|
lg: "lg",
|
|
28
28
|
xl: "xl",
|
|
29
29
|
pill: "pill",
|
|
30
|
+
icon: "icon",
|
|
30
31
|
},
|
|
31
32
|
},
|
|
32
33
|
defaultVariants: {
|
|
@@ -117,6 +118,12 @@ exports.Button = (0, react_1.forwardRef)(({ variant = "primary", size = "md", ch
|
|
|
117
118
|
inner: { gap: 4 },
|
|
118
119
|
text: zero.typography.universal.xs,
|
|
119
120
|
};
|
|
121
|
+
case "icon":
|
|
122
|
+
return {
|
|
123
|
+
button: [zero.p[2], { borderRadius: zero.borderRadius.md }],
|
|
124
|
+
inner: { gap: 0 },
|
|
125
|
+
text: zero.typography.universal.sm,
|
|
126
|
+
};
|
|
120
127
|
case "md":
|
|
121
128
|
default:
|
|
122
129
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":";;;;;AAAA,uEAAkE;AAClE,uDAAmD;AACnD,+CAAiD;AACjD,iDAAiD;AACjD,uDAAiC;AACjC,gDAA4E;AAC5E,4CAAkD;AAElD,yDAAyD;AACzD,MAAM,cAAc,GAAG,IAAA,8BAAG,EAAC,EAAE,EAAE;IAC7B,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,SAAS;SACnB;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,MAAM;SACb;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,IAAI;KACX;CACF,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":";;;;;AAAA,uEAAkE;AAClE,uDAAmD;AACnD,+CAAiD;AACjD,iDAAiD;AACjD,uDAAiC;AACjC,gDAA4E;AAC5E,4CAAkD;AAElD,yDAAyD;AACzD,MAAM,cAAc,GAAG,IAAA,8BAAG,EAAC,EAAE,EAAE;IAC7B,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,SAAS;SACnB;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,IAAI;KACX;CACF,CAAC,CAAC;AA4OM,wCAAc;AA/NV,QAAA,MAAM,GAAG,IAAA,kBAAU,EAC9B,CACE,EACE,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,OAAO,GAAG,KAAK,EACf,WAAW,EACX,QAAQ,EACR,KAAK,EACL,KAAK,GAAG,MAAM,EACd,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAA,gBAAQ,GAAE,CAAC;IAEvC,sCAAsC;IACtC,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC/B,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,SAAS;gBACZ,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;YAC3B,KAAK,WAAW;gBACd,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;YAC7B,KAAK,SAAS;gBACZ,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;YAC3B,KAAK,OAAO;gBACV,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;YACzB,KAAK,aAAa;gBAChB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9C,KAAK,SAAS;gBACZ,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1C;gBACE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAElB,mCAAmC;IACnC,MAAM,SAAS,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC7B,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,SAAS;gBACZ,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,KAAK,WAAW;gBACd,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,KAAK,SAAS,CAAC;YACf,KAAK,OAAO;gBACV,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,KAAK,aAAa;gBAChB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,KAAK,SAAS;gBACZ,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D;gBACE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAElB,+BAA+B;IAC/B,MAAM,UAAU,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC9B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI;gBACP,OAAO;oBACL,MAAM,EAAE;wBACN,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE;qBACvC;oBACD,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;oBACjB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;iBACnC,CAAC;YACJ,KAAK,IAAI;gBACP,OAAO;oBACL,MAAM,EAAE;wBACN,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE;qBACvC;oBACD,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;oBAClB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;iBACnC,CAAC;YACJ,KAAK,IAAI;gBACP,OAAO;oBACL,MAAM,EAAE;wBACN,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE;qBACvC;oBACD,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;oBAClB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;iBACnC,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO;oBACL,MAAM,EAAE;wBACN,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;qBACzC;oBACD,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;oBACjB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;iBACnC,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO;oBACL,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;oBAC3D,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;oBACjB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;iBACnC,CAAC;YACJ,KAAK,IAAI,CAAC;YACV;gBACE,OAAO;oBACL,MAAM,EAAE;wBACN,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE;qBACvC;oBACD,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;oBACjB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;iBACnC,CAAC;QACN,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAEf,MAAM,QAAQ,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI;gBACP,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI;gBACP,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI;gBACP,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC;YACV;gBACE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAElB,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC/B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI;gBACP,OAAO,OAAgB,CAAC;YAC1B,KAAK,IAAI,CAAC;YACV,KAAK,IAAI;gBACP,OAAO,OAAgB,CAAC;YAC1B,KAAK,IAAI,CAAC;YACV;gBACE,OAAO,OAAgB,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAChC,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,OAAO;gBACV,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YAC7B,KAAK,WAAW;gBACd,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/B,KAAK,aAAa;gBAChB,OAAO,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;YACjC,KAAK,SAAS;gBACZ,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YAC7B;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAErB,MAAM,UAAU,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC9B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC3B,CAAC;aAAM,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,EAAE,SAAS,EAAE,YAAqB,EAAE,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,uBAAC,wBAAe,CAAC,IAAI,IACnB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAC7B,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,KACtD,KAAK,YAET,wBAAC,wBAAe,CAAC,OAAO,IAAC,KAAK,EAAE,UAAU,CAAC,KAAK,aAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACtB,uBAAC,wBAAe,CAAC,IAAI,IAAC,QAAQ,EAAC,MAAM,YACnC,uBAAC,gCAAiB,IAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAI,GACxC,CACxB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACb,uBAAC,wBAAe,CAAC,IAAI,IAAC,QAAQ,EAAC,MAAM,YAClC,QAAQ,GACY,CACxB,CAAC,CAAC,CAAC,IAAI,EAEP,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC9B,uBAAC,oBAAa,CAAC,IAAI,IAAC,KAAK,EAAE,CAAC,SAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,YAC3D,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,GAC7B,CACtB,CAAC,CAAC,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAC3B,WAAW,CACZ,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,EAEA,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CACtB,uBAAC,wBAAe,CAAC,IAAI,IAAC,QAAQ,EAAC,OAAO,YACpC,uBAAC,gCAAiB,IAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAI,GACxC,CACxB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,uBAAC,wBAAe,CAAC,IAAI,IACnB,QAAQ,EAAC,OAAO,EAChB,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAE3C,SAAS,GACW,CACxB,CAAC,CAAC,CAAC,IAAI,IACgB,GACL,CACxB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,cAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
|
|
@@ -3,8 +3,8 @@ import React from "react";
|
|
|
3
3
|
import { ModalPrimitiveProps } from "./primitives/modal";
|
|
4
4
|
declare const dialogVariants: (props?: ({
|
|
5
5
|
variant?: "fullscreen" | "default" | "sheet" | null | undefined;
|
|
6
|
-
size?: "
|
|
7
|
-
position?: "center" | "
|
|
6
|
+
size?: "sm" | "lg" | "xl" | "md" | "full" | null | undefined;
|
|
7
|
+
position?: "center" | "top" | "bottom" | "left" | "right" | null | undefined;
|
|
8
8
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
9
9
|
export interface DialogProps extends Omit<ModalPrimitiveProps, "children">, VariantProps<typeof dialogVariants> {
|
|
10
10
|
children?: React.ReactNode;
|
|
@@ -43,6 +43,10 @@ export declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<Omi
|
|
|
43
43
|
onKeyUp?: (ev: React.KeyboardEvent) => void;
|
|
44
44
|
} & import("@rn-primitives/types").ForceMountable & {
|
|
45
45
|
children?: ReactNode;
|
|
46
|
+
portalHost?: string;
|
|
47
|
+
sideOffset?: number;
|
|
48
|
+
alignOffset?: number;
|
|
49
|
+
avoidCollisions?: boolean;
|
|
46
50
|
} & React.RefAttributes<any>>;
|
|
47
51
|
export declare const DropdownMenuContent: React.ForwardRefExoticComponent<Omit<import("react-native").PressableProps & React.RefAttributes<View>, "ref"> & {
|
|
48
52
|
asChild?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dropdown.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dropdown.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,qBAAqB,MAAM,8BAA8B,CAAC;AAOtE,OAAO,KAAK,EAAE,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAKL,IAAI,EACL,MAAM,cAAc,CAAC;AAyBtB,eAAO,MAAM,YAAY;;;;8BAA6B,CAAC;AACvD,eAAO,MAAM,mBAAmB;;;;;0DAAgC,CAAC;AACjE,eAAO,MAAM,kBAAkB,qCAA+B,CAAC;AAE/D,eAAO,MAAM,sBAAsB;;;;;kEASjC,CAAC;AAEH,eAAO,MAAM,eAAe,8EAQ3B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;YAGvB,OAAO;mBACA,MAAM;;UAEf,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,aAAa,CAAC;gBAC9C,MAAM;YACV,OAAO;eACJ,KAAK,CAAC,SAAS;qCAkC5B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;eAGpB,SAAS;iBACP,MAAM;iBACN,MAAM;kBACL,MAAM;sBACF,OAAO;6BAuE5B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;mBAGb,GAAG;iBACL,MAAM;6BA8DrB,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;mBAG1B,GAAG;0BACI,MAAM;6BA8C/B,CAAC;AAEF,eAAO,MAAM,6BAA6B,8EAyBxC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;YAEiB,OAAO;eAAa,OAAO;6BAkCvE,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;UAG3B,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,eAAe,CAAC;eACjD,KAAK,CAAC,SAAS;qCAgC5B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;UAGxB,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,YAAY,CAAC;eAC9C,KAAK,CAAC,SAAS;YAClB,MAAM;qCA+BhB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;YAEiB,OAAO;6BAkBpD,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;6BAkBhC,CAAC;AAEH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,2CAa9C;AAED,eAAO,MAAM,iBAAiB;YAElB,OAAO;YAAU,MAAM;cAAY,SAAS;6BAuBtD,CAAC;AAEH,eAAO,MAAM,gBAAgB,8EAiB5B,CAAC;AAGF,eAAO,MAAM,uBAAuB;;;;;;mBA1WjB,GAAG;iBACL,MAAM;6BAyWmC,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.DropdownMenuBottomSheet = exports.DropdownMenuInfo = exports.DropdownMen
|
|
|
4
4
|
exports.DropdownMenuShortcut = DropdownMenuShortcut;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const RadixDropdownMenu = tslib_1.__importStar(require("@radix-ui/react-dropdown-menu"));
|
|
7
8
|
const DropdownMenuPrimitive = tslib_1.__importStar(require("@rn-primitives/dropdown-menu"));
|
|
8
9
|
const lucide_react_native_1 = require("lucide-react-native");
|
|
9
10
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
@@ -37,27 +38,52 @@ exports.DropdownMenuSubTrigger = (0, react_1.forwardRef)(({ inset, children, sub
|
|
|
37
38
|
atoms_1.pr[8],
|
|
38
39
|
], children: [children, (0, jsx_runtime_1.jsx)(react_native_1.View, { style: [atoms_1.a.layout.position.absolute, atoms_1.a.position.right[1]], children: (0, jsx_runtime_1.jsx)(Icon, { size: 18, color: icons.color.muted }) })] }) }) }));
|
|
39
40
|
});
|
|
40
|
-
exports.DropdownMenuSubContent = (0, react_1.forwardRef)(({ children, ...props }, ref) => {
|
|
41
|
+
exports.DropdownMenuSubContent = (0, react_1.forwardRef)(({ children, portalHost, sideOffset, alignOffset, avoidCollisions = true, ...props }, ref) => {
|
|
41
42
|
const { zero: zt } = (0, ui_1.useTheme)();
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
43
|
+
const [portalContainer, setPortalContainer] = react_1.default.useState(null);
|
|
44
|
+
react_1.default.useEffect(() => {
|
|
45
|
+
if (react_native_1.Platform.OS === "web" && portalHost) {
|
|
46
|
+
const element = document.querySelector(`[data-portal-host="${portalHost}"]`);
|
|
47
|
+
setPortalContainer(element);
|
|
48
|
+
}
|
|
49
|
+
}, [portalHost]);
|
|
50
|
+
const styles = [
|
|
51
|
+
atoms_1.a.sizes.minWidth[64],
|
|
52
|
+
atoms_1.a.sizes.maxWidth[64],
|
|
53
|
+
atoms_1.a.overflow.hidden,
|
|
54
|
+
atoms_1.a.radius.all.md,
|
|
55
|
+
atoms_1.a.borders.width.thin,
|
|
56
|
+
zt.border.default,
|
|
57
|
+
atoms_1.mt[1],
|
|
58
|
+
zt.bg.popover,
|
|
59
|
+
atoms_1.p[1],
|
|
60
|
+
atoms_1.a.shadows.md,
|
|
61
|
+
];
|
|
62
|
+
// On web, use Radix directly to support custom portal container
|
|
63
|
+
if (react_native_1.Platform.OS === "web") {
|
|
64
|
+
const { forceMount } = props;
|
|
65
|
+
// Flatten RN style array into a plain CSS object for DOM
|
|
66
|
+
const flattenedStyles = react_native_1.StyleSheet.flatten(styles);
|
|
67
|
+
return ((0, jsx_runtime_1.jsx)(RadixDropdownMenu.Portal, { ...(portalContainer ? { container: portalContainer } : {}), children: (0, jsx_runtime_1.jsx)(RadixDropdownMenu.SubContent, { ref: ref, style: flattenedStyles, forceMount: forceMount, sideOffset: sideOffset, alignOffset: alignOffset, avoidCollisions: avoidCollisions, children: children }) }));
|
|
68
|
+
}
|
|
69
|
+
// On native, use rn-primitives
|
|
70
|
+
return ((0, jsx_runtime_1.jsx)(DropdownMenuPrimitive.SubContent, { ref: ref, style: styles, ...props, children: children }));
|
|
55
71
|
});
|
|
56
72
|
exports.DropdownMenuContent = (0, react_1.forwardRef)(({ overlayStyle, portalHost, style, children, ...props }, ref) => {
|
|
57
73
|
const { zero: zt } = (0, ui_1.useTheme)();
|
|
58
74
|
const { height } = (0, react_native_1.useWindowDimensions)();
|
|
59
75
|
const maxHeight = height * 0.9;
|
|
60
|
-
|
|
76
|
+
const [portalContainer, setPortalContainer] = react_1.default.useState(null);
|
|
77
|
+
react_1.default.useEffect(() => {
|
|
78
|
+
if (react_native_1.Platform.OS === "web" && portalHost) {
|
|
79
|
+
const element = document.querySelector(`[data-portal-host="${portalHost}"]`);
|
|
80
|
+
setPortalContainer(element);
|
|
81
|
+
console.log("set portal container to", element);
|
|
82
|
+
}
|
|
83
|
+
}, [portalHost]);
|
|
84
|
+
return ((0, jsx_runtime_1.jsx)(DropdownMenuPrimitive.Portal, { hostName: portalHost, ...(react_native_1.Platform.OS === "web" && portalContainer
|
|
85
|
+
? { container: portalContainer }
|
|
86
|
+
: {}), children: (0, jsx_runtime_1.jsx)(DropdownMenuPrimitive.Overlay, { style: [
|
|
61
87
|
react_native_1.Platform.OS !== "web" ? react_native_1.StyleSheet.absoluteFill : undefined,
|
|
62
88
|
overlayStyle,
|
|
63
89
|
], children: (0, jsx_runtime_1.jsx)(DropdownMenuPrimitive.Content, { ref: ref, style: [
|