@nylas/react 2.2.4 → 3.0.1

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 (84) hide show
  1. package/LICENSE.md +1 -0
  2. package/README.md +208 -4
  3. package/dist/cjs/components.js +501 -0
  4. package/dist/cjs/components.js.map +1 -0
  5. package/dist/cjs/connect.js +2 -1
  6. package/dist/cjs/connect.js.map +1 -0
  7. package/dist/cjs/elements.js +2 -1
  8. package/dist/cjs/elements.js.map +1 -0
  9. package/dist/cjs/index.js +2 -1
  10. package/dist/cjs/index.js.map +1 -0
  11. package/dist/cjs/p-DVWbg8if.js +292 -0
  12. package/dist/cjs/p-DVWbg8if.js.map +1 -0
  13. package/dist/cjs/utils.js +2 -1
  14. package/dist/cjs/utils.js.map +1 -0
  15. package/dist/connect.d.ts +1 -1
  16. package/dist/elements.d.ts +1 -1
  17. package/dist/es/components.js +40349 -0
  18. package/dist/es/components.js.map +1 -0
  19. package/dist/es/connect.js +241 -157
  20. package/dist/es/connect.js.map +1 -0
  21. package/dist/es/elements.js +134 -1317
  22. package/dist/es/elements.js.map +1 -0
  23. package/dist/es/index.js +137 -279
  24. package/dist/es/index.js.map +1 -0
  25. package/dist/es/p-DVWbg8if.js +18604 -0
  26. package/dist/es/p-DVWbg8if.js.map +1 -0
  27. package/dist/es/utils.js +6 -2
  28. package/dist/es/utils.js.map +1 -0
  29. package/dist/index.d.ts +1 -1
  30. package/dist/src/connect/NylasConnectButton.d.ts +42 -0
  31. package/dist/src/connect/NylasConnectButton.d.ts.map +1 -0
  32. package/dist/src/connect/NylasConnectButton.test.d.ts +2 -0
  33. package/dist/src/connect/NylasConnectButton.test.d.ts.map +1 -0
  34. package/dist/src/connect/index.d.ts +9 -0
  35. package/dist/src/connect/index.d.ts.map +1 -0
  36. package/dist/{lib → src}/connect/types.d.ts +3 -2
  37. package/dist/src/connect/types.d.ts.map +1 -0
  38. package/dist/{lib → src}/connect/useNylasConnect.d.ts +11 -5
  39. package/dist/src/connect/useNylasConnect.d.ts.map +1 -0
  40. package/dist/src/connect/useNylasConnect.test.d.ts +2 -0
  41. package/dist/src/connect/useNylasConnect.test.d.ts.map +1 -0
  42. package/dist/src/connect.d.ts +2 -0
  43. package/dist/src/connect.d.ts.map +1 -0
  44. package/dist/{lib → src}/elements/components.d.ts +145 -143
  45. package/dist/src/elements/components.d.ts.map +1 -0
  46. package/dist/src/elements.d.ts +2 -0
  47. package/dist/src/elements.d.ts.map +1 -0
  48. package/dist/src/index.d.ts +3 -0
  49. package/dist/src/index.d.ts.map +1 -0
  50. package/dist/src/main.d.ts +2 -0
  51. package/dist/src/main.d.ts.map +1 -0
  52. package/dist/src/utils.d.ts +3 -0
  53. package/dist/src/utils.d.ts.map +1 -0
  54. package/dist/style.css +1 -1
  55. package/dist/utils.d.ts +1 -1
  56. package/dist/vitest.setup.d.ts +2 -0
  57. package/dist/vitest.setup.d.ts.map +1 -0
  58. package/package.json +32 -24
  59. package/dist/cjs/notetaker.js +0 -62
  60. package/dist/es/notetaker.js +0 -5784
  61. package/dist/lib/connect/index.d.ts +0 -6
  62. package/dist/lib/connect/useNylasConnect.test.d.ts +0 -1
  63. package/dist/lib/connect.d.ts +0 -1
  64. package/dist/lib/elements.d.ts +0 -1
  65. package/dist/lib/index.d.ts +0 -3
  66. package/dist/lib/main.d.ts +0 -0
  67. package/dist/lib/notetaker/CalendarSync/CalendarSync.d.ts +0 -37
  68. package/dist/lib/notetaker/CalendarSync/CalendarSync.spec.d.ts +0 -0
  69. package/dist/lib/notetaker/SendNotetaker/SendNotetaker.d.ts +0 -32
  70. package/dist/lib/notetaker/SendNotetaker/SendNotetaker.spec.d.ts +0 -1
  71. package/dist/lib/notetaker/Transcript/Transcript.d.ts +0 -23
  72. package/dist/lib/notetaker/Transcript/Transcript.spec.d.ts +0 -0
  73. package/dist/lib/notetaker/VideoPlayer/VideoPlayer.d.ts +0 -24
  74. package/dist/lib/notetaker/VideoPlayer/VideoPlayer.spec.d.ts +0 -1
  75. package/dist/lib/notetaker/index.d.ts +0 -9
  76. package/dist/lib/notetaker/lib/constants.d.ts +0 -12
  77. package/dist/lib/notetaker/lib/http-client.d.ts +0 -2
  78. package/dist/lib/notetaker/lib/primitives.d.ts +0 -66
  79. package/dist/lib/notetaker/lib/store.d.ts +0 -6
  80. package/dist/lib/notetaker/types.d.ts +0 -42
  81. package/dist/lib/notetaker.d.ts +0 -1
  82. package/dist/lib/utils.d.ts +0 -2
  83. package/dist/notetaker.d.ts +0 -1
  84. package/dist/test/vitest.setup.d.ts +0 -0
