@oniratec/onira-react-ui 1.3.0 → 1.3.2

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';
@@ -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> = {
@@ -187,6 +197,16 @@ declare type DateField<T extends FieldValues> = BaseFieldCommon<T> & {
187
197
  kind: 'date';
188
198
  min?: Date;
189
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;
190
210
  };
191
211
 
192
212
  export declare const DatePicker: React_2.ForwardRefExoticComponent<DatePickerProps & React_2.RefAttributes<HTMLButtonElement>>;
@@ -201,8 +221,11 @@ export declare interface DatePickerProps {
201
221
  max?: Date;
202
222
  className?: string;
203
223
  isInvalid?: boolean;
224
+ timeZone?: string;
204
225
  }
205
226
 
227
+ export declare const DEFAULT_TIME_ZONE = "Europe/Madrid";
228
+
206
229
  declare interface DefaultValuesContext<TEntity> {
207
230
  entity?: TEntity;
208
231
  }
@@ -297,7 +320,7 @@ export declare type FileUploadProps = {
297
320
  maxPreviewItems?: number;
298
321
  };
299
322
 
300
- export declare type FilterDefinition<T = unknown> = TextFilter | SelectFilter | AsyncSelectFilter<T> | ToggleFilter;
323
+ export declare type FilterDefinition<T = unknown> = TextFilter | SelectFilter | AsyncSelectFilter<T> | ToggleFilter | DateFilter;
301
324
 
302
325
  export declare type FilterOption = {
303
326
  label: string;
@@ -306,27 +329,25 @@ export declare type FilterOption = {
306
329
 
307
330
  export declare type FiltersFactoryConfig<T = unknown> = {
308
331
  filters: FilterDefinition<T>[];
309
- buildQueryParams?: (state: FiltersState) => Record<string, string | number | boolean | undefined>;
332
+ buildQueryParams?: (state: FiltersState) => Record<string, string | number | boolean | Date | null | undefined>;
310
333
  };
311
334
 
312
335
  export declare type FiltersFactoryResult<T = unknown> = {
313
336
  filters: FilterDefinition<T>[];
314
337
  initialState: FiltersState;
315
- updateFilter: (state: FiltersState, id: string, value: string | boolean | undefined) => FiltersState;
338
+ updateFilter: (state: FiltersState, id: string, value: string | boolean | Date | null | undefined) => FiltersState;
316
339
  resetState: () => FiltersState;
317
- buildQueryParams: (state: FiltersState) => Record<string, string | number | boolean | undefined>;
340
+ buildQueryParams: (state: FiltersState) => Record<string, string | number | boolean | Date | null | undefined>;
318
341
  };
319
342
 
320
- export declare function FiltersModal({ title, description, children, triggerLabel, isOpen, defaultOpen, onOpenChange, onApply, applyLabel, closeLabel, className, }: FiltersModalProps): JSX.Element;
343
+ export declare function FiltersModal({ title, description, children, isOpen, onOpenChange, onApply, applyLabel, closeLabel, className, }: FiltersModalProps): JSX.Element;
321
344
 
322
345
  export declare type FiltersModalProps = {
323
346
  title?: string;
324
347
  description?: string;
325
348
  children: ReactNode;
326
- triggerLabel?: string;
327
- isOpen?: boolean;
328
- defaultOpen?: boolean;
329
- onOpenChange?: (open: boolean) => void;
349
+ isOpen: boolean;
350
+ onOpenChange: (open: boolean) => void;
330
351
  onApply?: () => void;
331
352
  applyLabel?: string;
332
353
  closeLabel?: string;
@@ -351,7 +372,7 @@ export declare type FiltersPanelProps<T> = {
351
372
 
352
373
  declare type FiltersPanelProps_2 = Parameters<typeof FiltersPanel>[0];
353
374
 
354
- export declare type FiltersState = Record<string, string | boolean | undefined>;
375
+ export declare type FiltersState = Record<string, string | boolean | Date | null | undefined>;
355
376
 
356
377
  export declare interface FormFactoryConfig<TFormModel extends FieldValues, TEntity = unknown> {
357
378
  defaultValues?: (ctx: DefaultValuesContext<TEntity>) => Partial<TFormModel>;
@@ -380,6 +401,8 @@ declare interface InputProps extends Omit<React_2.InputHTMLAttributes<HTMLInputE
380
401
  isInvalid?: boolean;
381
402
  }
382
403
 
404
+ export declare function isValidTimeZone(timeZone: string): boolean;
405
+
383
406
  declare type Layout = {
384
407
  kind: 'single';
385
408
  } | {
@@ -502,7 +525,7 @@ declare interface Props_5<TFormModel extends FieldValues, TEntity> {
502
525
  children?: ReactNode;
503
526
  }
504
527
 
505
- export declare function renderFiltersModal<T>(config: FiltersFactoryConfig<T>, value: FiltersState, onChange: (state: FiltersState) => void, options?: RenderFiltersModalOptions): JSX.Element;
528
+ export declare function renderFiltersModal<T>(config: FiltersFactoryConfig<T>, value: FiltersState, onChange: (state: FiltersState) => void, options: RenderFiltersModalOptions): JSX.Element;
506
529
 
507
530
  declare type RenderFiltersModalOptions = Omit<FiltersModalProps_2, 'children'> & {
508
531
  panel?: RenderFiltersPanelOptions;
@@ -518,6 +541,8 @@ export declare function renderFormFactory<TFormModel extends FieldValues, TEntit
518
541
 
519
542
  export declare function renderTable<T>(config: TableFactoryConfig<T>, data: T[], props?: DataTableRenderProps<T>): JSX.Element;
520
543
 
544
+ export declare function resolveTimeZone(timeZone?: string): string;
545
+
521
546
  declare type Section<T extends FieldValues> = {
522
547
  title: string;
523
548
  description?: string;
@@ -549,6 +574,8 @@ export declare const SelectTrigger: React_2.ForwardRefExoticComponent<Omit<Selec
549
574
 
550
575
  export declare const SelectValue: React_2.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React_2.RefAttributes<HTMLSpanElement>>;
551
576
 
577
+ export declare function setDefaultTimeZone(timeZone: string): boolean;
578
+
552
579
  export declare function Skeleton({ className }: SkeletonProps): JSX.Element;
553
580
 
554
581
  declare type SkeletonProps = {
@@ -607,6 +634,8 @@ export declare function ThemeProvider({ mode, theme, children, }: {
607
634
  children: ReactNode;
608
635
  }): ReactNode;
609
636
 
637
+ export declare function toDateTime(value: Date | string, timeZone?: string): DateTime;
638
+
610
639
  export declare const Toggle: ({ checked, defaultChecked, onChange, size, disabled, label, className, ariaLabel, }: ToggleProps) => JSX.Element;
611
640
 
612
641
  declare type ToggleField<T extends FieldValues> = BaseFieldCommon<T> & {
@@ -633,6 +662,10 @@ export declare interface ToggleProps {
633
662
  ariaLabel?: string;
634
663
  }
635
664
 
665
+ export declare function toISODate(value: Date | DateTime, timeZone?: string): string | null;
666
+
667
+ export declare function toISODateTime(value: Date | DateTime, timeZone?: string): string | null;
668
+
636
669
  export declare const Tooltip: ComponentType<TooltipPrimitive.TooltipProps>;
637
670
 
638
671
  export declare const TooltipContent: ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & RefAttributes<HTMLDivElement>, "ref"> & RefAttributes<HTMLDivElement>>;