@komensal/ui 0.2.2 → 0.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.
package/dist/index.d.ts CHANGED
@@ -10,6 +10,9 @@ import * as LabelPrimitive from '@radix-ui/react-label';
10
10
  import { OTPInput } from 'input-otp';
11
11
  import * as PopoverPrimitive from '@radix-ui/react-popover';
12
12
  import * as SelectPrimitive from '@radix-ui/react-select';
13
+ import { $NormalizeIntoArray } from './typescript/helpers.js';
14
+ import { DefaultNamespace, FlatNamespace, InitOptions, InterpolationOptions, Resource, FormatFunction, ResourceKey, ResourceLanguage, TOptions, Namespace, TypeOptions } from './typescript/options.js';
15
+ import { TFunction, SelectorKey, KeyPrefixSelector, KeyPrefix } from './typescript/t.js';
13
16
  import { ClassValue } from 'clsx';
14
17
 
15
18
  interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
@@ -130,6 +133,7 @@ declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitiv
130
133
  isAbsolute?: boolean;
131
134
  } & React.RefAttributes<HTMLDivElement>>;
132
135
  interface DialogContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {
136
+ closeLabel?: string;
133
137
  container?: HTMLElement | null;
134
138
  isAbsolute?: boolean;
135
139
  isCloseIcon?: boolean;
@@ -170,8 +174,10 @@ declare const FormDescription: React.ForwardRefExoticComponent<React.HTMLAttribu
170
174
  declare const FormMessage: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
171
175
 
172
176
  interface InputFieldProps<T extends FieldValues = FieldValues> {
177
+ clearLabel?: string;
173
178
  control: Control<T>;
174
179
  disabled?: boolean;
180
+ hidePasswordLabel?: string;
175
181
  inputClassName?: string;
176
182
  isClearable?: boolean;
177
183
  label?: string;
@@ -180,10 +186,11 @@ interface InputFieldProps<T extends FieldValues = FieldValues> {
180
186
  name: Path<T>;
181
187
  onClear?: () => void;
182
188
  placeholder?: string;
189
+ showPasswordLabel?: string;
183
190
  type?: string;
184
191
  visualRequired?: boolean;
185
192
  }
186
- declare const InputField: <T extends FieldValues = FieldValues>({ control, disabled, inputClassName, isClearable, label, labelClassName, mainClassName, name, onClear, placeholder, type, visualRequired }: InputFieldProps<T>) => React.JSX.Element;
193
+ declare const InputField: <T extends FieldValues = FieldValues>({ clearLabel, control, disabled, hidePasswordLabel, inputClassName, isClearable, label, labelClassName, mainClassName, name, onClear, placeholder, showPasswordLabel, type, visualRequired }: InputFieldProps<T>) => React.JSX.Element;
187
194
 
188
195
  interface LabelFieldProps {
189
196
  label?: string;
@@ -312,6 +319,8 @@ interface SelectInputProps<Label extends string, Value extends string> {
312
319
  labelKey?: string;
313
320
  leftIcon?: JSX.Element;
314
321
  loading?: boolean;
322
+ loadingLabel?: string;
323
+ noResultsLabel?: string;
315
324
  onBlur?: Noop;
316
325
  onChange?: (...event: unknown[]) => void;
317
326
  onValueChangeCallBack?: (item: {
@@ -321,6 +330,7 @@ interface SelectInputProps<Label extends string, Value extends string> {
321
330
  placeholder?: string;
322
331
  placeholderClassName?: string;
323
332
  search?: boolean;
333
+ searchPlaceholder?: string;
324
334
  timeField?: boolean;
325
335
  value?: string;
326
336
  valueKey?: string;
@@ -341,10 +351,11 @@ declare const variants: {
341
351
  };
342
352
  interface SpinnerProps {
343
353
  className?: string;
354
+ loadingLabel?: string;
344
355
  size?: keyof typeof sizes;
345
356
  variant?: keyof typeof variants;
346
357
  }
347
- declare const Spinner: ({ className, size, variant }: SpinnerProps) => React.JSX.Element;
358
+ declare const Spinner: ({ className, loadingLabel, size, variant }: SpinnerProps) => React.JSX.Element;
348
359
 
349
360
  interface StepHeaderProps {
350
361
  subtitle?: ReactNode;
@@ -400,6 +411,531 @@ interface WrapperProps {
400
411
  }
401
412
  declare const Wrapper: ({ children, className }: WrapperProps) => React.JSX.Element;
402
413
 
414
+ // Internal Helpers
415
+
416
+
417
+ interface Interpolator {
418
+ init(options: InterpolationOptions, reset: boolean): undefined;
419
+ reset(): undefined;
420
+ resetRegExp(): undefined;
421
+ interpolate(str: string, data: object, lng: string, options: InterpolationOptions): string;
422
+ nest(str: string, fc: (...args: any[]) => any, options: InterpolationOptions): string;
423
+ }
424
+
425
+ declare class ResourceStore {
426
+ constructor(data: Resource, options: InitOptions);
427
+
428
+ public data: Resource;
429
+
430
+ public options: InitOptions;
431
+
432
+ /**
433
+ * Gets fired when resources got added or removed
434
+ */
435
+ on(event: 'added' | 'removed', callback: (lng: string, ns: string) => void): void;
436
+
437
+ /**
438
+ * Remove event listener
439
+ * removes all callback when callback not specified
440
+ */
441
+ off(event: 'added' | 'removed', callback?: (lng: string, ns: string) => void): void;
442
+
443
+ /**
444
+ * Subscribe to an event, but only once. The listener is removed after the first call.
445
+ */
446
+ once(event: 'added' | 'removed', callback: (lng: string, ns: string) => void): this;
447
+ }
448
+
449
+ interface Formatter {
450
+ init(services: Services, i18nextOptions: InitOptions): void;
451
+ add(name: string, fc: (value: any, lng: string | undefined, options: any) => string): void;
452
+ addCached(
453
+ name: string,
454
+ fc: (lng: string | undefined, options: any) => (value: any) => string,
455
+ ): void;
456
+ format: FormatFunction;
457
+ }
458
+
459
+ interface Services {
460
+ backendConnector: any;
461
+ i18nFormat: any;
462
+ interpolator: Interpolator;
463
+ languageDetector: any;
464
+ languageUtils: any;
465
+ logger: any;
466
+ pluralResolver: any;
467
+ resourceStore: ResourceStore;
468
+ formatter?: Formatter;
469
+ }
470
+
471
+ type ModuleType =
472
+ | 'backend'
473
+ | 'logger'
474
+ | 'languageDetector'
475
+ | 'postProcessor'
476
+ | 'i18nFormat'
477
+ | 'formatter'
478
+ | '3rdParty';
479
+
480
+ interface Module {
481
+ type: ModuleType;
482
+ }
483
+
484
+ type CallbackError = Error | string | null | undefined;
485
+ type ReadCallback = (
486
+ err: CallbackError,
487
+ data: ResourceKey | boolean | null | undefined,
488
+ ) => void;
489
+ type MultiReadCallback = (err: CallbackError, data: Resource | null | undefined) => void;
490
+
491
+ /**
492
+ * Used to load data for i18next.
493
+ * Can be provided as a singleton or as a prototype constructor (preferred for supporting multiple instances of i18next).
494
+ * For singleton set property `type` to `'backend'` For a prototype constructor set static property.
495
+ */
496
+ interface BackendModule<Options = object> extends Module {
497
+ type: 'backend';
498
+ init(services: Services, backendOptions: Options, i18nextOptions: InitOptions): void;
499
+ read(language: string, namespace: string, callback: ReadCallback): void;
500
+ /** Save the missing translation */
501
+ create?(
502
+ languages: readonly string[],
503
+ namespace: string,
504
+ key: string,
505
+ fallbackValue: string,
506
+ ): void;
507
+ /** Load multiple languages and namespaces. For backends supporting multiple resources loading */
508
+ readMulti?(
509
+ languages: readonly string[],
510
+ namespaces: readonly string[],
511
+ callback: MultiReadCallback,
512
+ ): void;
513
+ /** Store the translation. For backends acting as cache layer */
514
+ save?(language: string, namespace: string, data: ResourceLanguage): void;
515
+ }
516
+
517
+ /**
518
+ * Used to detect language in user land.
519
+ * Can be provided as a singleton or as a prototype constructor (preferred for supporting multiple instances of i18next).
520
+ * For singleton set property `type` to `'languageDetector'` For a prototype constructor set static property.
521
+ */
522
+ interface LanguageDetectorModule extends Module {
523
+ type: 'languageDetector';
524
+ init?(services: Services, detectorOptions: object, i18nextOptions: InitOptions): void;
525
+ /** Must return detected language */
526
+ detect(): string | readonly string[] | undefined;
527
+ cacheUserLanguage?(lng: string): void;
528
+ }
529
+
530
+ /**
531
+ * Used to detect language in user land.
532
+ * Can be provided as a singleton or as a prototype constructor (preferred for supporting multiple instances of i18next).
533
+ * For singleton set property `type` to `'languageDetector'` For a prototype constructor set static property.
534
+ */
535
+ interface LanguageDetectorAsyncModule extends Module {
536
+ type: 'languageDetector';
537
+ /** Set to true to enable async detection */
538
+ async: true;
539
+ init?(services: Services, detectorOptions: object, i18nextOptions: InitOptions): void;
540
+ /** Must call callback passing detected language or return a Promise */
541
+ detect(
542
+ callback: (lng: string | readonly string[] | undefined) => void | undefined,
543
+ ): void | Promise<string | readonly string[] | undefined>;
544
+ cacheUserLanguage?(lng: string): void | Promise<void>;
545
+ }
546
+
547
+ /**
548
+ * Override the built-in console logger.
549
+ * Do not need to be a prototype function.
550
+ */
551
+ interface LoggerModule extends Module {
552
+ type: 'logger';
553
+ log(...args: any[]): void;
554
+ warn(...args: any[]): void;
555
+ error(...args: any[]): void;
556
+ }
557
+
558
+ interface I18nFormatModule extends Module {
559
+ type: 'i18nFormat';
560
+ }
561
+
562
+ interface FormatterModule extends Module, Formatter {
563
+ type: 'formatter';
564
+ }
565
+
566
+ interface ThirdPartyModule extends Module {
567
+ type: '3rdParty';
568
+ init(i18next: i18n): void;
569
+ }
570
+
571
+ interface Modules {
572
+ backend?: BackendModule;
573
+ logger?: LoggerModule;
574
+ languageDetector?: LanguageDetectorModule | LanguageDetectorAsyncModule;
575
+ i18nFormat?: I18nFormatModule;
576
+ formatter?: FormatterModule;
577
+ external: ThirdPartyModule[];
578
+ }
579
+
580
+ // helper to identify class https://stackoverflow.com/a/45983481/2363935
581
+ interface Newable<T> {
582
+ new (...args: any[]): T;
583
+ }
584
+ interface NewableModule<T extends Module> extends Newable<T> {
585
+ type: T['type'];
586
+ }
587
+
588
+ type Callback = (error: any, t: TFunction) => void;
589
+
590
+ interface CloneOptions extends InitOptions {
591
+ /**
592
+ * Will create a new instance of the resource store and import the existing translation resources.
593
+ * This way it will not shared the resource store instance.
594
+ * @default false
595
+ */
596
+ forkResourceStore?: boolean;
597
+ }
598
+
599
+ interface CustomInstanceExtensions {}
600
+
601
+ // Used just here to exclude `DefaultNamespace` which can be both string or array from `FlatNamespace`
602
+ // in TFunction declaration below.
603
+ // Due to this only very special usage I'm not moving this inside helpers.
604
+ type InferArrayValuesElseReturnType<T> = T extends (infer A)[] ? A : T;
605
+
606
+ interface i18n extends CustomInstanceExtensions {
607
+ // Expose parameterized t in the i18next interface hierarchy
608
+ t: TFunction<
609
+ [
610
+ ...$NormalizeIntoArray<DefaultNamespace>,
611
+ ...Exclude<FlatNamespace, InferArrayValuesElseReturnType<DefaultNamespace>>[],
612
+ ]
613
+ >;
614
+
615
+ /**
616
+ * The default of the i18next module is an i18next instance ready to be initialized by calling init.
617
+ * You can create additional instances using the createInstance function.
618
+ *
619
+ * @param options - Initial options.
620
+ * @param callback - will be called after all translations were loaded or with an error when failed (in case of using a backend).
621
+ */
622
+ init(callback?: Callback): Promise<TFunction>;
623
+ init<T>(options: InitOptions<T>, callback?: Callback): Promise<TFunction>;
624
+
625
+ loadResources(callback?: (err: any) => void): void;
626
+
627
+ /**
628
+ * The use function is there to load additional plugins to i18next.
629
+ * For available module see the plugins page and don't forget to read the documentation of the plugin.
630
+ *
631
+ * @param module Accepts a class or object
632
+ */
633
+ use<T extends Module>(module: T | NewableModule<T> | Newable<T>): this;
634
+
635
+ /**
636
+ * List of modules used
637
+ */
638
+ modules: Modules;
639
+
640
+ /**
641
+ * Internal container for all used plugins and implementation details like languageUtils, pluralResolvers, etc.
642
+ */
643
+ services: Services;
644
+
645
+ /**
646
+ * Internal container for translation resources
647
+ */
648
+ store: ResourceStore;
649
+
650
+ /**
651
+ * Uses similar args as the t function and returns true if a key exists.
652
+ * Acts as a type guard on single-key calls, narrowing the key to
653
+ * {@link SelectorKey} so it can be passed to `t()`.
654
+ */
655
+ exists: {
656
+ <K extends string>(key: K, options?: TOptions): key is K & SelectorKey;
657
+ (key: string | string[], options?: TOptions): boolean;
658
+ };
659
+
660
+ /**
661
+ * Returns a resource data by language.
662
+ */
663
+ getDataByLanguage(lng: string): { [key: string]: { [key: string]: string } } | undefined;
664
+
665
+ /**
666
+ * Returns a t function that defaults to given language or namespace.
667
+ * Both params could be arrays of languages or namespaces and will be treated as fallbacks in that case.
668
+ * On the returned function you can like in the t function override the languages or namespaces by passing them in options or by prepending namespace.
669
+ *
670
+ * Accepts optional keyPrefix that will be automatically applied to returned t function.
671
+ */
672
+ getFixedT<
673
+ Ns extends Namespace | null,
674
+ const TKPrefixFn extends TypeOptions['enableSelector'] extends true | 'optimize'
675
+ ? KeyPrefixSelector<ActualNs>
676
+ : never,
677
+ ActualNs extends Namespace = Ns extends null ? DefaultNamespace : Ns,
678
+ >(
679
+ lng: string | readonly string[] | null,
680
+ ns: Ns,
681
+ keyPrefix: TKPrefixFn,
682
+ ): TFunction<ActualNs, TKPrefixFn>;
683
+
684
+ getFixedT<
685
+ Ns extends Namespace | null = DefaultNamespace,
686
+ TKPrefix extends KeyPrefix<ActualNs> = undefined,
687
+ ActualNs extends Namespace = Ns extends null ? DefaultNamespace : Ns,
688
+ >(
689
+ ...args:
690
+ | [lng: string | readonly string[], ns?: Ns, keyPrefix?: TKPrefix | (($: any) => any)]
691
+ | [lng: null, ns: Ns, keyPrefix?: TKPrefix | (($: any) => any)]
692
+ ): TFunction<ActualNs, TKPrefix>;
693
+
694
+ /**
695
+ * Changes the language. The callback will be called as soon translations were loaded or an error occurs while loading.
696
+ * HINT: For easy testing - setting lng to 'cimode' will set t function to always return the key.
697
+ */
698
+ changeLanguage(lng?: string, callback?: Callback): Promise<TFunction>;
699
+
700
+ /**
701
+ * Is set to the current detected or set language.
702
+ * If you need the primary used language depending on your configuration (supportedLngs, load) you will prefer using i18next.languages[0].
703
+ */
704
+ language: string;
705
+
706
+ /**
707
+ * Is set to an array of language-codes that will be used it order to lookup the translation value.
708
+ */
709
+ languages: readonly string[];
710
+
711
+ /**
712
+ * Is set to the current resolved language.
713
+ * It can be used as primary used language, for example in a language switcher.
714
+ */
715
+ resolvedLanguage?: string;
716
+
717
+ /**
718
+ * Checks if namespace has loaded yet.
719
+ * i.e. used by react-i18next
720
+ */
721
+ hasLoadedNamespace(
722
+ ns: string | readonly string[],
723
+ options?: {
724
+ lng?: string | readonly string[];
725
+ fallbackLng?: InitOptions['fallbackLng'];
726
+ /**
727
+ * if `undefined` is returned default checks are performed.
728
+ */
729
+ precheck?: (
730
+ i18n: i18n,
731
+ /**
732
+ * Check if the language namespace provided are not in loading status:
733
+ * returns `true` if load is completed successfully or with an error.
734
+ */
735
+ loadNotPending: (
736
+ lng: string | readonly string[],
737
+ ns: string | readonly string[],
738
+ ) => boolean,
739
+ ) => boolean | undefined;
740
+ },
741
+ ): boolean;
742
+
743
+ /**
744
+ * Loads additional namespaces not defined in init options.
745
+ */
746
+ loadNamespaces(ns: string | readonly string[], callback?: Callback): Promise<void>;
747
+
748
+ /**
749
+ * Loads additional languages not defined in init options (preload).
750
+ */
751
+ loadLanguages(lngs: string | readonly string[], callback?: Callback): Promise<void>;
752
+
753
+ /**
754
+ * Reloads resources on given state. Optionally you can pass an array of languages and namespaces as params if you don't want to reload all.
755
+ */
756
+ reloadResources(
757
+ lngs?: string | readonly string[],
758
+ ns?: string | readonly string[],
759
+ callback?: () => void,
760
+ ): Promise<void>;
761
+ reloadResources(lngs: null, ns: string | readonly string[], callback?: () => void): Promise<void>;
762
+
763
+ /**
764
+ * Changes the default namespace.
765
+ */
766
+ setDefaultNamespace(ns: string | readonly string[]): void;
767
+
768
+ /**
769
+ * Returns rtl or ltr depending on languages read direction.
770
+ */
771
+ dir(lng?: string): 'ltr' | 'rtl';
772
+
773
+ /**
774
+ * Exposes interpolation.format function added on init.
775
+ */
776
+ format: FormatFunction;
777
+
778
+ /**
779
+ * Will return a new i18next instance.
780
+ * Please read the options page for details on configuration options.
781
+ * Providing a callback will automatically call init.
782
+ * The callback will be called after all translations were loaded or with an error when failed (in case of using a backend).
783
+ */
784
+ createInstance(options?: InitOptions, callback?: Callback): i18n;
785
+
786
+ /**
787
+ * Creates a clone of the current instance. Shares store, plugins and initial configuration.
788
+ * Can be used to create an instance sharing storage but being independent on set language or namespaces.
789
+ */
790
+ cloneInstance(options?: CloneOptions, callback?: Callback): i18n;
791
+
792
+ /**
793
+ * Returns a JSON representation of the i18next instance for serialization.
794
+ */
795
+ toJSON(): {
796
+ options: InitOptions;
797
+ store: ResourceStore;
798
+ language: string;
799
+ languages: readonly string[];
800
+ resolvedLanguage?: string;
801
+ };
802
+
803
+ /**
804
+ * Gets fired after initialization.
805
+ */
806
+ on(event: 'initialized', callback: (options: InitOptions) => void): this;
807
+
808
+ /**
809
+ * Gets fired on loaded resources.
810
+ */
811
+ on(
812
+ event: 'loaded',
813
+ callback: (loaded: { [language: string]: { [namespace: string]: boolean } }) => void,
814
+ ): this;
815
+
816
+ /**
817
+ * Gets fired if loading resources failed.
818
+ */
819
+ on(event: 'failedLoading', callback: (lng: string, ns: string, msg: string) => void): this;
820
+
821
+ /**
822
+ * Gets fired on accessing a key not existing.
823
+ */
824
+ on(
825
+ event: 'missingKey',
826
+ callback: (lngs: readonly string[], namespace: string, key: string, res: string) => void,
827
+ ): this;
828
+
829
+ /**
830
+ * Gets fired when changeLanguage got called.
831
+ */
832
+ on(event: 'languageChanged', callback: (lng: string) => void): this;
833
+
834
+ /**
835
+ * Event listener
836
+ */
837
+ on(event: string, listener: (...args: any[]) => void): this;
838
+
839
+ /**
840
+ * Remove event listener
841
+ * removes all callback when callback not specified
842
+ */
843
+ off(event: string, listener?: (...args: any[]) => void): void;
844
+
845
+ /**
846
+ * Subscribe to an event, but only once. The listener is removed after the first call.
847
+ */
848
+ once(event: string, listener: (...args: any[]) => void): this;
849
+
850
+ /**
851
+ * Gets one value by given key.
852
+ */
853
+ getResource(
854
+ lng: string,
855
+ ns: string,
856
+ key: string,
857
+ options?: Pick<InitOptions, 'keySeparator' | 'ignoreJSONStructure'>,
858
+ ): any;
859
+
860
+ /**
861
+ * Adds one key/value.
862
+ */
863
+ addResource(
864
+ lng: string,
865
+ ns: string,
866
+ key: string,
867
+ value: string,
868
+ options?: { keySeparator?: string; silent?: boolean },
869
+ ): i18n;
870
+
871
+ /**
872
+ * Adds multiple key/values.
873
+ */
874
+ addResources(lng: string, ns: string, resources: any): i18n;
875
+
876
+ /**
877
+ * Adds a complete bundle.
878
+ * Setting deep param to true will extend existing translations in that file.
879
+ * Setting overwrite to true it will overwrite existing translations in that file.
880
+ */
881
+ addResourceBundle(
882
+ lng: string,
883
+ ns: string,
884
+ resources: any,
885
+ deep?: boolean,
886
+ overwrite?: boolean,
887
+ options?: { silent?: boolean; skipCopy?: boolean },
888
+ ): i18n;
889
+
890
+ /**
891
+ * Checks if a resource bundle exists.
892
+ */
893
+ hasResourceBundle(lng: string, ns: string): boolean;
894
+
895
+ /**
896
+ * Returns a resource bundle.
897
+ */
898
+ getResourceBundle(lng: string, ns: string): any;
899
+
900
+ /**
901
+ * Removes an existing bundle.
902
+ */
903
+ removeResourceBundle(lng: string, ns: string): i18n;
904
+
905
+ /**
906
+ * Current options
907
+ */
908
+ options: InitOptions;
909
+
910
+ /**
911
+ * Is initialized
912
+ */
913
+ isInitialized: boolean;
914
+
915
+ /**
916
+ * Is initializing
917
+ */
918
+ isInitializing: boolean;
919
+
920
+ /**
921
+ * Store was initialized
922
+ */
923
+ initializedStoreOnce: boolean;
924
+
925
+ /**
926
+ * Language was initialized
927
+ */
928
+ initializedLanguageOnce: boolean;
929
+
930
+ /**
931
+ * Emit event
932
+ */
933
+ emit(eventName: string, ...args: any[]): void;
934
+ }
935
+
936
+ declare const uiI18n: i18n;
937
+ declare const setUiLanguage: (lng: string) => Promise<unknown>;
938
+
403
939
  declare function cn(...inputs: ClassValue[]): string;
404
940
 
405
941
  declare const inputBase: string;
@@ -417,4 +953,4 @@ declare const toast: {
417
953
  };
418
954
  declare function registerToastEmitter(fn: ToastEmitter): void;
419
955
 
420
- export { Alert, AuthHeader, Button, type ButtonProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GoogleMapPicker, type GoogleMapPickerProps, Input, InputField, InputOTP, InputOTPGroup, InputOTPSlot, type InputProps, Label, LabelField, Loading, MapPickerField, OTPField, type Options, PasswordChecklist, type PasswordRule, type PasswordRulesConfig, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Select, SelectContent, SelectField, SelectGroup, SelectInput, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Spinner, type SpinnerProps, StepHeader, Stepper, type StepperStep, Toast, type ToastOptions, type ToastPosition, ToastProvider, type ToastType, Tooltip, Wrapper, type WrapperProps, buttonVariants, cn, inputBase, inputDisabled, inputFocus, inputPlaceholder, registerToastEmitter, toast, useFormField };
956
+ export { Alert, AuthHeader, Button, type ButtonProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GoogleMapPicker, type GoogleMapPickerProps, Input, InputField, InputOTP, InputOTPGroup, InputOTPSlot, type InputProps, Label, LabelField, Loading, MapPickerField, OTPField, type Options, PasswordChecklist, type PasswordRule, type PasswordRulesConfig, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Select, SelectContent, SelectField, SelectGroup, SelectInput, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Spinner, type SpinnerProps, StepHeader, Stepper, type StepperStep, Toast, type ToastOptions, type ToastPosition, ToastProvider, type ToastType, Tooltip, Wrapper, type WrapperProps, buttonVariants, cn, inputBase, inputDisabled, inputFocus, inputPlaceholder, registerToastEmitter, setUiLanguage, toast, uiI18n, useFormField };