@nivaro/react 0.2.0 → 0.2.2

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/index.d.ts CHANGED
@@ -813,11 +813,14 @@ declare interface ChatReaction {
813
813
  user_name: string | null;
814
814
  }
815
815
 
816
- export declare function ChatRoomList({ rooms, onOpen, onNewGroup }: {
816
+ export declare function ChatRoomList({ rooms, onOpen, onNewGroup, archivedView, loading }: {
817
817
  rooms: RoomInfo[];
818
818
  onOpen: (room: RoomInfo) => void;
819
819
  /** Opens the group-conversation composer (host renders the dialog). */
820
820
  onNewGroup?: () => void;
821
+ /** The Archived tab: no assistant entry, rows offer Unarchive. */
822
+ archivedView?: boolean;
823
+ loading?: boolean;
821
824
  }): JSX.Element;
822
825
 
823
826
  export declare function ChatRoomView({ room, label, onBack, onOpenSettings, renderMessageBody, initialUnread }: {
@@ -1223,7 +1226,7 @@ export declare function CustomStatusEditor({ status, invalidate, theme, showExpi
1223
1226
  className?: string;
1224
1227
  }): JSX.Element;
1225
1228
 
1226
- export declare function DataTable<T = Record<string, unknown>>({ columns, rows, rowKey, total, page, limit, isLoading, isError, errorMessage, sort, onSortChange, onPageChange, onRowClick, onRowContextMenu, searchValue, onSearchChange, searchPlaceholder, filterDefs, filterValues, onFilterChange, toolbarRight, emptyMessage, minBodyHeight, fillHeight, hideFilterRow, nowrapCells, density, pinFirstColumn, columnPins, onColumnPinChange, columnFilterRow, hScrollProxy, selectedIds, onSelectionChange, rowClassName, enterKey, rowGroups, collapsedGroups, onToggleGroup }: DataTableProps<T>): React_2.JSX.Element;
1229
+ export declare function DataTable<T = Record<string, unknown>>({ columns, rows, rowKey, total, page, limit, isLoading, isError, errorMessage, sort, onSortChange, onPageChange, onRowClick, onRowContextMenu, searchValue, onSearchChange, searchPlaceholder, filterDefs, filterValues, onFilterChange, toolbarRight, emptyMessage, minBodyHeight, fillHeight, footer, hideFilterRow, nowrapCells, density, pinFirstColumn, columnPins, onColumnPinChange, columnFilterRow, hScrollProxy, selectedIds, onSelectionChange, rowClassName, enterKey, rowGroups, collapsedGroups, onToggleGroup }: DataTableProps<T>): React_2.JSX.Element;
1227
1230
 
1228
1231
  export declare interface DataTableProps<T = Record<string, unknown>> {
1229
1232
  columns: Column<T>[];
@@ -1284,6 +1287,9 @@ export declare interface DataTableProps<T = Record<string, unknown>> {
1284
1287
  * instead of sitting below a page-tall table. Parent must give the card a
1285
1288
  * definite height (flex chain with min-h-0). */
1286
1289
  fillHeight?: boolean;
1290
+ /** Rendered inside the card, under the rows and the scroll proxy, above
1291
+ * pagination — e.g. the row-colour legend (CollectionBrowserView parity). */
1292
+ footer?: React_2.ReactNode;
1287
1293
  selectedIds?: string[];
1288
1294
  onSelectionChange?: (ids: string[]) => void;
1289
1295
  /** Optional per-row class — e.g. at-risk background tinting. */
@@ -1925,9 +1931,11 @@ export declare interface FilterDef {
1925
1931
  /** Defaults to 'select' — every existing FilterDef without this field keeps its current dropdown behavior unchanged. */
1926
1932
  type?: 'select' | 'text' | 'range' | 'combobox' | 'date' | 'number';
1927
1933
  /** Required when type is 'select' or omitted; static options for 'combobox'; ignored for 'text'/'range'. */
1934
+ /** `count` (optional) shows beside the option in facet dropdowns. */
1928
1935
  options?: {
1929
1936
  label: string;
1930
1937
  value: string;
1938
+ count?: number;
1931
1939
  }[];
1932
1940
  /** 'combobox' only: server-backed autocomplete. Called (debounced) with the search
1933
1941
  * text; overrides `options` when provided. */
@@ -5051,12 +5059,17 @@ export declare interface QueueRealtimeAdapter {
5051
5059
  subscribe: (collections: string[], onUpdate: () => void) => () => void;
5052
5060
  }
5053
5061
 
5054
- export declare function QueueWorklist({ queueId, realtime, renderError }: QueueWorklistProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | ReactPortal | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | JSX.Element | null;
5062
+ export declare function QueueWorklist({ queueId, realtime, renderError, hideCreateActions }: QueueWorklistProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | ReactPortal | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | JSX.Element | null;
5055
5063
 
5056
5064
  export declare interface QueueWorklistProps {
5057
5065
  queueId: string;
5058
5066
  realtime?: QueueRealtimeAdapter;
5059
5067
  renderError?: (status: number) => React.ReactNode;
5068
+ /** Hide the toolbar's New and Import-from-file buttons — for hosts whose
5069
+ * own header already offers them (efp-new's New menu). `true` hides them
5070
+ * everywhere; a list hides them only when every collection the queue can
5071
+ * create in is on it (the header covers those, not the rest). */
5072
+ hideCreateActions?: boolean | string[];
5060
5073
  }
5061
5074
 
5062
5075
  export declare function QueueWorkloadView({ queueId }: {
@@ -5628,6 +5641,8 @@ export declare interface RoomInfo {
5628
5641
  notify_mode: 'all' | 'mentions';
5629
5642
  joined: boolean;
5630
5643
  channel: ChannelMeta | null;
5644
+ /** Put away by this person — lives in the Archived tab, never alerts. */
5645
+ archived?: boolean;
5631
5646
  }
5632
5647
 
5633
5648
  /**
@@ -6533,6 +6548,14 @@ export declare type UseNivaroFormReturn = {
6533
6548
  gridFlushersRef: default_2.MutableRefObject<Map<string, () => Promise<void>>>;
6534
6549
  };
6535
6550
 
6551
+ /**
6552
+ * The person's own sound preference — `preferences.notification_sound`
6553
+ * ('off' | 'subtle' | 'chime'), the same setting the notification bell plays.
6554
+ * Shares the profile card's query key and shape, so changing it there applies
6555
+ * to chat at once. Unset reads as off, which is what the profile shows.
6556
+ */
6557
+ export declare function useNotificationSoundPreference(): string;
6558
+
6536
6559
  /**
6537
6560
  * Online-user set for presence dots in user pickers (#284); consumers get a
6538
6561
  * Set of upper-cased user ids. Shares the chat's ['presence-online'] entry —
@@ -6542,6 +6565,8 @@ export declare type UseNivaroFormReturn = {
6542
6565
  */
6543
6566
  export declare function useOnlineUsers(enabled?: boolean): Set<string>;
6544
6567
 
6568
+ export declare function useOpenRoomRegistration(room: string | null | undefined): void;
6569
+
6545
6570
  export declare function useOptionalNivaroClient(): NivaroClient | null;
6546
6571
 
6547
6572
  export declare function useOptionalRealtime(): RealtimeAdapter | null;
@@ -6656,6 +6681,10 @@ export declare function useRoomMembership(): {
6656
6681
  room: string;
6657
6682
  mode: "all" | "mentions";
6658
6683
  }, unknown>;
6684
+ setArchived: UseMutationResult<unknown, Error, {
6685
+ room: string;
6686
+ archived: boolean;
6687
+ }, unknown>;
6659
6688
  };
6660
6689
 
6661
6690
  export declare function useRoomPins(room: string | null): NoInfer<PinnedMessage[]>;