@komensal/ui 0.3.0 → 0.5.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/README.md ADDED
@@ -0,0 +1,92 @@
1
+ # @komensal/ui
2
+
3
+ Design system y librería de componentes React compartida de Komensal. Empaquetada con [tsup](https://tsup.egoist.dev/) y publicada en npm para consumirse desde los fronts standalone (`@komensal/admin`, `@komensal/menu`).
4
+
5
+ ## Instalación
6
+
7
+ ```bash
8
+ pnpm add @komensal/ui
9
+ ```
10
+
11
+ ### Peer dependencies
12
+
13
+ El paquete las espera instaladas en el proyecto consumidor:
14
+
15
+ | Paquete | Rango |
16
+ |---|---|
17
+ | `react` | `^19.0.0` |
18
+ | `react-dom` | `^19.0.0` |
19
+ | `react-hook-form` | `^7.0.0` |
20
+ | `react-i18next` | `^16.0.0` |
21
+ | `i18next` | `^25.0.0` |
22
+
23
+ ## Uso
24
+
25
+ ### 1. Estilos
26
+
27
+ El paquete trae sus tokens (Tailwind v4) y estilos. Importalos una vez en tu CSS global, junto a Tailwind:
28
+
29
+ ```css
30
+ @import 'tailwindcss';
31
+ @import '@komensal/ui/styles';
32
+ ```
33
+
34
+ ### 2. Componentes
35
+
36
+ ```tsx
37
+ import { Button, InputField, Dialog } from '@komensal/ui'
38
+
39
+ export function Example() {
40
+ return <Button variant='primary'>Continuar</Button>
41
+ }
42
+ ```
43
+
44
+ ### 3. Internacionalización (i18n)
45
+
46
+ El paquete es **autocontenido**: tiene su propia instancia de i18next con sus textos (español por defecto), así que **no hace falta registrar ningún namespace** en la instancia del consumidor. Los componentes resuelven sus textos internos solos.
47
+
48
+ Si el app cambia de idioma, sincronizá la instancia del paquete:
49
+
50
+ ```ts
51
+ import { setUiLanguage } from '@komensal/ui'
52
+
53
+ await setUiLanguage('en')
54
+ ```
55
+
56
+ #### Override de textos por props
57
+
58
+ Si un texto interno no te sirve, podés pasarlo por prop al componente; gana el tuyo sobre el del paquete:
59
+
60
+ ```tsx
61
+ <Spinner loadingLabel='Procesando...' />
62
+ <SelectInput noResultsLabel='Nada por aquí' searchPlaceholder='Buscar plato...' />
63
+ <InputField clearLabel='Borrar' showPasswordLabel='Ver' hidePasswordLabel='Ocultar' />
64
+ <DialogContent closeLabel='Cerrar' />
65
+ ```
66
+
67
+ ## Componentes disponibles
68
+
69
+ - **Acciones:** `Button`
70
+ - **Formularios (React Hook Form):** `Input`, `SelectInput`, `Select`, `OTPInput`, `Form`, `InputField`, `LabelField`, `SelectField`, `OtpField`, `MapPickerField`, `Label`, `PasswordChecklist`
71
+ - **Overlays:** `Dialog`, `Popover`, `Tooltip`, `Command`
72
+ - **Feedback / estado:** `Alert`, `Toast` + `ToastProvider`, `Spinner`, `Loading`
73
+ - **Layout:** `AuthHeader`, `StepHeader`, `Stepper`, `Wrapper`
74
+ - **Mapas:** `GoogleMapPicker`
75
+ - **Utils:** `cn`, `inputBase`, `inputFocus`, `inputDisabled`, `inputPlaceholder`, `toast`, `registerToastEmitter`
76
+
77
+ ## Exports
78
+
79
+ | Entry | Contenido |
80
+ |---|---|
81
+ | `@komensal/ui` | Componentes, utils, tipos, `uiI18n`, `setUiLanguage` |
82
+ | `@komensal/ui/styles` | CSS con tokens del design system |
83
+ | `@komensal/ui/locales` | `uiLocales` (textos del paquete, por si los necesitás aparte) |
84
+
85
+ ## Desarrollo
86
+
87
+ ```bash
88
+ pnpm build # tsup + copia de assets a dist/
89
+ pnpm typecheck # tsc --noEmit
90
+ ```
91
+
92
+ Para publicar una versión nueva: subir `version` en `package.json`, `pnpm build` y `pnpm publish`. Los consumidores la toman actualizando su rango de `@komensal/ui`.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import * as React$1 from 'react';
2
2
  import React__default, { ReactNode, JSX } from 'react';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
@@ -15,44 +15,44 @@ import { DefaultNamespace, FlatNamespace, InitOptions, InterpolationOptions, Res
15
15
  import { TFunction, SelectorKey, KeyPrefixSelector, KeyPrefix } from './typescript/t.js';
16
16
  import { ClassValue } from 'clsx';
17
17
 
18
- interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
18
+ interface AlertProps extends React$1.HTMLAttributes<HTMLDivElement> {
19
19
  variant?: AlertVariant;
20
20
  }
21
21
  type AlertVariant = 'error' | 'info' | 'success' | 'warning';
22
- declare const Alert: ({ children, className, variant, ...props }: AlertProps) => React.JSX.Element;
22
+ declare const Alert: ({ children, className, variant, ...props }: AlertProps) => React$1.JSX.Element;
23
23
 
24
24
  interface AuthHeaderProps {
25
25
  children?: ReactNode;
26
26
  logoAlt: string;
27
27
  mobileClassName?: string;
28
28
  }
29
- declare const AuthHeader: ({ children, logoAlt, mobileClassName }: AuthHeaderProps) => React.JSX.Element;
29
+ declare const AuthHeader: ({ children, logoAlt, mobileClassName }: AuthHeaderProps) => React$1.JSX.Element;
30
30
 
31
31
  declare const buttonVariants: (props?: ({
32
32
  hoverStyle?: "none" | "highlight" | "shine" | null | undefined;
33
33
  size?: "lg" | "sm" | "default" | "icon" | null | undefined;
34
34
  variant?: "link" | "primary" | "destructive" | "ghost" | "invisible" | "outline" | "tertiary" | "underline" | null | undefined;
35
35
  } & class_variance_authority_types.ClassProp) | undefined) => string;
36
- interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
36
+ interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
37
37
  asChild?: boolean;
38
38
  childrenClassName?: string;
39
39
  hoverStyle?: 'highlight' | 'none' | 'shine';
40
- icon?: React.ReactNode;
41
- iconLeft?: React.ReactNode;
42
- iconRight?: React.ReactNode;
40
+ icon?: React$1.ReactNode;
41
+ iconLeft?: React$1.ReactNode;
42
+ iconRight?: React$1.ReactNode;
43
43
  isLoading?: boolean;
44
44
  sideTooltip?: 'bottom' | 'left' | 'right' | 'top';
45
45
  tooltip?: string;
46
46
  }
47
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
47
+ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
48
48
 
49
- declare const Command: React.ForwardRefExoticComponent<Omit<{
50
- children?: React.ReactNode;
51
- } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
52
- ref?: React.Ref<HTMLDivElement>;
49
+ declare const Command: React$1.ForwardRefExoticComponent<Omit<{
50
+ children?: React$1.ReactNode;
51
+ } & Pick<Pick<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
52
+ ref?: React$1.Ref<HTMLDivElement>;
53
53
  } & {
54
54
  asChild?: boolean;
55
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
55
+ }, "key" | keyof React$1.HTMLAttributes<HTMLDivElement> | "asChild"> & {
56
56
  label?: string;
57
57
  shouldFilter?: boolean;
58
58
  filter?: (value: string, search: string, keywords?: string[]) => number;
@@ -62,97 +62,97 @@ declare const Command: React.ForwardRefExoticComponent<Omit<{
62
62
  loop?: boolean;
63
63
  disablePointerSelection?: boolean;
64
64
  vimBindings?: boolean;
65
- } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
65
+ } & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
66
66
  type CommandDialogProps = DialogProps;
