@hexdspace/react 0.1.36 → 0.1.39

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +420 -6
  2. package/dist/index.js +1819 -113
  3. package/package.json +2 -1
package/dist/index.d.ts CHANGED
@@ -22,14 +22,14 @@ interface Notification {
22
22
  action?: NotificationAction;
23
23
  }
24
24
 
25
- interface NotificationListener {
26
- notify: (notification: Notification) => void;
27
- }
28
-
29
25
  interface SendNotification {
30
26
  execute(channel: string, notification: Notification): Promise<void>;
31
27
  }
32
28
 
29
+ interface NotificationListener {
30
+ notify: (notification: Notification) => void;
31
+ }
32
+
33
33
  type UnsubscribeHandler = () => void;
34
34
  interface Subscribe {
35
35
  execute(channel: string, observer: NotificationListener): Promise<UnsubscribeHandler>;
@@ -547,6 +547,419 @@ declare class DialogController {
547
547
  }
548
548
  declare const dialogController: DialogController;
549
549
 
550
+ type ScopeId = string;
551
+ type RegionId = string;
552
+ type ItemId = string;
553
+ type Mode = 'move' | 'select';
554
+ type CombineMode = 'union' | 'xor';
555
+ type RegionKey = Readonly<{
556
+ scopeId: ScopeId;
557
+ regionId: RegionId;
558
+ }>;
559
+ type CursorFallback = {
560
+ kind: 'none';
561
+ } | {
562
+ kind: 'first';
563
+ } | {
564
+ kind: 'last';
565
+ } | {
566
+ kind: 'nth';
567
+ idx: number;
568
+ } | {
569
+ kind: 'id';
570
+ id: ItemId;
571
+ } | {
572
+ kind: 'nearestTo';
573
+ id: ItemId;
574
+ } | {
575
+ kind: 'sameIndex';
576
+ };
577
+
578
+ interface RegionSelection {
579
+ cursor: ItemId | null;
580
+ toggled: Set<ItemId>;
581
+ selectAnchor: ItemId | null;
582
+ }
583
+
584
+ interface ScopeState {
585
+ activeRegion: RegionId | null;
586
+ mode: Mode;
587
+ regions: Record<RegionId, RegionSelection>;
588
+ }
589
+
590
+ interface SelectionState {
591
+ scopeStack: ScopeId[];
592
+ scopes: Record<ScopeId, ScopeState>;
593
+ items: Record<string, ItemId[]>;
594
+ }
595
+
596
+ type ClearTarget = {
597
+ kind: 'activeScope';
598
+ } | {
599
+ kind: 'scope';
600
+ scopeId: ScopeId;
601
+ } | {
602
+ kind: 'activeRegion';
603
+ } | {
604
+ kind: 'region';
605
+ key: RegionKey;
606
+ };
607
+ interface ClearSelectionArgs {
608
+ clearToggles?: boolean;
609
+ exitSelectMode?: boolean;
610
+ clearAnchor?: boolean;
611
+ }
612
+ interface RegisterRegionArgs {
613
+ key: RegionKey;
614
+ getRegionItems: () => ItemId[];
615
+ makeActive?: boolean;
616
+ initialCursor?: ItemId;
617
+ }
618
+ interface HandleSelection {
619
+ pushScope(scopeId: ScopeId): void;
620
+ popScope(): ScopeId | null;
621
+ setActiveScope(scopeId: ScopeId): void;
622
+ ensureScope(scopeId: ScopeId): void;
623
+ registerRegion(args: RegisterRegionArgs): (fallback?: CursorFallback) => void;
624
+ unregisterRegion(key: RegionKey): void;
625
+ setActiveRegion(key: RegionKey): void;
626
+ setCursor(key: RegionKey, itemId: ItemId | null): void;
627
+ moveCursor(key: RegionKey, delta: number): void;
628
+ enterSelectMode(key: RegionKey): void;
629
+ exitSelectMode(scopeId: ScopeId): void;
630
+ toggleItem(key: RegionKey, itemId?: ItemId | null): void;
631
+ clearSelection(target: ClearTarget, args?: ClearSelectionArgs): void;
632
+ }
633
+
634
+ interface QuerySelection {
635
+ getActiveScope(): ScopeId | null;
636
+ getActiveRegion(scopeId: ScopeId): RegionKey | null;
637
+ getMode(scopeId: ScopeId): Mode;
638
+ getCursor(key: RegionKey): ItemId | null;
639
+ isSelected(key: RegionKey, itemId: ItemId): boolean;
640
+ getSelectedIds(key: RegionKey): readonly ItemId[];
641
+ getToggledIds(key: RegionKey): readonly ItemId[];
642
+ getRangeIds(key: RegionKey): readonly ItemId[];
643
+ }
644
+
645
+ interface SelectionStore {
646
+ get(): SelectionState;
647
+ set(next: SelectionState): void;
648
+ }
649
+
650
+ declare class SelectionController {
651
+ private readonly handleSelection;
652
+ private readonly querySelection;
653
+ private readonly selectionStore;
654
+ private readonly subscribeFn;
655
+ private version;
656
+ constructor(deps: SelectionControllerDeps);
657
+ registerRegion(args: RegisterRegionArgs): (fallback?: CursorFallback) => void;
658
+ pushScope(scopeId: ScopeId): void;
659
+ popScope(): ScopeId | null;
660
+ setActiveScope(scopeId: ScopeId): void;
661
+ ensureScope(scopeId: ScopeId): void;
662
+ unregisterRegion(key: RegionKey): void;
663
+ setActiveRegion(key: RegionKey): void;
664
+ setCursor(key: RegionKey, itemId: ItemId | null): void;
665
+ moveCursor(key: RegionKey, delta: number): void;
666
+ enterSelectMode(key: RegionKey): void;
667
+ exitSelectMode(scopeId: ScopeId): void;
668
+ toggleItem(key: RegionKey, itemId?: ItemId | null): void;
669
+ clearSelection(target: ClearTarget, args?: ClearSelectionArgs): void;
670
+ getActiveScope(): ScopeId | null;
671
+ getActiveRegion(scopeId: ScopeId): RegionKey | null;
672
+ getActiveItem(key?: RegionKey): ItemId | null;
673
+ getItems(key?: RegionKey): readonly ItemId[];
674
+ getSelectedIds(key?: RegionKey): readonly ItemId[];
675
+ getToggledIds(key?: RegionKey): readonly ItemId[];
676
+ getRangeIds(key?: RegionKey): readonly ItemId[];
677
+ isSelected(key: RegionKey, itemId: ItemId): boolean;
678
+ getMode(scopeId: ScopeId): Mode;
679
+ getQuery(): QuerySelection;
680
+ getStore(): SelectionStore;
681
+ getHandle(): HandleSelection;
682
+ subscribe(listener: () => void): () => void;
683
+ getVersion(): number;
684
+ private resolveKey;
685
+ }
686
+ type SelectionControllerDeps = {
687
+ handleSelection: HandleSelection;
688
+ querySelection: QuerySelection;
689
+ selectionStore: SelectionStore;
690
+ };
691
+ declare const createSelectionController: (overrides?: Partial<SelectionControllerDeps>) => SelectionController;
692
+
693
+ declare class InMemorySelectionStore implements SelectionStore {
694
+ private state;
695
+ constructor(state?: SelectionState);
696
+ get(): SelectionState;
697
+ set(next: SelectionState): void;
698
+ }
699
+
700
+ type SelectionControllerProviderProps = {
701
+ readonly children: React__default.ReactNode;
702
+ readonly controller: SelectionController;
703
+ };
704
+ declare function SelectionControllerProvider({ children, controller }: SelectionControllerProviderProps): react_jsx_runtime.JSX.Element;
705
+ declare function useSelectionController(): SelectionController;
706
+
707
+ type ShortcutHandler = (e: KeyboardEvent) => void;
708
+
709
+ interface ShortcutBinding {
710
+ combos: string[];
711
+ handler: ShortcutHandler;
712
+ description: string;
713
+ group?: string;
714
+ }
715
+
716
+ interface ShortcutRegistration {
717
+ id: string;
718
+ scopeId: string;
719
+ bindings: ShortcutBinding[];
720
+ ignoreTyping?: boolean;
721
+ preventDefault?: boolean;
722
+ }
723
+
724
+ interface ShortcutScope {
725
+ id: string;
726
+ enabled: boolean;
727
+ priority: number;
728
+ exclusive?: boolean;
729
+ refCount: number;
730
+ }
731
+
732
+ declare class ScopeManager {
733
+ private scopes;
734
+ define(id: string, priority: number, exclusive?: boolean): void;
735
+ enable(id: string): void;
736
+ disable(id: string): void;
737
+ isAnyExclusiveActiveAbove(priority: number): boolean;
738
+ isScopeActive(id: string): boolean;
739
+ getState(id: string): ShortcutScope | null;
740
+ }
741
+
742
+ interface EnableScope {
743
+ enableScope(id: string): void;
744
+ }
745
+
746
+ interface DisableScope {
747
+ disableScope(id: string): void;
748
+ }
749
+
750
+ interface ListedShortcut {
751
+ registrationId: string;
752
+ scopeId: string;
753
+ combos: string[];
754
+ description: string;
755
+ group?: string;
756
+ }
757
+ type GroupedShortcuts = Record<string, ListedShortcut[]>;
758
+
759
+ interface ListShortcuts {
760
+ listShortcutsByScope(): GroupedShortcuts;
761
+ }
762
+
763
+ interface RegisterShortcut {
764
+ registerShortcut(reg: Omit<ShortcutRegistration, 'id'>): string;
765
+ }
766
+
767
+ interface UnregisterShortcut {
768
+ unregisterShortcut(id: string): void;
769
+ }
770
+
771
+ declare class EnableScopeUseCase implements EnableScope {
772
+ private readonly scopes;
773
+ constructor(scopes: ScopeManager);
774
+ enableScope(id: string): void;
775
+ }
776
+
777
+ declare class DisableScopeUseCase implements DisableScope {
778
+ private readonly scopes;
779
+ constructor(scopes: ScopeManager);
780
+ disableScope(id: string): void;
781
+ }
782
+
783
+ interface ShortcutRegistry {
784
+ addMany(items: ListedShortcut[]): void;
785
+ removeByRegistration(registrationId: string): void;
786
+ snapshotGroupedByScope(): GroupedShortcuts;
787
+ }
788
+
789
+ declare class ListShortcutsUseCase implements ListShortcuts {
790
+ private readonly registry;
791
+ constructor(registry: ShortcutRegistry);
792
+ listShortcutsByScope(): GroupedShortcuts;
793
+ }
794
+
795
+ interface HotkeyEngineHandle {
796
+ dispose(): void;
797
+ }
798
+ interface HotkeyEngine {
799
+ register(bindings: ShortcutBinding[], opts: {
800
+ guard?: (e: KeyboardEvent) => boolean;
801
+ preventDefault?: boolean;
802
+ target?: Window | HTMLElement;
803
+ }): HotkeyEngineHandle;
804
+ }
805
+
806
+ declare class RegisterShortcutUseCase implements RegisterShortcut {
807
+ private readonly engine;
808
+ private readonly scopes;
809
+ private readonly registry;
810
+ private store;
811
+ constructor(engine: HotkeyEngine, scopes: ScopeManager, registry: ShortcutRegistry);
812
+ registerShortcut(regInput: Omit<ShortcutRegistration, 'id'>): string;
813
+ unregister(id: string): void;
814
+ }
815
+
816
+ declare class UnregisterShortcutUseCase implements UnregisterShortcut {
817
+ private readonly registry;
818
+ constructor(registry: RegisterShortcutUseCase);
819
+ unregisterShortcut(id: string): void;
820
+ }
821
+
822
+ declare class KeyboardController {
823
+ private readonly scopes;
824
+ private readonly register;
825
+ private readonly unregister;
826
+ private readonly enableScope;
827
+ private readonly disableScope;
828
+ private readonly listShortcuts;
829
+ constructor(scopes: ScopeManager, register: RegisterShortcut, unregister: UnregisterShortcut, enableScope: EnableScope, disableScope: DisableScope, listShortcuts: ListShortcutsUseCase, config?: {
830
+ predefinedScopes?: Array<{
831
+ id: string;
832
+ priority: number;
833
+ exclusive?: boolean;
834
+ enabled?: boolean;
835
+ }>;
836
+ });
837
+ handleDefineScope(id: string, priority: number, exclusive?: boolean): void;
838
+ handleEnableScope(id: string): void;
839
+ handleDisableScope(id: string): void;
840
+ handleRegisterShortcut(params: Omit<ShortcutRegistration, 'id'>): string;
841
+ handleUnregisterShortcut(id: string): void;
842
+ handleListShortcutsByScope(): GroupedShortcuts;
843
+ }
844
+
845
+ declare const KeyboardProvider: React__default.FC<{
846
+ children: React__default.ReactNode;
847
+ }>;
848
+ declare function useKeyboardController(): KeyboardController;
849
+
850
+ declare function useShortcut(scopeId: string, bindings: ShortcutBinding[], opts?: {
851
+ ignoreTyping?: boolean;
852
+ preventDefault?: boolean;
853
+ }): void;
854
+
855
+ declare function useShortcutScope(scopeId: string, enabled?: boolean): void;
856
+
857
+ type VimDirection = 'up' | 'down' | 'left' | 'right';
858
+ type VimInterDirection = 'left' | 'right';
859
+ type VimPending = null | 'g';
860
+ interface VimKeyState {
861
+ count: string;
862
+ pending: VimPending;
863
+ }
864
+
865
+ interface VimRegionMeta {
866
+ key: RegionKey;
867
+ orderIndex: number;
868
+ intra: ReadonlySet<VimDirection>;
869
+ inter: ReadonlySet<VimInterDirection>;
870
+ focusContainer?: () => void;
871
+ scrollToCursor?: () => void;
872
+ focusOnCursorChange?: boolean;
873
+ enterCursorFallback?: CursorFallback;
874
+ }
875
+
876
+ declare class VimRegionRegistry {
877
+ private readonly byScope;
878
+ register(meta: VimRegionMeta): void;
879
+ unregister(key: RegionKey): void;
880
+ get(key: RegionKey): VimRegionMeta | null;
881
+ list(scopeId: ScopeId): VimRegionMeta[];
882
+ neighbor(scopeId: ScopeId, current: RegionKey, dir: VimInterDirection, count: number): RegionKey | null;
883
+ }
884
+
885
+ declare class VimHandleKeyUseCase {
886
+ private readonly selection;
887
+ private readonly query;
888
+ private readonly getItems;
889
+ private readonly regions;
890
+ private readonly stateByScope;
891
+ constructor(selection: HandleSelection, query: QuerySelection, getItems: (key: RegionKey) => readonly ItemId[], regions: VimRegionRegistry);
892
+ reset(scopeId?: ScopeId): void;
893
+ handleChar(char: string, e: KeyboardEvent): void;
894
+ handleEscape(e: KeyboardEvent): void;
895
+ private applyDirectional;
896
+ private goToLast;
897
+ private goToIndex;
898
+ private afterRegionChange;
899
+ private afterCursorChange;
900
+ private applyFallbackCursor;
901
+ private getCursorIndex;
902
+ private resolveInterRegionFallback;
903
+ }
904
+
905
+ declare class VimController {
906
+ private readonly regions;
907
+ private readonly handleKey;
908
+ private readonly selection;
909
+ constructor(selection: SelectionController, regions?: VimRegionRegistry, handleKey?: VimHandleKeyUseCase);
910
+ handleRegisterRegionMeta(meta: VimRegionMeta): void;
911
+ handleUnregisterRegionMeta(key: RegionKey): void;
912
+ handleCharKey(char: string, e: KeyboardEvent): void;
913
+ handleEscape(e: KeyboardEvent): void;
914
+ resetActiveScope(): void;
915
+ getSelection(): SelectionController;
916
+ }
917
+ type VimControllerDeps = {
918
+ selection: SelectionController;
919
+ regions: VimRegionRegistry;
920
+ handleKey: VimHandleKeyUseCase;
921
+ };
922
+ declare const createVimController: (overrides?: Partial<VimControllerDeps>) => VimController;
923
+
924
+ type VimControllerProviderProps = {
925
+ readonly children: React__default.ReactNode;
926
+ readonly controller: VimController;
927
+ };
928
+ declare function VimControllerProvider({ children, controller }: VimControllerProviderProps): react_jsx_runtime.JSX.Element;
929
+ declare function useVimController(): VimController;
930
+
931
+ type VimBindingOptions = {
932
+ enabled?: boolean;
933
+ };
934
+ declare function useVimBindings(keyboardScopeId: string, options?: VimBindingOptions): void;
935
+
936
+ type UseVimRegionArgs = {
937
+ key: RegionKey;
938
+ orderIndex: number;
939
+ getRegionItems: () => ItemId[];
940
+ makeActive?: boolean;
941
+ initialCursor?: ItemId;
942
+ intra?: readonly VimDirection[];
943
+ inter?: readonly VimInterDirection[];
944
+ enterCursorFallback?: CursorFallback;
945
+ itemDataAttr?: string;
946
+ focusOnCursorChange?: boolean;
947
+ keyboardScopeId?: string;
948
+ bindKeys?: boolean;
949
+ refreshDeps?: React__default.DependencyList;
950
+ };
951
+ type UseVimRegionResult = {
952
+ getItemProps: (itemId: ItemId) => React__default.HTMLAttributes<HTMLElement>;
953
+ refresh: (fallback?: CursorFallback) => void;
954
+ activeId: ItemId | null;
955
+ selectedIds: readonly ItemId[];
956
+ rangeIds: readonly ItemId[];
957
+ toggledIds: readonly ItemId[];
958
+ mode: 'move' | 'select';
959
+ isSelected: (itemId: ItemId) => boolean;
960
+ };
961
+ declare function useVimRegion(containerRef: React__default.RefObject<HTMLElement | null>, args: UseVimRegionArgs): UseVimRegionResult;
962
+
550
963
  declare const dialogSurfaceVariants: (props?: ({
551
964
  chrome?: "flat" | "glass" | "glow" | "hairline" | null | undefined;
552
965
  } & class_variance_authority_types.ClassProp) | undefined) => string;
@@ -687,6 +1100,7 @@ interface DropdownMenuProps extends VariantProps<typeof dropdownMenuContentVaria
687
1100
  children: React.ReactNode;
688
1101
  open?: boolean;
689
1102
  defaultOpen?: boolean;
1103
+ keepMounted?: boolean;
690
1104
  onOpenChange?: (open: boolean) => void;
691
1105
  hoverOpen?: boolean;
692
1106
  hoverCloseDelayMs?: number;
@@ -703,7 +1117,7 @@ interface DropdownMenuProps extends VariantProps<typeof dropdownMenuContentVaria
703
1117
  style?: React.CSSProperties;
704
1118
  contentProps?: DropdownMenuContentProps;
705
1119
  }
