@scmlatam/web-ui 0.2.39 → 0.2.42

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 (32) hide show
  1. package/dist/src/components/rb.d.ts +3 -3
  2. package/dist/src/pages/Fechas.d.ts +3 -0
  3. package/dist/src/rb-components/form/FormShell.d.ts +2 -1
  4. package/dist/src/rb-components/table/RbTable.d.ts +1 -1
  5. package/dist/src/rb-components/table/types.d.ts +7 -0
  6. package/dist/src/rb-components/timeline/Timeline.d.ts +1 -1
  7. package/dist/src/rb-components/timeline/index.d.ts +1 -1
  8. package/dist/src/rb-components/timeline/timeline.types.d.ts +17 -0
  9. package/dist/src/rb-components/timeline/timelineLayout.d.ts +4 -0
  10. package/dist/src/rb-components/tree-panel/virtualTree.types.d.ts +0 -1
  11. package/dist/src/rb-components/ui/index.d.ts +4 -2
  12. package/dist/src/rb-components/ui/overlays/Tooltip.d.ts +2 -1
  13. package/dist/src/rb-components/ui/primitives/AutoCustomCompleteField.d.ts +1 -0
  14. package/dist/src/rb-components/ui/primitives/Calendario.d.ts +60 -0
  15. package/dist/src/rb-components/ui/primitives/Input.d.ts +1 -0
  16. package/dist/src/rb-components/ui/primitives/date-fields/CustomDateControl.d.ts +41 -0
  17. package/dist/src/rb-components/ui/primitives/date-fields/CustomDatePicker.d.ts +2 -1
  18. package/dist/src/rb-components/ui/primitives/date-fields/CustomDateRangePicker.d.ts +5 -13
  19. package/dist/src/rb-components/ui/primitives/date-fields/CustomDateRangefield.d.ts +2 -1
  20. package/dist/src/rb-components/ui/primitives/date-fields/CustomDatefield.d.ts +4 -1
  21. package/dist/src/rb-components/ui/primitives/date-fields/CustomIndefiniteDatePicker/CustomDatePicker.d.ts +4 -1
  22. package/dist/src/rb-components/ui/primitives/date-fields/CustomIndefiniteDatePicker/YearGrid.d.ts +2 -1
  23. package/dist/src/rb-components/ui/primitives/date-fields/CustomTimefield.d.ts +2 -1
  24. package/dist/src/rb-components/ui/primitives/date-fields/DateFieldTrigger.d.ts +4 -0
  25. package/dist/src/rb-components/ui/primitives/date-fields/DateInputTrigger.d.ts +2 -0
  26. package/dist/src/rb-components/ui/primitives/date-fields/TimeFieldTrigger.d.ts +1 -0
  27. package/dist/src/rb-components/ui/primitives/date-fields/dateUtils.d.ts +6 -0
  28. package/dist/src/rb-components/ui/primitives/date-fields/index.d.ts +2 -0
  29. package/dist/src/rb-components/ui/primitives/date-fields/useDatePopover.d.ts +1 -0
  30. package/dist/web-ui.js +8203 -7832
  31. package/dist/web-ui.umd.cjs +74 -78
  32. package/package.json +1 -1
@@ -10,8 +10,8 @@ export { RbList, RbListItem } from '../rb-components/list';
10
10
  export type { RbListItemProps, RbListProps, RbListSize, RbListVariant, } from '../rb-components/list';
11
11
  export { PillsTabs, PillsTabs as RbPillsTabs, TabPanel, TabPanel as RbTabPanel, } from '../rb-components/navigation';
12
12
  export type { PillsTabItem, PillsTabsProps, TabPanelItem, TabPanelProps, } from '../rb-components/navigation';
