@vibes.diy/use-vibes-base 0.12.15-dev05 → 0.12.15-dev07

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/index.d.ts CHANGED
@@ -14,6 +14,17 @@ export declare function useFireproof(nameOrDatabase?: string | Database): {
14
14
  enableSync: () => void;
15
15
  disableSync: () => void;
16
16
  syncEnabled: boolean | null;
17
+ share: (options: {
18
+ email: string;
19
+ role?: "admin" | "member" | undefined;
20
+ right?: "read" | "write" | undefined;
21
+ }) => Promise<{
22
+ success: any;
23
+ email: any;
24
+ role: any;
25
+ right: any;
26
+ message: any;
27
+ }>;
17
28
  };
18
29
  import { callAI } from 'call-ai';
19
30
  export { callAI, callAI as callAi };
@@ -22,8 +33,8 @@ export { default as ImgGen } from './components/ImgGen.js';
22
33
  export type { ImgGenProps } from './components/ImgGen.js';
23
34
  export { ControlsBar } from './components/ControlsBar.js';
24
35
  export { PromptBar } from './components/PromptBar.js';
25
- export { VibesSwitch } from './components/VibesSwitch/VibesSwitch.js';
26
36
  export { VibesButton } from './components/VibesButton/VibesButton.js';
37
+ export { VibesSwitch } from './components/VibesSwitch/VibesSwitch.js';
27
38
  export { hashInput, useImageGen } from './hooks/image-gen/index.js';
28
39
  export { defaultClasses } from './utils/style-utils.js';
29
40
  export type { ImgGenClasses } from '@vibes.diy/use-vibes-types';
@@ -34,22 +45,18 @@ export { ImgGenModal, type ImgGenModalProps } from './components/ImgGenUtils/Img
34
45
  export { ImageOverlay } from './components/ImgGenUtils/overlays/ImageOverlay.js';
35
46
  export { addNewVersion, MODULE_STATE } from './hooks/image-gen/utils.js';
36
47
  export type { ImageDocument, PartialImageDocument, UseImageGenOptions, UseImageGenResult, } from '@vibes.diy/use-vibes-types';
37
- export { useVibes } from './hooks/vibes-gen/index.js';
38
48
  export type { UseVibesOptions, UseVibesResult, VibeDocument } from '@vibes.diy/use-vibes-types';
49
+ export { useVibes } from './hooks/vibes-gen/index.js';
39
50
  export { VibeControl } from './components/VibeControl.js';
40
51
  export type { VibeControlProps } from './components/VibeControl.js';
41
- export { mountVibeControl, mountVibeControlToBody, autoMountVibeControl, } from './vibe-control-mount.js';
42
- export type { MountVibeControlOptions, MountVibeControlResult } from './vibe-control-mount.js';
43
52
  export { HiddenMenuWrapper } from './components/HiddenMenuWrapper/HiddenMenuWrapper.js';
44
53
  export type { HiddenMenuWrapperProps } from './components/HiddenMenuWrapper/HiddenMenuWrapper.js';
54
+ export { hiddenMenuTheme } from './components/HiddenMenuWrapper/HiddenMenuWrapper.styles.js';
55
+ export { createVibeControlStyles, defaultVibeControlClasses, vibeControlTheme, } from './utils/vibe-control-styles.js';
56
+ export type { VibeControlClasses } from './utils/vibe-control-styles.js';
45
57
  export { VibesPanel } from './components/VibesPanel/VibesPanel.js';
46
58
  export type { VibesPanelProps } from './components/VibesPanel/VibesPanel.js';
47
- export { mountHiddenMenuWrapper, mountHiddenMenuWrapperToBody, autoMountHiddenMenuWrapper, } from './vibe-hidden-menu-mount.js';
48
- export type { MountHiddenMenuWrapperOptions, MountHiddenMenuWrapperResult, } from './vibe-hidden-menu-mount.js';
49
59
  export { AuthWall } from './components/AuthWall/AuthWall.js';
50
60
  export type { AuthWallProps } from './components/AuthWall/AuthWall.js';
51
- export { mountAuthWall } from './vibe-auth-wall.js';
52
- export type { MountAuthWallOptions, MountAuthWallResult } from './vibe-auth-wall.js';
53
- export { vibeControlTheme, createVibeControlStyles, defaultVibeControlClasses, } from './utils/vibe-control-styles.js';
54
- export type { VibeControlClasses } from './utils/vibe-control-styles.js';
55
- export { hiddenMenuTheme } from './components/HiddenMenuWrapper/HiddenMenuWrapper.styles.js';
61
+ export { mountVibesApp, mountVibesAppToBody } from './vibe-app-mount.js';
62
+ export type { MountVibesAppOptions, MountVibesAppResult } from './vibe-app-mount.js';
package/index.js CHANGED
@@ -1,7 +1,8 @@
1
- import { useCallback, useEffect, useState, useId } from 'react';
1
+ import { useCallback, useEffect, useState } from 'react';
2
2
  import { fireproof, ImgFile, toCloud as originalToCloud, useFireproof as originalUseFireproof, } from 'use-fireproof';
3
3
  import { ManualRedirectStrategy } from './ManualRedirectStrategy.js';
4
4
  const syncEnabledInstances = new Map();