67
- declare const CommandDialog: ({ children, ...props }: CommandDialogProps) => React.JSX.Element;
68
- declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
69
- ref?: React.Ref<HTMLInputElement>;
67
+ declare const CommandDialog: ({ children, ...props }: CommandDialogProps) => React$1.JSX.Element;
68
+ declare const CommandInput: React$1.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React$1.DetailedHTMLProps<React$1.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React$1.InputHTMLAttributes<HTMLInputElement>> & {
69
+ ref?: React$1.Ref<HTMLInputElement>;
70
70
  } & {
71
71
  asChild?: boolean;
72
- }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "type" | "onChange" | "value"> & {
72
+ }, "key" | "asChild" | keyof React$1.InputHTMLAttributes<HTMLInputElement>>, "type" | "onChange" | "value"> & {
73
73
  value?: string;
74
74
  onValueChange?: (search: string) => void;
75
- } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
76
- declare const CommandList: React.ForwardRefExoticComponent<Omit<{
77
- children?: React.ReactNode;
78
- } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
79
- ref?: React.Ref<HTMLDivElement>;
75
+ } & React$1.RefAttributes<HTMLInputElement>, "ref"> & React$1.RefAttributes<HTMLInputElement>>;
76
+ declare const CommandList: React$1.ForwardRefExoticComponent<Omit<{
77
+ children?: React$1.ReactNode;
78
+ } & Pick<Pick<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
79
+ ref?: React$1.Ref<HTMLDivElement>;
80
80
  } & {
81
81
  asChild?: boolean;
82
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
82
+ }, "key" | keyof React$1.HTMLAttributes<HTMLDivElement> | "asChild"> & {
83
83
  label?: string;
84
- } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
85
- declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
86
- children?: React.ReactNode;
87
- } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
88
- ref?: React.Ref<HTMLDivElement>;
84
+ } & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
85
+ declare const CommandEmpty: React$1.ForwardRefExoticComponent<Omit<{
86
+ children?: React$1.ReactNode;
87
+ } & Pick<Pick<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
88
+ ref?: React$1.Ref<HTMLDivElement>;
89
89
  } & {
90
90
  asChild?: boolean;
91
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
92
- declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
93
- children?: React.ReactNode;
94
- } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
95
- ref?: React.Ref<HTMLDivElement>;
91
+ }, "key" | keyof React$1.HTMLAttributes<HTMLDivElement> | "asChild"> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
92
+ declare const CommandGroup: React$1.ForwardRefExoticComponent<Omit<{
93
+ children?: React$1.ReactNode;
94
+ } & Omit<Pick<Pick<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
95
+ ref?: React$1.Ref<HTMLDivElement>;
96
96
  } & {
97
97
  asChild?: boolean;
98
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "heading" | "value"> & {
99
- heading?: React.ReactNode;
98
+ }, "key" | keyof React$1.HTMLAttributes<HTMLDivElement> | "asChild">, "heading" | "value"> & {
99
+ heading?: React$1.ReactNode;
100
100
  value?: string;
101
101
  forceMount?: boolean;
102
- } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
103
- declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
104
- ref?: React.Ref<HTMLDivElement>;
102
+ } & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
103
+ declare const CommandSeparator: React$1.ForwardRefExoticComponent<Omit<Pick<Pick<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
104
+ ref?: React$1.Ref<HTMLDivElement>;
105
105
  } & {
106
106
  asChild?: boolean;
107
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
107
+ }, "key" | keyof React$1.HTMLAttributes<HTMLDivElement> | "asChild"> & {
108
108
  alwaysRender?: boolean;
109
- } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
110
- declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
111
- children?: React.ReactNode;
112
- } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
113
- ref?: React.Ref<HTMLDivElement>;
109
+ } & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
110
+ declare const CommandItem: React$1.ForwardRefExoticComponent<Omit<{
111
+ children?: React$1.ReactNode;
112
+ } & Omit<Pick<Pick<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
113
+ ref?: React$1.Ref<HTMLDivElement>;
114
114
  } & {
115
115
  asChild?: boolean;
116
- }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
116
+ }, "key" | keyof React$1.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
117
117
  disabled?: boolean;