13
- export { Button as RBButton, Input, AutoCustomCompleteField, CustomDatefield, CustomDatePicker, CustomTimefield, CustomDateRangefield, CustomDateRangePicker, CustomDateRangeCalendar, CustomIndefiniteDatePicker, RbInlineChipField, CalendarChipIcon, ClockChipIcon, Card, CardHeader, CardTitle, CardContent, CardFooter, IconButton as RbIconButton, Tooltip, Portal, ConfirmDialog, RbContextMenu, Checkbox, Radio, RbStepper, cn, } from '../rb-components/ui';
14
- export type { AutoValueItem, ButtonProps as RBButtonProps, InputProps, CustomAutoCompleteFieldProps, CustomDatefieldProps, CustomDatePickerProps, CustomTimefieldProps, CustomDateRangefieldProps, CustomDateRangePickerProps, CustomDateRangeCalendarProps, CustomIndefiniteDatePickerProps, RbInlineChipFieldProps, RbInlineChipFieldAction, RbContextMenuAlign, RbContextMenuItem, RbContextMenuPosition, RbContextMenuProps, RbContextMenuVariant, CardProps, IconButtonProps as RbIconButtonProps, CheckboxProps, CheckboxSize, RadioProps, RbStepperProps, RbStepperStep, PortalProps, TooltipProps, ConfirmDialogProps, ConfirmDialogInitialFocus, ConfirmDialogIconType, } from '../rb-components/ui';
13
+ export { Button as RBButton, Input, AutoCustomCompleteField, CustomDatefield, CustomDatePicker, CustomTimefield, CustomDateRangefield, CustomDateRangePicker, CustomDateRangeCalendar, CustomIndefiniteDatePicker, CustomDateControl, RbInlineChipField, CalendarChipIcon, ClockChipIcon, Card, CardHeader, CardTitle, CardContent, CardFooter, IconButton as RbIconButton, Tooltip, Portal, ConfirmDialog, RbContextMenu, Checkbox, Radio, RbStepper, cn, } from '../rb-components/ui';
14
+ export type { AutoValueItem, ButtonProps as RBButtonProps, InputProps, CustomAutoCompleteFieldProps, CustomDatefieldProps, CustomDatePickerProps, CustomTimefieldProps, CustomDateRangefieldProps, CustomDateRangePickerProps, CustomDateRangeCalendarProps, CustomIndefiniteDatePickerProps, CustomDateControlProps, RbInlineChipFieldProps, RbInlineChipFieldAction, RbContextMenuAlign, RbContextMenuItem, RbContextMenuPosition, RbContextMenuProps, RbContextMenuVariant, CardProps, IconButtonProps as RbIconButtonProps, CheckboxProps, CheckboxSize, RadioProps, RbStepperProps, RbStepperStep, PortalProps, TooltipProps, ConfirmDialogProps, ConfirmDialogInitialFocus, ConfirmDialogIconType, } from '../rb-components/ui';
15
15
  export { RbTable, RbExcelTable, RbTableToolbar, RbToolbarActionButton, RbToolbarActions, RbToolbarDateRangeField, RbToolbarMultiSelectField, RbToolbarSearchField, RbToolbarSelectField, formatRbExcelDate, formatRbExcelTime, getRbExcelValueAtPath, isRbExcelEmptyValue, isValidRbExcelDate, isValidRbExcelNumber, isValidRbExcelTime, parseRbExcelValue, setRbExcelValueAtPath, } from '../rb-components/table';
16
16
  export type { RbExcelCellContext, RbExcelCreateRowContext, RbExcelEditorContext, RbExcelFieldType, RbExcelImportContext, RbExcelParseContext, RbExcelRenderContext, RbExcelRowsChangeMeta, RbExcelRowsChangeSource, RbExcelTableActions, RbExcelTableColumn, RbExcelTableLabels, RbExcelTableProps, RbExcelTableRef, RbExcelValidationError, RbExcelValidationErrorInput, RbExcelValidationErrorSource, RbExcelValidationResult, RbExcelValueSource, RbTableColumn, RbTableRowId, RbTableProps, RbTableCellParams, RbTableRowParams, RbTableInitialState, RbTablePinnedColumns, RbTableBaseRow, RbTableSize, RbTableDensity, RbTableAlign, RbTableCellContextMenuParams, RbTableCellContextMenuPosition, RbTablePaginationMode, RbTablePaginationModel, RbRowSelectionModel, RbRowsPerPageOption, RbToolbarActionsProps, RbToolbarDateRangeFieldProps, RbToolbarDateRangeValue, RbAnyTableColumn, RbLegacyGridColumn, } from '../rb-components/table';
17
17
  export { DashboardShell, ShellContent } from '../rb-components/shell';
