@nylas/react 1.4.5 → 2.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.
- package/dist/abstract-provider-efe136bd-2041bdce.js +187 -0
- package/dist/abstract-provider-efe136bd-b4663c02.cjs +1 -0
- package/dist/add-circle-icon_2.entry-5204c48a.cjs +1 -0
- package/dist/add-circle-icon_2.entry-ea1692a4.js +26 -0
- package/dist/archive-icon.entry-0b585dff.js +16 -0
- package/dist/archive-icon.entry-c2c66bca.cjs +1 -0
- package/dist/{arrow-icon.entry-5bb183c1.js → arrow-icon.entry-2e61394e.js} +5 -5
- package/dist/arrow-icon.entry-9d471162.cjs +1 -0
- package/dist/{bold-icon.entry-c919c71d.cjs → bold-icon.entry-5c37622f.cjs} +1 -1
- package/dist/{bold-icon.entry-e0010c60.js → bold-icon.entry-8ef1b653.js} +2 -2
- package/dist/{button-component_2.entry-078ee06a.cjs → button-component_2.entry-8335ee1e.cjs} +1 -1
- package/dist/{button-component_2.entry-1dd1b8d6.js → button-component_2.entry-c906230f.js} +9 -9
- package/dist/calendar-agenda-fill-icon_36.entry-59c0a997.cjs +6 -0
- package/dist/{calendar-agenda-fill-icon_36.entry-772a70d7.js → calendar-agenda-fill-icon_36.entry-5f184433.js} +900 -881
- package/dist/{calendar-cancel-icon.entry-b791b6b1.cjs → calendar-cancel-icon.entry-65a4a34e.cjs} +1 -1
- package/dist/{calendar-cancel-icon.entry-7d1a7cea.js → calendar-cancel-icon.entry-dd6ac4db.js} +5 -5
- package/dist/{calendar-check-icon_2.entry-2380a4e6.cjs → calendar-check-icon_2.entry-ded15038.cjs} +1 -1
- package/dist/{calendar-check-icon_2.entry-2b5711fd.js → calendar-check-icon_2.entry-f9b50bb8.js} +3 -3
- package/dist/{calendar-icon.entry-9b23c994.js → calendar-icon.entry-a2a1ddbc.js} +2 -2
- package/dist/{calendar-icon.entry-f88c8b09.cjs → calendar-icon.entry-ca512dd6.cjs} +1 -1
- package/dist/checkbox-component_2.entry-d6128246.js +115 -0
- package/dist/checkbox-component_2.entry-d79b5d1d.cjs +1 -0
- package/dist/checkbox-group_4.entry-2946c7ef.cjs +28 -0
- package/dist/{nylas-event-calendar_3.entry-cc428f95.js → checkbox-group_4.entry-e5145451.js} +1038 -923
- package/dist/{checkmark-icon_15.entry-3ddf90df.js → checkmark-icon_15.entry-6e92e93e.js} +21 -21
- package/dist/checkmark-icon_15.entry-a75a1825.cjs +5 -0
- package/dist/{chevron-icon_3.entry-af195326.js → chevron-icon_3.entry-6eaa3513.js} +16 -16
- package/dist/{chevron-icon_3.entry-a492d340.cjs → chevron-icon_3.entry-9193a885.cjs} +1 -1
- package/dist/{clock-icon_4.entry-7dc4324b.js → clock-icon_4.entry-2c93270e.js} +8 -8
- package/dist/{clock-icon_4.entry-530cd13b.cjs → clock-icon_4.entry-ae2272f4.cjs} +1 -1
- package/dist/constants-f51538ef-cd2a67c4.cjs +1 -0
- package/dist/{constants-3d8016e3-3c080f00.js → constants-f51538ef-e0a5f026.js} +27 -32
- package/dist/{customParseFormat-129be926-36eabae2.js → customParseFormat-edc38d83-b3722499.js} +1 -1
- package/dist/{customParseFormat-129be926-30b2af24.cjs → customParseFormat-edc38d83-fa9c77d9.cjs} +1 -1
- package/dist/{delete-icon.entry-3328484a.js → delete-icon.entry-6684eba6.js} +2 -2
- package/dist/{delete-icon.entry-9369bf78.cjs → delete-icon.entry-b9e4f2c7.cjs} +1 -1
- package/dist/{document-refresh-icon.entry-f45be1c4.cjs → document-refresh-icon.entry-7afe6163.cjs} +1 -1
- package/dist/document-refresh-icon.entry-fba9f60b.js +16 -0
- package/dist/{feedbackSync-d943ffc7-d1e98ba0.js → feedbackSync-e4378c0b-23289195.js} +811 -798
- package/dist/{feedbackSync-d943ffc7-13f01c1f.cjs → feedbackSync-e4378c0b-7876d067.cjs} +26 -26
- package/dist/{folder-icon.entry-c4ffba45.js → folder-icon.entry-430c6b47.js} +4 -4
- package/dist/{folder-icon.entry-48cfa8d0.cjs → folder-icon.entry-b1632bf3.cjs} +1 -1
- package/dist/{forward-icon.entry-dd036273.js → forward-icon.entry-5e53da76.js} +2 -2
- package/dist/{forward-icon.entry-146f3318.cjs → forward-icon.entry-7626dcca.cjs} +1 -1
- package/dist/{globe-icon_2.entry-d6a95f6e.js → globe-icon_2.entry-646eae41.js} +21 -21
- package/dist/{globe-icon_2.entry-049fbca2.cjs → globe-icon_2.entry-bbb0a6ce.cjs} +1 -1
- package/dist/{google-logo-icon_6.entry-e26385cc.js → google-logo-icon_6.entry-5951a546.js} +665 -455
- package/dist/google-logo-icon_6.entry-e39dd9cb.cjs +2 -0
- package/dist/{google-meet-icon_5.entry-c0129f58.js → google-meet-icon_5.entry-a54c83da.js} +14 -14
- package/dist/{google-meet-icon_5.entry-94112d7e.cjs → google-meet-icon_5.entry-c13e0738.cjs} +1 -1
- package/dist/inbox-icon.entry-7bee82b3.js +16 -0
- package/dist/inbox-icon.entry-911b047a.cjs +1 -0
- package/dist/index-71f61ea9.js +24544 -0
- package/dist/index-f769bc2a.cjs +118 -0
- package/dist/index.d.ts +1 -4
- package/dist/index.es-6a9d55cf-122c27e0.js +2724 -0
- package/dist/index.es-6a9d55cf-458ba0e0.cjs +7 -0
- package/dist/{info-icon_2.entry-8bcd39dc.cjs → info-icon_2.entry-471b836b.cjs} +1 -1
- package/dist/{info-icon_2.entry-ef5dbccc.js → info-icon_2.entry-6ff2f004.js} +3 -3
- package/dist/{input-component.entry-922063d5.js → input-component.entry-781b584c.js} +12 -12
- package/dist/{input-component.entry-cc1fb2fa.cjs → input-component.entry-b6a9b4cb.cjs} +1 -1
- package/dist/{input-dropdown_2.entry-4041c294.js → input-dropdown_2.entry-1feebcba.js} +4 -4
- package/dist/{input-dropdown_2.entry-f3750e99.cjs → input-dropdown_2.entry-c71d14ff.cjs} +1 -1
- package/dist/{italic-icon.entry-63b6943f.cjs → italic-icon.entry-16debde5.cjs} +1 -1
- package/dist/italic-icon.entry-9ef7f4a2.js +16 -0
- package/dist/{elements → lib/elements}/index.d.ts +1 -1
- package/dist/lib/index.d.ts +5 -0
- package/dist/lib/main.d.ts +0 -0
- package/dist/lib/notetaker/CalendarSync/CalendarSync.d.ts +37 -0
- package/dist/lib/notetaker/CalendarSync/CalendarSync.spec.d.ts +0 -0
- package/dist/lib/notetaker/SendNotetaker/SendNotetaker.d.ts +31 -0
- package/dist/lib/notetaker/SendNotetaker/SendNotetaker.spec.d.ts +1 -0
- package/dist/lib/notetaker/Transcript/Transcript.d.ts +23 -0
- package/dist/lib/notetaker/Transcript/Transcript.spec.d.ts +0 -0
- package/dist/lib/notetaker/VideoPlayer/VideoPlayer.d.ts +22 -0
- package/dist/lib/notetaker/VideoPlayer/VideoPlayer.spec.d.ts +1 -0
- package/dist/lib/notetaker/index.d.ts +9 -0
- package/dist/lib/notetaker/lib/constants.d.ts +12 -0
- package/dist/lib/notetaker/lib/http-client.d.ts +2 -0
- package/dist/lib/notetaker/lib/primitives.d.ts +66 -0
- package/dist/lib/notetaker/lib/store.d.ts +7 -0
- package/dist/lib/notetaker/types.d.ts +42 -0
- package/dist/multi-select-dropdown.entry-0a6f9417.cjs +1 -0
- package/dist/multi-select-dropdown.entry-1b27c746.js +121 -0
- package/dist/nylas-booked-event-card_11.entry-74fba802.cjs +1 -0
- package/dist/{nylas-booked-event-card_12.entry-7eceb6b6.js → nylas-booked-event-card_11.entry-802671ee.js} +469 -534
- package/dist/{nylas-form-card.entry-984be5f9.cjs → nylas-form-card.entry-59a837c9.cjs} +1 -1
- package/dist/{nylas-form-card.entry-dd3f240a.js → nylas-form-card.entry-7da9a312.js} +3 -3
- package/dist/nylas-notification_2.entry-8f8bad34.cjs +1 -0
- package/dist/nylas-notification_2.entry-b16bb805.js +85 -0
- package/dist/{nylas-scheduler-editor.entry-623da747.js → nylas-scheduler-editor.entry-cbe3e1e3.js} +201 -168
- package/dist/nylas-scheduler-editor.entry-e33e11fb.cjs +2 -0
- package/dist/nylas-scheduling.entry-4223e50b.cjs +1 -0
- package/dist/{nylas-scheduling.entry-6608aa36.js → nylas-scheduling.entry-6fb094a8.js} +295 -295
- package/dist/{person-icon.entry-9f0233cd.js → person-icon.entry-6232e6fd.js} +7 -7
- package/dist/{person-icon.entry-168ba481.cjs → person-icon.entry-beb26b48.cjs} +1 -1
- package/dist/play-icon.entry-16a1c1ac.js +16 -0
- package/dist/{play-icon.entry-4115845d.cjs → play-icon.entry-9060d0d8.cjs} +1 -1
- package/dist/{radio-button-group.entry-da3f23ac.js → radio-button-group.entry-5a3728cd.js} +2 -2
- package/dist/{radio-button-group.entry-3ae5f246.cjs → radio-button-group.entry-6935c39d.cjs} +1 -1
- package/dist/react.cjs +1 -1
- package/dist/react.js +135 -126
- package/dist/{refresh-icon.entry-13742bb5.cjs → refresh-icon.entry-2411b2e1.cjs} +1 -1
- package/dist/{refresh-icon.entry-e1db3ca5.js → refresh-icon.entry-4f56e72b.js} +2 -2
- package/dist/{register-component-083eb961-763c87e9.js → register-component-a1c3d7b4-774feacc.js} +1 -1
- package/dist/{register-component-083eb961-c5c48a1b.cjs → register-component-a1c3d7b4-97d7a6f5.cjs} +1 -1
- package/dist/{reply-all-icon.entry-9446c2d0.cjs → reply-all-icon.entry-b4b6926b.cjs} +1 -1
- package/dist/{reply-all-icon.entry-ded706c7.js → reply-all-icon.entry-b4b917ec.js} +2 -2
- package/dist/{reply-icon.entry-7c5c0fd9.js → reply-icon.entry-24f6f4c6.js} +5 -5
- package/dist/{reply-icon.entry-0d362c63.cjs → reply-icon.entry-454545ed.cjs} +1 -1
- package/dist/sent-icon.entry-d9a79336.cjs +1 -0
- package/dist/sent-icon.entry-fa59ce85.js +16 -0
- package/dist/spam-icon.entry-da39987e.cjs +1 -0
- package/dist/spam-icon.entry-fb18a08b.js +16 -0
- package/dist/{star-icon.entry-3a81207c.js → star-icon.entry-406472c1.js} +4 -4
- package/dist/{star-icon.entry-87823b56.cjs → star-icon.entry-833f35a7.cjs} +1 -1
- package/dist/{stop-icon.entry-472a11dc.js → stop-icon.entry-1b6ae838.js} +2 -2
- package/dist/{stop-icon.entry-ddf9242a.cjs → stop-icon.entry-3258db59.cjs} +1 -1
- package/dist/style.css +1 -0
- package/dist/test/vitest.setup.d.ts +0 -0
- package/dist/{textarea-component.entry-2c6c0c7e.cjs → textarea-component.entry-0ae18897.cjs} +1 -1
- package/dist/{textarea-component.entry-f9797150.js → textarea-component.entry-569a281e.js} +2 -2
- package/dist/{toggle-switch.entry-fbef6918.cjs → toggle-switch.entry-60d75f16.cjs} +1 -1
- package/dist/{toggle-switch.entry-a7cbc256.js → toggle-switch.entry-dc3f796b.js} +4 -4
- package/dist/{translate-icon.entry-0ab604fe.js → translate-icon.entry-297cf20f.js} +4 -4
- package/dist/{translate-icon.entry-2fe4868f.cjs → translate-icon.entry-c183ecb5.cjs} +1 -1
- package/dist/trash-fill-icon.entry-3d8a2e5e.js +16 -0
- package/dist/trash-fill-icon.entry-94d4f66c.cjs +1 -0
- package/dist/{underline-icon.entry-29366789.js → underline-icon.entry-4a9105c7.js} +2 -2
- package/dist/{underline-icon.entry-6a2ca451.cjs → underline-icon.entry-50d1e766.cjs} +1 -1
- package/package.json +41 -17
- package/dist/add-circle-icon_2.entry-55361a03.js +0 -26
- package/dist/add-circle-icon_2.entry-75a3df95.cjs +0 -1
- package/dist/archive-icon.entry-3c4e4b28.js +0 -16
- package/dist/archive-icon.entry-8aa151fd.cjs +0 -1
- package/dist/arrow-icon.entry-2cef5ca1.cjs +0 -1
- package/dist/calendar-agenda-fill-icon_36.entry-9b694a33.cjs +0 -6
- package/dist/checkbox-component.entry-94fd68e7.js +0 -43
- package/dist/checkbox-component.entry-af77c4fa.cjs +0 -1
- package/dist/checkmark-icon_15.entry-de65b967.cjs +0 -5
- package/dist/constants-3d8016e3-fd6c3848.cjs +0 -1
- package/dist/document-refresh-icon.entry-902ead30.js +0 -16
- package/dist/google-logo-icon_6.entry-4d9e06be.cjs +0 -2
- package/dist/inbox-icon.entry-74d7a10d.js +0 -16
- package/dist/inbox-icon.entry-94683ba9.cjs +0 -1
- package/dist/index-3b0366ac.cjs +0 -57
- package/dist/index-6e735f92.js +0 -18483
- package/dist/index.es-4615d47c-9156501b.js +0 -2908
- package/dist/index.es-4615d47c-b7c254fe.cjs +0 -7
- package/dist/italic-icon.entry-6706da64.js +0 -16
- package/dist/multi-select-dropdown_2.entry-1096321d.cjs +0 -1
- package/dist/multi-select-dropdown_2.entry-e10a9439.js +0 -193
- package/dist/nylas-booked-event-card_12.entry-38f37135.cjs +0 -1
- package/dist/nylas-event-calendar_3.entry-7dad0f2f.cjs +0 -11
- package/dist/nylas-scheduler-editor.entry-8fb56081.cjs +0 -2
- package/dist/nylas-scheduling.entry-472ef577.cjs +0 -1
- package/dist/play-icon.entry-5fbfabb5.js +0 -16
- package/dist/sent-icon.entry-92434496.cjs +0 -1
- package/dist/sent-icon.entry-bc9d1b35.js +0 -16
- package/dist/spam-icon.entry-11370b68.js +0 -16
- package/dist/spam-icon.entry-e0313c63.cjs +0 -1
- package/dist/trash-fill-icon.entry-1904e8d6.cjs +0 -1
- package/dist/trash-fill-icon.entry-4bdfb061.js +0 -16
- package/dist/warning-icon.entry-1649ffe7.js +0 -16
- package/dist/warning-icon.entry-3f848ed6.cjs +0 -1
- /package/dist/{elements → lib/elements}/react-component-lib/createComponent.d.ts +0 -0
- /package/dist/{elements → lib/elements}/react-component-lib/createOverlayComponent.d.ts +0 -0
- /package/dist/{elements → lib/elements}/react-component-lib/index.d.ts +0 -0
- /package/dist/{elements → lib/elements}/react-component-lib/interfaces.d.ts +0 -0
- /package/dist/{elements → lib/elements}/react-component-lib/utils/attachProps.d.ts +0 -0
- /package/dist/{elements → lib/elements}/react-component-lib/utils/case.d.ts +0 -0
- /package/dist/{elements → lib/elements}/react-component-lib/utils/dev.d.ts +0 -0
- /package/dist/{elements → lib/elements}/react-component-lib/utils/index.d.ts +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
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: (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
|
+
onSend?: (data: Notetaker, resetForm: () => void) => void;
|
|
29
|
+
onError?: (error: any) => void;
|
|
30
|
+
}
|
|
31
|
+
export declare function SendNotetaker({ className, onSend, onError, notetakerName, }: SendNotetakerProps): React.JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
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 };
|
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface VideoStore {
|
|
3
|
+
currentTime: number;
|
|
4
|
+
setCurrentTime: (time: number) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const videoPlayerStore: import("zustand").UseBoundStore<import("zustand").StoreApi<VideoStore>>;
|
|
7
|
+
export interface VideoPlayerProps {
|
|
8
|
+
videoUrl: string;
|
|
9
|
+
className?: string;
|
|
10
|
+
poster?: string;
|
|
11
|
+
autoPlay?: boolean;
|
|
12
|
+
muted?: boolean;
|
|
13
|
+
loop?: boolean;
|
|
14
|
+
videoType?: string;
|
|
15
|
+
onTimeUpdate?: (currentTime: number) => void;
|
|
16
|
+
onSeek?: (newTime: number) => void;
|
|
17
|
+
onPlay?: () => void;
|
|
18
|
+
onPause?: () => void;
|
|
19
|
+
onEnded?: () => void;
|
|
20
|
+
}
|
|
21
|
+
export declare const VideoPlayer: React.FC<VideoPlayerProps>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
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";
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
}[];
|
|
@@ -0,0 +1,66 @@
|
|
|
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>>;
|
|
@@ -0,0 +1,42 @@
|
|
|
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 = "my_meetings",
|
|
11
|
+
Participant = "participant"
|
|
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 {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./index-f769bc2a.cjs");require("react");require("react/jsx-runtime");require("react-dom");const d=':host{display:block;width:inherit;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff}.dropdown{display:inline-block;width:100%;position:relative}.dropdown .dropdown-label{display:flex;align-items:center;gap:0.25rem;color:var(--nylas-base-800)}.dropdown .dropdown-label p{margin:0}.dropdown .dropdown-label span.required{color:var(--nylas-error);padding:0 0.25rem}.dropdown span.error{color:var(--nylas-error);font-size:14px}.dropbtn{width:inherit;height:48px;color:var(--nylas-base-900);padding:0.5rem;font-size:16px;cursor:pointer;display:flex;gap:0.5rem;justify-content:space-between;align-items:center;background:transparent;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.dropbtn.focus{background:transparent}.dropbtn.error{border:1px solid var(--nylas-error)}.dropbtn:hover,.dropbtn:active{border:1px solid var(--nylas-primary)}.dropbtn:active{outline:2px solid var(--nylas-primary)}.dropbtn:disabled{cursor:not-allowed;background:var(--nylas-base-100)}.dropbtn span.open{transform:rotate(90deg)}.dropbtn span.closed{transform:rotate(270deg)}.dropdown-content{display:block;margin-top:0.5rem;background-color:var(--nylas-base-0);width:100%;max-height:336px;overflow:auto;z-index:1;border-radius:4px;position:absolute;top:72px;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.0509803922);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1019607843)}.dropdown-content ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px}.dropdown-content ul li{padding:16px, 12px, 16px, 12px;color:var(--nylas-base-900);padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.dropdown-content ul li:hover,.dropdown-content ul li:focus{background-color:var(--nylas-base-100)}.dropdown-content ul li label{display:flex;align-items:center;gap:0.5rem}.dropdown-content ul li label input{margin:0}.dropdown-content ul li.disabled{cursor:not-allowed;opacity:0.5}.dropdown-content ul li.disabled label{cursor:not-allowed}.dropdown-content ul li.disabled label input{cursor:not-allowed}.selected-options{display:flex;flex-wrap:wrap;gap:0.5rem;padding:0.5rem 0;margin-top:0.25rem;background:var(--nylas-base-0)}.selected-options .selected-option{display:flex;align-items:center;gap:0.5rem;padding:4px 8px;border-radius:var(--nylas-border-radius-2x);background:var(--nylas-base-100);color:var(--nylas-base-800);font-size:16px;font-weight:500;line-height:1.5rem;letter-spacing:0.5px}.selected-options .selected-option button{background:transparent;border:none;cursor:pointer;padding:0}.selected-options .selected-option button:hover{color:var(--nylas-primary)}.selected-options .selected-option button:disabled{cursor:not-allowed;background:var(--nylas-base-100)}',c=d,i=class{constructor(e){l.registerInstance(this,e),this.selectedOptionsChanged=l.createEvent(this,"selectedOptionsChanged",7),this.name=void 0,this.label=void 0,this.options=[],this.error="",this.required=!1,this.readOnly=!1,this.multipleOptionsSelectedLabel="Multiple options selected",this.selectAtLeastOneOptionLabel="Please select at least one option",this.availableOptions=this.options,this.isOpen=!1,this.ariaActivedescendant="",this.shouldFocusFirstOption=!1}areOptionsEqual(e,s){if(e.length!==s.length)return!1;const a=[...e].sort((n,o)=>n.label.localeCompare(o.label)||n.value.localeCompare(o.value)),t=[...s].sort((n,o)=>n.label.localeCompare(o.label)||n.value.localeCompare(o.value));return a.every((n,o)=>{const r=t[o];return n.label===r.label&&n.value===r.value})}optionsChangedHandler(e){this.areOptionsEqual(e,this.availableOptions)||(this.availableOptions=e)}componentDidLoad(){l.debug("multi-select-dropdown","componentDidLoad"),this.options&&(this.availableOptions=this.options)}componentDidRender(){var e;l.debug("multi-select-dropdown","componentDidRender"),this.isOpen&&this.shouldFocusFirstOption&&(this.ariaActivedescendant=(e=this.availableOptions[0])==null?void 0:e.value,this.focusOption(0),this.shouldFocusFirstOption=!1)}handleOutsideClick(e){!e.composedPath().includes(this.el)&&this.isOpen&&(this.isOpen=!1)}handleBookingFormSubmitted(e){const s=this.availableOptions.filter(a=>a.selected).map(a=>a.value);this.required&&(!s||s.length<=0)&&(this.error="Please select at least one option"),this.error&&e.preventDefault()}selectOption(e){this.availableOptions=this.availableOptions.map(a=>(a.value===e.value&&(a.selected=!e.selected,a.selected&&(this.error="")),a));const s=this.availableOptions.filter(a=>a.selected).map(a=>a.value);this.selectedOptionsChanged.emit({value:s,name:this.name})}toggleDropdown(){this.isOpen=!this.isOpen,this.isOpen?this.shouldFocusFirstOption=!0:this.ariaActivedescendant=""}handleSelectButtonKeyDown(e){switch(e.key){case"ArrowDown":case"Enter":e.preventDefault(),this.isOpen||this.toggleDropdown();break;case"Escape":this.isOpen=!1;break}}handleListboxKeydown(e){const s=this.availableOptions,a=s.findIndex(t=>t.value===this.ariaActivedescendant);switch(e.key){case"ArrowDown":case"Tab":{if(e.shiftKey){e.preventDefault();const t=a-1>=0?a-1:s.length-1;this.ariaActivedescendant=s[t].value,this.focusOption(t)}else{e.preventDefault();const t=a+1<s.length?a+1:0;this.ariaActivedescendant=s[t].value,this.focusOption(t)}break}case"ArrowUp":{e.preventDefault();const t=a-1>=0?a-1:s.length-1;this.ariaActivedescendant=s[t].value,this.focusOption(t);break}case"Enter":{e.preventDefault(),this.ariaActivedescendant&&this.selectOption(s[a]);break}case"Escape":{this.isOpen=!1;break}}}focusOption(e){var n;const s=this.availableOptions[e];if(!s)return;const a=s.value,t=(n=this.el.shadowRoot)==null?void 0:n.getElementById(a);t&&(t.focus(),t.scrollIntoView({behavior:"smooth",block:"nearest"}))}getSelectedOptions(){return this.availableOptions.filter(e=>e.selected)}renderOption(e){return l.h("li",{key:e.value,id:e.value,role:"option",tabindex:"0","aria-selected":e.selected?"true":"false",onClick:s=>{s.stopImmediatePropagation(),e!=null&&e.disabled||this.selectOption(e)},class:{selected:!!e.selected,disabled:!!e.disabled}},l.h("label",{htmlFor:e.value},l.h("input",{"aria-hidden":"true",id:e.value,type:"checkbox",checked:e.selected,disabled:!!(e!=null&&e.disabled)}),l.h("span",null,e.label)))}render(){var e,s;return l.h(l.Host,{key:"d0b2dba51e53ebd85e26eb55798f868e78353c9b"},l.h("div",{key:"734ddac426729d6428ba7876b4fce2af038c8693",class:"dropdown",part:"msd_dropdown"},l.h("label",{key:"f59ac5c52d91b4f3c1250e2294517e543e04e2e3",class:"dropdown-label",part:"msd_dropdown-label"},l.h("p",{key:"35d11a9d8a07e6e6dc47a3be18687a2296ec3364"},l.h("span",{key:"6a5f3510cff852df33adea9dadf138f7bea6c5c8",class:"label"},this.label),this.required&&l.h("span",{class:"required"},"*")),l.h("slot",{key:"7e2547b4767fe67f752cae7ffd0ba5e776455c8c",name:"label-icon","aria-hidden":"true"})),l.h("button",{key:"24579f516264491ac90cf72d32f256107000c0b7",name:this.name,part:`msd_dropdown-button ${this.error?"msd_dropdown-button--error":""}`,class:{dropbtn:!0,open:this.isOpen,error:!!this.error},onClick:()=>this.toggleDropdown(),disabled:this.readOnly,title:this.readOnly?"read-only field":void 0,"aria-haspopup":"listbox","aria-expanded":this.isOpen?"true":"false","aria-label":this.name,onKeyDown:a=>this.handleSelectButtonKeyDown(a)},l.h("slot",{key:"e50db39a7e6d2e31605ce2377f99c36da5e847b5",name:"select-icon","aria-hidden":"true"}),l.h("span",{key:"a7f18b098f7bc573e91ef9e5b2348ff8de95c13a",class:"selected-option",part:"msd_dropdown-button-selected-label"},this.getSelectedOptions().length>1?this.multipleOptionsSelectedLabel:((e=this.availableOptions.filter(a=>a.selected)[0])==null?void 0:e.label)??this.selectAtLeastOneOptionLabel??((s=this.availableOptions[0])==null?void 0:s.label)),l.h("span",{key:"f2b00f9e55299d48161910627a7d6f5a646f5a44",class:this.isOpen?"open":"closed","aria-hidden":"true"},l.h("chevron-icon",{key:"6d1a184975ac00bbbe79632eda290590a2f2744d",width:"16",height:"16"}))),this.error?l.h("span",{class:"error",part:"msd_dropdown_error"},this.error):null,l.h("div",{key:"34cfb8ded6c549a7d8b0ce38c0093cc94a7aa2a3",class:"selected-options"},this.getSelectedOptions().map(a=>l.h("span",{class:"selected-option"},a.label,l.h("button",{disabled:this.readOnly||!!(a!=null&&a.disabled),key:a.label,onClick:()=>this.selectOption(a)},l.h("close-icon",null))))),this.isOpen?l.h("div",{class:"dropdown-content",part:"msd_dropdown-content"},l.h("ul",{tabindex:"-1",role:"listbox","aria-label":this.name,"aria-multiselectable":!0,"aria-activedescendant":this.ariaActivedescendant,onKeyDown:a=>this.handleListboxKeydown(a)},this.availableOptions.map(a=>this.renderOption(a)))):null))}get el(){return l.getElement(this)}static get watchers(){return{options:["optionsChangedHandler"]}}};i.style=c;exports.multi_select_dropdown=i;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { r as d, a as c, b as i, h as s, H as p, g as b } from "./index-71f61ea9.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import "react/jsx-runtime";
|
|
4
|
+
import "react-dom";
|
|
5
|
+
const f = ':host{display:block;width:inherit;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff}.dropdown{display:inline-block;width:100%;position:relative}.dropdown .dropdown-label{display:flex;align-items:center;gap:0.25rem;color:var(--nylas-base-800)}.dropdown .dropdown-label p{margin:0}.dropdown .dropdown-label span.required{color:var(--nylas-error);padding:0 0.25rem}.dropdown span.error{color:var(--nylas-error);font-size:14px}.dropbtn{width:inherit;height:48px;color:var(--nylas-base-900);padding:0.5rem;font-size:16px;cursor:pointer;display:flex;gap:0.5rem;justify-content:space-between;align-items:center;background:transparent;border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x)}.dropbtn.focus{background:transparent}.dropbtn.error{border:1px solid var(--nylas-error)}.dropbtn:hover,.dropbtn:active{border:1px solid var(--nylas-primary)}.dropbtn:active{outline:2px solid var(--nylas-primary)}.dropbtn:disabled{cursor:not-allowed;background:var(--nylas-base-100)}.dropbtn span.open{transform:rotate(90deg)}.dropbtn span.closed{transform:rotate(270deg)}.dropdown-content{display:block;margin-top:0.5rem;background-color:var(--nylas-base-0);width:100%;max-height:336px;overflow:auto;z-index:1;border-radius:4px;position:absolute;top:72px;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.0509803922);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1019607843)}.dropdown-content ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px}.dropdown-content ul li{padding:16px, 12px, 16px, 12px;color:var(--nylas-base-900);padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.dropdown-content ul li:hover,.dropdown-content ul li:focus{background-color:var(--nylas-base-100)}.dropdown-content ul li label{display:flex;align-items:center;gap:0.5rem}.dropdown-content ul li label input{margin:0}.dropdown-content ul li.disabled{cursor:not-allowed;opacity:0.5}.dropdown-content ul li.disabled label{cursor:not-allowed}.dropdown-content ul li.disabled label input{cursor:not-allowed}.selected-options{display:flex;flex-wrap:wrap;gap:0.5rem;padding:0.5rem 0;margin-top:0.25rem;background:var(--nylas-base-0)}.selected-options .selected-option{display:flex;align-items:center;gap:0.5rem;padding:4px 8px;border-radius:var(--nylas-border-radius-2x);background:var(--nylas-base-100);color:var(--nylas-base-800);font-size:16px;font-weight:500;line-height:1.5rem;letter-spacing:0.5px}.selected-options .selected-option button{background:transparent;border:none;cursor:pointer;padding:0}.selected-options .selected-option button:hover{color:var(--nylas-primary)}.selected-options .selected-option button:disabled{cursor:not-allowed;background:var(--nylas-base-100)}', y = f, h = class {
|
|
6
|
+
constructor(e) {
|
|
7
|
+
d(this, e), this.selectedOptionsChanged = c(this, "selectedOptionsChanged", 7), this.name = void 0, this.label = void 0, this.options = [], this.error = "", this.required = !1, this.readOnly = !1, this.multipleOptionsSelectedLabel = "Multiple options selected", this.selectAtLeastOneOptionLabel = "Please select at least one option", this.availableOptions = this.options, this.isOpen = !1, this.ariaActivedescendant = "", this.shouldFocusFirstOption = !1;
|
|
8
|
+
}
|
|
9
|
+
areOptionsEqual(e, l) {
|
|
10
|
+
if (e.length !== l.length)
|
|
11
|
+
return !1;
|
|
12
|
+
const a = [...e].sort((o, n) => o.label.localeCompare(n.label) || o.value.localeCompare(n.value)), t = [...l].sort((o, n) => o.label.localeCompare(n.label) || o.value.localeCompare(n.value));
|
|
13
|
+
return a.every((o, n) => {
|
|
14
|
+
const r = t[n];
|
|
15
|
+
return o.label === r.label && o.value === r.value;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
optionsChangedHandler(e) {
|
|
19
|
+
this.areOptionsEqual(e, this.availableOptions) || (this.availableOptions = e);
|
|
20
|
+
}
|
|
21
|
+
componentDidLoad() {
|
|
22
|
+
i("multi-select-dropdown", "componentDidLoad"), this.options && (this.availableOptions = this.options);
|
|
23
|
+
}
|
|
24
|
+
componentDidRender() {
|
|
25
|
+
var e;
|
|
26
|
+
i("multi-select-dropdown", "componentDidRender"), this.isOpen && this.shouldFocusFirstOption && (this.ariaActivedescendant = (e = this.availableOptions[0]) == null ? void 0 : e.value, this.focusOption(0), this.shouldFocusFirstOption = !1);
|
|
27
|
+
}
|
|
28
|
+
handleOutsideClick(e) {
|
|
29
|
+
!e.composedPath().includes(this.el) && this.isOpen && (this.isOpen = !1);
|
|
30
|
+
}
|
|
31
|
+
handleBookingFormSubmitted(e) {
|
|
32
|
+
const l = this.availableOptions.filter((a) => a.selected).map((a) => a.value);
|
|
33
|
+
this.required && (!l || l.length <= 0) && (this.error = "Please select at least one option"), this.error && e.preventDefault();
|
|
34
|
+
}
|
|
35
|
+
selectOption(e) {
|
|
36
|
+
this.availableOptions = this.availableOptions.map((a) => (a.value === e.value && (a.selected = !e.selected, a.selected && (this.error = "")), a));
|
|
37
|
+
const l = this.availableOptions.filter((a) => a.selected).map((a) => a.value);
|
|
38
|
+
this.selectedOptionsChanged.emit({
|
|
39
|
+
value: l,
|
|
40
|
+
name: this.name
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
toggleDropdown() {
|
|
44
|
+
this.isOpen = !this.isOpen, this.isOpen ? this.shouldFocusFirstOption = !0 : this.ariaActivedescendant = "";
|
|
45
|
+
}
|
|
46
|
+
handleSelectButtonKeyDown(e) {
|
|
47
|
+
switch (e.key) {
|
|
48
|
+
case "ArrowDown":
|
|
49
|
+
case "Enter":
|
|
50
|
+
e.preventDefault(), this.isOpen || this.toggleDropdown();
|
|
51
|
+
break;
|
|
52
|
+
case "Escape":
|
|
53
|
+
this.isOpen = !1;
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
handleListboxKeydown(e) {
|
|
58
|
+
const l = this.availableOptions, a = l.findIndex((t) => t.value === this.ariaActivedescendant);
|
|
59
|
+
switch (e.key) {
|
|
60
|
+
case "ArrowDown":
|
|
61
|
+
case "Tab": {
|
|
62
|
+
if (e.shiftKey) {
|
|
63
|
+
e.preventDefault();
|
|
64
|
+
const t = a - 1 >= 0 ? a - 1 : l.length - 1;
|
|
65
|
+
this.ariaActivedescendant = l[t].value, this.focusOption(t);
|
|
66
|
+
} else {
|
|
67
|
+
e.preventDefault();
|
|
68
|
+
const t = a + 1 < l.length ? a + 1 : 0;
|
|
69
|
+
this.ariaActivedescendant = l[t].value, this.focusOption(t);
|
|
70
|
+
}
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
case "ArrowUp": {
|
|
74
|
+
e.preventDefault();
|
|
75
|
+
const t = a - 1 >= 0 ? a - 1 : l.length - 1;
|
|
76
|
+
this.ariaActivedescendant = l[t].value, this.focusOption(t);
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
case "Enter": {
|
|
80
|
+
e.preventDefault(), this.ariaActivedescendant && this.selectOption(l[a]);
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
case "Escape": {
|
|
84
|
+
this.isOpen = !1;
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
focusOption(e) {
|
|
90
|
+
var o;
|
|
91
|
+
const l = this.availableOptions[e];
|
|
92
|
+
if (!l)
|
|
93
|
+
return;
|
|
94
|
+
const a = l.value, t = (o = this.el.shadowRoot) == null ? void 0 : o.getElementById(a);
|
|
95
|
+
t && (t.focus(), t.scrollIntoView({ behavior: "smooth", block: "nearest" }));
|
|
96
|
+
}
|
|
97
|
+
getSelectedOptions() {
|
|
98
|
+
return this.availableOptions.filter((e) => e.selected);
|
|
99
|
+
}
|
|
100
|
+
renderOption(e) {
|
|
101
|
+
return s("li", { key: e.value, id: e.value, role: "option", tabindex: "0", "aria-selected": e.selected ? "true" : "false", onClick: (l) => {
|
|
102
|
+
l.stopImmediatePropagation(), e != null && e.disabled || this.selectOption(e);
|
|
103
|
+
}, class: { selected: !!e.selected, disabled: !!e.disabled } }, s("label", { htmlFor: e.value }, s("input", { "aria-hidden": "true", id: e.value, type: "checkbox", checked: e.selected, disabled: !!(e != null && e.disabled) }), s("span", null, e.label)));
|
|
104
|
+
}
|
|
105
|
+
render() {
|
|
106
|
+
var e, l;
|
|
107
|
+
return s(p, { key: "d0b2dba51e53ebd85e26eb55798f868e78353c9b" }, s("div", { key: "734ddac426729d6428ba7876b4fce2af038c8693", class: "dropdown", part: "msd_dropdown" }, s("label", { key: "f59ac5c52d91b4f3c1250e2294517e543e04e2e3", class: "dropdown-label", part: "msd_dropdown-label" }, s("p", { key: "35d11a9d8a07e6e6dc47a3be18687a2296ec3364" }, s("span", { key: "6a5f3510cff852df33adea9dadf138f7bea6c5c8", class: "label" }, this.label), this.required && s("span", { class: "required" }, "*")), s("slot", { key: "7e2547b4767fe67f752cae7ffd0ba5e776455c8c", name: "label-icon", "aria-hidden": "true" })), s("button", { key: "24579f516264491ac90cf72d32f256107000c0b7", name: this.name, part: `msd_dropdown-button ${this.error ? "msd_dropdown-button--error" : ""}`, class: { dropbtn: !0, open: this.isOpen, error: !!this.error }, onClick: () => this.toggleDropdown(), disabled: this.readOnly, title: this.readOnly ? "read-only field" : void 0, "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? "true" : "false", "aria-label": this.name, onKeyDown: (a) => this.handleSelectButtonKeyDown(a) }, s("slot", { key: "e50db39a7e6d2e31605ce2377f99c36da5e847b5", name: "select-icon", "aria-hidden": "true" }), s("span", { key: "a7f18b098f7bc573e91ef9e5b2348ff8de95c13a", class: "selected-option", part: "msd_dropdown-button-selected-label" }, this.getSelectedOptions().length > 1 ? this.multipleOptionsSelectedLabel : ((e = this.availableOptions.filter((a) => a.selected)[0]) == null ? void 0 : e.label) ?? this.selectAtLeastOneOptionLabel ?? ((l = this.availableOptions[0]) == null ? void 0 : l.label)), s("span", { key: "f2b00f9e55299d48161910627a7d6f5a646f5a44", class: this.isOpen ? "open" : "closed", "aria-hidden": "true" }, s("chevron-icon", { key: "6d1a184975ac00bbbe79632eda290590a2f2744d", width: "16", height: "16" }))), this.error ? s("span", { class: "error", part: "msd_dropdown_error" }, this.error) : null, s("div", { key: "34cfb8ded6c549a7d8b0ce38c0093cc94a7aa2a3", class: "selected-options" }, this.getSelectedOptions().map((a) => s("span", { class: "selected-option" }, a.label, s("button", { disabled: this.readOnly || !!(a != null && a.disabled), key: a.label, onClick: () => this.selectOption(a) }, s("close-icon", null))))), this.isOpen ? s("div", { class: "dropdown-content", part: "msd_dropdown-content" }, s("ul", { tabindex: "-1", role: "listbox", "aria-label": this.name, "aria-multiselectable": !0, "aria-activedescendant": this.ariaActivedescendant, onKeyDown: (a) => this.handleListboxKeydown(a) }, this.availableOptions.map((a) => this.renderOption(a)))) : null));
|
|
108
|
+
}
|
|
109
|
+
get el() {
|
|
110
|
+
return b(this);
|
|
111
|
+
}
|
|
112
|
+
static get watchers() {
|
|
113
|
+
return {
|
|
114
|
+
options: ["optionsChangedHandler"]
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
h.style = y;
|
|
119
|
+
export {
|
|
120
|
+
h as multi_select_dropdown
|
|
121
|
+
};
|