706
- declare function DropdownMenu({ trigger, children, open, defaultOpen, onOpenChange, hoverOpen, hoverCloseDelayMs, modal, side, align, sideOffset, alignOffset, collisionPadding, portalContainer, ariaLabel, ariaLabelledBy, chrome, orientation, className, style, contentProps, }: DropdownMenuProps): react_jsx_runtime.JSX.Element;
1120
+ declare function DropdownMenu({ trigger, children, open, defaultOpen, keepMounted, onOpenChange, hoverOpen, hoverCloseDelayMs, modal, side, align, sideOffset, alignOffset, collisionPadding, portalContainer, ariaLabel, ariaLabelledBy, chrome, orientation, className, style, contentProps, }: DropdownMenuProps): react_jsx_runtime.JSX.Element;
707
1121
  interface DropdownMenuItemProps extends React.ComponentPropsWithoutRef<typeof DropdownMenu$1.Item>, Omit<VariantProps<typeof dropdownMenuItemVariants>, 'orientation'> {
708
1122
  }
709
1123
  declare const DropdownMenuItem: React.ForwardRefExoticComponent<DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>>;
@@ -716,4 +1130,4 @@ interface KbdProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<t
716
1130
  }
717
1131
  declare const Kbd: React.ForwardRefExoticComponent<KbdProps & React.RefAttributes<HTMLSpanElement>>;