5
+ let instanceCounter = 0;
5
6
  function updateBodyClass() {
6
7
  if (typeof window === 'undefined' || !document?.body)
7
8
  return;
@@ -25,7 +26,10 @@ export function toCloud(opts) {
25
26
  return attachable;
26
27
  }
27
28
  export function useFireproof(nameOrDatabase) {
28
- const instanceId = useId();
29
+ console.log('[useFireproof] Enhanced hook called with:', nameOrDatabase);
30
+ console.log('[useFireproof] Import source detection - enhanced version is active');
31
+ const instanceId = `instance-${++instanceCounter}`;
32
+ console.log('[useFireproof] Hook instance ID:', instanceId);
29
33
  const dbName = typeof nameOrDatabase === 'string' ? nameOrDatabase : nameOrDatabase?.name || 'default';
30
34
  const syncKey = `fireproof-sync-${dbName}`;
31
35
  const wasSyncEnabled = typeof window !== 'undefined' && localStorage.getItem(syncKey) === 'true';
@@ -62,18 +66,6 @@ export function useFireproof(nameOrDatabase) {
62
66
  }
63
67
  }, 100);
64
68
  }, [wasSyncEnabled, manualAttach]);
65
- useEffect(() => {
66
- const button = document.getElementById('vibes-login-link');
67
- if (!button)
68
- return;
69
- const handleClick = () => {
70
- enableSync();
71
- };
72
- button.addEventListener('click', handleClick);
73
- return () => {
74
- button.removeEventListener('click', handleClick);
75
- };
76
- }, [enableSync]);
77
69
  const disableSync = useCallback(() => {
78
70
  localStorage.removeItem(syncKey);
79
71
  if (result.attach?.ctx?.tokenAndClaims?.state === 'ready' &&
@@ -85,6 +77,121 @@ export function useFireproof(nameOrDatabase) {
85
77
  const syncEnabled = (wasSyncEnabled &&
86
78
  (result.attach?.state === 'attached' || result.attach?.state === 'attaching')) ||
87
79
  (manualAttach && typeof manualAttach === 'object' && manualAttach.state === 'attached');
80
+ const share = useCallback(async (options) => {
81
+ console.log('[useFireproof] Share function called with:', options);
82
+ const attach = result.attach || manualAttach;
83
+ console.log('[useFireproof] Attachment context:', {
84
+ 'result.attach': result.attach?.state,
85
+ manualAttach: typeof manualAttach === 'object' && manualAttach ? manualAttach.state : manualAttach,
86
+ 'final attach': attach && typeof attach === 'object' && 'state' in attach ? attach.state : 'no-state',
87
+ });
88
+ if (!attach ||
89
+ typeof attach === 'string' ||
90
+ !('ctx' in attach) ||
91
+ !attach.ctx?.tokenAndClaims ||
92
+ attach.ctx.tokenAndClaims.state !== 'ready') {
93
+ throw new Error('Authentication required. Please enable sync first.');
94
+ }
95
+ const readyState = attach.ctx.tokenAndClaims;
96
+ const tokenData = readyState.tokenAndClaims;
97
+ const auth = {
98
+ type: 'clerk',
99
+ token: tokenData.token,
100
+ };
101
+ const apiUrl = 'https://connect.fireproof.direct/api';
102
+ const response = await fetch(apiUrl, {
103
+ method: 'PUT',
104
+ headers: {
105
+ 'Content-Type': 'application/json',
106
+ Accept: 'application/json',
107
+ },
108
+ body: JSON.stringify({
109
+ type: 'reqShareWithUser',
110
+ auth: auth,
111
+ email: options.email,
112
+ role: options.role || 'member',
113
+ right: options.right || 'read',
114
+ }),
115
+ });
116
+ if (!response.ok) {
117
+ const errorText = await response.text();
118
+ throw new Error(`Share failed: HTTP ${response.status} ${response.statusText}: ${errorText}`);
119
+ }
120
+ const shareData = await response.json();
121
+ return {
122
+ success: shareData.success,
123
+ email: shareData.email,
124
+ role: shareData.role,
125
+ right: shareData.right,
126
+ message: shareData.message || 'User added to ledger successfully',
127
+ };
128
+ }, [dbName, result.attach, manualAttach]);
129
+ useEffect(() => {
130
+ if (typeof window === 'undefined')
131
+ return;
132
+ console.log('[useFireproof] Setting up vibes-share-request event listener');
133
+ const handleShareRequest = async (event) => {
134
+ console.log('[useFireproof] Received vibes-share-request event:', event);
135
+ const customEvent = event;
136
+ const { email, role = 'member', right = 'read' } = customEvent.detail || {};
137
+ console.log('[useFireproof] Share request details:', { email, role, right });
138
+ if (!email) {
139
+ const error = new Error('vibes-share-request requires email in event detail');
140
+ console.error(error.message);
141
+ document.dispatchEvent(new CustomEvent('vibes-share-error', {
142
+ detail: { error, originalEvent: event },
143
+ bubbles: true,
144
+ }));
145
+ return;
146
+ }
147
+ try {
148
+ console.log('[useFireproof] Calling share function with:', { email, role, right });
149
+ const result = await share({ email, role, right });
150
+ console.log('[useFireproof] Share function completed successfully:', result);
151
+ document.dispatchEvent(new CustomEvent('vibes-share-success', {
152
+ detail: { ...result, originalEvent: event },
153
+ bubbles: true,
154
+ }));
155
+ }
156
+ catch (error) {
157
+ console.error('[useFireproof] Share function failed:', error);
158
+ document.dispatchEvent(new CustomEvent('vibes-share-error', {
159
+ detail: { error, originalEvent: event },
160
+ bubbles: true,
161
+ }));
162
+ }
163
+ };
164
+ document.addEventListener('vibes-share-request', handleShareRequest);
165
+ return () => {
166
+ document.removeEventListener('vibes-share-request', handleShareRequest);
167
+ };
168
+ }, [share]);
169
+ useEffect(() => {
170
+ if (typeof window === 'undefined')
171
+ return;
172
+ console.log('[useFireproof] Setting up vibes-sync-enable event listener');
173
+ const handleSyncEnable = () => {
174
+ console.log('[useFireproof] Received vibes-sync-enable event');
175
+ enableSync();
176
+ };
177
+ document.addEventListener('vibes-sync-enable', handleSyncEnable);
178
+ return () => {
179
+ document.removeEventListener('vibes-sync-enable', handleSyncEnable);
180
+ };
181
+ }, [enableSync]);
182
+ useEffect(() => {
183
+ if (typeof window === 'undefined')
184
+ return;
185
+ console.log('[useFireproof] Setting up vibes-sync-disable event listener');
186
+ const handleSyncDisable = () => {
187
+ console.log('[useFireproof] Received vibes-sync-disable event');
188
+ disableSync();
189
+ };
190
+ document.addEventListener('vibes-sync-disable', handleSyncDisable);
191
+ return () => {
192
+ document.removeEventListener('vibes-sync-disable', handleSyncDisable);
193
+ };
194
+ }, [disableSync]);
88
195
  useEffect(() => {
89
196
  if (typeof window === 'undefined')
90
197
  return;
@@ -118,6 +225,7 @@ export function useFireproof(nameOrDatabase) {
118
225
  enableSync,
119
226
  disableSync,
120
227
  syncEnabled,
228
+ share,
121
229
  };
122
230
  }
123
231
  import { callAI } from 'call-ai';
@@ -125,8 +233,8 @@ export { callAI, callAI as callAi };
125
233
  export { default as ImgGen } from './components/ImgGen.js';
126
234
  export { ControlsBar } from './components/ControlsBar.js';
127
235
  export { PromptBar } from './components/PromptBar.js';
128
- export { VibesSwitch } from './components/VibesSwitch/VibesSwitch.js';
129
236
  export { VibesButton } from './components/VibesButton/VibesButton.js';
237
+ export { VibesSwitch } from './components/VibesSwitch/VibesSwitch.js';
130
238
  export { hashInput, useImageGen } from './hooks/image-gen/index.js';
131
239
  export { defaultClasses } from './utils/style-utils.js';
132
240
  export { base64ToFile } from './utils/base64.js';
@@ -137,12 +245,10 @@ export { ImageOverlay } from './components/ImgGenUtils/overlays/ImageOverlay.js'
137
245
  export { addNewVersion, MODULE_STATE } from './hooks/image-gen/utils.js';
138
246
  export { useVibes } from './hooks/vibes-gen/index.js';
139
247
  export { VibeControl } from './components/VibeControl.js';
140
- export { mountVibeControl, mountVibeControlToBody, autoMountVibeControl, } from './vibe-control-mount.js';
141
248
  export { HiddenMenuWrapper } from './components/HiddenMenuWrapper/HiddenMenuWrapper.js';
249
+ export { hiddenMenuTheme } from './components/HiddenMenuWrapper/HiddenMenuWrapper.styles.js';
250
+ export { createVibeControlStyles, defaultVibeControlClasses, vibeControlTheme, } from './utils/vibe-control-styles.js';
142
251
  export { VibesPanel } from './components/VibesPanel/VibesPanel.js';
143
- export { mountHiddenMenuWrapper, mountHiddenMenuWrapperToBody, autoMountHiddenMenuWrapper, } from './vibe-hidden-menu-mount.js';
144
252
  export { AuthWall } from './components/AuthWall/AuthWall.js';
145
- export { mountAuthWall } from './vibe-auth-wall.js';
146
- export { vibeControlTheme, createVibeControlStyles, defaultVibeControlClasses, } from './utils/vibe-control-styles.js';
147
- export { hiddenMenuTheme } from './components/HiddenMenuWrapper/HiddenMenuWrapper.styles.js';
253
+ export { mountVibesApp, mountVibesAppToBody } from './vibe-app-mount.js';
148
254
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/use-vibes-base",
3
- "version": "0.12.15-dev05",
3
+ "version": "0.12.15-dev07",
4
4
  "type": "module",
5
5
  "description": "Core components and utilities for use-vibes (internal workspace package)",
6
6
  "exports": {
@@ -15,9 +15,9 @@
15
15
  "@fireproof/core-runtime": "^0.23.14",
16
16
  "@fireproof/core-types-base": "^0.23.14",
17
17
  "@fireproof/core-types-protocols-cloud": "^0.23.14",
18
- "@vibes.diy/prompts": "^0.12.15-dev05",
19
- "@vibes.diy/use-vibes-types": "^0.12.15-dev05",
20
- "call-ai": "^0.12.15-dev05",
18
+ "@vibes.diy/prompts": "^0.12.15-dev07",
19
+ "@vibes.diy/use-vibes-types": "^0.12.15-dev07",
20
+ "call-ai": "^0.12.15-dev07",
21
21
  "react-dom": "~19.1.0",
22
22
  "use-fireproof": "^0.23.14",
23
23
  "uuid": "^11.1.0"
@@ -0,0 +1,12 @@
1
+ export interface MountVibesAppOptions {
2
+ readonly container?: string | HTMLElement;
3
+ readonly database?: string;
4
+ readonly title?: string;
5
+ readonly imageUrl?: string;
6
+ }
7
+ export interface MountVibesAppResult {
8
+ unmount: () => void;
9
+ getContainer: () => HTMLElement;
10
+ }
11
+ export declare function mountVibesApp(options?: MountVibesAppOptions): MountVibesAppResult;
12
+ export declare function mountVibesAppToBody(): MountVibesAppResult;
@@ -0,0 +1,116 @@
1
+ import * as React from 'react';
2
+ import * as ReactDOM from 'react-dom/client';
3
+ import { AuthWall } from './components/AuthWall/AuthWall.js';
4
+ import { useFireproof } from './index.js';
5
+ import { HiddenMenuWrapper } from './components/HiddenMenuWrapper/HiddenMenuWrapper.js';
6
+ import { VibesPanel } from './components/VibesPanel/VibesPanel.js';
7
+ function VibesApp({ database = 'vibes-app', title = 'Vibes App', imageUrl = 'https://images.unsplash.com/photo-1506744038136-46273834b3fb?auto=format&fit=crop&w=1470&q=80', children, }) {
8
+ const { enableSync, syncEnabled } = useFireproof(database);
9
+ const mockLogin = typeof window !== 'undefined' &&
10
+ new URLSearchParams(window.location.search).get('mock_login') === 'true';
11
+ const [showAuthWall, setShowAuthWall] = React.useState(!syncEnabled && !mockLogin);
12
+ React.useEffect(() => {
13
+ const observer = new MutationObserver(() => {
14
+ const isConnected = document.body.classList.contains('vibes-connect-true');
15
+ setShowAuthWall(!isConnected);
16
+ });
17
+ observer.observe(document.body, {
18
+ attributes: true,
19
+ attributeFilter: ['class'],
20
+ });
21
+ return () => observer.disconnect();
22
+ }, []);
23
+ React.useEffect(() => {
24
+ setShowAuthWall(!syncEnabled && !mockLogin);
25
+ }, [syncEnabled, mockLogin]);
26
+ const handleLogin = () => {
27
+ enableSync();
28
+ };
29
+ if (showAuthWall) {
30
+ return React.createElement(AuthWall, {
31
+ onLogin: handleLogin,
32
+ imageUrl,
33
+ title,
34
+ open: true,
35
+ });
36
+ }
37
+ return React.createElement(HiddenMenuWrapper, {
38
+ menuContent: React.createElement(VibesPanel),
39
+ children,
40
+ });
41
+ }
42
+ export function mountVibesApp(options = {}) {
43
+ const { container: containerOption, database, title, imageUrl } = options;
44
+ let containerElement;
45
+ if (typeof containerOption === 'string') {
46
+ const found = document.querySelector(containerOption);
47
+ if (!found) {
48
+ throw new Error(`VibesApp container not found: ${containerOption}`);
49
+ }
50
+ containerElement = found;
51
+ }
52
+ else if (containerOption instanceof HTMLElement) {
53
+ containerElement = containerOption;
54
+ }
55
+ else {
56
+ containerElement = document.body;
57
+ }
58
+ let contentWrapper = null;
59
+ let originalChildren = [];
60
+ if (containerElement === document.body) {
61
+ const existingWrapper = document.getElementById('vibes-original-content');
62
+ if (!existingWrapper) {
63
+ originalChildren = Array.from(document.body.childNodes);
64
+ contentWrapper = document.createElement('div');
65
+ contentWrapper.id = 'vibes-original-content';
66
+ contentWrapper.style.height = '100%';
67
+ contentWrapper.style.width = '100%';
68
+ contentWrapper.style.position = 'relative';
69
+ originalChildren.forEach((child) => {
70
+ if (contentWrapper) {
71
+ contentWrapper.appendChild(child);
72
+ }
73
+ });
74
+ document.body.appendChild(contentWrapper);
75
+ }
76
+ else {
77
+ contentWrapper = existingWrapper;
78
+ }
79
+ }
80
+ const root = ReactDOM.createRoot(containerElement);
81
+ root.render(React.createElement(VibesApp, {
82
+ database,
83
+ title,
84
+ imageUrl,
85
+ }, React.createElement('div', {
86
+ id: 'vibes-original-content-react',
87
+ dangerouslySetInnerHTML: {
88
+ __html: (contentWrapper || containerElement).innerHTML,
89
+ },
90
+ })));
91
+ return {
92
+ unmount: () => {
93
+ setTimeout(() => {
94
+ root.unmount();
95
+ if (contentWrapper && containerElement === document.body) {
96
+ const children = Array.from(contentWrapper.childNodes);
97
+ children.forEach((child) => {
98
+ document.body.insertBefore(child, contentWrapper);
99
+ });
100
+ contentWrapper.remove();
101
+ }
102
+ const cleanupTarget = contentWrapper || containerElement;
103
+ cleanupTarget.style.filter = '';
104
+ cleanupTarget.style.pointerEvents = '';
105
+ cleanupTarget.style.transform = '';
106
+ cleanupTarget.style.transition = '';
107
+ cleanupTarget.style.backgroundColor = '';
108
+ }, 0);
109
+ },
110
+ getContainer: () => containerElement,
111
+ };
112
+ }
113
+ export function mountVibesAppToBody() {
114
+ return mountVibesApp();
115
+ }
116
+ //# sourceMappingURL=vibe-app-mount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vibe-app-mount.js","sourceRoot":"","sources":["../jsr/vibe-app-mount.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import type { MountVibeControlOptions } from '../vibe-control-mount.js';
3
- declare const meta: Meta<{
4
- mountType: 'container' | 'body' | 'auto';
5
- options?: Partial<MountVibeControlOptions>;
6
- }>;
7
- export default meta;
8
- type Story = StoryObj<{
9
- mountType: 'container' | 'body' | 'auto';
10
- options?: Partial<MountVibeControlOptions>;
11
- }>;
12
- export declare const MountToContainer: Story;
13
- export declare const MountToBody: Story;
14
- export declare const AutoMount: Story;
@@ -1,182 +0,0 @@
1
- import React, { useEffect, useRef, useState } from 'react';
2
- import { mountVibeControl, mountVibeControlToBody, autoMountVibeControl, } from '../vibe-control-mount.js';
3
- function MountDemo({ mountType, options = {}, }) {
4
- const containerRef = useRef(null);
5
- const [mounted, setMounted] = useState(false);
6
- const [instance, setInstance] = useState(null);
7
- useEffect(() => {
8
- if (!mounted)
9
- return;
10
- let control = null;
11
- try {
12
- switch (mountType) {
13
- case 'container':
14
- if (containerRef.current) {
15
- control = mountVibeControl({
16
- container: containerRef.current,
17
- label: 'Mounted Control',
18
- position: 'bottom-right',
19
- onOpen: () => console.log('Container-mounted control opened'),
20
- onClose: () => console.log('Container-mounted control closed'),
21
- children: React.createElement('div', {}, React.createElement('h3', {}, 'Container Mount Demo'), React.createElement('p', {}, 'This VibeControl was mounted using mountVibeControl() to a specific container element.'), React.createElement('div', {
22
- style: {
23
- marginTop: '16px',
24
- padding: '12px',
25
- backgroundColor: '#e3f2fd',
26
- borderRadius: '4px',
27
- },
28
- }, React.createElement('strong', {}, 'Benefits:'), React.createElement('ul', { style: { marginTop: '8px' } }, React.createElement('li', {}, 'Scoped to specific DOM element'), React.createElement('li', {}, 'No React dependency required'), React.createElement('li', {}, 'Dynamic prop updates supported'), React.createElement('li', {}, 'Clean unmounting')))),
29
- ...options,
30
- });
31
- }
32
- break;
33
- case 'body':
34
- control = mountVibeControlToBody({
35
- label: 'Body Mount',
36
- position: 'bottom-left',
37
- onOpen: () => console.log('Body-mounted control opened'),
38
- onClose: () => console.log('Body-mounted control closed'),
39
- children: React.createElement('div', {}, React.createElement('h3', {}, 'Body Mount Demo'), React.createElement('p', {}, 'This VibeControl was mounted using mountVibeControlToBody().'), React.createElement('div', {
40
- style: {
41
- marginTop: '16px',
42
- padding: '12px',
43
- backgroundColor: '#f3e5f5',
44
- borderRadius: '4px',
45
- },
46
- }, React.createElement('strong', {}, 'Use Cases:'), React.createElement('ul', { style: { marginTop: '8px' } }, React.createElement('li', {}, 'Global application controls'), React.createElement('li', {}, 'Site-wide settings access'), React.createElement('li', {}, 'Help/support overlay'), React.createElement('li', {}, 'User account management')))),
47
- ...options,
48
- });
49
- break;
50
- case 'auto':
51
- window.VIBE_CONTROL_CONFIG = {
52
- label: 'Auto Mount',
53
- position: 'top-right',
54
- children: React.createElement('div', {}, React.createElement('h3', {}, 'Auto Mount Demo'), React.createElement('p', {}, 'This VibeControl was auto-mounted using global configuration.'), React.createElement('div', {
55
- style: {
56
- marginTop: '16px',
57
- padding: '12px',
58
- backgroundColor: '#fff3e0',
59
- borderRadius: '4px',
60
- },
61
- }, React.createElement('strong', {}, 'Perfect for:'), React.createElement('ul', { style: { marginTop: '8px' } }, React.createElement('li', {}, 'CDN-based integration'), React.createElement('li', {}, 'No-code implementations'), React.createElement('li', {}, 'Third-party embeds'), React.createElement('li', {}, 'Quick prototyping')))),
62
- ...options,
63
- };
64
- control = autoMountVibeControl();
65
- break;
66
- }
67
- setInstance(control);
68
- }
69
- catch (error) {
70
- console.error(`Failed to mount ${mountType}:`, error);
71
- }
72
- return () => {
73
- if (control && typeof control.unmount === 'function') {
74
- control.unmount();
75
- }
76
- if (mountType === 'auto') {
77
- delete window.VIBE_CONTROL_CONFIG;
78
- }
79
- };
80
- }, [mounted, mountType, options]);
81
- const handleMount = () => setMounted(true);
82
- const handleUnmount = () => {
83
- if (instance && typeof instance.unmount === 'function') {
84
- instance.unmount();
85
- }
86
- setMounted(false);
87
- setInstance(null);
88
- };
89
- const handleUpdate = () => {
90
- if (instance && typeof instance.update === 'function') {
91
- instance.update({
92
- label: `Updated ${Date.now()}`,
93
- position: 'top-left',
94
- });
95
- }
96
- };
97
- return (React.createElement("div", { style: { padding: '20px', maxWidth: '600px' } }, React.createElement("h3", null, mountType === 'container' ? 'Container' : mountType === 'body' ? 'Body' : 'Auto', " Mount Example"), React.createElement("div", { style: { marginBottom: '16px', display: 'flex', gap: '8px', flexWrap: 'wrap' } }, React.createElement("button", { onClick: handleMount, disabled: mounted, style: {
98
- padding: '8px 16px',
99
- backgroundColor: mounted ? '#ccc' : '#4caf50',
100
- color: 'white',
101
- border: 'none',
102
- borderRadius: '4px',
103
- cursor: mounted ? 'not-allowed' : 'pointer',
104
- } }, "Mount Control"), React.createElement("button", { onClick: handleUpdate, disabled: !mounted || !instance, style: {
105
- padding: '8px 16px',
106
- backgroundColor: !mounted || !instance ? '#ccc' : '#ff9800',
107
- color: 'white',
108
- border: 'none',
109
- borderRadius: '4px',
110
- cursor: !mounted || !instance ? 'not-allowed' : 'pointer',
111
- } }, "Update Props"), React.createElement("button", { onClick: handleUnmount, disabled: !mounted, style: {
112
- padding: '8px 16px',
113
- backgroundColor: !mounted ? '#ccc' : '#f44336',
114
- color: 'white',
115
- border: 'none',
116
- borderRadius: '4px',
117
- cursor: !mounted ? 'not-allowed' : 'pointer',
118
- } }, "Unmount")), mountType === 'container' && (React.createElement("div", { ref: containerRef, style: {
119
- position: 'relative',
120
- height: '200px',
121
- border: '2px dashed #ccc',
122
- borderRadius: '4px',
123
- display: 'flex',
124
- alignItems: 'center',
125
- justifyContent: 'center',
126
- backgroundColor: mounted ? '#f0f8ff' : '#fafafa',
127
- } }, mounted ? (React.createElement("div", { style: { textAlign: 'center', color: '#666' } }, React.createElement("p", null, React.createElement("strong", null, "VibeControl mounted!")), React.createElement("p", null, "Look for the button in the bottom-right of this container."))) : (React.createElement("p", { style: { color: '#999', margin: 0 } }, "Click \"Mount Control\" to see the VibeControl in this container")))), mounted && (React.createElement("div", { style: {
128
- marginTop: '16px',
129
- padding: '12px',
130
- backgroundColor: '#f0f8ff',
131
- borderRadius: '4px',
132
- } }, React.createElement("strong", null, "Status:"), " VibeControl is mounted and active", mountType !== 'container' && (React.createElement("p", { style: { margin: '8px 0 0 0', fontSize: '0.9em', color: '#666' } }, "Look for the floating button positioned on the", ' ', mountType === 'body' ? 'page' : 'screen'))))));
133
- }
134
- const meta = {
135
- title: 'Components/VibeControl Mount Functions',
136
- component: MountDemo,
137
- parameters: {
138
- layout: 'fullscreen',
139
- docs: {
140
- description: {
141
- component: `
142
- Demonstrates the mount functions for using VibeControl in non-React environments.
143
-
144
- ### Mount Functions Available
145
- - **\`mountVibeControl(options)\`** - Mount to a specific DOM element
146
- - **\`mountVibeControlToBody(props)\`** - Convenience function for body mounting
147
- - **\`autoMountVibeControl()\`** - Auto-mount from global config (perfect for CDN usage)
148
-
149
- ### Features
150
- - **Dynamic updates** - Use \`instance.update(props)\` to change properties
151
- - **Clean unmounting** - Use \`instance.unmount()\` for proper cleanup
152
- - **Event callbacks** - Full support for onOpen/onClose handlers
153
- - **No React required** - Works in any JavaScript environment
154
- `,
155
- },
156
- },
157
- },
158
- argTypes: {
159
- mountType: {
160
- control: { type: 'select' },
161
- options: ['container', 'body', 'auto'],
162
- description: 'Type of mount function to demonstrate',
163
- },
164
- },
165
- };
166
- export default meta;
167
- export const MountToContainer = {
168
- args: {
169
- mountType: 'container',
170
- },
171
- };
172
- export const MountToBody = {
173
- args: {
174
- mountType: 'body',
175
- },
176
- };
177
- export const AutoMount = {
178
- args: {
179
- mountType: 'auto',
180
- },
181
- };
182
- //# sourceMappingURL=VibeControlMount.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VibeControlMount.stories.js","sourceRoot":"","sources":["../../jsr/stories/VibeControlMount.stories.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { AuthWallProps } from './components/AuthWall/AuthWall.js';
2
- export interface MountAuthWallOptions extends AuthWallProps {
3
- readonly container?: string | HTMLElement;
4
- }
5
- export interface MountAuthWallResult {
6
- unmount: () => void;
7
- update: (newProps: Partial<AuthWallProps>) => void;
8
- getProps: () => AuthWallProps;
9
- getContainer: () => HTMLElement;
10
- }
11
- export declare function mountAuthWall(options?: MountAuthWallOptions): MountAuthWallResult;
12
- export declare function mountAuthWallToBody(props: AuthWallProps): MountAuthWallResult;
13
- export declare function autoMountAuthWall(): MountAuthWallResult | null;
14
- export default mountAuthWall;
package/vibe-auth-wall.js DELETED
@@ -1,79 +0,0 @@
1
- import * as React from 'react';
2
- import * as ReactDOM from 'react-dom/client';
3
- import { AuthWall } from './components/AuthWall/AuthWall.js';
4
- export function mountAuthWall(options = {
5
- onLogin: function () {
6
- throw new Error('Function not implemented.');
7
- },
8
- imageUrl: '',
9
- title: '',
10
- open: false,
11
- }) {
12
- const { container: containerOption, ...authWallProps } = options;
13
- let containerElement;
14
- if (typeof containerOption === 'string') {
15
- const el = document.querySelector(containerOption);
16
- if (!el)
17
- throw new Error(`AuthWall mount container not found: ${containerOption}`);
18
- containerElement = el;
19
- }
20
- else if (containerOption instanceof HTMLElement) {
21
- containerElement = containerOption;
22
- }
23
- else {
24
- containerElement = document.body;
25
- }
26
- const mountDiv = document.createElement('div');
27
- containerElement.appendChild(mountDiv);
28
- const root = ReactDOM.createRoot(mountDiv);
29
- let currentProps = { ...authWallProps };
30
- const render = (props) => {
31
- root.render(React.createElement(AuthWall, props));
32
- };
33
- render(currentProps);
34
- return {
35
- unmount: () => {
36
- root.unmount();
37
- if (mountDiv.parentNode) {
38
- mountDiv.parentNode.removeChild(mountDiv);
39
- }
40
- },
41
- update: (newProps) => {
42
- currentProps = { ...currentProps, ...newProps };
43
- render(currentProps);
44
- },
45
- getProps: () => ({ ...currentProps }),
46
- getContainer: () => containerElement,
47
- };
48
- }
49
- export function mountAuthWallToBody(props) {
50
- return mountAuthWall({ container: document.body, ...props });
51
- }
52
- export function autoMountAuthWall() {
53
- if (typeof window === 'undefined' || typeof document === 'undefined') {
54
- console.warn('AuthWall: autoMountAuthWall called in non-browser environment');
55
- return null;
56
- }
57
- const tryMount = () => {
58
- const globalConfig = window
59
- .AUTH_WALL_CONFIG;
60
- if (!globalConfig) {
61
- console.warn('AuthWall: No global AUTH_WALL_CONFIG found');
62
- return null;
63
- }
64
- try {
65
- return mountAuthWallToBody(globalConfig);
66
- }
67
- catch (error) {
68
- console.error('AuthWall: Auto-mount failed:', error);
69
- return null;
70
- }
71
- };
72
- if (document.readyState === 'loading') {
73
- window.addEventListener('DOMContentLoaded', tryMount, { once: true });
74
- return null;
75
- }
76
- return tryMount();
77
- }
78
- export default mountAuthWall;
79
- //# sourceMappingURL=vibe-auth-wall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vibe-auth-wall.js","sourceRoot":"","sources":["../jsr/vibe-auth-wall.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { VibeControlProps } from './components/VibeControl.js';
2
- export interface MountVibeControlOptions extends VibeControlProps {
3
- readonly container?: string | HTMLElement;
4
- }
5
- export interface MountVibeControlResult {
6
- unmount: () => void;
7
- update: (newProps: Partial<VibeControlProps>) => void;
8
- getProps: () => VibeControlProps;
9
- getContainer: () => HTMLElement;
10
- }
11
- export declare function mountVibeControl(options?: MountVibeControlOptions): MountVibeControlResult;
12
- export declare function mountVibeControlToBody(props?: VibeControlProps): MountVibeControlResult;
13
- export declare function autoMountVibeControl(): MountVibeControlResult | null;
14
- export default mountVibeControl;
@@ -1,75 +0,0 @@
1
- import * as React from 'react';
2
- import * as ReactDOM from 'react-dom/client';
3
- import { VibeControl } from './components/VibeControl.js';
4
- export function mountVibeControl(options = {}) {
5
- const { container: containerOption, ...vibeControlProps } = options;
6
- let containerElement;
7
- if (typeof containerOption === 'string') {
8
- const el = document.querySelector(containerOption);
9
- if (!el) {
10
- throw new Error(`VibeControl mount container not found: ${containerOption}`);
11
- }
12
- containerElement = el;
13
- }
14
- else if (containerOption instanceof HTMLElement) {
15
- containerElement = containerOption;
16
- }
17
- else {
18
- containerElement = document.body;
19
- }
20
- const mountDiv = document.createElement('div');
21
- containerElement.appendChild(mountDiv);
22
- const root = ReactDOM.createRoot(mountDiv);
23
- let currentProps = { ...vibeControlProps };
24
- const render = (props) => {
25
- root.render(React.createElement(VibeControl, props));
26
- };
27
- render(currentProps);
28
- return {
29
- unmount: () => {
30
- root.unmount();
31
- if (mountDiv.parentNode) {
32
- mountDiv.parentNode.removeChild(mountDiv);
33
- }
34
- },
35
- update: (newProps) => {
36
- currentProps = { ...currentProps, ...newProps };
37
- render(currentProps);
38
- },
39
- getProps: () => ({ ...currentProps }),
40
- getContainer: () => containerElement,
41
- };
42
- }
43
- export function mountVibeControlToBody(props = {}) {
44
- return mountVibeControl({
45
- container: document.body,
46
- ...props,
47
- });
48
- }
49
- export function autoMountVibeControl() {
50
- if (typeof window === 'undefined' || typeof document === 'undefined') {
51
- console.warn('VibeControl: autoMountVibeControl called in non-browser environment');
52
- return null;
53
- }
54
- const tryMount = () => {
55
- const globalConfig = window.VIBE_CONTROL_CONFIG;
56
- if (!globalConfig) {
57
- console.warn('VibeControl: No global VIBE_CONTROL_CONFIG found for auto-mount');
58
- return null;
59
- }
60
- try {
61
- return mountVibeControlToBody(globalConfig);
62
- }
63
- catch (error) {
64
- console.error('VibeControl: Auto-mount failed:', error);
65
- return null;
66
- }
67
- };
68
- if (document.readyState === 'loading') {
69
- window.addEventListener('DOMContentLoaded', tryMount, { once: true });
70
- return null;
71
- }
72
- return tryMount();
73
- }
74
- export default mountVibeControl;
75
- //# sourceMappingURL=vibe-control-mount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vibe-control-mount.js","sourceRoot":"","sources":["../jsr/vibe-control-mount.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { HiddenMenuWrapperProps } from './components/HiddenMenuWrapper/HiddenMenuWrapper.js';
2
- declare global {
3
- interface Window {
4
- HIDDEN_MENU_WRAPPER_CONFIG?: HiddenMenuWrapperProps;
5
- }
6
- }
7
- export interface MountHiddenMenuWrapperOptions extends HiddenMenuWrapperProps {
8
- readonly container?: string | HTMLElement;
9
- }
10
- export interface MountHiddenMenuWrapperResult {
11
- unmount: () => void;
12
- update: (newProps: Partial<HiddenMenuWrapperProps>) => void;
13
- getProps: () => HiddenMenuWrapperProps;
14
- getContainer: () => HTMLElement;
15
- }
16
- export declare function mountHiddenMenuWrapper(options?: MountHiddenMenuWrapperOptions): MountHiddenMenuWrapperResult;
17
- export declare function mountHiddenMenuWrapperToBody(props?: HiddenMenuWrapperProps): MountHiddenMenuWrapperResult;
18
- export declare function autoMountHiddenMenuWrapper(): MountHiddenMenuWrapperResult | null;
@@ -1,76 +0,0 @@
1
- import * as React from 'react';
2
- import * as ReactDOM from 'react-dom/client';
3
- import { HiddenMenuWrapper, } from './components/HiddenMenuWrapper/HiddenMenuWrapper.js';
4
- import { VibesPanel } from './components/VibesPanel/VibesPanel.js';
5
- export function mountHiddenMenuWrapper(options = {
6
- children: undefined,
7
- menuContent: undefined,
8
- }) {
9
- const { container: containerOption, ...initialProps } = options;
10
- let containerElement;
11
- if (typeof containerOption === 'string') {
12
- const found = document.querySelector(containerOption);
13
- if (!found) {
14
- throw new Error(`HiddenMenuWrapper container not found: ${containerOption}`);
15
- }
16
- containerElement = found;
17
- }
18
- else if (containerOption instanceof HTMLElement) {
19
- containerElement = containerOption;
20
- }
21
- else {
22
- containerElement = document.body;
23
- }
24
- const mountDiv = document.createElement('div');
25
- containerElement.appendChild(mountDiv);
26
- const root = ReactDOM.createRoot(mountDiv);
27
- let currentProps = { ...initialProps };
28
- const render = (props) => {
29
- root.render(React.createElement(HiddenMenuWrapper, props));
30
- };
31
- render(currentProps);
32
- return {
33
- unmount: () => {
34
- root.unmount();
35
- if (mountDiv.parentNode) {
36
- mountDiv.parentNode.removeChild(mountDiv);
37
- }
38
- },
39
- update: (newProps) => {
40
- currentProps = { ...currentProps, ...newProps };
41
- render(currentProps);
42
- },
43
- getProps: () => ({ ...currentProps }),
44
- getContainer: () => containerElement,
45
- };
46
- }
47
- export function mountHiddenMenuWrapperToBody(props = {
48
- children: undefined,
49
- menuContent: undefined,
50
- }) {
51
- const { menuContent, ...restProps } = props;
52
- return mountHiddenMenuWrapper({
53
- container: document.body,
54
- menuContent: menuContent || React.createElement(VibesPanel),
55
- ...restProps,
56
- });
57
- }
58
- export function autoMountHiddenMenuWrapper() {
59
- if (typeof window === 'undefined' || typeof document === 'undefined') {
60
- console.warn('HiddenMenuWrapper: autoMount called in non-browser environment');
61
- return null;
62
- }
63
- const config = window.HIDDEN_MENU_WRAPPER_CONFIG;
64
- if (!config) {
65
- console.warn('HiddenMenuWrapper: No HIDDEN_MENU_WRAPPER_CONFIG found');
66
- return null;
67
- }
68
- try {
69
- return mountHiddenMenuWrapperToBody(config);
70
- }
71
- catch (error) {
72
- console.error('HiddenMenuWrapper: Auto-mount failed:', error);
73
- return null;
74
- }
75
- }
76
- //# sourceMappingURL=vibe-hidden-menu-mount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vibe-hidden-menu-mount.js","sourceRoot":"","sources":["../jsr/vibe-hidden-menu-mount.ts"],"names":[],"mappings":"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"}