118
118
  onSelect?: (value: string) => void;
119
119
  value?: string;
120
120
  keywords?: string[];
121
121
  forceMount?: boolean;
122
- } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
122
+ } & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
123
123
  declare const CommandShortcut: {
124
- ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
124
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLSpanElement>): React$1.JSX.Element;
125
125
  displayName: string;
126
126
  };
127
127
 
128
- declare const Dialog: React.FC<DialogPrimitive.DialogProps>;
129
- declare const DialogTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
130
- declare const DialogPortal: React.FC<DialogPrimitive.DialogPortalProps>;
131
- declare const DialogClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
132
- declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
128
+ declare const Dialog: React$1.FC<DialogPrimitive.DialogProps>;
129
+ declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
130
+ declare const DialogPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
131
+ declare const DialogClose: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>>;
132
+ declare const DialogOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
133
133
  isAbsolute?: boolean;
134
- } & React.RefAttributes<HTMLDivElement>>;
135
- interface DialogContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {
134
+ } & React$1.RefAttributes<HTMLDivElement>>;
135
+ interface DialogContentProps extends React$1.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {
136
136
  closeLabel?: string;
137
137
  container?: HTMLElement | null;
138
138
  isAbsolute?: boolean;
139
139
  isCloseIcon?: boolean;
140
140
  overlayClassName?: string;
141
141
  }
