@openlv/modal 0.0.1-beta.6 → 0.0.1-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/assets/logo.d.ts +5 -0
  2. package/dist/components/Header.d.ts +6 -0
  3. package/dist/components/ModalRoot.d.ts +8 -0
  4. package/dist/components/UnknownState.d.ts +4 -0
  5. package/dist/components/footer/Footer.d.ts +1 -0
  6. package/dist/components/footer/StatusIndicator.d.ts +1 -0
  7. package/dist/components/settings/ConnectionPreferences.d.ts +1 -0
  8. package/dist/components/settings/Signaling.d.ts +1 -0
  9. package/dist/components/settings/Transport.d.ts +1 -0
  10. package/dist/components/settings/index.d.ts +1 -0
  11. package/dist/context.d.ts +14 -0
  12. package/dist/element.d.ts +18 -0
  13. package/dist/flow/ConnectionFlow.d.ts +6 -0
  14. package/dist/flow/HandshakeOpen.d.ts +4 -0
  15. package/dist/flow/disconnected/ConnectionGraphic.d.ts +1 -0
  16. package/dist/flow/disconnected/Disconnected.d.ts +4 -0
  17. package/dist/hooks/useClipboard.d.ts +1 -0
  18. package/dist/hooks/useConnectionState.d.ts +7 -0
  19. package/dist/hooks/useEventEmitter.d.ts +2 -0
  20. package/dist/hooks/useProvider.d.ts +5 -0
  21. package/dist/hooks/usePunchTransition.d.ts +8 -0
  22. package/dist/hooks/useSession.d.ts +8 -0
  23. package/dist/hooks/useSettings.d.ts +15 -0
  24. package/dist/index.cjs.js +5 -7
  25. package/dist/index.cjs.js.map +1 -1
  26. package/dist/index.d.ts +19 -25
  27. package/dist/index.es.js +1551 -1158
  28. package/dist/index.es.js.map +1 -1
  29. package/dist/index.iife.js +5 -7
  30. package/dist/index.iife.js.map +1 -1
  31. package/dist/modal.css +1 -1
  32. package/dist/styles/index.d.ts +2 -0
  33. package/dist/theme/index.d.ts +37 -0
  34. package/dist/theme/openlv.d.ts +138 -0
  35. package/dist/theme/simple.d.ts +73 -0
  36. package/dist/theme/types.d.ts +104 -0
  37. package/dist/types/connection.d.ts +13 -0
  38. package/dist/ui/Button.d.ts +62 -0
  39. package/dist/ui/InfoTooltip.d.ts +78 -0
  40. package/dist/ui/Input.d.ts +22 -0
  41. package/dist/ui/Select.d.ts +7 -0
  42. package/dist/ui/Toggle.d.ts +7 -0
  43. package/dist/ui/menu/MenuGroup.d.ts +6 -0
  44. package/dist/ui/menu/MenuItem.d.ts +5 -0
  45. package/dist/utils/log.d.ts +1 -0
  46. package/package.json +6 -6
