stream-chat-react 14.2.0 → 14.3.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelList.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/ChannelList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelList.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/ChannelList.tsx"],"names":[],"mappings":"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"}
@@ -9,8 +9,19 @@ export type CustomQueryChannelParams = {
9
9
  setHasNextPage: React.Dispatch<React.SetStateAction<boolean>>;
10
10
  };
11
11
  export type CustomQueryChannelsFn = (params: CustomQueryChannelParams) => Promise<void>;
12
- export declare const usePaginatedChannels: (client: StreamChat, filters: ChannelFilters, sort: ChannelSort, options: ChannelOptions, activeChannelHandler: (channels: Array<Channel>, setChannels: React.Dispatch<React.SetStateAction<Array<Channel>>>) => void, recoveryThrottleIntervalMs?: number, customQueryChannels?: CustomQueryChannelsFn) => {
12
+ /**
13
+ * Filters and sort effectively used by the channel list. When `options.predefined_filter`
14
+ * is set, these reflect the backend-resolved values from `predefined_filter` response
15
+ * metadata; otherwise they fall back to the caller-supplied `filters`/`sort`.
16
+ */
17
+ export type EffectiveQueryParams = {
18
+ filters: ChannelFilters;
19
+ sort: ChannelSort;
20
+ };
21
+ export declare const usePaginatedChannels: (client: StreamChat, filters: ChannelFilters, sort: ChannelSort, options: ChannelOptions, activeChannelHandler: (channels: Array<Channel>, setChannels: React.Dispatch<React.SetStateAction<Array<Channel>>>, effectiveQueryParams: EffectiveQueryParams) => void, recoveryThrottleIntervalMs?: number, customQueryChannels?: CustomQueryChannelsFn) => {
13
22
  channels: Channel[];
23
+ effectiveFilters: ChannelFilters;
24
+ effectiveSort: ChannelSort;
14
25
  hasNextPage: boolean;
15
26
  loadNextPage: () => Promise<void>;
16
27
  setChannels: import("react").Dispatch<import("react").SetStateAction<Channel[]>>;
@@ -1 +1 @@
1
- {"version":3,"file":"usePaginatedChannels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChannelList/hooks/usePaginatedChannels.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAEV,OAAO,EACP,cAAc,EACd,cAAc,EACd,WAAW,EAEX,UAAU,EACX,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,KAAK,gBAAgB,GAAG,OAAO,CAC7B,kBAAkB,CAAC,iBAAiB,CAAC,EACrC,QAAQ,GAAG,WAAW,CACvB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClE,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAExF,eAAO,MAAM,oBAAoB,WACvB,UAAU,WACT,cAAc,QACjB,WAAW,WACR,cAAc,wBACD,CACpB,QAAQ,EAAE,MAAM,OAAO,CAAC,EACxB,WAAW,EAAE,MAAM,QAAQ,CAAC,MAAM,cAAc,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,KAC9D,IAAI,+BACmB,MAAM,wBACZ,qBAAqB;;;;;CA+H5C,CAAC"}
1
+ {"version":3,"file":"usePaginatedChannels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChannelList/hooks/usePaginatedChannels.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAEV,OAAO,EACP,cAAc,EACd,cAAc,EACd,WAAW,EAGX,UAAU,EACX,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAKjF,KAAK,gBAAgB,GAAG,OAAO,CAC7B,kBAAkB,CAAC,iBAAiB,CAAC,EACrC,QAAQ,GAAG,WAAW,CACvB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClE,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAExF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAaF,eAAO,MAAM,oBAAoB,WACvB,UAAU,WACT,cAAc,QACjB,WAAW,WACR,cAAc,wBACD,CACpB,QAAQ,EAAE,MAAM,OAAO,CAAC,EACxB,WAAW,EAAE,MAAM,QAAQ,CAAC,MAAM,cAAc,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,EACjE,oBAAoB,EAAE,oBAAoB,KACvC,IAAI,+BACmB,MAAM,wBACZ,qBAAqB;;;;;;;CAuK5C,CAAC"}
@@ -3,6 +3,24 @@ import type { NotificationTargetPanel } from './notificationTarget';
3
3
  export type NotificationListFilter = (notification: Notification) => boolean;
4
4
  export type NotificationListEnterFrom = 'bottom' | 'left' | 'right' | 'top';
5
5
  export type NotificationListVerticalAlignment = 'bottom' | 'top';
6
+ /**
7
+ * Selects the candidate notification to display. Receives the current store contents and
8
+ * the currently displayed notification (or `null` when nothing is mounted). Returning
9
+ * `displayed` (or any notification with the same id) means "no swap"; returning a
10
+ * different notification triggers a swap (immediate or after `minDisplayMs`, see the
11
+ * scheduling effect); returning `null` triggers the empty-slot exit.
12
+ *
13
+ * Default: `createDefaultPickNext(pickOldest)` — applies persistent-wins,
14
+ * same-type-refresh and FIFO queue rules from the design spec. Pass
15
+ * `pickNext={createDefaultPickNext(pickNewest)}` to swap FIFO for LIFO without
16
+ * reimplementing those rules, or your own `pickNext` to opt out entirely.
17
+ */
18
+ export type PickNextNotification = (notifications: Notification[], displayed: Notification | null) => Notification | null;
19
+ /**
20
+ * Picks the next queued notification when no higher-priority rule applies (persistent
21
+ * wins, same-type refresh). Used by `createDefaultPickNext`.
22
+ */
23
+ export type PickFromQueue = (notifications: Notification[], displayed: Notification | null) => Notification | null;
6
24
  export type NotificationListProps = {
7
25
  /** Optional class name for the list container */
8
26
  className?: string;
@@ -16,6 +34,20 @@ export type NotificationListProps = {
16
34
  * Use to declare which notifications this list consumes (e.g. by origin.emitter, origin.context.channelId, or metadata).
17
35
  */
18
36
  filter?: NotificationListFilter;
37
+ /**
38
+ * Minimum time in milliseconds the active notification stays visible before a queued one
39
+ * can replace it. Replacements scheduled while the dwell window is open wait until it has
40
+ * elapsed; arrivals after that window replace the active notification immediately.
41
+ * Same-type repeated triggers and external dismissals bypass this dwell.
42
+ * Defaults to 1000ms.
43
+ */
44
+ minDisplayMs?: number;
45
+ /**
46
+ * Override the candidate-selection policy. The function decides which notification
47
+ * should be displayed given the store and the currently displayed one. Defaults to
48
+ * `createDefaultPickNext(pickOldest)`. Pass `createDefaultPickNext(pickNewest)` for LIFO.
49
+ */
50
+ pickNext?: PickNextNotification;
19
51
  /** Panel target consumed by this list. */
20
52
  panel?: NotificationTargetPanel;
21
53
  /** Fallback panel when emitted notifications do not include origin.context.panel. */
@@ -23,5 +55,30 @@ export type NotificationListProps = {
23
55
  /** Vertical alignment of the single notification slot within its parent. Defaults to `bottom`. */
24
56
  verticalAlignment?: NotificationListVerticalAlignment;
25
57
  };
26
- export declare const NotificationList: ({ className, enterFrom, fallbackPanel, filter, panel, verticalAlignment, }: NotificationListProps) => import("react/jsx-runtime").JSX.Element | null;
58
+ /** FIFO queue selector oldest `createdAt` other than `displayed` wins. */
59
+ export declare const pickOldest: PickFromQueue;
60
+ /** LIFO queue selector — newest `createdAt` other than `displayed` wins. */
61
+ export declare const pickNewest: PickFromQueue;
62
+ /**
63
+ * Builds the default `PickNextNotification` selector with a configurable queue fallback.
64
+ * Encodes the snackbar concurrency rules from the design spec — the scheduling effect
65
+ * only decides *when* to swap, the returned function decides *what* to swap to.
66
+ *
67
+ * Rules, in order of precedence:
68
+ * 1. **Persistent wins.** Persistent variants (no `duration`) jump ahead of any
69
+ * queued transient because they carry an action the user must acknowledge.
70
+ * 2. **Persistent ↛ replaced by transient.** While a persistent is displayed it stays
71
+ * put until dismissed externally or a *newer* persistent arrives.
72
+ * 3. **Same-type refresh.** While a transient is displayed, a repeated trigger of the
73
+ * same `type` collapses to its latest occurrence. (The scheduling effect detects
74
+ * this via `haveSameType` and bypasses the dwell window so the refresh feels
75
+ * instant; this function just makes sure the latest same-type is returned.)
76
+ * 4. **Queue fallback.** Otherwise, `pickFromQueue` selects the next notification
77
+ * (default: `pickOldest` / FIFO).
78
+ *
79
+ * Exported so callers that want to layer behavior on top of the design rules can wrap
80
+ * the result instead of rewriting it.
81
+ */
82
+ export declare const createDefaultPickNext: (pickFromQueue?: PickFromQueue) => PickNextNotification;
83
+ export declare const NotificationList: ({ className, enterFrom, fallbackPanel, filter, minDisplayMs, panel, pickNext, verticalAlignment, }: NotificationListProps) => import("react/jsx-runtime").JSX.Element | null;
27
84
  //# sourceMappingURL=NotificationList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationList.d.ts","sourceRoot":"","sources":["../../../../src/components/Notifications/NotificationList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,MAAM,sBAAsB,GAAG,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO,CAAC;AAC7E,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAC5E,MAAM,MAAM,iCAAiC,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEjE,MAAM,MAAM,qBAAqB,GAAG;IAClC,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC;;;OAGG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC,qFAAqF;IACrF,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,kGAAkG;IAClG,iBAAiB,CAAC,EAAE,iCAAiC,CAAC;CACvD,CAAC;AAgCF,eAAO,MAAM,gBAAgB,+EAO1B,qBAAqB,mDA6KvB,CAAC"}
1
+ {"version":3,"file":"NotificationList.d.ts","sourceRoot":"","sources":["../../../../src/components/Notifications/NotificationList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,MAAM,sBAAsB,GAAG,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO,CAAC;AAC7E,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAC5E,MAAM,MAAM,iCAAiC,GAAG,QAAQ,GAAG,KAAK,CAAC;AACjE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,aAAa,EAAE,YAAY,EAAE,EAC7B,SAAS,EAAE,YAAY,GAAG,IAAI,KAC3B,YAAY,GAAG,IAAI,CAAC;AAEzB;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,aAAa,EAAE,YAAY,EAAE,EAC7B,SAAS,EAAE,YAAY,GAAG,IAAI,KAC3B,YAAY,GAAG,IAAI,CAAC;AAEzB,MAAM,MAAM,qBAAqB,GAAG;IAClC,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC;;;OAGG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC,qFAAqF;IACrF,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,kGAAkG;IAClG,iBAAiB,CAAC,EAAE,iCAAiC,CAAC;CACvD,CAAC;AAsCF,4EAA4E;AAC5E,eAAO,MAAM,UAAU,EAAE,aAUxB,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,UAAU,EAAE,aAUxB,CAAC;AAkCF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,qBAAqB,mBAChB,aAAa,KAAgB,oBAuC5C,CAAC;AAKJ,eAAO,MAAM,gBAAgB,uGAS1B,qBAAqB,mDAmUvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageReactionsDetail.d.ts","sourceRoot":"","sources":["../../../../src/components/Reactions/MessageReactionsDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAOzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElF,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAC/C,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,GAAG,qBAAqB,CAAC,CAC1E,GAAG;IACF,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,oBAAoB,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1C,4BAA4B,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3E,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,gBAAgB,CAAC,CAAC;CAC3E,GAAG,qBAAqB,CAAC;AAI1B,eAAO,MAAM,sCAAsC,+CAalD,CAAC;AAEF,UAAU,+BAA+B;IACvC,CAAC,KAAK,EAAE,2BAA2B,GAAG,KAAK,CAAC,SAAS,CAAC;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CACnD;AAED,eAAO,MAAM,sBAAsB,EAAE,+BAmNpC,CAAC"}
1
+ {"version":3,"file":"MessageReactionsDetail.d.ts","sourceRoot":"","sources":["../../../../src/components/Reactions/MessageReactionsDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAOzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElF,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAC/C,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,GAAG,qBAAqB,CAAC,CAC1E,GAAG;IACF,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,oBAAoB,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1C,4BAA4B,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3E,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,gBAAgB,CAAC,CAAC;CAC3E,GAAG,qBAAqB,CAAC;AAI1B,eAAO,MAAM,sCAAsC,+CAalD,CAAC;AAEF,UAAU,+BAA+B;IACvC,CAAC,KAAK,EAAE,2BAA2B,GAAG,KAAK,CAAC,SAAS,CAAC;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CACnD;AAED,eAAO,MAAM,sBAAsB,EAAE,+BAuNpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactionSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/Reactions/ReactionSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAWjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,qBAAqB,GAAG;IAClC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,CACf,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,iFAAiF;IACjF,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACpC,CAAC;AAEF,UAAU,yBAAyB;IACjC,CAAC,KAAK,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,CAAC;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,qBAAqB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClF;AAID,eAAO,MAAM,gBAAgB,EAAE,yBAkI9B,CAAC"}
1
+ {"version":3,"file":"ReactionSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/Reactions/ReactionSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAWjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,qBAAqB,GAAG;IAClC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,CACf,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,iFAAiF;IACjF,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACpC,CAAC;AAEF,UAAU,yBAAyB;IACjC,CAAC,KAAK,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,CAAC;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,qBAAqB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClF;AAID,eAAO,MAAM,gBAAgB,EAAE,yBA+H9B,CAAC"}
@@ -25,5 +25,6 @@ export type AdvancedReactionOptions = {
25
25
  export declare const emojiToUnicode: (emoji: string) => string;
26
26
  export declare const unicodeToEmoji: (unicode: string) => string;
27
27
  export declare const defaultReactionOptions: ReactionOptions;
28
+ export declare const getHasExtendedReactions: (reactionOptions: ReactionOptions) => boolean;
28
29
  export {};
29
30
  //# sourceMappingURL=reactionOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactionOptions.d.ts","sourceRoot":"","sources":["../../../../src/components/Reactions/reactionOptions.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,qBAAqB,GAAG,KAAK,CAAC;IACjC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,qBAAqB,GACrB;IACE,KAAK,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC;KACnC,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC;KACnC,CAAC;CACH,CAAC;AAEN,eAAO,MAAM,gBAAgB,kBAEZ,GAAG,KACjB,YAAY,QAAQ,eAAe,EAAE,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAwBzE,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,MAAM,WAS3C,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,MAAM,WAIjC,CAAC;AAEd,eAAO,MAAM,sBAAsB,EAAE,eA6BpC,CAAC"}
1
+ {"version":3,"file":"reactionOptions.d.ts","sourceRoot":"","sources":["../../../../src/components/Reactions/reactionOptions.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,qBAAqB,GAAG,KAAK,CAAC;IACjC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,qBAAqB,GACrB;IACE,KAAK,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC;KACnC,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC;KACnC,CAAC;CACH,CAAC;AAEN,eAAO,MAAM,gBAAgB,kBAEZ,GAAG,KACjB,YAAY,QAAQ,eAAe,EAAE,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAwBzE,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,MAAM,WAS3C,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,MAAM,WAIjC,CAAC;AAEd,eAAO,MAAM,sBAAsB,EAAE,eA6BpC,CAAC;AAEF,eAAO,MAAM,uBAAuB,oBAAqB,eAAe,YAGtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stream-chat-react",
3
- "version": "14.2.0",
3
+ "version": "14.3.0",
4
4
  "description": "React components to create chat conversations or livestream style chat",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "repository": {
@@ -103,7 +103,7 @@
103
103
  "emoji-mart": "^5.4.0",
104
104
  "react": "^19.0.0 || ^18.0.0 || ^17.0.0",
105
105
  "react-dom": "^19.0.0 || ^18.0.0 || ^17.0.0",
106
- "stream-chat": "^9.43.0",
106
+ "stream-chat": "^9.44.2",
107
107
  "modern-normalize": "^3.0.1"
108
108
  },
109
109
  "peerDependenciesMeta": {
@@ -174,7 +174,7 @@
174
174
  "react-dom": "^19.0.0",
175
175
  "sass": "^1.97.2",
176
176
  "semantic-release": "^25.0.3",
177
- "stream-chat": "^9.43.0",
177
+ "stream-chat": "^9.44.2",
178
178
  "typescript": "^5.4.5",
179
179
  "typescript-eslint": "^8.17.0",
180
180
  "vite": "^7.3.1",