@oniratec/onira-react-ui 1.2.12 → 1.3.1

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
@@ -1,4 +1,6 @@
1
+ import { ClassValue } from 'clsx';
1
2
  import { ComponentType } from 'react';
3
+ import { DateTime } from 'luxon';
2
4
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
3
5
  import { FC } from 'react';
4
6
  import { FieldErrors } from 'react-hook-form';
@@ -63,7 +65,7 @@ export declare type AsyncSelectOption = {
63
65
  meta?: unknown;
64
66
  };
65
67
 
66
- declare type BaseField<T extends FieldValues> = InputField<T> | TextareaField<T> | SelectField<T> | AsyncSelectField<T> | ToggleField<T> | CheckboxField<T> | FileUploadField<T> | CustomField<T>;
68
+ declare type BaseField<T extends FieldValues> = InputField<T> | TextareaField<T> | SelectField<T> | AsyncSelectField<T> | ToggleField<T> | CheckboxField<T> | DateField<T> | FileUploadField<T> | CustomField<T>;
67
69
 
68
70
  /** =========================
69
71
  * Common props for all fields
@@ -128,6 +130,12 @@ export declare type BreadcrumbsProps = {
128
130
 
129
131
  export declare function buildDefaultValues<TFormModel extends FieldValues, TEntity>(config: FormFactoryConfig<TFormModel, TEntity>, ctx: DefaultValuesContext<TEntity>): Partial<TFormModel>;
130
132
 
133
+ export declare function buildFiltersQueryParams<T>(filters: FilterDefinition<T>[], state: FiltersState, options?: BuildFiltersQueryParamsOptions): Record<string, string | number | boolean | undefined>;
134
+
135
+ export declare type BuildFiltersQueryParamsOptions = {
136
+ timeZone?: string;
137
+ };
138
+
131
139
  export declare function buildZodSchema<TFormModel extends FieldValues, TEntity>(config: FormFactoryConfig<TFormModel, TEntity>): z.ZodTypeAny;
132
140
 
133
141
  export declare const Button: React_2.ForwardRefExoticComponent<ButtonProps & React_2.RefAttributes<HTMLButtonElement>>;
@@ -151,6 +159,8 @@ declare type CheckboxField<T extends FieldValues> = BaseFieldCommon<T> & {
151
159
  kind: 'checkbox';
152
160
  };
153
161
 
162
+ export declare function cn(...inputs: ClassValue[]): string;
163
+
154
164
  export declare type ColorMode = 'light' | 'dark';
155
165
 
156
166
  export declare type Column<T> = {
@@ -183,6 +193,39 @@ declare type DataTableProps<T> = Parameters<typeof DataTable<T>>[0];
183
193
 
184
194
  declare type DataTableRenderProps<T> = Omit<DataTableProps<T>, 'columns' | 'data'>;
185
195
 
196
+ declare type DateField<T extends FieldValues> = BaseFieldCommon<T> & {
197
+ kind: 'date';
198
+ min?: Date;
199
+ max?: Date;
200
+ timeZone?: string;
201
+ };
202
+
203
+ export declare type DateFilter = BaseFilter & {
204
+ type: 'date';
205
+ placeholder?: string;
206
+ value?: Date | null;
207
+ min?: Date;
208
+ max?: Date;
209
+ timeZone?: string;
210
+ };
211
+
212
+ export declare const DatePicker: React_2.ForwardRefExoticComponent<DatePickerProps & React_2.RefAttributes<HTMLButtonElement>>;
213
+
214
+ export declare interface DatePickerProps {
215
+ value?: Date | null;
216
+ defaultValue?: Date;
217
+ onChange?: (date: Date | null) => void;
218
+ disabled?: boolean;
219
+ placeholder?: string;
220
+ min?: Date;
221
+ max?: Date;
222
+ className?: string;
223
+ isInvalid?: boolean;
224
+ timeZone?: string;
225
+ }
226
+
227
+ export declare const DEFAULT_TIME_ZONE = "Europe/Madrid";
228
+
186
229
  declare interface DefaultValuesContext<TEntity> {
187
230
  entity?: TEntity;
188
231
  }
@@ -277,7 +320,7 @@ export declare type FileUploadProps = {
277
320
  maxPreviewItems?: number;
278
321
  };
279
322
 
280
- export declare type FilterDefinition<T = unknown> = TextFilter | SelectFilter | AsyncSelectFilter<T> | ToggleFilter;
323
+ export declare type FilterDefinition<T = unknown> = TextFilter | SelectFilter | AsyncSelectFilter<T> | ToggleFilter | DateFilter;
281
324
 
282
325
  export declare type FilterOption = {
283
326
  label: string;
@@ -286,15 +329,15 @@ export declare type FilterOption = {
286
329
 
287
330
  export declare type FiltersFactoryConfig<T = unknown> = {
288
331
  filters: FilterDefinition<T>[];
289
- buildQueryParams?: (state: FiltersState) => Record<string, string | number | boolean | undefined>;
332
+ buildQueryParams?: (state: FiltersState) => Record<string, string | number | boolean | Date | null | undefined>;
290
333
  };
291
334
 
292
335
  export declare type FiltersFactoryResult<T = unknown> = {
293
336
  filters: FilterDefinition<T>[];
294
337
  initialState: FiltersState;
295
- updateFilter: (state: FiltersState, id: string, value: string | boolean | undefined) => FiltersState;
338
+ updateFilter: (state: FiltersState, id: string, value: string | boolean | Date | null | undefined) => FiltersState;
296
339
  resetState: () => FiltersState;
297
- buildQueryParams: (state: FiltersState) => Record<string, string | number | boolean | undefined>;
340
+ buildQueryParams: (state: FiltersState) => Record<string, string | number | boolean | Date | null | undefined>;
298
341
  };
299
342
 
300
343
  export declare function FiltersModal({ title, description, children, triggerLabel, isOpen, defaultOpen, onOpenChange, onApply, applyLabel, closeLabel, className, }: FiltersModalProps): JSX.Element;
@@ -331,7 +374,7 @@ export declare type FiltersPanelProps<T> = {
331
374
 
332
375
  declare type FiltersPanelProps_2 = Parameters<typeof FiltersPanel>[0];
333
376
 
334
- export declare type FiltersState = Record<string, string | boolean | undefined>;
377
+ export declare type FiltersState = Record<string, string | boolean | Date | null | undefined>;
335
378
 
336
379
  export declare interface FormFactoryConfig<TFormModel extends FieldValues, TEntity = unknown> {
337
380
  defaultValues?: (ctx: DefaultValuesContext<TEntity>) => Partial<TFormModel>;
@@ -360,6 +403,8 @@ declare interface InputProps extends Omit<React_2.InputHTMLAttributes<HTMLInputE
360
403
  isInvalid?: boolean;
361
404
  }
362
405
 
406
+ export declare function isValidTimeZone(timeZone: string): boolean;
407
+
363
408
  declare type Layout = {
364
409
  kind: 'single';
365
410
  } | {
@@ -498,6 +543,8 @@ export declare function renderFormFactory<TFormModel extends FieldValues, TEntit
498
543
 
499
544
  export declare function renderTable<T>(config: TableFactoryConfig<T>, data: T[], props?: DataTableRenderProps<T>): JSX.Element;
500
545
 
546
+ export declare function resolveTimeZone(timeZone?: string): string;
547
+
501
548
  declare type Section<T extends FieldValues> = {
502
549
  title: string;
503
550
  description?: string;
@@ -529,6 +576,8 @@ export declare const SelectTrigger: React_2.ForwardRefExoticComponent<Omit<Selec
529
576
 
530
577
  export declare const SelectValue: React_2.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React_2.RefAttributes<HTMLSpanElement>>;
531
578
 
579
+ export declare function setDefaultTimeZone(timeZone: string): boolean;
580
+
532
581
  export declare function Skeleton({ className }: SkeletonProps): JSX.Element;
533
582
 
534
583
  declare type SkeletonProps = {
@@ -587,6 +636,8 @@ export declare function ThemeProvider({ mode, theme, children, }: {
587
636
  children: ReactNode;
588
637
  }): ReactNode;
589
638
 
639
+ export declare function toDateTime(value: Date | string, timeZone?: string): DateTime;
640
+
590
641
  export declare const Toggle: ({ checked, defaultChecked, onChange, size, disabled, label, className, ariaLabel, }: ToggleProps) => JSX.Element;
591
642
 
592
643
  declare type ToggleField<T extends FieldValues> = BaseFieldCommon<T> & {
@@ -613,6 +664,10 @@ export declare interface ToggleProps {
613
664
  ariaLabel?: string;
614
665
  }
615
666
 
667
+ export declare function toISODate(value: Date | DateTime, timeZone?: string): string | null;
668
+
669
+ export declare function toISODateTime(value: Date | DateTime, timeZone?: string): string | null;
670
+
616
671
  export declare const Tooltip: ComponentType<TooltipPrimitive.TooltipProps>;
617
672
 
618
673
  export declare const TooltipContent: ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & RefAttributes<HTMLDivElement>, "ref"> & RefAttributes<HTMLDivElement>>;