@@ -0,0 +1,5 @@
1
+ /**
2
+ * OpenLV icon - 128x128 pixels, optimized WebP format
3
+ * Best for larger UI elements, headers, prominent display
4
+ */
5
+ export declare const OPENLV_ICON_128 = "data:image/webp;base64,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";
@@ -0,0 +1,6 @@
1
+ export declare const Header: ({ title, view, onClose, onBack, }: {
2
+ title: string;
3
+ view: "start" | "uri" | "settings";
4
+ onClose: () => void;
5
+ onBack?: () => void;
6
+ }) => import("preact").JSX.Element;
@@ -0,0 +1,8 @@
1
+ /** biome-ignore-all lint/a11y/noStaticElementInteractions: overlay requires click to close modal */
2
+ /** biome-ignore-all lint/a11y/useKeyWithClickEvents: escape listener handles keyboard interactions */
3
+ export interface ModalRootProps {
4
+ onClose?: () => void;
5
+ onStartConnection?: () => void;
6
+ onCopy?: (uri: string) => void;
7
+ }
8
+ export declare const ModalRoot: ({ onClose, onCopy }: ModalRootProps) => import("preact").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { FC } from 'preact/compat';
2
+ export declare const UnknownState: FC<{
3
+ state: unknown;
4
+ }>;
@@ -0,0 +1 @@
1
+ export declare const Footer: () => import("preact").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const FooterStatus: () => import("preact").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const ConnectionPreferences: () => import("preact").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const SignalingSettings: () => import("preact").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const TransportSettings: () => import("preact").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const ModalSettings: () => import("preact").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { OpenLVProvider } from '@openlv/provider';
2
+ import { FC } from 'preact/compat';
3
+ import { ThemeConfig } from './theme/index.js';
4
+ export type ProviderContextO = {
5
+ provider: OpenLVProvider | undefined;
6
+ };
7
+ export declare const ModalContext: import('preact').Context<ProviderContextO>;
8
+ export type ModalProviderProps = {
9
+ provider: OpenLVProvider;
10
+ theme?: ThemeConfig;
11
+ onClose?: () => void;
12
+ };
13
+ export declare const ModalProvider: FC<ModalProviderProps>;
14
+ export declare const useModalContext: () => ProviderContextO;
@@ -0,0 +1,18 @@
1
+ import { OpenLVProvider } from '@openlv/provider';
2
+ import { ThemeConfig } from './theme/index.js';
3
+ import { ModalConnectionInterface } from './types/connection.js';
4
+ export declare class OpenLVModalElement extends HTMLElement implements ModalConnectionInterface {
5
+ onClose?: () => void;
6
+ provider: OpenLVProvider;
7
+ theme: ThemeConfig;
8
+ private readonly shadow;
9
+ private renderRequested;
10
+ constructor(_provider: OpenLVProvider, _theme?: ThemeConfig, _onClose?: () => void);
11
+ connectedCallback(): void;
12
+ disconnectedCallback(): void;
13
+ showModal(): void;
14
+ hideModal(): void;
15
+ private requestRender;
16
+ private performRender;
17
+ }
18
+ export default OpenLVModalElement;
@@ -0,0 +1,6 @@
1
+ interface ConnectionFlowProps {
2
+ onClose: () => void;
3
+ onCopy: (uri: string) => void;
4
+ }
5
+ export declare const ConnectionFlow: ({ onClose, onCopy }: ConnectionFlowProps) => import("preact").JSX.Element;
6
+ export {};
@@ -0,0 +1,4 @@
1
+ import { FC } from 'preact/compat';
2
+ export declare const HandshakeOpen: FC<{
3
+ onCopy: (uri: string) => void;
4
+ }>;
@@ -0,0 +1 @@
1
+ export declare const ConnectionGraphic: () => import("preact").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { FC } from 'preact/compat';
2
+ export declare const Disconnected: FC<{
3
+ onSettings: () => void;
4
+ }>;
@@ -0,0 +1 @@
1
+ export declare const copyToClipboard: (text: string) => Promise<boolean>;
@@ -0,0 +1,7 @@
1
+ import { ConnectionInfo, ConnectionState } from '../types/connection.js';
2
+ export declare const useConnectionState: (initialState?: ConnectionState) => {
3
+ connectionInfo: ConnectionInfo;
4
+ updateState: (newState: ConnectionState, additionalInfo?: Partial<ConnectionInfo>) => void;
5
+ updateConnectionInfo: (info: ConnectionInfo) => void;
6
+ reset: () => void;
7
+ };
@@ -0,0 +1,2 @@
1
+ import { EventEmitter } from 'eventemitter3';
2
+ export declare const useEventEmitter: <R extends EventEmitter.ValidEventTypes = string | symbol, E extends EventEmitter.EventNames<R> = EventEmitter.EventNames<R>, Fn extends EventEmitter.EventListener<R, E> = EventEmitter.EventListener<R, E>>(emitter: EventEmitter<R> | undefined, event: E, fn: Fn) => void;
@@ -0,0 +1,5 @@
1
+ import { ProviderStatus } from '@openlv/provider';
2
+ export declare const useProvider: () => {
3
+ provider: import('@openlv/provider').OpenLVProvider;
4
+ status: ProviderStatus;
5
+ };
@@ -0,0 +1,8 @@
1
+ export interface PunchTransitionOptions {
2
+ duration?: number;
3
+ }
4
+ export declare const usePunchTransition: <T>(value: T, { duration }?: PunchTransitionOptions) => {
5
+ current: T;
6
+ previous: T | null;
7
+ isTransitioning: boolean;
8
+ };
@@ -0,0 +1,8 @@
1
+ import { Session, SessionStateObject } from '@openlv/session';
2
+ export declare const useSession: () => {
3
+ uri: string | undefined;
4
+ status: SessionStateObject | undefined;
5
+ };
6
+ export declare const useSessionStart: () => {
7
+ start: () => Promise<Session>;
8
+ };
@@ -0,0 +1,15 @@
1
+ export declare const useSettings: () => {
2
+ settings: {
3
+ version: 1;
4
+ retainHistory: boolean;
5
+ autoReconnect: boolean;
6
+ signaling: {
7
+ p: string;
8
+ s: Record<string, string>;
9
+ };
10
+ };
11
+ updateSignalingProtocol: (update: string) => void;
12
+ updateSignalingServer: (server: string) => void;
13
+ updateRetainHistory: (retainHistory: boolean) => void;
14
+ updateAutoReconnect: (autoReconnect: boolean) => void;
15
+ };