142
- declare const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
142
+ declare const DialogContent: React$1.ForwardRefExoticComponent<DialogContentProps & React$1.RefAttributes<HTMLDivElement>>;
143
143
  declare const DialogHeader: {
144
- ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
144
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): React$1.JSX.Element;
145
145
  displayName: string;
146
146
  };
147
147
  declare const DialogFooter: {
148
- ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
148
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): React$1.JSX.Element;
149
149
  displayName: string;
150
150
  };
151
- declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
152
- declare const DialogDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
151
+ declare const DialogTitle: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
152
+ declare const DialogDescription: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
153
153
 
154
- declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>({ children, watch, getValues, getFieldState, setError, clearErrors, setValue, setValues, trigger, formState, resetField, reset, handleSubmit, unregister, control, register, setFocus, subscribe, }: react_hook_form.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
155
- declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => React.JSX.Element;
154
+ declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>({ children, watch, getValues, getFieldState, setError, clearErrors, setValue, setValues, trigger, formState, resetField, reset, handleSubmit, unregister, control, register, setFocus, subscribe, }: react_hook_form.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React$1.JSX.Element;
155
+ declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => React$1.JSX.Element;
156
156
  declare const useFormField: () => {
157
157
  invalid: boolean;
158
158
  isDirty: boolean;
@@ -165,13 +165,13 @@ declare const useFormField: () => {
165
165
  id: string;
166
166
  name: string;
167
167
  };
168
- declare const FormItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
169
- declare const FormLabel: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & React.RefAttributes<HTMLLabelElement>>;
170
- declare const FormControl: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLElement> & {
171
- children?: React.ReactNode;
172
- } & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
173
- declare const FormDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
174
- declare const FormMessage: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
168
+ declare const FormItem: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
169
+ declare const FormLabel: React$1.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React$1.RefAttributes<HTMLLabelElement>, "ref"> & React$1.RefAttributes<HTMLLabelElement>>;
170
+ declare const FormControl: React$1.ForwardRefExoticComponent<Omit<React$1.HTMLAttributes<HTMLElement> & {
171
+ children?: React$1.ReactNode;
172
+ } & React$1.RefAttributes<HTMLElement>, "ref"> & React$1.RefAttributes<HTMLElement>>;
173
+ declare const FormDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
174
+ declare const FormMessage: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
175
175
 
176
176
  interface InputFieldProps<T extends FieldValues = FieldValues> {
177
177
  clearLabel?: string;
@@ -190,7 +190,7 @@ interface InputFieldProps<T extends FieldValues = FieldValues> {
190
190
  type?: string;
191
191
  visualRequired?: boolean;
192
192
  }
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;
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$1.JSX.Element;
194
194
 
195
195
  interface LabelFieldProps {
196
196
  label?: string;
@@ -198,19 +198,30 @@ interface LabelFieldProps {
198
198
  name: string;
199
199
  visualRequired?: boolean;
200
200
  }
201
- declare const LabelField: ({ label, labelClassName, name, visualRequired }: LabelFieldProps) => React.JSX.Element;
201
+ declare const LabelField: ({ label, labelClassName, name, visualRequired }: LabelFieldProps) => React$1.JSX.Element;
202
202
 
203
+ interface ResolvedAddress {
204
+ address: string;
205
+ city: null | string;
206
+ country: null | string;
207
+ countryName: null | string;
208
+ department: null | string;
209
+ lat: null | number;
210
+ lng: null | number;
211
+ }
203
212
  interface GoogleMapPickerProps {
204
213
  centerOn?: google.maps.LatLngLiteral;
214
+ countryCode?: string;
205
215
  disabled?: boolean;
206
216
  hasError?: boolean;
207
217
  locationQuery?: string;
208
218
  locationZoom?: number;
219
+ onAddressResolved?: (resolved: ResolvedAddress) => void;
209
220
  onChange: (address: string) => void;
210
221
  placeholder?: string;
211
222
  value: string;
212
223
  }
213
- declare const GoogleMapPicker: (props: GoogleMapPickerProps) => React.JSX.Element;
224
+ declare const GoogleMapPicker: (props: GoogleMapPickerProps) => React$1.JSX.Element;
214
225
 
215
226
  type MapPickerFieldProps<T extends FieldValues> = Omit<GoogleMapPickerProps, 'hasError' | 'onChange' | 'value'> & {
216
227
  control: Control<T>;
@@ -220,7 +231,7 @@ type MapPickerFieldProps<T extends FieldValues> = Omit<GoogleMapPickerProps, 'ha
220
231
  name: Path<T>;
221
232
  visualRequired?: boolean;
222
233
  };
223
- declare const MapPickerField: <T extends FieldValues>({ control, label, labelClassName, mainClassName, name, visualRequired, ...pickerProps }: MapPickerFieldProps<T>) => React.JSX.Element;
234
+ declare const MapPickerField: <T extends FieldValues>({ control, label, labelClassName, mainClassName, name, visualRequired, ...pickerProps }: MapPickerFieldProps<T>) => React$1.JSX.Element;
224
235
 
225
236
  interface OtpInputFormFieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> {
226
237
  autoFocus?: boolean;
@@ -254,18 +265,25 @@ interface SelectFieldProps<T extends FieldValues = FieldValues> {
254
265
  search?: boolean;
255
266
  visualRequired?: boolean;
256
267
  }
257
- declare const SelectField: <T extends FieldValues = FieldValues>({ ableDeleteOption, className, control, disabled, label, labelClassName, mainClassName, name, options, placeholder, search, visualRequired }: SelectFieldProps<T>) => React.JSX.Element;
268
+ declare const SelectField: <T extends FieldValues = FieldValues>({ ableDeleteOption, className, control, disabled, label, labelClassName, mainClassName, name, options, placeholder, search, visualRequired }: SelectFieldProps<T>) => React$1.JSX.Element;
269
+
270
+ interface ImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {
271
+ aspectRatio?: string;
272
+ fallback?: React.ReactNode;
273
+ wrapperClassName?: string;
274
+ }
275
+ declare const Image: ({ alt, aspectRatio, className, fallback, loading, onError, onLoad, wrapperClassName, ...props }: ImageProps) => React$1.JSX.Element;
258
276
 
259
- type InputProps = React.InputHTMLAttributes<HTMLInputElement>;
260
- declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
277
+ type InputProps = React$1.InputHTMLAttributes<HTMLInputElement>;
278
+ declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
261
279
 
262
- declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: class_variance_authority_types.ClassProp | undefined) => string> & React.RefAttributes<HTMLLabelElement>>;
280
+ declare const Label: React$1.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React$1.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: class_variance_authority_types.ClassProp | undefined) => string> & React$1.RefAttributes<HTMLLabelElement>>;
263
281
 
264
282
  interface LoadingProps {
265
283
  className?: string;
266
284
  isSpinner?: boolean;
267
285
  }
268
- declare function Loading({ className, isSpinner }: Readonly<LoadingProps>): React.JSX.Element;
286
+ declare function Loading({ className, isSpinner }: Readonly<LoadingProps>): React$1.JSX.Element;
269
287
 
270
288
  declare function InputOTP({ className, containerClassName, ...props }: React__default.ComponentProps<typeof OTPInput> & {
271
289
  containerClassName?: string;
@@ -294,21 +312,21 @@ interface PasswordChecklistProps {
294
312
  }
295
313
  declare const PasswordChecklist: ({ className, rules, value }: PasswordChecklistProps) => React__default.JSX.Element | null;
296
314
 
297
- declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
298
- declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
299
- declare const PopoverAnchor: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
300
- declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
301
-
302
- declare const Select: React.FC<SelectPrimitive.SelectProps>;
303
- declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
304
- declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
305
- declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
306
- declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
307
- declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
308
- declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
309
- declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
310
- declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
311
- declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
315
+ declare const Popover: React$1.FC<PopoverPrimitive.PopoverProps>;
316
+ declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
317
+ declare const PopoverAnchor: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React$1.RefAttributes<HTMLDivElement>>;
318
+ declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
319
+
320
+ declare const Select: React$1.FC<SelectPrimitive.SelectProps>;
321
+ declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
322
+ declare const SelectValue: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
323
+ declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
324
+ declare const SelectScrollUpButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
325
+ declare const SelectScrollDownButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
326
+ declare const SelectContent: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
327
+ declare const SelectLabel: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
328
+ declare const SelectItem: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
329
+ declare const SelectSeparator: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
312
330
 
313
331
  interface SelectInputProps<Label extends string, Value extends string> {
314
332
  ableDeleteOption?: boolean;
@@ -355,14 +373,14 @@ interface SpinnerProps {
355
373
  size?: keyof typeof sizes;
356
374
  variant?: keyof typeof variants;
357
375
  }
358
- declare const Spinner: ({ className, loadingLabel, size, variant }: SpinnerProps) => React.JSX.Element;
376
+ declare const Spinner: ({ className, loadingLabel, size, variant }: SpinnerProps) => React$1.JSX.Element;
359
377
 
360
378
  interface StepHeaderProps {
361
379
  subtitle?: ReactNode;
362
380
  subtitleClassName?: string;
363
381
  title: string;
364
382
  }
365
- declare const StepHeader: ({ subtitle, subtitleClassName, title }: StepHeaderProps) => React.JSX.Element;
383
+ declare const StepHeader: ({ subtitle, subtitleClassName, title }: StepHeaderProps) => React$1.JSX.Element;
366
384
 
367
385
  interface StepperStep {
368
386
  label: string;
@@ -373,7 +391,7 @@ interface StepperProps {
373
391
  intermediate?: boolean;
374
392
  steps: StepperStep[];
375
393
  }
376
- declare const Stepper: ({ activeIndex, className, intermediate, steps }: StepperProps) => React.JSX.Element;
394
+ declare const Stepper: ({ activeIndex, className, intermediate, steps }: StepperProps) => React$1.JSX.Element;
377
395
 
378
396
  interface ToastOptions {
379
397
  duration?: number;
@@ -392,24 +410,24 @@ interface ToastProps {
392
410
  title: string;
393
411
  type: ToastType;
394
412
  }
395
- declare function Toast({ duration, id, onClose, subtitle, title, type }: ToastProps): React.JSX.Element;
413
+ declare function Toast({ duration, id, onClose, subtitle, title, type }: ToastProps): React$1.JSX.Element;
396
414
 
397
- declare function ToastProvider(): React.JSX.Element;
415
+ declare function ToastProvider(): React$1.JSX.Element;
398
416
 
399
417
  interface TooltipProps {
400
- children: React.ReactNode;
418
+ children: React$1.ReactNode;
401
419
  childrenClassName?: string;
402
420
  className?: string;
403
421
  message: string;
404
422
  sideTooltip?: 'bottom' | 'left' | 'right' | 'top';
405
423
  }
406
- declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps & React.RefAttributes<HTMLDivElement>>;
424
+ declare const Tooltip: React$1.ForwardRefExoticComponent<TooltipProps & React$1.RefAttributes<HTMLDivElement>>;
407
425
 
408
426
  interface WrapperProps {
409
427
  children: ReactNode;
410
428
  className?: string;
411
429
  }
412
- declare const Wrapper: ({ children, className }: WrapperProps) => React.JSX.Element;
430
+ declare const Wrapper: ({ children, className }: WrapperProps) => React$1.JSX.Element;
413
431
 
414
432
  // Internal Helpers
415
433
 
@@ -953,4 +971,4 @@ declare const toast: {
953
971
  };
954
972
  declare function registerToastEmitter(fn: ToastEmitter): void;
955
973
 
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 };
974
+ 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, Image, type ImageProps, Input, InputField, InputOTP, InputOTPGroup, InputOTPSlot, type InputProps, Label, LabelField, Loading, MapPickerField, OTPField, type Options, PasswordChecklist, type PasswordRule, type PasswordRulesConfig, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type ResolvedAddress, 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 };