@nivaro/react 0.1.134 → 0.1.136

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
@@ -326,6 +326,12 @@ declare type CascadeRule = {
326
326
 
327
327
  export declare function CellCopyLayer(): ReactPortal | null;
328
328
 
329
+ declare interface CellFilterLite {
330
+ field: string;
331
+ value: unknown;
332
+ id_value?: number | null;
333
+ }
334
+
329
335
  declare interface ChannelMember {
330
336
  user: string;
331
337
  first_name: string | null;
@@ -3007,6 +3013,16 @@ declare interface QuickFilterDef {
3007
3013
  sort?: string;
3008
3014
  }
3009
3015
 
3016
+ /**
3017
+ * Tier a team against a cell's filter values. `out` carries the human
3018
+ * mismatches ("doesn't cover BLT"). Filters without a resolvable id don't
3019
+ * participate — guessing on display strings would misrank.
3020
+ */
3021
+ export declare function rankTeamForFilters(scopes: TeamScopeMap | undefined, filters: CellFilterLite[], dims: ScopeDimensionLite[], boundCollection: string | null): {
3022
+ tier: TeamTier;
3023
+ mismatches: string[];
3024
+ };
3025
+
3010
3026
  /** The reaction palette — mirrored server-side; anything else is rejected. */
3011
3027
  export declare const REACTION_EMOJI: readonly ["👍", "✅", "👀", "🎉", "❤️", "😂"];
3012
3028
 
@@ -3478,6 +3494,13 @@ export declare function rumRouteChange(pathname: string): void;
3478
3494
  /** Convenience: run a resolved target (navigate or open the chat room). */
3479
3495
  export declare function runNotificationTarget(target: NotificationTarget, navigate: (path: string) => void): boolean;
3480
3496
 
3497
+ declare interface ScopeDimensionLite {
3498
+ name: string;
3499
+ label: string;
3500
+ target_collection: string;
3501
+ display_field?: string | null;
3502
+ }
3503
+
3481
3504
  export declare type SectionState = {
3482
3505
  isCollapsed: (key: string) => boolean;
3483
3506
  toggle: (key: string) => void;
@@ -3631,6 +3654,23 @@ export declare function TaskPanel({ collection, item, title, defaultExpanded, qu
3631
3654
  onQueueTask?: (task: PendingTask) => void;
3632
3655
  }): JSX.Element | null;
3633
3656
 
3657
+ export declare function TeamScopeEditor({ teamId, scopes, onSaved }: {
3658
+ teamId: number;
3659
+ /** The team's saved scopes ({dimension: ids[]}). */
3660
+ scopes: TeamScopeMap;
3661
+ onSaved?: (next: TeamScopeMap) => void;
3662
+ }): JSX.Element | null;
3663
+
3664
+ /**
3665
+ * Scoped teams — ranking helpers. A team's scopes are per-dimension target-id
3666
+ * allowances (dimensions AND together, values OR within one, missing
3667
+ * dimension = unrestricted). Everything here is ADVISORY: it orders pickers
3668
+ * and paints hints, it never gates an assignment.
3669
+ */
3670
+ declare type TeamScopeMap = Record<string, Array<string | number>>;
3671
+
3672
+ declare type TeamTier = 'suggested' | 'unscoped' | 'out';
3673
+
3634
3674
  export declare function TextareaField({ field, value, onChange, error, disabled, readOnly, inputId, errorId }: FieldComponentProps): JSX.Element;
3635
3675
 
3636
3676
  export declare function TextField({ field, value, onChange, error, disabled, readOnly, inputId, errorId }: FieldComponentProps): JSX.Element;
@@ -4051,6 +4091,8 @@ export declare function UserRosterCluster({ users, showSingleName }: {
4051
4091
  showSingleName?: boolean;
4052
4092
  }): React_2.JSX.Element;
4053
4093
 
4094
+ export declare function useScopeDimensions(): ScopeDimensionLite[];
4095
+
4054
4096
  export declare function useSectionState(form: UseNivaroFormReturn, defaultCollapsed?: string[]): SectionState;
4055
4097
 
4056
4098
  export declare function useSendChatMessage(room: string): UseMutationResult<void, Error, string | {