@@ -1,6 +0,0 @@
1
- export { useNylasConnect } from "./useNylasConnect";
2
- export * from "./types";
3
- export { NylasConnect } from "@nylas/connect";
4
- export { NylasConnectError, ConfigError, NetworkError, OAuthError, TokenError, PopupError, } from "@nylas/connect";
5
- export { BrowserTokenStorage, MemoryTokenStorage } from "@nylas/connect";
6
- export { parseConnectCallback, isConnectCallback, logger, } from "@nylas/connect";
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export * from "./connect/index";
@@ -1 +0,0 @@
1
- export * from "./elements/components";
@@ -1,3 +0,0 @@
1
- export * from "./elements";
2
- export * from "./notetaker";
3
- export * from "./utils";
File without changes
@@ -1,37 +0,0 @@
1
- import React from "react";
2
- import { MeetingFilter, RecordingType, Calendar } from "../types";
3
- export interface CalendarSyncProps {
4
- calendarId: string;
5
- grantId?: string;
6
- notetakerName?: string;
7
- onUpdate?: (payload: Calendar) => void;
8
- onCancel?: () => void;
9
- onError?: (err: any) => void;
10
- hideRecordingSettings?: boolean;
11
- hideNameInput?: boolean;
12
- }
13
- export interface CalendarSyncStore {
14
- calendar: Calendar | null;
15
- setCalendar: (calendar: Calendar | null) => void;
16
- isLoading: boolean;
17
- setIsLoading: (isLoading: boolean) => void;
18
- selectedFilters: MeetingFilter[];
19
- setSelectedFilters: (filters: MeetingFilter[]) => void;
20
- selectedRecordingTypes: RecordingType[];
21
- setSelectedRecordingTypes: (types: RecordingType[]) => void;
22
- toggleRecordingType: (type: RecordingType) => void;
23
- advancedSettings: boolean;
24
- setAdvancedSettings: (show: boolean) => void;
25
- hasChanges: boolean;
26
- setHasChanges: (hasChanges: boolean) => void;
27
- name: string;
28
- setName: (name: string) => void;
29
- reset: () => void;
30
- toggleMeetingFilter: (filter: MeetingFilter) => void;
31
- handleCancel: (notetakerName?: string, onCancelCallback?: () => void) => void;
32
- getCalendar: (calendarId: string, grantId: string, fallbackNotetakerName?: string) => Promise<void>;
33
- handleSave: (calendarId: string, grantId: string, onUpdate?: (data: Calendar) => void, onError?: (error: any) => void) => Promise<void>;
34
- handleDisable: (calendarId: string, grantId: string, fallbackNotetakerName?: string, onUpdate?: (data: Calendar) => void, onError?: (error: any) => void, onCancel?: () => void) => Promise<void>;
35
- }
36
- export declare const calendarSyncStore: import("zustand").UseBoundStore<import("zustand").StoreApi<CalendarSyncStore>>;
37
- export declare function CalendarSync({ calendarId, grantId, notetakerName, onUpdate, onCancel, onError, hideRecordingSettings, hideNameInput, }: CalendarSyncProps): React.JSX.Element;
@@ -1,32 +0,0 @@
1
- import React from "react";
2
- import { RecordingType, Notetaker } from "../types";
3
- export interface SendNotetakerStore {
4
- name: string;
5
- setName: (name: string) => void;
6
- meetingLink: string;
7
- setMeetingLink: (meetingLink: string) => void;
8
- date: string;
9
- setDate: (date: string) => void;
10
- time: string;
11
- setTime: (time: string) => void;
12
- advancedSettings: boolean;
13
- setAdvancedSettings: (show: boolean) => void;
14
- selectedRecordingTypes: RecordingType[];
15
- setSelectedRecordingTypes: (types: RecordingType[]) => void;
16
- toggleRecordingType: (type: RecordingType) => void;
17
- isLoading: boolean;
18
- setIsLoading: (isLoading: boolean) => void;
19
- reset: () => void;
20
- handleSubmit: (grantId?: string, onSend?: (data: Notetaker, resetForm: () => void) => void, onError?: (error: any) => void) => void;
21
- }
22
- export declare const sendNotetakerStore: import("zustand").UseBoundStore<import("zustand").StoreApi<SendNotetakerStore>>;
23
- export interface SendNotetakerProps {
24
- notetakerName?: string;
25
- showNameInput?: boolean;
26
- showAdvancedSettings?: boolean;
27
- className?: string;
28
- grantId?: string;
29
- onSend?: (data: Notetaker, resetForm: () => void) => void;
30
- onError?: (error: any) => void;
31
- }
32
- export declare function SendNotetaker({ className, onSend, onError, notetakerName, grantId, }: SendNotetakerProps): React.JSX.Element;
@@ -1,23 +0,0 @@
1
- import React from "react";
2
- export interface TranscriptProps {
3
- transcript: TranscriptItem[];
4
- autoscroll?: boolean;
5
- toolbar?: boolean;
6
- emptyState?: React.ReactNode;
7
- showSpeaker?: boolean;
8
- showTimestamps?: boolean;
9
- resumeAutoscrollLabel?: string;
10
- onTimestampClick?: (timestamp: number) => void;
11
- transcriptComponent?: React.ComponentType<{
12
- text: string;
13
- highlight: string | null;
14
- }>;
15
- }
16
- export interface TranscriptItem {
17
- speaker: string;
18
- start: number;
19
- end: number;
20
- text: string;
21
- }
22
- declare const Transcript: React.FC<TranscriptProps>;
23
- export { Transcript };
@@ -1,24 +0,0 @@
1
- import React from "react";
2
- interface VideoStore {
3
- currentTime: number;
4
- isPlaying: boolean;
5
- setCurrentTime: (time: number) => void;
6
- setIsPlaying: (playing: boolean) => void;
7
- }
8
- export declare const videoPlayerStore: import("zustand").UseBoundStore<import("zustand").StoreApi<VideoStore>>;
9
- export interface VideoPlayerProps {
10
- videoUrl: string;
11
- className?: string;
12
- poster?: string;
13
- autoPlay?: boolean;
14
- muted?: boolean;
15
- loop?: boolean;
16
- videoType?: string;
17
- onTimeUpdate?: (currentTime: number) => void;
18
- onSeek?: (newTime: number) => void;
19
- onPlay?: () => void;
20
- onPause?: () => void;
21
- onEnded?: () => void;
22
- }
23
- export declare const VideoPlayer: React.FC<VideoPlayerProps>;
24
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- export { Transcript } from "./Transcript/Transcript";
2
- export { VideoPlayer } from "./VideoPlayer/VideoPlayer";
3
- export { CalendarSync } from "./CalendarSync/CalendarSync";
4
- export { SendNotetaker } from "./SendNotetaker/SendNotetaker";
5
- export { provider } from "./lib/store";
6
- export { calendarSyncStore } from "./CalendarSync/CalendarSync";
7
- export { sendNotetakerStore } from "./SendNotetaker/SendNotetaker";
8
- export { videoPlayerStore } from "./VideoPlayer/VideoPlayer";
9
- export type { Transcript as TranscriptType, TranscriptItem, } from "./Transcript/Transcript";
@@ -1,12 +0,0 @@
1
- import React from "react";
2
- import { MeetingFilter, RecordingType } from "../types";
3
- export declare const DEFAULT_RECORDING_TYPES: RecordingType[];
4
- export declare const RECORDING_TYPES: {
5
- value: RecordingType;
6
- label: string;
7
- icon: React.ElementType;
8
- }[];
9
- export declare const MEETING_TYPES: {
10
- value: MeetingFilter;
11
- label: string;
12
- }[];
@@ -1,2 +0,0 @@
1
- declare const client: import("axios").AxiosInstance;
2
- export default client;
@@ -1,66 +0,0 @@
1
- export declare const label: import("tailwind-variants").TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, import("tailwind-variants").TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>;
2
- export declare const button: import("tailwind-variants").TVReturnType<{
3
- size: {
4
- small: ("ny:text-sm" | "ny:h-8")[];
5
- };
6
- variant: {
7
- primary: ("ny:outline-none" | "ny:bg-primary-500" | "ny:text-white" | "ny:border-primary-500" | "ny:hover:bg-primary-600" | "ny:hover:text-white" | "ny:shadow-md" | "ny:shadow-primary-100")[];
8
- link: ("ny:cursor-pointer" | "ny:bg-transparent" | "ny:text-primary-500" | "ny:hover:text-primary-600" | "ny:border-none" | "ny:font-medium")[];
9
- };
10
- color: {
11
- danger: ("ny:text-red-500" | "ny:hover:text-red-600")[];
12
- };
13
- active: {
14
- true: ("ny:border-primary-500" | "ny:shadow-md" | "ny:shadow-primary-100" | "ny:text-primary-500" | "ny:bg-primary-50" | "ny:hover:bg-primary-100")[];
15
- };
16
- disabled: {
17
- true: ("ny:hover:bg-gray-100" | "ny:border-gray-100" | "ny:text-gray-400" | "ny:bg-gray-100" | "ny:shadow-none" | "ny:cursor-not-allowed")[];
18
- };
19
- }, undefined, ("ny:text-sm" | "ny:border" | "ny:rounded-lg" | "ny:px-4" | "ny:border-gray-200" | "ny:text-gray-700" | "ny:hover:bg-gray-50" | "ny:transition-all" | "ny:duration-200" | "ny:transition-colors" | "ny:h-10" | "ny:flex" | "ny:items-center" | "ny:space-x-1" | "ny:hover:text-gray-900" | "ny:hover:bg-gray-100" | "ny:outline-none" | "ny:cursor-pointer")[], {
20
- size: {
21
- small: ("ny:text-sm" | "ny:h-8")[];
22
- };
23
- variant: {
24
- primary: ("ny:outline-none" | "ny:bg-primary-500" | "ny:text-white" | "ny:border-primary-500" | "ny:hover:bg-primary-600" | "ny:hover:text-white" | "ny:shadow-md" | "ny:shadow-primary-100")[];
25
- link: ("ny:cursor-pointer" | "ny:bg-transparent" | "ny:text-primary-500" | "ny:hover:text-primary-600" | "ny:border-none" | "ny:font-medium")[];
26
- };
27
- color: {
28
- danger: ("ny:text-red-500" | "ny:hover:text-red-600")[];
29
- };
30
- active: {
31
- true: ("ny:border-primary-500" | "ny:shadow-md" | "ny:shadow-primary-100" | "ny:text-primary-500" | "ny:bg-primary-50" | "ny:hover:bg-primary-100")[];
32
- };
33
- disabled: {
34
- true: ("ny:hover:bg-gray-100" | "ny:border-gray-100" | "ny:text-gray-400" | "ny:bg-gray-100" | "ny:shadow-none" | "ny:cursor-not-allowed")[];
35
- };
36
- }, undefined, import("tailwind-variants").TVReturnType<{
37
- size: {
38
- small: ("ny:text-sm" | "ny:h-8")[];
39
- };
40
- variant: {
41
- primary: ("ny:outline-none" | "ny:bg-primary-500" | "ny:text-white" | "ny:border-primary-500" | "ny:hover:bg-primary-600" | "ny:hover:text-white" | "ny:shadow-md" | "ny:shadow-primary-100")[];
42
- link: ("ny:cursor-pointer" | "ny:bg-transparent" | "ny:text-primary-500" | "ny:hover:text-primary-600" | "ny:border-none" | "ny:font-medium")[];
43
- };
44
- color: {
45
- danger: ("ny:text-red-500" | "ny:hover:text-red-600")[];
46
- };
47
- active: {
48
- true: ("ny:border-primary-500" | "ny:shadow-md" | "ny:shadow-primary-100" | "ny:text-primary-500" | "ny:bg-primary-50" | "ny:hover:bg-primary-100")[];
49
- };
50
- disabled: {
51
- true: ("ny:hover:bg-gray-100" | "ny:border-gray-100" | "ny:text-gray-400" | "ny:bg-gray-100" | "ny:shadow-none" | "ny:cursor-not-allowed")[];
52
- };
53
- }, undefined, ("ny:text-sm" | "ny:border" | "ny:rounded-lg" | "ny:px-4" | "ny:border-gray-200" | "ny:text-gray-700" | "ny:hover:bg-gray-50" | "ny:transition-all" | "ny:duration-200" | "ny:transition-colors" | "ny:h-10" | "ny:flex" | "ny:items-center" | "ny:space-x-1" | "ny:hover:text-gray-900" | "ny:hover:bg-gray-100" | "ny:outline-none" | "ny:cursor-pointer")[], unknown, unknown, undefined>>;
54
- export declare const input: import("tailwind-variants").TVReturnType<{
55
- disabled: {
56
- true: ("ny:border-gray-200" | "ny:text-gray-400" | "ny:bg-gray-100" | "ny:cursor-not-allowed")[];
57
- };
58
- }, undefined, ("ny:text-sm" | "ny:block" | "ny:border" | "ny:rounded-lg" | "ny:px-4" | "ny:border-gray-200" | "ny:h-8" | "ny:focus:outline-primary-500" | "ny:w-full" | "ny:text-gray-900" | "ny:py-1")[], {
59
- disabled: {
60
- true: ("ny:border-gray-200" | "ny:text-gray-400" | "ny:bg-gray-100" | "ny:cursor-not-allowed")[];
61
- };
62
- }, undefined, import("tailwind-variants").TVReturnType<{
63
- disabled: {
64
- true: ("ny:border-gray-200" | "ny:text-gray-400" | "ny:bg-gray-100" | "ny:cursor-not-allowed")[];
65
- };
66
- }, undefined, ("ny:text-sm" | "ny:block" | "ny:border" | "ny:rounded-lg" | "ny:px-4" | "ny:border-gray-200" | "ny:h-8" | "ny:focus:outline-primary-500" | "ny:w-full" | "ny:text-gray-900" | "ny:py-1")[], unknown, unknown, undefined>>;
@@ -1,6 +0,0 @@
1
- export interface ProviderStore {
2
- apiUrl: string;
3
- setApiUrl: (url: string) => void;
4
- getAccessToken: () => string;
5
- }
6
- export declare const provider: import("zustand").UseBoundStore<import("zustand").StoreApi<ProviderStore>>;
@@ -1,42 +0,0 @@
1
- export declare enum RecordingType {
2
- Video = "video",
3
- Audio = "audio",
4
- Transcript = "transcript"
5
- }
6
- export declare enum MeetingFilter {
7
- All = "all",
8
- Internal = "internal",
9
- External = "external",
10
- MyMeetings = "own_events",
11
- Participant = "participant_only"
12
- }
13
- export interface Notetaker {
14
- id: string;
15
- name: string;
16
- meeting_link: string;
17
- join_time: number;
18
- meeting_settings: {
19
- video_recording: boolean;
20
- audio_recording: boolean;
21
- transcription: boolean;
22
- };
23
- }
24
- interface CalendarNotetaker extends Partial<Notetaker> {
25
- rules?: {
26
- event_selection?: MeetingFilter[];
27
- };
28
- }
29
- export interface Calendar {
30
- name: string;
31
- timezone: string;
32
- hex_color?: string;
33
- hex_foreground_color?: string;
34
- grant_id: string;
35
- id: string;
36
- object: "calendar";
37
- is_primary: boolean;
38
- read_only: boolean;
39
- is_owned_by_user: boolean;
40
- notetaker: CalendarNotetaker;
41
- }
42
- export {};
@@ -1 +0,0 @@
1
- export * from "./notetaker/index";
@@ -1,2 +0,0 @@
1
- export { NylasIdentityRequestWrapper } from "@nylas/web-elements/components";
2
- export type { LANGUAGE_CODE } from "@nylas/web-elements/components";
@@ -1 +0,0 @@
1
- export * from './lib/notetaker'
File without changes