718
1132
 
719
- export { AuthController, AuthControllerCtx, type AuthControllerDeps, AuthControllerProvider, AuthDispatchCtx, AuthProvider, type AuthState, AuthStateCtx, Button, type ButtonProps, type CacheInstruction, ConfirmDialog, type ConfirmDialogProps, type ConfirmPayload, CustomDialog, type CustomDialogPayload, type CustomDialogProps, type CustomInstruction, DEFAULT_NOTIFICATION_CHANNEL, type DefaultDialogPayloads, type DefaultDialogTemplateKey, DefaultDialogTemplateKeys, Dialog, DialogContent, DialogController, DialogHost, type DialogInstance, type DialogOptions, type DialogProps, type DialogTemplate, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuProps, DropdownMenuSeparator, type ErrorResponse, Field, type FieldProps, type GenericResponse, type HttpClient, HttpError, type HttpMethod, type HttpResponse, InfoDialog, type InfoDialogProps, type InfoPayload, Input, type InputProps, type Instruction, type InstructionContext, Kbd, type KbdProps, MockAuthHttpClient, MockHttpClient, type MutationFn, type Notification, type NotificationAction, NotificationHost, type NotificationInstruction, type NotificationVariant, NotifierController, type OnSuccessFn, type OptimisticSnapshot, type OptimisticUpdateFn, Popover, type PopoverProps, RedirectIfAuthed, type RedirectIfAuthedProps, type RequestConfig, RequireAuth, type RequireAuthProps, type ResolvedToastTheme, type ResponsiveMutation, Skeleton, type SkeletonProps, Textarea, type TextareaProps, type ToastActionTheme, type ToastTheme, type ToastTransition, type ToastifyCSSVars, Tooltip, type UIFail, type UIOk, type UIResult, type User, authController, controllerFactory, createAuthController, dialogController, httpClient as fetchHttpClient, getDialogTemplate, notifierController, registerDefaultDialogs, registerDialogTemplate, resolveToastTheme, ui, unregisterDialogTemplate, useAuth, useAuthActions, useAuthController, useAuthDispatch, useAuthedUser, useDialog, useResponsiveMutation };
1133
+ export { AuthController, AuthControllerCtx, type AuthControllerDeps, AuthControllerProvider, AuthDispatchCtx, AuthProvider, type AuthState, AuthStateCtx, Button, type ButtonProps, type CacheInstruction, type ClearSelectionArgs, type ClearTarget, type CombineMode, ConfirmDialog, type ConfirmDialogProps, type ConfirmPayload, type CursorFallback, CustomDialog, type CustomDialogPayload, type CustomDialogProps, type CustomInstruction, DEFAULT_NOTIFICATION_CHANNEL, type DefaultDialogPayloads, type DefaultDialogTemplateKey, DefaultDialogTemplateKeys, Dialog, DialogContent, DialogController, DialogHost, type DialogInstance, type DialogOptions, type DialogProps, type DialogTemplate, type DisableScope, DisableScopeUseCase, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuProps, DropdownMenuSeparator, type EnableScope, EnableScopeUseCase, type ErrorResponse, Field, type FieldProps, type GenericResponse, type HandleSelection, type HttpClient, HttpError, type HttpMethod, type HttpResponse, InMemorySelectionStore, InfoDialog, type InfoDialogProps, type InfoPayload, Input, type InputProps, type Instruction, type InstructionContext, type ItemId, Kbd, type KbdProps, KeyboardProvider, type ListShortcuts, ListShortcutsUseCase, MockAuthHttpClient, MockHttpClient, type Mode, type MutationFn, type Notification, type NotificationAction, NotificationHost, type NotificationInstruction, type NotificationVariant, NotifierController, type OnSuccessFn, type OptimisticSnapshot, type OptimisticUpdateFn, Popover, type PopoverProps, type QuerySelection, RedirectIfAuthed, type RedirectIfAuthedProps, type RegionId, type RegionKey, type RegionSelection, type RegisterRegionArgs, type RegisterShortcut, RegisterShortcutUseCase, type RequestConfig, RequireAuth, type RequireAuthProps, type ResolvedToastTheme, type ResponsiveMutation, type ScopeId, ScopeManager, type ScopeState, SelectionController, type SelectionControllerDeps, SelectionControllerProvider, type SelectionState, type SelectionStore, type ShortcutBinding, type ShortcutHandler, type ShortcutRegistration, type ShortcutScope, Skeleton, type SkeletonProps, Textarea, type TextareaProps, type ToastActionTheme, type ToastTheme, type ToastTransition, type ToastifyCSSVars, Tooltip, type UIFail, type UIOk, type UIResult, type UnregisterShortcut, UnregisterShortcutUseCase, type UseVimRegionArgs, type UseVimRegionResult, type User, VimController, type VimControllerDeps, VimControllerProvider, type VimDirection, type VimInterDirection, type VimKeyState, type VimPending, type VimRegionMeta, VimRegionRegistry, authController, controllerFactory, createAuthController, createSelectionController, createVimController, dialogController, httpClient as fetchHttpClient, getDialogTemplate, notifierController, registerDefaultDialogs, registerDialogTemplate, resolveToastTheme, ui, unregisterDialogTemplate, useAuth, useAuthActions, useAuthController, useAuthDispatch, useAuthedUser, useDialog, useKeyboardController, useResponsiveMutation, useSelectionController, useShortcut, useShortcutScope, useVimBindings, useVimController, useVimRegion };