@liveblocks/react-ui 2.15.2 → 2.16.0-rc1

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.
@@ -9,13 +9,13 @@ interface ButtonProps extends ComponentProps<"button"> {
9
9
  }
10
10
  declare const Button: react.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
11
11
 
12
- declare type SlotProp = {
12
+ type SlotProp = {
13
13
  /**
14
14
  * Replace the rendered element by the one passed as a child.
15
15
  */
16
16
  asChild?: boolean;
17
17
  };
18
- declare type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
18
+ type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
19
19
 
20
20
  interface ListProps extends ComponentPropsWithSlot<"span"> {
21
21
  values: ReactNode[];
@@ -9,13 +9,13 @@ interface ButtonProps extends ComponentProps<"button"> {
9
9
  }
10
10
  declare const Button: react.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
11
11
 
12
- declare type SlotProp = {
12
+ type SlotProp = {
13
13
  /**
14
14
  * Replace the rendered element by the one passed as a child.
15
15
  */
16
16
  asChild?: boolean;
17
17
  };
18
- declare type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
18
+ type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
19
19
 
20
20
  interface ListProps extends ComponentPropsWithSlot<"span"> {
21
21
  values: ReactNode[];
package/dist/index.d.mts CHANGED
@@ -3,23 +3,23 @@ import { ElementType, ComponentPropsWithoutRef, ReactNode, FormEvent, ComponentT
3
3
  import { CommentAttachment, CommentBody, BaseMetadata, DM, CommentData, HistoryVersion, InboxNotificationData, InboxNotificationThreadData, InboxNotificationTextMentionData, InboxNotificationCustomData, KDAD, ThreadData } from '@liveblocks/core';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
 
6
- declare type Direction = "ltr" | "rtl";
7
- declare type SlotProp = {
6
+ type Direction = "ltr" | "rtl";
7
+ type SlotProp = {
8
8
  /**
9
9
  * Replace the rendered element by the one passed as a child.
10
10
  */
11
11
  asChild?: boolean;
12
12
  };
13
- declare type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
14
- declare type ComposerBodyText = {
13
+ type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
14
+ type ComposerBodyText = {
15
15
  bold?: boolean;
16
16
  italic?: boolean;
17
17
  strikethrough?: boolean;
18
18
  code?: boolean;
19
19
  text: string;
20
20
  };
21
- declare type ComposerBodyMark = keyof Omit<ComposerBodyText, "text">;
22
- declare type ComposerBodyMarks = {
21
+ type ComposerBodyMark = keyof Omit<ComposerBodyText, "text">;
22
+ type ComposerBodyMarks = {
23
23
  [K in ComposerBodyMark]: boolean;
24
24
  };
25
25
  interface CommentAttachmentArgs {
@@ -94,7 +94,7 @@ interface HistoryVersionPreviewOverrides {
94
94
  HISTORY_VERSION_PREVIEW_EMPTY: ReactNode;
95
95
  HISTORY_VERSION_PREVIEW_ERROR: (error: Error) => ReactNode;
96
96
  }
97
- declare type Overrides = LocalizationOverrides & GlobalOverrides & ComposerOverrides & CommentOverrides & ThreadOverrides & InboxNotificationOverrides & HistoryVersionPreviewOverrides;
97
+ type Overrides = LocalizationOverrides & GlobalOverrides & ComposerOverrides & CommentOverrides & ThreadOverrides & InboxNotificationOverrides & HistoryVersionPreviewOverrides;
98
98
  declare function useOverrides(overrides?: Partial<Overrides>): Overrides;
99
99
 
100
100
  interface ComposerEditorMentionProps {
@@ -121,7 +121,7 @@ interface ComposerEditorLinkProps {
121
121
  */
122
122
  children: ReactNode;
123
123
  }
124
- declare type ComposerEditorMentionSuggestionsProps = {
124
+ type ComposerEditorMentionSuggestionsProps = {
125
125
  /**
126
126
  * The list of suggested user IDs.
127
127
  */
@@ -131,7 +131,7 @@ declare type ComposerEditorMentionSuggestionsProps = {
131
131
  */
132
132
  selectedUserId?: string;
133
133
  };
134
- declare type ComposerEditorFloatingToolbarProps = Record<string, never>;
134
+ type ComposerEditorFloatingToolbarProps = Record<string, never>;
135
135
  interface ComposerEditorComponents {
136
136
  /**
137
137
  * The component used to display mentions.
@@ -218,7 +218,7 @@ interface ComposerSubmitComment {
218
218
  attachments: CommentAttachment[];
219
219
  }
220
220
 
221
- declare type ComposerCreateThreadProps<M extends BaseMetadata> = {
221
+ type ComposerCreateThreadProps<M extends BaseMetadata> = {
222
222
  threadId?: never;
223
223
  commentId?: never;
224
224
  /**
@@ -226,7 +226,7 @@ declare type ComposerCreateThreadProps<M extends BaseMetadata> = {
226
226
  */
227
227
  metadata?: M;
228
228
  };
229
- declare type ComposerCreateCommentProps = {
229
+ type ComposerCreateCommentProps = {
230
230
  /**
231
231
  * The ID of the thread to reply to.
232
232
  */
@@ -234,7 +234,7 @@ declare type ComposerCreateCommentProps = {
234
234
  commentId?: never;
235
235
  metadata?: never;
236
236
  };
237
- declare type ComposerEditCommentProps = {
237
+ type ComposerEditCommentProps = {
238
238
  /**
239
239
  * The ID of the thread to edit a comment in.
240
240
  */
@@ -245,7 +245,7 @@ declare type ComposerEditCommentProps = {
245
245
  commentId: string;
246
246
  metadata?: never;
247
247
  };
248
- declare type ComposerProps<M extends BaseMetadata = DM> = Omit<ComponentPropsWithoutRef<"form">, "defaultValue"> & (ComposerCreateThreadProps<M> | ComposerCreateCommentProps | ComposerEditCommentProps) & {
248
+ type ComposerProps<M extends BaseMetadata = DM> = Omit<ComponentPropsWithoutRef<"form">, "defaultValue"> & (ComposerCreateThreadProps<M> | ComposerCreateCommentProps | ComposerEditCommentProps) & {
249
249
  /**
250
250
  * The event handler called when the composer is submitted.
251
251
  */
@@ -297,7 +297,7 @@ declare type ComposerProps<M extends BaseMetadata = DM> = Omit<ComponentPropsWit
297
297
  * @example
298
298
  * <Composer />
299
299
  */
300
- declare const Composer: <M extends BaseMetadata = BaseMetadata>(props: ComposerProps<M> & RefAttributes<HTMLFormElement>) => JSX.Element;
300
+ declare const Composer: <M extends BaseMetadata = DM>(props: ComposerProps<M> & RefAttributes<HTMLFormElement>) => JSX.Element;
301
301
 
302
302
  interface CommentProps extends ComponentPropsWithoutRef<"div"> {
303
303
  /**
@@ -377,7 +377,7 @@ interface HistoryVersionSummaryProps extends ComponentPropsWithoutRef<"button">
377
377
  */
378
378
  declare const HistoryVersionSummary: react.ForwardRefExoticComponent<HistoryVersionSummaryProps & react.RefAttributes<HTMLButtonElement>>;
379
379
 
380
- declare type HistoryVersionSummaryListProps = ComponentPropsWithoutRef<"ol">;
380
+ type HistoryVersionSummaryListProps = ComponentPropsWithoutRef<"ol">;
381
381
  /**
382
382
  * Displays versions summaries as a list.
383
383
  *
@@ -393,7 +393,7 @@ declare const HistoryVersionSummaryList: react.ForwardRefExoticComponent<Omit<re
393
393
  interface GlobalComponents {
394
394
  Anchor: ComponentType<ComponentPropsWithoutRef<"a">> | "a";
395
395
  }
396
- declare type Components = GlobalComponents;
396
+ type Components = GlobalComponents;
397
397
 
398
398
  interface AvatarProps extends ComponentProps<"div"> {
399
399
  /**
@@ -402,8 +402,8 @@ interface AvatarProps extends ComponentProps<"div"> {
402
402
  userId: string;
403
403
  }
404
404
 
405
- declare type ComponentTypeWithRef<T extends keyof JSX.IntrinsicElements, P> = ComponentType<P & Pick<ComponentProps<T>, "ref">>;
406
- declare type InboxNotificationKinds<KS extends KDAD = KDAD> = {
405
+ type ComponentTypeWithRef<T extends keyof JSX.IntrinsicElements, P> = ComponentType<P & Pick<ComponentProps<T>, "ref">>;
406
+ type InboxNotificationKinds<KS extends KDAD = KDAD> = {
407
407
  [K in KS]: ComponentTypeWithRef<"a", InboxNotificationCustomKindProps<K>>;
408
408
  } & {
409
409
  thread: ComponentTypeWithRef<"a", InboxNotificationThreadKindProps>;
@@ -484,17 +484,17 @@ interface InboxNotificationCustomProps extends Omit<InboxNotificationProps, "kin
484
484
  */
485
485
  markAsReadOnClick?: boolean;
486
486
  }
487
- declare type InboxNotificationThreadKindProps = Omit<InboxNotificationProps, "kinds"> & {
487
+ type InboxNotificationThreadKindProps = Omit<InboxNotificationProps, "kinds"> & {
488
488
  inboxNotification: InboxNotificationThreadData;
489
489
  };
490
- declare type InboxNotificationTextMentionKindProps = Omit<InboxNotificationProps, "kinds"> & {
490
+ type InboxNotificationTextMentionKindProps = Omit<InboxNotificationProps, "kinds"> & {
491
491
  inboxNotification: InboxNotificationTextMentionData;
492
492
  };
493
- declare type InboxNotificationCustomKindProps<K extends KDAD = KDAD> = Omit<InboxNotificationProps, "kinds"> & {
493
+ type InboxNotificationCustomKindProps<K extends KDAD = KDAD> = Omit<InboxNotificationProps, "kinds"> & {
494
494
  inboxNotification: InboxNotificationCustomData<K>;
495
495
  };
496
- declare type InboxNotificationIconProps = ComponentProps<"div">;
497
- declare type InboxNotificationAvatarProps = AvatarProps;
496
+ type InboxNotificationIconProps = ComponentProps<"div">;
497
+ type InboxNotificationAvatarProps = AvatarProps;
498
498
  declare function InboxNotificationIcon({ className, ...props }: InboxNotificationIconProps): react_jsx_runtime.JSX.Element;
499
499
  declare function InboxNotificationAvatar({ className, ...props }: InboxNotificationAvatarProps): react_jsx_runtime.JSX.Element;
500
500
  /**
@@ -626,9 +626,9 @@ interface ThreadProps<M extends BaseMetadata = DM> extends ComponentPropsWithout
626
626
  * ))}
627
627
  * </>
628
628
  */
629
- declare const Thread: <M extends BaseMetadata = BaseMetadata>(props: ThreadProps<M> & RefAttributes<HTMLDivElement>) => JSX.Element;
629
+ declare const Thread: <M extends BaseMetadata = DM>(props: ThreadProps<M> & RefAttributes<HTMLDivElement>) => JSX.Element;
630
630
 
631
- declare type LiveblocksUIConfigProps = PropsWithChildren<{
631
+ type LiveblocksUIConfigProps = PropsWithChildren<{
632
632
  /**
633
633
  * Override the components' strings.
634
634
  */
package/dist/index.d.ts CHANGED
@@ -3,23 +3,23 @@ import { ElementType, ComponentPropsWithoutRef, ReactNode, FormEvent, ComponentT
3
3
  import { CommentAttachment, CommentBody, BaseMetadata, DM, CommentData, HistoryVersion, InboxNotificationData, InboxNotificationThreadData, InboxNotificationTextMentionData, InboxNotificationCustomData, KDAD, ThreadData } from '@liveblocks/core';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
 
6
- declare type Direction = "ltr" | "rtl";
7
- declare type SlotProp = {
6
+ type Direction = "ltr" | "rtl";
7
+ type SlotProp = {
8
8
  /**
9
9
  * Replace the rendered element by the one passed as a child.
10
10
  */
11
11
  asChild?: boolean;
12
12
  };
13
- declare type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
14
- declare type ComposerBodyText = {
13
+ type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
14
+ type ComposerBodyText = {
15
15
  bold?: boolean;
16
16
  italic?: boolean;
17
17
  strikethrough?: boolean;
18
18
  code?: boolean;
19
19
  text: string;
20
20
  };
21
- declare type ComposerBodyMark = keyof Omit<ComposerBodyText, "text">;
22
- declare type ComposerBodyMarks = {
21
+ type ComposerBodyMark = keyof Omit<ComposerBodyText, "text">;
22
+ type ComposerBodyMarks = {
23
23
  [K in ComposerBodyMark]: boolean;
24
24
  };
25
25
  interface CommentAttachmentArgs {
@@ -94,7 +94,7 @@ interface HistoryVersionPreviewOverrides {
94
94
  HISTORY_VERSION_PREVIEW_EMPTY: ReactNode;
95
95
  HISTORY_VERSION_PREVIEW_ERROR: (error: Error) => ReactNode;
96
96
  }
97
- declare type Overrides = LocalizationOverrides & GlobalOverrides & ComposerOverrides & CommentOverrides & ThreadOverrides & InboxNotificationOverrides & HistoryVersionPreviewOverrides;
97
+ type Overrides = LocalizationOverrides & GlobalOverrides & ComposerOverrides & CommentOverrides & ThreadOverrides & InboxNotificationOverrides & HistoryVersionPreviewOverrides;
98
98
  declare function useOverrides(overrides?: Partial<Overrides>): Overrides;
99
99
 
100
100
  interface ComposerEditorMentionProps {
@@ -121,7 +121,7 @@ interface ComposerEditorLinkProps {
121
121
  */
122
122
  children: ReactNode;
123
123
  }
124
- declare type ComposerEditorMentionSuggestionsProps = {
124
+ type ComposerEditorMentionSuggestionsProps = {
125
125
  /**
126
126
  * The list of suggested user IDs.
127
127
  */
@@ -131,7 +131,7 @@ declare type ComposerEditorMentionSuggestionsProps = {
131
131
  */
132
132
  selectedUserId?: string;
133
133
  };
134
- declare type ComposerEditorFloatingToolbarProps = Record<string, never>;
134
+ type ComposerEditorFloatingToolbarProps = Record<string, never>;
135
135
  interface ComposerEditorComponents {
136
136
  /**
137
137
  * The component used to display mentions.
@@ -218,7 +218,7 @@ interface ComposerSubmitComment {
218
218
  attachments: CommentAttachment[];
219
219
  }
220
220
 
221
- declare type ComposerCreateThreadProps<M extends BaseMetadata> = {
221
+ type ComposerCreateThreadProps<M extends BaseMetadata> = {
222
222
  threadId?: never;
223
223
  commentId?: never;
224
224
  /**
@@ -226,7 +226,7 @@ declare type ComposerCreateThreadProps<M extends BaseMetadata> = {
226
226
  */
227
227
  metadata?: M;
228
228
  };
229
- declare type ComposerCreateCommentProps = {
229
+ type ComposerCreateCommentProps = {
230
230
  /**
231
231
  * The ID of the thread to reply to.
232
232
  */
@@ -234,7 +234,7 @@ declare type ComposerCreateCommentProps = {
234
234
  commentId?: never;
235
235
  metadata?: never;
236
236
  };
237
- declare type ComposerEditCommentProps = {
237
+ type ComposerEditCommentProps = {
238
238
  /**
239
239
  * The ID of the thread to edit a comment in.
240
240
  */
@@ -245,7 +245,7 @@ declare type ComposerEditCommentProps = {
245
245
  commentId: string;
246
246
  metadata?: never;
247
247
  };
248
- declare type ComposerProps<M extends BaseMetadata = DM> = Omit<ComponentPropsWithoutRef<"form">, "defaultValue"> & (ComposerCreateThreadProps<M> | ComposerCreateCommentProps | ComposerEditCommentProps) & {
248
+ type ComposerProps<M extends BaseMetadata = DM> = Omit<ComponentPropsWithoutRef<"form">, "defaultValue"> & (ComposerCreateThreadProps<M> | ComposerCreateCommentProps | ComposerEditCommentProps) & {
249
249
  /**
250
250
  * The event handler called when the composer is submitted.
251
251
  */
@@ -297,7 +297,7 @@ declare type ComposerProps<M extends BaseMetadata = DM> = Omit<ComponentPropsWit
297
297
  * @example
298
298
  * <Composer />
299
299
  */
300
- declare const Composer: <M extends BaseMetadata = BaseMetadata>(props: ComposerProps<M> & RefAttributes<HTMLFormElement>) => JSX.Element;
300
+ declare const Composer: <M extends BaseMetadata = DM>(props: ComposerProps<M> & RefAttributes<HTMLFormElement>) => JSX.Element;
301
301
 
302
302
  interface CommentProps extends ComponentPropsWithoutRef<"div"> {
303
303
  /**
@@ -377,7 +377,7 @@ interface HistoryVersionSummaryProps extends ComponentPropsWithoutRef<"button">
377
377
  */
378
378
  declare const HistoryVersionSummary: react.ForwardRefExoticComponent<HistoryVersionSummaryProps & react.RefAttributes<HTMLButtonElement>>;
379
379
 
380
- declare type HistoryVersionSummaryListProps = ComponentPropsWithoutRef<"ol">;
380
+ type HistoryVersionSummaryListProps = ComponentPropsWithoutRef<"ol">;
381
381
  /**
382
382
  * Displays versions summaries as a list.
383
383
  *
@@ -393,7 +393,7 @@ declare const HistoryVersionSummaryList: react.ForwardRefExoticComponent<Omit<re
393
393
  interface GlobalComponents {
394
394
  Anchor: ComponentType<ComponentPropsWithoutRef<"a">> | "a";
395
395
  }
396
- declare type Components = GlobalComponents;
396
+ type Components = GlobalComponents;
397
397
 
398
398
  interface AvatarProps extends ComponentProps<"div"> {
399
399
  /**
@@ -402,8 +402,8 @@ interface AvatarProps extends ComponentProps<"div"> {
402
402
  userId: string;
403
403
  }
404
404
 
405
- declare type ComponentTypeWithRef<T extends keyof JSX.IntrinsicElements, P> = ComponentType<P & Pick<ComponentProps<T>, "ref">>;
406
- declare type InboxNotificationKinds<KS extends KDAD = KDAD> = {
405
+ type ComponentTypeWithRef<T extends keyof JSX.IntrinsicElements, P> = ComponentType<P & Pick<ComponentProps<T>, "ref">>;
406
+ type InboxNotificationKinds<KS extends KDAD = KDAD> = {
407
407
  [K in KS]: ComponentTypeWithRef<"a", InboxNotificationCustomKindProps<K>>;
408
408
  } & {
409
409
  thread: ComponentTypeWithRef<"a", InboxNotificationThreadKindProps>;
@@ -484,17 +484,17 @@ interface InboxNotificationCustomProps extends Omit<InboxNotificationProps, "kin
484
484
  */
485
485
  markAsReadOnClick?: boolean;
486
486
  }
487
- declare type InboxNotificationThreadKindProps = Omit<InboxNotificationProps, "kinds"> & {
487
+ type InboxNotificationThreadKindProps = Omit<InboxNotificationProps, "kinds"> & {
488
488
  inboxNotification: InboxNotificationThreadData;
489
489
  };
490
- declare type InboxNotificationTextMentionKindProps = Omit<InboxNotificationProps, "kinds"> & {
490
+ type InboxNotificationTextMentionKindProps = Omit<InboxNotificationProps, "kinds"> & {
491
491
  inboxNotification: InboxNotificationTextMentionData;
492
492
  };
493
- declare type InboxNotificationCustomKindProps<K extends KDAD = KDAD> = Omit<InboxNotificationProps, "kinds"> & {
493
+ type InboxNotificationCustomKindProps<K extends KDAD = KDAD> = Omit<InboxNotificationProps, "kinds"> & {
494
494
  inboxNotification: InboxNotificationCustomData<K>;
495
495
  };
496
- declare type InboxNotificationIconProps = ComponentProps<"div">;
497
- declare type InboxNotificationAvatarProps = AvatarProps;
496
+ type InboxNotificationIconProps = ComponentProps<"div">;
497
+ type InboxNotificationAvatarProps = AvatarProps;
498
498
  declare function InboxNotificationIcon({ className, ...props }: InboxNotificationIconProps): react_jsx_runtime.JSX.Element;
499
499
  declare function InboxNotificationAvatar({ className, ...props }: InboxNotificationAvatarProps): react_jsx_runtime.JSX.Element;
500
500
  /**
@@ -626,9 +626,9 @@ interface ThreadProps<M extends BaseMetadata = DM> extends ComponentPropsWithout
626
626
  * ))}
627
627
  * </>
628
628
  */
629
- declare const Thread: <M extends BaseMetadata = BaseMetadata>(props: ThreadProps<M> & RefAttributes<HTMLDivElement>) => JSX.Element;
629
+ declare const Thread: <M extends BaseMetadata = DM>(props: ThreadProps<M> & RefAttributes<HTMLDivElement>) => JSX.Element;
630
630
 
631
- declare type LiveblocksUIConfigProps = PropsWithChildren<{
631
+ type LiveblocksUIConfigProps = PropsWithChildren<{
632
632
  /**
633
633
  * Override the components' strings.
634
634
  */
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.js","sources":["../../../src/primitives/EmojiPicker/contexts.ts"],"sourcesContent":["import type { Resolve } from \"@liveblocks/core\";\nimport { nn } from \"@liveblocks/core\";\nimport type { Dispatch, KeyboardEvent, SetStateAction } from \"react\";\nimport { createContext, useContext } from \"react\";\n\nimport type {\n EmojiPickerData,\n EmojiPickerInteraction,\n EmojiPickerSelectionDirection,\n} from \"./types\";\n\ntype EmojiPickerContextData =\n | {\n data?: never;\n error?: never;\n isLoading: true;\n }\n | {\n data: EmojiPickerData;\n error?: never;\n isLoading: false;\n }\n | {\n data?: never;\n error: Error;\n isLoading: false;\n };\n\nexport type EmojiPickerContext = Resolve<\n EmojiPickerContextData & {\n columns: number;\n onSearch: (search: string) => void;\n selectCurrentEmoji: () => void;\n onEmojiSelect?: (emoji: string) => void;\n selectedColumnIndex: number;\n selectedRowIndex: number;\n moveSelection: (\n direction: EmojiPickerSelectionDirection,\n event: KeyboardEvent<HTMLInputElement>\n ) => void;\n setPointerSelection: (columnIndex: number, rowIndex: number) => void;\n interaction: EmojiPickerInteraction;\n setInteraction: Dispatch<SetStateAction<EmojiPickerInteraction>>;\n }\n>;\n\nexport const EmojiPickerContext = createContext<EmojiPickerContext | null>(\n null\n);\n\nexport function useEmojiPicker(): EmojiPickerContext {\n const emojiPickerContext = useContext(EmojiPickerContext);\n\n return nn(\n emojiPickerContext,\n \"EmojiPicker.Root is missing from the React tree.\"\n );\n}\n"],"names":["createContext","useContext","nn"],"mappings":";;;;;AA8CO,MAAM,kBAAqB,GAAAA,mBAAA;AAAA,EAChC,IAAA;AACF,EAAA;AAEO,SAAS,cAAqC,GAAA;AACnD,EAAM,MAAA,kBAAA,GAAqBC,iBAAW,kBAAkB,CAAA,CAAA;AAExD,EAAO,OAAAC,OAAA;AAAA,IACL,kBAAA;AAAA,IACA,kDAAA;AAAA,GACF,CAAA;AACF;;;;;"}
1
+ {"version":3,"file":"contexts.js","sources":["../../../src/primitives/EmojiPicker/contexts.ts"],"sourcesContent":["import type { Relax, Resolve } from \"@liveblocks/core\";\nimport { nn } from \"@liveblocks/core\";\nimport type { Dispatch, KeyboardEvent, SetStateAction } from \"react\";\nimport { createContext, useContext } from \"react\";\n\nimport type {\n EmojiPickerData,\n EmojiPickerInteraction,\n EmojiPickerSelectionDirection,\n} from \"./types\";\n\ntype EmojiPickerContextData = Relax<\n | { isLoading: true }\n | {\n data: EmojiPickerData;\n isLoading: false;\n }\n | {\n error: Error;\n isLoading: false;\n }\n>;\n\nexport type EmojiPickerContext = Resolve<\n EmojiPickerContextData & {\n columns: number;\n onSearch: (search: string) => void;\n selectCurrentEmoji: () => void;\n onEmojiSelect?: (emoji: string) => void;\n selectedColumnIndex: number;\n selectedRowIndex: number;\n moveSelection: (\n direction: EmojiPickerSelectionDirection,\n event: KeyboardEvent<HTMLInputElement>\n ) => void;\n setPointerSelection: (columnIndex: number, rowIndex: number) => void;\n interaction: EmojiPickerInteraction;\n setInteraction: Dispatch<SetStateAction<EmojiPickerInteraction>>;\n }\n>;\n\nexport const EmojiPickerContext = createContext<EmojiPickerContext | null>(\n null\n);\n\nexport function useEmojiPicker(): EmojiPickerContext {\n const emojiPickerContext = useContext(EmojiPickerContext);\n\n return nn(\n emojiPickerContext,\n \"EmojiPicker.Root is missing from the React tree.\"\n );\n}\n"],"names":["createContext","useContext","nn"],"mappings":";;;;;AAyCO,MAAM,kBAAqB,GAAAA,mBAAA;AAAA,EAChC,IAAA;AACF,EAAA;AAEO,SAAS,cAAqC,GAAA;AACnD,EAAM,MAAA,kBAAA,GAAqBC,iBAAW,kBAAkB,CAAA,CAAA;AAExD,EAAO,OAAAC,OAAA;AAAA,IACL,kBAAA;AAAA,IACA,kDAAA;AAAA,GACF,CAAA;AACF;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.mjs","sources":["../../../src/primitives/EmojiPicker/contexts.ts"],"sourcesContent":["import type { Resolve } from \"@liveblocks/core\";\nimport { nn } from \"@liveblocks/core\";\nimport type { Dispatch, KeyboardEvent, SetStateAction } from \"react\";\nimport { createContext, useContext } from \"react\";\n\nimport type {\n EmojiPickerData,\n EmojiPickerInteraction,\n EmojiPickerSelectionDirection,\n} from \"./types\";\n\ntype EmojiPickerContextData =\n | {\n data?: never;\n error?: never;\n isLoading: true;\n }\n | {\n data: EmojiPickerData;\n error?: never;\n isLoading: false;\n }\n | {\n data?: never;\n error: Error;\n isLoading: false;\n };\n\nexport type EmojiPickerContext = Resolve<\n EmojiPickerContextData & {\n columns: number;\n onSearch: (search: string) => void;\n selectCurrentEmoji: () => void;\n onEmojiSelect?: (emoji: string) => void;\n selectedColumnIndex: number;\n selectedRowIndex: number;\n moveSelection: (\n direction: EmojiPickerSelectionDirection,\n event: KeyboardEvent<HTMLInputElement>\n ) => void;\n setPointerSelection: (columnIndex: number, rowIndex: number) => void;\n interaction: EmojiPickerInteraction;\n setInteraction: Dispatch<SetStateAction<EmojiPickerInteraction>>;\n }\n>;\n\nexport const EmojiPickerContext = createContext<EmojiPickerContext | null>(\n null\n);\n\nexport function useEmojiPicker(): EmojiPickerContext {\n const emojiPickerContext = useContext(EmojiPickerContext);\n\n return nn(\n emojiPickerContext,\n \"EmojiPicker.Root is missing from the React tree.\"\n );\n}\n"],"names":[],"mappings":";;;AA8CO,MAAM,kBAAqB,GAAA,aAAA;AAAA,EAChC,IAAA;AACF,EAAA;AAEO,SAAS,cAAqC,GAAA;AACnD,EAAM,MAAA,kBAAA,GAAqB,WAAW,kBAAkB,CAAA,CAAA;AAExD,EAAO,OAAA,EAAA;AAAA,IACL,kBAAA;AAAA,IACA,kDAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"contexts.mjs","sources":["../../../src/primitives/EmojiPicker/contexts.ts"],"sourcesContent":["import type { Relax, Resolve } from \"@liveblocks/core\";\nimport { nn } from \"@liveblocks/core\";\nimport type { Dispatch, KeyboardEvent, SetStateAction } from \"react\";\nimport { createContext, useContext } from \"react\";\n\nimport type {\n EmojiPickerData,\n EmojiPickerInteraction,\n EmojiPickerSelectionDirection,\n} from \"./types\";\n\ntype EmojiPickerContextData = Relax<\n | { isLoading: true }\n | {\n data: EmojiPickerData;\n isLoading: false;\n }\n | {\n error: Error;\n isLoading: false;\n }\n>;\n\nexport type EmojiPickerContext = Resolve<\n EmojiPickerContextData & {\n columns: number;\n onSearch: (search: string) => void;\n selectCurrentEmoji: () => void;\n onEmojiSelect?: (emoji: string) => void;\n selectedColumnIndex: number;\n selectedRowIndex: number;\n moveSelection: (\n direction: EmojiPickerSelectionDirection,\n event: KeyboardEvent<HTMLInputElement>\n ) => void;\n setPointerSelection: (columnIndex: number, rowIndex: number) => void;\n interaction: EmojiPickerInteraction;\n setInteraction: Dispatch<SetStateAction<EmojiPickerInteraction>>;\n }\n>;\n\nexport const EmojiPickerContext = createContext<EmojiPickerContext | null>(\n null\n);\n\nexport function useEmojiPicker(): EmojiPickerContext {\n const emojiPickerContext = useContext(EmojiPickerContext);\n\n return nn(\n emojiPickerContext,\n \"EmojiPicker.Root is missing from the React tree.\"\n );\n}\n"],"names":[],"mappings":";;;AAyCO,MAAM,kBAAqB,GAAA,aAAA;AAAA,EAChC,IAAA;AACF,EAAA;AAEO,SAAS,cAAqC,GAAA;AACnD,EAAM,MAAA,kBAAA,GAAqB,WAAW,kBAAkB,CAAA,CAAA;AAExD,EAAO,OAAA,EAAA;AAAA,IACL,kBAAA;AAAA,IACA,kDAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -3,34 +3,34 @@ import { ElementType, ComponentPropsWithoutRef, ReactNode, ComponentType, FormEv
3
3
  import { CommentBody as CommentBody$1, CommentAttachment, CommentMixedAttachment } from '@liveblocks/core';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
 
6
- declare type Direction = "ltr" | "rtl";
7
- declare type SlotProp = {
6
+ type Direction = "ltr" | "rtl";
7
+ type SlotProp = {
8
8
  /**
9
9
  * Replace the rendered element by the one passed as a child.
10
10
  */
11
11
  asChild?: boolean;
12
12
  };
13
- declare type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
14
- declare type ComposerBodyText = {
13
+ type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
14
+ type ComposerBodyText = {
15
15
  bold?: boolean;
16
16
  italic?: boolean;
17
17
  strikethrough?: boolean;
18
18
  code?: boolean;
19
19
  text: string;
20
20
  };
21
- declare type ComposerBodyMark = keyof Omit<ComposerBodyText, "text">;
22
- declare type ComposerBodyMarks = {
21
+ type ComposerBodyMark = keyof Omit<ComposerBodyText, "text">;
22
+ type ComposerBodyMarks = {
23
23
  [K in ComposerBodyMark]: boolean;
24
24
  };
25
25
 
26
- declare type CommentMentionProps = ComponentPropsWithSlot<"span">;
27
- declare type CommentBodyMentionProps = {
26
+ type CommentMentionProps = ComponentPropsWithSlot<"span">;
27
+ type CommentBodyMentionProps = {
28
28
  /**
29
29
  * The mention's user ID.
30
30
  */
31
31
  userId: string;
32
32
  };
33
- declare type CommentLinkProps = ComponentPropsWithSlot<"a">;
33
+ type CommentLinkProps = ComponentPropsWithSlot<"a">;
34
34
  interface CommentBodyLinkProps {
35
35
  /**
36
36
  * The link's absolute URL.
@@ -121,7 +121,7 @@ interface ComposerEditorLinkProps {
121
121
  */
122
122
  children: ReactNode;
123
123
  }
124
- declare type ComposerEditorMentionSuggestionsProps = {
124
+ type ComposerEditorMentionSuggestionsProps = {
125
125
  /**
126
126
  * The list of suggested user IDs.
127
127
  */
@@ -131,11 +131,11 @@ declare type ComposerEditorMentionSuggestionsProps = {
131
131
  */
132
132
  selectedUserId?: string;
133
133
  };
134
- declare type ComposerEditorFloatingToolbarProps = Record<string, never>;
135
- declare type ComposerMentionProps = ComponentPropsWithSlot<"span">;
136
- declare type ComposerLinkProps = ComponentPropsWithSlot<"a">;
137
- declare type ComposerFloatingToolbarProps = ComponentPropsWithSlot<"div">;
138
- declare type ComposerSuggestionsListProps = ComponentPropsWithSlot<"ul">;
134
+ type ComposerEditorFloatingToolbarProps = Record<string, never>;
135
+ type ComposerMentionProps = ComponentPropsWithSlot<"span">;
136
+ type ComposerLinkProps = ComponentPropsWithSlot<"a">;
137
+ type ComposerFloatingToolbarProps = ComponentPropsWithSlot<"div">;
138
+ type ComposerSuggestionsListProps = ComponentPropsWithSlot<"ul">;
139
139
  interface ComposerSuggestionsListItemProps extends ComponentPropsWithSlot<"li"> {
140
140
  /**
141
141
  * The suggestion's value.
@@ -217,8 +217,8 @@ interface ComposerFormProps extends ComponentPropsWithSlot<"form"> {
217
217
  */
218
218
  preventUnsavedChanges?: boolean;
219
219
  }
220
- declare type ComposerSubmitProps = ComponentPropsWithSlot<"button">;
221
- declare type ComposerAttachFilesProps = ComponentPropsWithSlot<"button">;
220
+ type ComposerSubmitProps = ComponentPropsWithSlot<"button">;
221
+ type ComposerAttachFilesProps = ComponentPropsWithSlot<"button">;
222
222
  interface ComposerMarkToggleProps extends ComponentPropsWithSlot<"button"> {
223
223
  /**
224
224
  * The text mark to toggle.
@@ -360,7 +360,7 @@ declare namespace index$1 {
360
360
  };
361
361
  }
362
362
 
363
- declare type ComposerContext = {
363
+ type ComposerContext = {
364
364
  /**
365
365
  * Whether the composer is currently disabled.
366
366
  */
@@ -435,9 +435,9 @@ declare class AttachmentTooLargeError extends Error {
435
435
  constructor(message: string, origin?: "client" | "server");
436
436
  }
437
437
 
438
- declare type EmojiPickerContentLoadingProps = ComponentPropsWithoutRef<"div">;
439
- declare type EmojiPickerContentEmptyProps = ComponentPropsWithoutRef<"div">;
440
- declare type EmojiPickerContentGridProps = ComponentPropsWithoutRef<"div">;
438
+ type EmojiPickerContentLoadingProps = ComponentPropsWithoutRef<"div">;
439
+ type EmojiPickerContentEmptyProps = ComponentPropsWithoutRef<"div">;
440
+ type EmojiPickerContentGridProps = ComponentPropsWithoutRef<"div">;
441
441
  interface EmojiPickerContentErrorProps extends ComponentPropsWithoutRef<"div"> {
442
442
  /**
443
443
  * The error.
@@ -450,7 +450,7 @@ interface EmojiPickerContentCategoryHeaderProps extends ComponentPropsWithoutRef
450
450
  */
451
451
  category: string;
452
452
  }
453
- declare type EmojiPickerContentEmojiRowAttributes = {
453
+ type EmojiPickerContentEmojiRowAttributes = {
454
454
  /**
455
455
  * The current row's index.
456
456
  */
@@ -526,7 +526,7 @@ interface EmojiPickerContentProps extends ComponentPropsWithSlot<"div"> {
526
526
  */
527
527
  components?: Partial<EmojiPickerContentComponents>;
528
528
  }
529
- declare type EmojiPickerSearchProps = ComponentPropsWithSlot<"input">;
529
+ type EmojiPickerSearchProps = ComponentPropsWithSlot<"input">;
530
530
 
531
531
  /**
532
532
  * @private
@@ -3,34 +3,34 @@ import { ElementType, ComponentPropsWithoutRef, ReactNode, ComponentType, FormEv
3
3
  import { CommentBody as CommentBody$1, CommentAttachment, CommentMixedAttachment } from '@liveblocks/core';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
 
6
- declare type Direction = "ltr" | "rtl";
7
- declare type SlotProp = {
6
+ type Direction = "ltr" | "rtl";
7
+ type SlotProp = {
8
8
  /**
9
9
  * Replace the rendered element by the one passed as a child.
10
10
  */
11
11
  asChild?: boolean;
12
12
  };
13
- declare type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
14
- declare type ComposerBodyText = {
13
+ type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
14
+ type ComposerBodyText = {
15
15
  bold?: boolean;
16
16
  italic?: boolean;
17
17
  strikethrough?: boolean;
18
18
  code?: boolean;
19
19
  text: string;
20
20
  };
21
- declare type ComposerBodyMark = keyof Omit<ComposerBodyText, "text">;
22
- declare type ComposerBodyMarks = {
21
+ type ComposerBodyMark = keyof Omit<ComposerBodyText, "text">;
22
+ type ComposerBodyMarks = {
23
23
  [K in ComposerBodyMark]: boolean;
24
24
  };
25
25
 
26
- declare type CommentMentionProps = ComponentPropsWithSlot<"span">;
27
- declare type CommentBodyMentionProps = {
26
+ type CommentMentionProps = ComponentPropsWithSlot<"span">;
27
+ type CommentBodyMentionProps = {
28
28
  /**
29
29
  * The mention's user ID.
30
30
  */
31
31
  userId: string;
32
32
  };
33
- declare type CommentLinkProps = ComponentPropsWithSlot<"a">;
33
+ type CommentLinkProps = ComponentPropsWithSlot<"a">;
34
34
  interface CommentBodyLinkProps {
35
35
  /**
36
36
  * The link's absolute URL.
@@ -121,7 +121,7 @@ interface ComposerEditorLinkProps {
121
121
  */
122
122
  children: ReactNode;
123
123
  }
124
- declare type ComposerEditorMentionSuggestionsProps = {
124
+ type ComposerEditorMentionSuggestionsProps = {
125
125
  /**
126
126
  * The list of suggested user IDs.
127
127
  */
@@ -131,11 +131,11 @@ declare type ComposerEditorMentionSuggestionsProps = {
131
131
  */
132
132
  selectedUserId?: string;
133
133
  };
134
- declare type ComposerEditorFloatingToolbarProps = Record<string, never>;
135
- declare type ComposerMentionProps = ComponentPropsWithSlot<"span">;
136
- declare type ComposerLinkProps = ComponentPropsWithSlot<"a">;
137
- declare type ComposerFloatingToolbarProps = ComponentPropsWithSlot<"div">;
138
- declare type ComposerSuggestionsListProps = ComponentPropsWithSlot<"ul">;
134
+ type ComposerEditorFloatingToolbarProps = Record<string, never>;
135
+ type ComposerMentionProps = ComponentPropsWithSlot<"span">;
136
+ type ComposerLinkProps = ComponentPropsWithSlot<"a">;
137
+ type ComposerFloatingToolbarProps = ComponentPropsWithSlot<"div">;
138
+ type ComposerSuggestionsListProps = ComponentPropsWithSlot<"ul">;
139
139
  interface ComposerSuggestionsListItemProps extends ComponentPropsWithSlot<"li"> {
140
140
  /**
141
141
  * The suggestion's value.
@@ -217,8 +217,8 @@ interface ComposerFormProps extends ComponentPropsWithSlot<"form"> {
217
217
  */
218
218
  preventUnsavedChanges?: boolean;
219
219
  }
220
- declare type ComposerSubmitProps = ComponentPropsWithSlot<"button">;
221
- declare type ComposerAttachFilesProps = ComponentPropsWithSlot<"button">;
220
+ type ComposerSubmitProps = ComponentPropsWithSlot<"button">;
221
+ type ComposerAttachFilesProps = ComponentPropsWithSlot<"button">;
222
222
  interface ComposerMarkToggleProps extends ComponentPropsWithSlot<"button"> {
223
223
  /**
224
224
  * The text mark to toggle.
@@ -360,7 +360,7 @@ declare namespace index$1 {
360
360
  };
361
361
  }
362
362
 
363
- declare type ComposerContext = {
363
+ type ComposerContext = {
364
364
  /**
365
365
  * Whether the composer is currently disabled.
366
366
  */
@@ -435,9 +435,9 @@ declare class AttachmentTooLargeError extends Error {
435
435
  constructor(message: string, origin?: "client" | "server");
436
436
  }
437
437
 
438
- declare type EmojiPickerContentLoadingProps = ComponentPropsWithoutRef<"div">;
439
- declare type EmojiPickerContentEmptyProps = ComponentPropsWithoutRef<"div">;
440
- declare type EmojiPickerContentGridProps = ComponentPropsWithoutRef<"div">;
438
+ type EmojiPickerContentLoadingProps = ComponentPropsWithoutRef<"div">;
439
+ type EmojiPickerContentEmptyProps = ComponentPropsWithoutRef<"div">;
440
+ type EmojiPickerContentGridProps = ComponentPropsWithoutRef<"div">;
441
441
  interface EmojiPickerContentErrorProps extends ComponentPropsWithoutRef<"div"> {
442
442
  /**
443
443
  * The error.
@@ -450,7 +450,7 @@ interface EmojiPickerContentCategoryHeaderProps extends ComponentPropsWithoutRef
450
450
  */
451
451
  category: string;
452
452
  }
453
- declare type EmojiPickerContentEmojiRowAttributes = {
453
+ type EmojiPickerContentEmojiRowAttributes = {
454
454
  /**
455
455
  * The current row's index.
456
456
  */
@@ -526,7 +526,7 @@ interface EmojiPickerContentProps extends ComponentPropsWithSlot<"div"> {
526
526
  */
527
527
  components?: Partial<EmojiPickerContentComponents>;
528
528
  }
529
- declare type EmojiPickerSearchProps = ComponentPropsWithSlot<"input">;
529
+ type EmojiPickerSearchProps = ComponentPropsWithSlot<"input">;
530
530
 
531
531
  /**
532
532
  * @private
@@ -6,8 +6,9 @@ function memoize(fn) {
6
6
  const cache = /* @__PURE__ */ new Map();
7
7
  return (...args) => {
8
8
  const key = JSON.stringify(args.map((arg) => core.stringify(arg)));
9
- if (cache.has(key)) {
10
- return cache.get(key);
9
+ const cached = cache.get(key);
10
+ if (cached !== void 0) {
11
+ return cached;
11
12
  }
12
13
  const result = fn(...args);
13
14
  cache.set(key, result);
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.js","sources":["../../src/utils/memoize.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-return */\n\nimport { stringify } from \"@liveblocks/core\";\n\nexport function memoize<T extends (...args: any[]) => any>(fn: T): T {\n const cache = new Map<string, ReturnType<T>>();\n\n return ((...args: Parameters<T>): ReturnType<T> => {\n const key = JSON.stringify(args.map((arg) => stringify(arg)));\n\n if (cache.has(key)) {\n return cache.get(key)!;\n }\n\n const result = fn(...args) as ReturnType<T>;\n\n cache.set(key, result);\n\n return result;\n }) as T;\n}\n"],"names":["stringify"],"mappings":";;;;AAIO,SAAS,QAA2C,EAAU,EAAA;AACnE,EAAM,MAAA,KAAA,uBAAY,GAA2B,EAAA,CAAA;AAE7C,EAAA,OAAQ,IAAI,IAAuC,KAAA;AACjD,IAAM,MAAA,GAAA,GAAM,IAAK,CAAA,SAAA,CAAU,IAAK,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAAA,cAAA,CAAU,GAAG,CAAC,CAAC,CAAA,CAAA;AAE5D,IAAI,IAAA,KAAA,CAAM,GAAI,CAAA,GAAG,CAAG,EAAA;AAClB,MAAO,OAAA,KAAA,CAAM,IAAI,GAAG,CAAA,CAAA;AAAA,KACtB;AAEA,IAAM,MAAA,MAAA,GAAS,EAAG,CAAA,GAAG,IAAI,CAAA,CAAA;AAEzB,IAAM,KAAA,CAAA,GAAA,CAAI,KAAK,MAAM,CAAA,CAAA;AAErB,IAAO,OAAA,MAAA,CAAA;AAAA,GACT,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"memoize.js","sources":["../../src/utils/memoize.ts"],"sourcesContent":["import { stringify } from \"@liveblocks/core\";\n\nexport function memoize<TArgs extends unknown[], TReturn>(\n fn: (...args: TArgs) => TReturn\n): (...args: TArgs) => TReturn {\n const cache = new Map<string, TReturn>();\n\n return (...args: TArgs): TReturn => {\n const key = JSON.stringify(args.map((arg) => stringify(arg)));\n const cached = cache.get(key);\n\n if (cached !== undefined) {\n return cached;\n }\n\n const result = fn(...args);\n cache.set(key, result);\n\n return result;\n };\n}\n"],"names":["stringify"],"mappings":";;;;AAEO,SAAS,QACd,EAC6B,EAAA;AAC7B,EAAM,MAAA,KAAA,uBAAY,GAAqB,EAAA,CAAA;AAEvC,EAAA,OAAO,IAAI,IAAyB,KAAA;AAClC,IAAM,MAAA,GAAA,GAAM,IAAK,CAAA,SAAA,CAAU,IAAK,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAAA,cAAA,CAAU,GAAG,CAAC,CAAC,CAAA,CAAA;AAC5D,IAAM,MAAA,MAAA,GAAS,KAAM,CAAA,GAAA,CAAI,GAAG,CAAA,CAAA;AAE5B,IAAA,IAAI,WAAW,KAAW,CAAA,EAAA;AACxB,MAAO,OAAA,MAAA,CAAA;AAAA,KACT;AAEA,IAAM,MAAA,MAAA,GAAS,EAAG,CAAA,GAAG,IAAI,CAAA,CAAA;AACzB,IAAM,KAAA,CAAA,GAAA,CAAI,KAAK,MAAM,CAAA,CAAA;AAErB,IAAO,OAAA,MAAA,CAAA;AAAA,GACT,CAAA;AACF;;;;"}
@@ -4,8 +4,9 @@ function memoize(fn) {
4
4
  const cache = /* @__PURE__ */ new Map();
5
5
  return (...args) => {
6
6
  const key = JSON.stringify(args.map((arg) => stringify(arg)));
7
- if (cache.has(key)) {
8
- return cache.get(key);
7
+ const cached = cache.get(key);
8
+ if (cached !== void 0) {
9
+ return cached;
9
10
  }
10
11
  const result = fn(...args);
11
12
  cache.set(key, result);
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.mjs","sources":["../../src/utils/memoize.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-return */\n\nimport { stringify } from \"@liveblocks/core\";\n\nexport function memoize<T extends (...args: any[]) => any>(fn: T): T {\n const cache = new Map<string, ReturnType<T>>();\n\n return ((...args: Parameters<T>): ReturnType<T> => {\n const key = JSON.stringify(args.map((arg) => stringify(arg)));\n\n if (cache.has(key)) {\n return cache.get(key)!;\n }\n\n const result = fn(...args) as ReturnType<T>;\n\n cache.set(key, result);\n\n return result;\n }) as T;\n}\n"],"names":[],"mappings":";;AAIO,SAAS,QAA2C,EAAU,EAAA;AACnE,EAAM,MAAA,KAAA,uBAAY,GAA2B,EAAA,CAAA;AAE7C,EAAA,OAAQ,IAAI,IAAuC,KAAA;AACjD,IAAM,MAAA,GAAA,GAAM,IAAK,CAAA,SAAA,CAAU,IAAK,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAA,SAAA,CAAU,GAAG,CAAC,CAAC,CAAA,CAAA;AAE5D,IAAI,IAAA,KAAA,CAAM,GAAI,CAAA,GAAG,CAAG,EAAA;AAClB,MAAO,OAAA,KAAA,CAAM,IAAI,GAAG,CAAA,CAAA;AAAA,KACtB;AAEA,IAAM,MAAA,MAAA,GAAS,EAAG,CAAA,GAAG,IAAI,CAAA,CAAA;AAEzB,IAAM,KAAA,CAAA,GAAA,CAAI,KAAK,MAAM,CAAA,CAAA;AAErB,IAAO,OAAA,MAAA,CAAA;AAAA,GACT,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"memoize.mjs","sources":["../../src/utils/memoize.ts"],"sourcesContent":["import { stringify } from \"@liveblocks/core\";\n\nexport function memoize<TArgs extends unknown[], TReturn>(\n fn: (...args: TArgs) => TReturn\n): (...args: TArgs) => TReturn {\n const cache = new Map<string, TReturn>();\n\n return (...args: TArgs): TReturn => {\n const key = JSON.stringify(args.map((arg) => stringify(arg)));\n const cached = cache.get(key);\n\n if (cached !== undefined) {\n return cached;\n }\n\n const result = fn(...args);\n cache.set(key, result);\n\n return result;\n };\n}\n"],"names":[],"mappings":";;AAEO,SAAS,QACd,EAC6B,EAAA;AAC7B,EAAM,MAAA,KAAA,uBAAY,GAAqB,EAAA,CAAA;AAEvC,EAAA,OAAO,IAAI,IAAyB,KAAA;AAClC,IAAM,MAAA,GAAA,GAAM,IAAK,CAAA,SAAA,CAAU,IAAK,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAA,SAAA,CAAU,GAAG,CAAC,CAAC,CAAA,CAAA;AAC5D,IAAM,MAAA,MAAA,GAAS,KAAM,CAAA,GAAA,CAAI,GAAG,CAAA,CAAA;AAE5B,IAAA,IAAI,WAAW,KAAW,CAAA,EAAA;AACxB,MAAO,OAAA,MAAA,CAAA;AAAA,KACT;AAEA,IAAM,MAAA,MAAA,GAAS,EAAG,CAAA,GAAG,IAAI,CAAA,CAAA;AACzB,IAAM,KAAA,CAAA,GAAA,CAAI,KAAK,MAAM,CAAA,CAAA;AAErB,IAAO,OAAA,MAAA,CAAA;AAAA,GACT,CAAA;AACF;;;;"}
package/dist/version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const PKG_NAME = "@liveblocks/react-ui";
4
- const PKG_VERSION = typeof "2.15.2" === "string" && "2.15.2";
4
+ const PKG_VERSION = typeof "2.16.0-rc1" === "string" && "2.16.0-rc1";
5
5
  const PKG_FORMAT = typeof "cjs" === "string" && "cjs";
6
6
 
7
7
  exports.PKG_FORMAT = PKG_FORMAT;
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":";;AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,QAAA,KAAgB,QAAY,IAAA,SAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":";;AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,YAAA,KAAgB,QAAY,IAAA,aAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;;;"}
package/dist/version.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  const PKG_NAME = "@liveblocks/react-ui";
2
- const PKG_VERSION = typeof "2.15.2" === "string" && "2.15.2";
2
+ const PKG_VERSION = typeof "2.16.0-rc1" === "string" && "2.16.0-rc1";
3
3
  const PKG_FORMAT = typeof "esm" === "string" && "esm";
4
4
 
5
5
  export { PKG_FORMAT, PKG_NAME, PKG_VERSION };
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":"AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,QAAA,KAAgB,QAAY,IAAA,SAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":"AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,YAAA,KAAgB,QAAY,IAAA,aAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liveblocks/react-ui",
3
- "version": "2.15.2",
3
+ "version": "2.16.0-rc1",
4
4
  "description": "A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "commonjs",
@@ -75,9 +75,9 @@
75
75
  },
76
76
  "dependencies": {
77
77
  "@floating-ui/react-dom": "^2.1.2",
78
- "@liveblocks/client": "2.15.2",
79
- "@liveblocks/core": "2.15.2",
80
- "@liveblocks/react": "2.15.2",
78
+ "@liveblocks/client": "2.16.0-rc1",
79
+ "@liveblocks/core": "2.16.0-rc1",
80
+ "@liveblocks/react": "2.16.0-rc1",
81
81
  "@radix-ui/react-dropdown-menu": "^2.1.2",
82
82
  "@radix-ui/react-popover": "^1.1.2",
83
83
  "@radix-ui/react-slot": "^1.1.0",
@@ -101,7 +101,7 @@
101
101
  "emojibase": "^15.3.0",
102
102
  "eslint-plugin-react": "^7.33.2",
103
103
  "eslint-plugin-react-hooks": "^4.6.0",
104
- "msw": "^0.27.1",
104
+ "msw": "^1.3.5",
105
105
  "rollup": "3.28.0",
106
106
  "stylelint": "^15.10.2",
107
107
  "stylelint-config-standard": "^34.0.0",
@@ -114,7 +114,7 @@
114
114
  },
115
115
  "repository": {
116
116
  "type": "git",
117
- "url": "https://github.com/liveblocks/liveblocks.git",
117
+ "url": "git+https://github.com/liveblocks/liveblocks.git",
118
118
  "directory": "packages/liveblocks-react-ui"
119
119
  },
120
120
  "homepage": "https://liveblocks.io",