@@ -22,4 +22,4 @@ export type { GetSelectableSubtreeOptions, TreePanelExpandedChangeDetails, TreeP
22
22
  export { getRbImageUrl, rbImages } from '../rb-components/images';
23
23
  export type { RbImageName } from '../rb-components/images';
24
24
  export { Timeline } from '../rb-components/timeline';
25
- export type { TimelineProps, TimelineSegment, TimelineBoundary, TimelineBoundaryClickArgs, TimelineSegmentClickArgs, TimelineBoundaryChangeArgs, TimelineSegmentId, } from '../rb-components/timeline';
25
+ export type { TimelineProps, TimelineCompactRange, TimelineSegment, TimelineBoundary, TimelineBoundaryClickArgs, TimelineSegmentClickArgs, TimelineBoundaryChangeArgs, TimelineSegmentId, } from '../rb-components/timeline';
@@ -0,0 +1,3 @@
1
+ import { PageProps } from '../components/core/types/types';
2
+ declare const Fechas: ({ location, navigate }: PageProps) => import("react").JSX.Element;
3
+ export { Fechas };
@@ -33,6 +33,7 @@ export interface FormShellProps {
33
33
  headerClassName?: string;
34
34
  bodyClassName?: string;
35
35
  footerClassName?: string;
36
+ marginY?: number;
36
37
  }
37
- export declare function FormShell({ open, title, ariaLabel, alert, children, footer, onClose, loading, loadingLabel, closeLabel, size, draggable, closeOnEscape, closeOnBackdrop, className, headerClassName, bodyClassName, footerClassName, }: FormShellProps): React.JSX.Element | null;
38
+ export declare function FormShell({ open, title, ariaLabel, alert, children, footer, onClose, loading, loadingLabel, closeLabel, size, draggable, closeOnEscape, closeOnBackdrop, className, headerClassName, bodyClassName, footerClassName, marginY, }: FormShellProps): React.JSX.Element | null;
38
39
  export default FormShell;
@@ -1,3 +1,3 @@
1
1
  import { default as React } from 'react';
2
2
  import { RbTableBaseRow, RbTableProps } from './types';
3
- export declare function RbTable<Row extends RbTableBaseRow = RbTableBaseRow>({ columns, rows, loading, getRowKey, title, description, toolbarLeft, toolbarRight, showToolbar, toolbarClassName, emptyText, emptyState, className, rootClassName, bodyClassName, size, fill, density, onRowClick, onCellContextMenu, rowClassName, getCellClassName, getRowClassName, checkboxSelection, rowSelectionModel, setRowSelectionModel, onRowSelectionModelChange, isRowSelectable, disableRowSelectionOnClick, pinnedColumns, initialState, paginate, paginationMode, paginationModel, setPaginationModel, onPaginationModelChange, rowCount, defaultRowsPerPage, rowsPerPageOptions, resultsLabel, viewAllLabel, prevAriaLabel, nextAriaLabel, footer, footerActions, hideFooter, }: RbTableProps<Row>): React.JSX.Element;
3
+ export declare function RbTable<Row extends RbTableBaseRow = RbTableBaseRow>({ columns, rows, loading, getRowKey, title, description, toolbarLeft, toolbarRight, showToolbar, toolbarClassName, emptyText, emptyState, className, rootClassName, bodyClassName, size, fill, density, maxHeight, onRowClick, onCellContextMenu, rowClassName, getCellClassName, getRowClassName, checkboxSelection, rowSelectionModel, setRowSelectionModel, onRowSelectionModelChange, isRowSelectable, disableRowSelectionOnClick, pinnedColumns, initialState, paginate, paginationMode, paginationModel, setPaginationModel, onPaginationModelChange, rowCount, defaultRowsPerPage, rowsPerPageOptions, resultsLabel, viewAllLabel, prevAriaLabel, nextAriaLabel, footer, footerActions, hideFooter, }: RbTableProps<Row>): React.JSX.Element;
@@ -214,6 +214,13 @@ export type RbTableProps<Row extends RbTableBaseRow = RbTableBaseRow> = {
214
214
  size?: RbTableSize;
215
215
  fill?: boolean;
216
216
  density?: RbTableDensity;
217
+ /**
218
+ * Altura máxima del body de la tabla. Acepta el mismo formato que el ancho
219
+ * de columnas: number => px, o cualquier string CSS válido ("20rem", "50vh", etc).
220
+ * Si no se define, se usa el valor por defecto asociado a 'size'.
221
+ * Se ignora cuando 'fill' está activo.
222
+ */
223
+ maxHeight?: number | string;
217
224
  onRowClick?: (row: Row, index: number) => void;
218
225
  /**
219
226
  * Se ejecuta al hacer clic derecho sobre una celda.
@@ -1,3 +1,3 @@
1
1
  import { TimelineProps } from './timeline.types';
2
- export declare function Timeline({ segments, startBoundary, endBoundary, colors, formatDate, segmentTooltip, boundaryTooltip, onSegmentClick, onBoundaryClick, allowGaps, scale, editableBoundaries, exclusiveEnd, indefiniteDate, indefiniteLabel, onBoundaryDateChange, className, }: TimelineProps): import("react").JSX.Element | null;
2
+ export declare function Timeline({ segments, mode, external_labels, legend, compactRange, tooltips, startBoundary, endBoundary, colors, formatDate, segmentTooltip, boundaryTooltip, onSegmentClick, onBoundaryClick, allowGaps, scale, editableBoundaries, exclusiveEnd, indefiniteDate, indefiniteLabel, onBoundaryDateChange, className, }: TimelineProps): import("react").JSX.Element | null;
3
3
  export default Timeline;
@@ -1,2 +1,2 @@
1
1
  export { Timeline, default } from './Timeline';
2
- export type { TimelineBoundary, TimelineBoundaryClickArgs, TimelineProps, TimelineSegment, TimelineSegmentClickArgs, TimelineSegmentId, TimelineBoundaryChangeArgs, } from './timeline.types';
2
+ export type { TimelineBoundary, TimelineBoundaryClickArgs, TimelineCompactRange, TimelineProps, TimelineSegment, TimelineSegmentClickArgs, TimelineSegmentId, TimelineBoundaryChangeArgs, } from './timeline.types';
@@ -27,6 +27,10 @@ export interface TimelineBoundary {
27
27
  color?: string;
28
28
  tooltip?: React.ReactNode;
29
29
  }
30
+ export interface TimelineCompactRange {
31
+ startDate: Dayjs;
32
+ endDate: Dayjs;
33
+ }
30
34
  export interface TimelineBoundaryClickArgs {
31
35
  /** Índice del punto (0 = inicio, `segments.length` = fin). */
32
36
  index: number;
@@ -43,6 +47,19 @@ export interface TimelineSegmentClickArgs {
43
47
  }
44
48
  export interface TimelineProps {
45
49
  segments: TimelineSegment[];
50
+ /** Vista del timeline. `simple` conserva la vista con dots y etiquetas. */
51
+ mode?: "simple" | "compact";
52
+ /** Etiquetas externas para los extremos de la vista compacta. */
53
+ external_labels?: {
54
+ fecha_inicio?: React.ReactNode;
55
+ fecha_fin?: React.ReactNode;
56
+ };
57
+ /** Muestra la leyenda de segmentos en la vista compacta. */
58
+ legend?: boolean;
59
+ /** Dominio temporal usado por la vista compacta para posicionar los segmentos. */
60
+ compactRange?: TimelineCompactRange;
61
+ /** Activa los tooltips de rango en la vista compacta. */
62
+ tooltips?: boolean;
46
63
  /** Personaliza el punto/etiqueta inicial (por defecto usa la fecha inicial del primer segmento). */
47
64
  startBoundary?: TimelineBoundary;
48
65
  /** Personaliza el punto/etiqueta final (por defecto usa la fecha final del último segmento). */
@@ -4,6 +4,10 @@ export interface BuildSlotsOptions {
4
4
  /** Reparte el ancho según la duración real de cada tramo. */
5
5
  proportional?: boolean;
6
6
  indefiniteDate?: Dayjs;
7
+ domain?: {
8
+ startDate: Dayjs;
9
+ endDate: Dayjs;
10
+ };
7
11
  }
8
12
  export declare function buildSlots(segments: TimelineSegment[], allowGaps: boolean, options?: BuildSlotsOptions): TimelineSlot[];
9
13
  export declare function buildBoundaries(segments: TimelineSegment[], segmentSlots: TimelineSlot[], allowGaps: boolean): ResolvedBoundary[];
@@ -36,7 +36,6 @@ export interface VirtualTreeApiRef<TValue = unknown> {
36
36
  scrollToItem: (itemId: VirtualTreeNodeId) => void;
37
37
  }
38
38
  export interface VirtualTreeProps<TValue = unknown> {
39
- title: React.ReactNode;
40
39
  ariaLabel?: string;
41
40
  items?: readonly VirtualTreeNode<TValue>[];
42
41
  selectionMode?: VirtualTreeSelectionMode;
@@ -14,8 +14,10 @@ export { Button } from './primitives/Button';
14
14
  export type { ButtonProps } from './primitives/Button';
15
15
  export { AutoCustomCompleteField } from './primitives/AutoCustomCompleteField';
16
16
  export type { AutoValueItem, CustomAutoCompleteFieldProps, } from './primitives/AutoCustomCompleteField';
17
- export { CustomDatefield, CustomDatePicker, CustomIndefiniteDatePicker, CustomTimefield, CustomDateRangefield, CustomDateRangePicker, CustomDateRangeCalendar, } from './primitives/date-fields';
18
- export type { CustomDatefieldProps, CustomDatePickerProps, CustomIndefiniteDatePickerProps, CustomTimefieldProps, CustomDateRangefieldProps, CustomDateRangePickerProps, CustomDateRangeCalendarProps, } from './primitives/date-fields';
17
+ export { CustomDatefield, CustomDatePicker, CustomIndefiniteDatePicker, CustomTimefield, CustomDateRangefield, CustomDateRangePicker, CustomDateRangeCalendar, CustomDateControl, } from './primitives/date-fields';
18
+ export type { CustomDatefieldProps, CustomDatePickerProps, CustomIndefiniteDatePickerProps, CustomTimefieldProps, CustomDateRangefieldProps, CustomDateRangePickerProps, CustomDateRangeCalendarProps, CustomDateControlProps, } from './primitives/date-fields';
19
+ export { Calendario } from './primitives/Calendario';
20
+ export type { CalendarioProps, CalendarioSingleProps, CalendarioRangeProps, CalendarioRange, CalendarioMonths, } from './primitives/Calendario';
19
21
  export { RbInlineChipField, CalendarChipIcon, ClockChipIcon, } from './primitives/RbInlineChipField';
20
22
  export type { RbInlineChipFieldProps, RbInlineChipFieldAction, } from './primitives/RbInlineChipField';
21
23
  export { RbContextMenu } from './primitives/RbContextMenu';
@@ -6,9 +6,10 @@ export interface TooltipProps {
6
6
  placement?: TooltipPlacement;
7
7
  multiline?: boolean;
8
8
  disabled?: boolean;
9
+ triggerClassName?: string;
9
10
  className?: string;
10
11
  openDelay?: number;
11
12
  closeDelay?: number;
12
13
  }
13
- export default function Tooltip({ content, children, placement, multiline, disabled, className, openDelay, closeDelay, }: TooltipProps): React.JSX.Element;
14
+ export default function Tooltip({ content, children, placement, multiline, disabled, triggerClassName, className, openDelay, closeDelay, }: TooltipProps): React.JSX.Element;
14
15
  export {};
@@ -66,6 +66,7 @@ interface CustomAutoCompleteBaseProps {
66
66
  values: AutoValueItem[];
67
67
  white: boolean;
68
68
  disabled?: boolean;
69
+ required?: boolean;
69
70
  error?: boolean;
70
71
  helperText?: ReactNode;
71
72
  emptyText?: ReactNode;
@@ -0,0 +1,60 @@
1
+ import { default as React } from 'react';
2
+ import { Dayjs } from 'dayjs';
3
+ declare const CALENDARIO_LOCALES: {
4
+ readonly en: import('react-day-picker').DayPickerLocale;
5
+ readonly es: import('react-day-picker').DayPickerLocale;
6
+ };
7
+ type CalendarioLocale = keyof typeof CALENDARIO_LOCALES;
8
+ export type CalendarioMonths = 1 | 2 | 3;
9
+ export type CalendarioRange = [Dayjs | null, Dayjs | null];
10
+ interface CalendarioBaseProps {
11
+ label: string;
12
+ disabled: boolean;
13
+ white: boolean;
14
+ fullWidth: boolean;
15
+ placeholder?: string;
16
+ captionLayout?: "label" | "dropdown";
17
+ locale?: CalendarioLocale | null;
18
+ minDate?: Dayjs | Date;
19
+ maxDate?: Dayjs | Date;
20
+ calendarWhite?: boolean;
21
+ /**
22
+ * Cantidad de meses visibles en el panel:
23
+ * 1 simple, 2 doble, 3 triple.
24
+ */
25
+ months?: CalendarioMonths;
26
+ /**
27
+ * Centra los calendarios y la cabecera
28
+ * dentro del panel.
29
+ */
30
+ centerCalendars?: boolean;
31
+ /**
32
+ * Muestra el valor del trigger en formato corto
33
+ * (DD/MM/YY), útil en espacios reducidos.
34
+ */
35
+ compact?: boolean;
36
+ /**
37
+ * Activa el estado visual y accesible de error.
38
+ */
39
+ error?: boolean;
40
+ /**
41
+ * Texto de ayuda o validación mostrado
42
+ * bajo el campo.
43
+ */
44
+ helperText?: React.ReactNode;
45
+ }
46
+ export interface CalendarioSingleProps extends CalendarioBaseProps {
47
+ selectionMode?: "single";
48
+ initialValue: Dayjs | null;
49
+ value: Dayjs | null;
50
+ setValue: (newValue: Dayjs | null) => void;
51
+ }
52
+ export interface CalendarioRangeProps extends CalendarioBaseProps {
53
+ selectionMode: "range";
54
+ initialValue: CalendarioRange;
55
+ value: CalendarioRange;
56
+ setValue: (newValue: CalendarioRange) => void;
57
+ }
58
+ export type CalendarioProps = CalendarioSingleProps | CalendarioRangeProps;
59
+ declare const Calendario: (props: CalendarioProps) => React.JSX.Element;
60
+ export { Calendario };
@@ -4,6 +4,7 @@ export type BaseInputProps = {
4
4
  containerClassName?: string;
5
5
  label?: React.ReactNode;
6
6
  labelVariant?: InputLabelVariant;
7
+ white?: boolean;
7
8
  hint?: React.ReactNode;
8
9
  helperText?: React.ReactNode;
9
10
  error?: boolean;
@@ -0,0 +1,41 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { CustomDatePickerProps } from './CustomDatePicker';
3
+ import { CustomDatePickerProps as CustomFieldDatePickerProps } from './CustomIndefiniteDatePicker/CustomDatePicker';
4
+ import { CustomIndefiniteDatePickerProps } from './CustomIndefiniteDatePicker/CustomIndefiniteDatePicker';
5
+ type DateControlVariant = "input" | "field";
6
+ type DateControlBaseProps = {
7
+ label: string;
8
+ initialValue?: Dayjs | null;
9
+ value: Dayjs | null;
10
+ setValue: (newValue: Dayjs | null) => void;
11
+ disabled?: boolean;
12
+ required?: boolean;
13
+ white?: boolean;
14
+ fullWidth?: boolean;
15
+ placeholder?: string;
16
+ minDate?: Dayjs | Date;
17
+ maxDate?: Dayjs | Date;
18
+ error?: boolean;
19
+ helperText?: React.ReactNode;
20
+ };
21
+ type DateControlPickerProps = Omit<CustomDatePickerProps, "label" | "initialValue" | "value" | "setValue" | "disabled" | "required" | "white" | "fullWidth" | "placeholder" | "error" | "helperText">;
22
+ type DateControlIndefiniteProps = Omit<CustomIndefiniteDatePickerProps, "label" | "value" | "setValue" | "disabled" | "required" | "white" | "fullWidth" | "placeholder" | "error" | "helperText" | "indefinite" | "onIndefiniteChange">;
23
+ type DateControlFieldProps = Omit<CustomFieldDatePickerProps, "label" | "value" | "setValue" | "disabled" | "required" | "white" | "fullWidth" | "placeholder" | "error" | "helperText">;
24
+ export interface CustomDateControlProps extends DateControlBaseProps {
25
+ /** Visualizacion editable tipo input o visualizacion compacta tipo field. */
26
+ variant?: DateControlVariant;
27
+ /** Usa el selector de fecha y hora de CustomDatefield. */
28
+ withTime?: boolean;
29
+ /** Activa la visualizacion y comportamiento de fecha indefinida. */
30
+ indefinite?: boolean;
31
+ /** Handler requerido cuando se muestra la opcion indefinida. */
32
+ onIndefiniteChange?: (indefinite: boolean) => void;
33
+ /** Props especificas del CustomDatePicker editable. */
34
+ pickerProps?: DateControlPickerProps;
35
+ /** Props especificas de la visualizacion compacta tipo field. */
36
+ fieldProps?: DateControlFieldProps;
37
+ /** Props especificas de CustomIndefiniteDatePicker. */
38
+ indefiniteProps?: DateControlIndefiniteProps;
39
+ }
40
+ declare const CustomDateControl: ({ label, initialValue, value, setValue, disabled, required, white, fullWidth, placeholder, minDate, maxDate, error, helperText, variant, withTime, indefinite, onIndefiniteChange, pickerProps, fieldProps, indefiniteProps, }: CustomDateControlProps) => import("react").JSX.Element;
41
+ export { CustomDateControl };
@@ -11,6 +11,7 @@ export interface CustomDatePickerProps {
11
11
  value: Dayjs | null;
12
12
  setValue: (newValue: Dayjs | null) => void;
13
13
  disabled: boolean;
14
+ required?: boolean;
14
15
  white: boolean;
15
16
  fullWidth: boolean;
16
17
  placeholder?: string;
@@ -28,5 +29,5 @@ export interface CustomDatePickerProps {
28
29
  */
29
30
  helperText?: React.ReactNode;
30
31
  }
31
- declare const CustomDatePicker: ({ label, initialValue, value, setValue, disabled, white, fullWidth, placeholder, captionLayout, error, helperText, locale, minDate: minDateProp, maxDate: maxDateProp, }: CustomDatePickerProps) => React.JSX.Element;
32
+ declare const CustomDatePicker: ({ label, initialValue, value, setValue, disabled, required, white, fullWidth, placeholder, captionLayout, error, helperText, locale, minDate: minDateProp, maxDate: maxDateProp, }: CustomDatePickerProps) => React.JSX.Element;
32
33
  export { CustomDatePicker };
@@ -2,20 +2,12 @@ import { default as React } from 'react';
2
2
  import { Dayjs } from 'dayjs';
3
3
  export interface CustomDateRangePickerProps {
4
4
  label: string;
5
- initialValue: [
6
- Dayjs | null,
7
- Dayjs | null
8
- ];
9
- value: [
10
- Dayjs | null,
11
- Dayjs | null
12
- ];
13
- setValue: (newValue: [
14
- Dayjs | null,
15
- Dayjs | null
16
- ]) => void;
5
+ initialValue: [Dayjs | null, Dayjs | null];
6
+ value: [Dayjs | null, Dayjs | null];
7
+ setValue: (newValue: [Dayjs | null, Dayjs | null]) => void;
17
8
  calendars: 1 | 2 | 3;
18
9
  disabled: boolean;
10
+ required?: boolean;
19
11
  white: boolean;
20
12
  fullWidth: boolean;
21
13
  /**
@@ -24,5 +16,5 @@ export interface CustomDateRangePickerProps {
24
16
  */
25
17
  compact?: boolean;
26
18
  }
27
- declare const CustomDateRangePicker: ({ label, initialValue, value, setValue, calendars, disabled, white, fullWidth, compact, }: CustomDateRangePickerProps) => React.JSX.Element;
19
+ declare const CustomDateRangePicker: ({ label, initialValue, value, setValue, calendars, disabled, required, white, fullWidth, compact, }: CustomDateRangePickerProps) => React.JSX.Element;
28
20
  export { CustomDateRangePicker };
@@ -5,6 +5,7 @@ export interface CustomDateRangefieldProps {
5
5
  value: [Dayjs | null, Dayjs | null];
6
6
  setValue: (newValue: [Dayjs | null, Dayjs | null]) => void;
7
7
  disabled: boolean;
8
+ required?: boolean;
8
9
  }
9
- declare const CustomDateRangefield: ({ label, value, setValue, disabled, }: CustomDateRangefieldProps) => React.JSX.Element;
10
+ declare const CustomDateRangefield: ({ label, value, setValue, disabled, required, }: CustomDateRangefieldProps) => React.JSX.Element;
10
11
  export { CustomDateRangefield };
@@ -6,8 +6,11 @@ export interface CustomDatefieldProps {
6
6
  value: Dayjs | null;
7
7
  setValue: (newValue: Dayjs | null) => void;
8
8
  disabled: boolean;
9
+ required?: boolean;
9
10
  white: boolean;
10
11
  fullWidth: boolean;
12
+ minDate?: Dayjs | Date;
13
+ maxDate?: Dayjs | Date;
11
14
  }
12
- declare const CustomDatefield: ({ label, initialValue, value, setValue, disabled, white, fullWidth, }: CustomDatefieldProps) => React.JSX.Element;
15
+ declare const CustomDatefield: ({ label, initialValue, value, setValue, disabled, required, white, fullWidth, minDate, maxDate, }: CustomDatefieldProps) => React.JSX.Element;
13
16
  export { CustomDatefield };
@@ -1,5 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { Dayjs } from 'dayjs';
3
+ type DatePickerCaptionLayout = "label" | "dropdown";
3
4
  export interface DatePickerFooterApi {
4
5
  close: () => void;
5
6
  }
@@ -10,9 +11,11 @@ export interface CustomDatePickerProps {
10
11
  minDate?: Dayjs | Date;
11
12
  maxDate?: Dayjs | Date;
12
13
  disabled?: boolean;
14
+ required?: boolean;
13
15
  white?: boolean;
14
16
  fullWidth?: boolean;
15
17
  placeholder?: string;
18
+ captionLayout?: DatePickerCaptionLayout;
16
19
  /** Sobrescribe el texto del trigger (ej. "Indefinido"). */
17
20
  displayValue?: string;
18
21
  /** Texto de ayuda opcional que se muestra debajo del campo. */
@@ -22,5 +25,5 @@ export interface CustomDatePickerProps {
22
25
  /** Contenido opcional al pie del panel. Se oculta en la vista de años. */
23
26
  footer?: (api: DatePickerFooterApi) => React.ReactNode;
24
27
  }
25
- declare const CustomDatePicker: ({ label, value, setValue, minDate: minDateProp, maxDate: maxDateProp, disabled, white, fullWidth, placeholder, displayValue, footer, helperText, error, }: CustomDatePickerProps) => React.JSX.Element;
28
+ declare const CustomDatePicker: ({ label, value, setValue, minDate: minDateProp, maxDate: maxDateProp, disabled, required, white, fullWidth, placeholder, displayValue, footer, helperText, error, }: CustomDatePickerProps) => React.JSX.Element;
26
29
  export { CustomDatePicker };
@@ -2,7 +2,8 @@ import { default as React } from 'react';
2
2
  interface YearGridProps {
3
3
  years: number[];
4
4
  activeYear: number;
5
+ variant?: "light" | "dark";
5
6
  onSelect: (year: number) => void;
6
7
  }
7
- export declare const YearGrid: React.MemoExoticComponent<({ years, activeYear, onSelect }: YearGridProps) => React.JSX.Element>;
8
+ export declare const YearGrid: React.MemoExoticComponent<({ years, activeYear, variant, onSelect, }: YearGridProps) => React.JSX.Element>;
8
9
  export {};
@@ -6,6 +6,7 @@ export interface CustomTimefieldProps {
6
6
  value: Dayjs | null;
7
7
  setValue: (newValue: Dayjs | null) => void;
8
8
  disabled: boolean;
9
+ required?: boolean;
9
10
  white: boolean;
10
11
  fullWidth: boolean;
11
12
  /**
@@ -31,5 +32,5 @@ export interface CustomTimefieldProps {
31
32
  */
32
33
  helperText?: React.ReactNode;
33
34
  }
34
- declare const CustomTimefield: ({ label, initialValue, value, setValue, disabled, white, fullWidth, minuteStep, error, helperText, }: CustomTimefieldProps) => React.JSX.Element;
35
+ declare const CustomTimefield: ({ label, initialValue, value, setValue, disabled, required, white, fullWidth, minuteStep, error, helperText, }: CustomTimefieldProps) => React.JSX.Element;
35
36
  export { CustomTimefield, };
@@ -7,6 +7,7 @@ interface DateFieldTriggerProps {
7
7
  placeholder?: string;
8
8
  open?: boolean;
9
9
  disabled?: boolean;
10
+ required?: boolean;
10
11
  white?: boolean;
11
12
  fullWidth?: boolean;
12
13
  icon?: DateFieldIcon;
@@ -23,6 +24,9 @@ interface DateFieldTriggerProps {
23
24
  */
24
25
  helperText?: React.ReactNode;
25
26
  onClick?: () => void;
27
+ onChange?: (value: string) => void;
28
+ onBlur?: () => void;
29
+ onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
26
30
  }
27
31
  export declare const DateFieldTrigger: React.ForwardRefExoticComponent<DateFieldTriggerProps & React.RefAttributes<HTMLButtonElement | HTMLInputElement>>;
28
32
  export {};
@@ -6,10 +6,12 @@ interface DateInputTriggerProps {
6
6
  placeholder: string;
7
7
  open: boolean;
8
8
  disabled: boolean;
9
+ required?: boolean;
9
10
  white: boolean;
10
11
  fullWidth: boolean;
11
12
  error: boolean;
12
13
  helperText?: React.ReactNode;
14
+ maxLength?: number;
13
15
  onChange: (value: string) => void;
14
16
  onOpen: () => void;
15
17
  onBlur: () => void;
@@ -6,6 +6,7 @@ interface TimeFieldTriggerProps {
6
6
  minute: string;
7
7
  open: boolean;
8
8
  disabled: boolean;
9
+ required?: boolean;
9
10
  white: boolean;
10
11
  fullWidth: boolean;
11
12
  error: boolean;
@@ -2,11 +2,17 @@ import { default as dayjs, Dayjs } from 'dayjs';
2
2
  export declare const DATE_DISPLAY_FORMAT = "DD/MM/YYYY";
3
3
  export declare const TIME_DISPLAY_FORMAT = "HH:mm";
4
4
  export declare const DATETIME_DISPLAY_FORMAT = "DD/MM/YYYY HH:mm";
5
+ export declare const INVALID_DATE_HELPER_TEXT = "Fecha inv\u00E1lida";
5
6
  export declare function toDate(value?: Dayjs | null): Date | undefined;
6
7
  export declare function toDayjs(value?: Date | null): Dayjs | null;
7
8
  export declare function formatDate(value?: Dayjs | null): string;
8
9
  export declare function maskDateInput(value: string): string;
10
+ export declare function maskDateRangeInput(value: string): string;
9
11
  export declare function fromDisplayDateValue(value: string): dayjs.Dayjs | null;
12
+ export declare function fromDisplayDateRangeValue(value: string): {
13
+ value: [Dayjs | null, Dayjs | null];
14
+ invalid: boolean;
15
+ };
10
16
  export declare function formatTime(value?: Dayjs | null): string;
11
17
  export declare function formatDateTime(value?: Dayjs | null): string;
12
18
  export declare function formatDateRange(value?: [Dayjs | null, Dayjs | null]): string;
@@ -4,6 +4,8 @@ export { CustomDatePicker } from './CustomDatePicker';
4
4
  export type { CustomDatePickerProps } from './CustomDatePicker';
5
5
  export { CustomIndefiniteDatePicker } from './CustomIndefiniteDatePicker/CustomIndefiniteDatePicker';
6
6
  export type { CustomIndefiniteDatePickerProps } from './CustomIndefiniteDatePicker/CustomIndefiniteDatePicker';
7
+ export { CustomDateControl } from './CustomDateControl';
8
+ export type { CustomDateControlProps } from './CustomDateControl';
7
9
  export { CustomTimefield } from './CustomTimefield';
8
10
  export type { CustomTimefieldProps } from './CustomTimefield';
9
11
  export { CustomDateRangefield } from './CustomDateRangefield';
@@ -10,6 +10,7 @@ interface UseDatePopoverOptions {
10
10
  estimatedHeight?: number;
11
11
  offset?: number;
12
12
  screenPadding?: number;
13
+ ignoreCloseSelectors?: string[];
13
14
  }
14
15
  export declare function useDatePopover<TriggerElement extends HTMLElement = HTMLButtonElement>(options?: UseDatePopoverOptions): {
15
16
  open: boolean;