@arquimedes.co/eureka-forms 3.0.53-new-steps → 3.0.53-test
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/@Types/FormStep.d.ts +2 -7
- package/dist/@Types/FormStep.js +1 -2
- package/dist/FormSteps/Step.js +0 -16
- package/dist/FormSteps/StepFunctions.js +0 -14
- package/dist/FormSteps/StepFunctions.test.js +0 -54
- package/dist/Shared/ErkDatePicker/ErkDatePicker.js +7 -5
- package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.d.ts +3 -2
- package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.js +5 -4
- package/dist/constants/FormStepTypes.d.ts +1 -5
- package/dist/constants/FormStepTypes.js +0 -4
- package/dist/index.lib.d.ts +2 -4
- package/dist/index.lib.js +1 -3
- package/package.json +7 -8
- package/dist/@Types/AvailabilityFormStep.d.ts +0 -48
- package/dist/@Types/AvailabilityFormStep.js +0 -24
- package/dist/@Types/BankAccountFormStep.d.ts +0 -67
- package/dist/@Types/BankAccountFormStep.js +0 -14
- package/dist/@Types/BookingFormStep.d.ts +0 -166
- package/dist/@Types/BookingFormStep.js +0 -44
- package/dist/@Types/CalendarFormStep.d.ts +0 -192
- package/dist/@Types/CalendarFormStep.js +0 -48
- package/dist/@Types/CommunicationChannelFormStep.d.ts +0 -51
- package/dist/@Types/CommunicationChannelFormStep.js +0 -15
- package/dist/@Types/ConsentFormStep.d.ts +0 -36
- package/dist/@Types/ConsentFormStep.js +0 -8
- package/dist/@Types/EntityFormFormStep.d.ts +0 -66
- package/dist/@Types/EntityFormFormStep.js +0 -20
- package/dist/@Types/EventFormStep.d.ts +0 -52
- package/dist/@Types/EventFormStep.js +0 -13
- package/dist/@Types/ExternalReferenceFormStep.d.ts +0 -74
- package/dist/@Types/ExternalReferenceFormStep.js +0 -20
- package/dist/@Types/LocationFormStep.d.ts +0 -159
- package/dist/@Types/LocationFormStep.js +0 -46
- package/dist/@Types/NumericFormSteps.d.ts +0 -108
- package/dist/@Types/NumericFormSteps.js +0 -20
- package/dist/@Types/PredefinedSelectorFormStep.d.ts +0 -51
- package/dist/@Types/PredefinedSelectorFormStep.js +0 -39
- package/dist/@Types/StepRef.d.ts +0 -135
- package/dist/@Types/StepRef.js +0 -49
- package/dist/FormSteps/BookingStep/BookingStep.d.ts +0 -17
- package/dist/FormSteps/BookingStep/BookingStep.js +0 -14
- package/dist/FormSteps/BookingStep/MaterialBookingStep/MaterialBookingStep.d.ts +0 -7
- package/dist/FormSteps/BookingStep/MaterialBookingStep/MaterialBookingStep.js +0 -32
- package/dist/FormSteps/CalendarStep/CalendarStep.d.ts +0 -7
- package/dist/FormSteps/CalendarStep/CalendarStep.js +0 -14
- package/dist/FormSteps/CalendarStep/MaterialCalendarStep/MaterialCalendarStep.d.ts +0 -7
- package/dist/FormSteps/CalendarStep/MaterialCalendarStep/MaterialCalendarStep.js +0 -31
- package/dist/FormSteps/LocationStep/LocationStep.d.ts +0 -10
- package/dist/FormSteps/LocationStep/LocationStep.js +0 -14
- package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.d.ts +0 -3
- package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.js +0 -47
- package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.module.css +0 -18
- package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.d.ts +0 -3
- package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.js +0 -168
- package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.module.css +0 -94
- package/dist/FormSteps/NumberStep/NumberStep.d.ts +0 -10
- package/dist/FormSteps/NumberStep/NumberStep.js +0 -14
- package/dist/Icons/AddIcon.d.ts +0 -3
- package/dist/Icons/AddIcon.js +0 -7
- package/dist/Icons/EditIcon.d.ts +0 -3
- package/dist/Icons/EditIcon.js +0 -7
- package/dist/Icons/RemoveIcon.d.ts +0 -3
- package/dist/Icons/RemoveIcon.js +0 -7
- package/dist/Icons/ViewDayIcon.d.ts +0 -3
- package/dist/Icons/ViewDayIcon.js +0 -7
- package/dist/Icons/ViewWeekIcon.d.ts +0 -3
- package/dist/Icons/ViewWeekIcon.js +0 -7
- package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.d.ts +0 -19
- package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.js +0 -80
- package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.module.css +0 -82
- package/dist/Shared/ErkAddressAutocomplete/googlePlaces.d.ts +0 -29
- package/dist/Shared/ErkAddressAutocomplete/googlePlaces.js +0 -139
- package/dist/Shared/ErkBookingPicker/ErkBookingPicker.d.ts +0 -31
- package/dist/Shared/ErkBookingPicker/ErkBookingPicker.js +0 -223
- package/dist/Shared/ErkBookingPicker/ErkBookingPicker.module.css +0 -608
- package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.d.ts +0 -28
- package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.js +0 -117
- package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.test.d.ts +0 -1
- package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.test.js +0 -49
- package/dist/Shared/ErkBookingPicker/ErkBookingPicker.test.d.ts +0 -1
- package/dist/Shared/ErkBookingPicker/ErkBookingPicker.test.js +0 -107
- package/dist/Shared/ErkCalendar/CalendarFunctions.d.ts +0 -28
- package/dist/Shared/ErkCalendar/CalendarFunctions.js +0 -121
- package/dist/Shared/ErkCalendar/CalendarPopovers.d.ts +0 -45
- package/dist/Shared/ErkCalendar/CalendarPopovers.js +0 -110
- package/dist/Shared/ErkCalendar/ErkCalendar.d.ts +0 -73
- package/dist/Shared/ErkCalendar/ErkCalendar.js +0 -293
- package/dist/Shared/ErkCalendar/ErkCalendar.module.css +0 -775
- package/dist/Shared/ErkCalendar/ErkCalendar.test.d.ts +0 -1
- package/dist/Shared/ErkCalendar/ErkCalendar.test.js +0 -171
- package/dist/Shared/ErkLocationField/ErkLocationField.d.ts +0 -23
- package/dist/Shared/ErkLocationField/ErkLocationField.js +0 -73
- package/dist/Shared/ErkLocationField/ErkLocationField.module.css +0 -29
- package/dist/Shared/ErkLocationField/addressFields.d.ts +0 -12
- package/dist/Shared/ErkLocationField/addressFields.js +0 -34
- package/dist/Shared/ErkLocationField/locationRestrictions.d.ts +0 -6
- package/dist/Shared/ErkLocationField/locationRestrictions.js +0 -51
- package/dist/Shared/ErkLocationInput/ErkLocationInput.d.ts +0 -15
- package/dist/Shared/ErkLocationInput/ErkLocationInput.js +0 -502
- package/dist/Shared/ErkLocationInput/ErkLocationInput.module.css +0 -115
- package/dist/Shared/ErkNumberField/ErkNumberField.d.ts +0 -42
- package/dist/Shared/ErkNumberField/ErkNumberField.js +0 -170
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BookingFormStep — paso de agendamiento (flujo ligero).
|
|
3
|
-
*
|
|
4
|
-
* Permite que alguien externo agende en el calendario de una o varias personas.
|
|
5
|
-
* Flujo: (seleccionar persona) → seleccionar día → seleccionar hora.
|
|
6
|
-
*
|
|
7
|
-
* A diferencia del paso CALENDAR, este NO usa MUI X Scheduler:
|
|
8
|
-
* presenta una UI ligera de date-picker + lista de slots disponibles.
|
|
9
|
-
* La disponibilidad real la calcula el backend leyendo los calendarios referenciados.
|
|
10
|
-
*/
|
|
11
|
-
// ===========================================================================
|
|
12
|
-
// Enums
|
|
13
|
-
// ===========================================================================
|
|
14
|
-
/**
|
|
15
|
-
* Modalidad de la cita.
|
|
16
|
-
*/
|
|
17
|
-
export var BookingMode;
|
|
18
|
-
(function (BookingMode) {
|
|
19
|
-
/** Presencial — requiere ubicación física. */
|
|
20
|
-
BookingMode["IN_PERSON"] = "IN_PERSON";
|
|
21
|
-
/** Virtual / remota (Meet, Teams, Zoom, etc.). */
|
|
22
|
-
BookingMode["VIRTUAL"] = "VIRTUAL";
|
|
23
|
-
/** Híbrida — se acuerda entre las partes. */
|
|
24
|
-
BookingMode["HYBRID"] = "HYBRID";
|
|
25
|
-
})(BookingMode || (BookingMode = {}));
|
|
26
|
-
/**
|
|
27
|
-
* Cómo se maneja la selección de la persona a agendar.
|
|
28
|
-
*/
|
|
29
|
-
export var PersonSelectionMode;
|
|
30
|
-
(function (PersonSelectionMode) {
|
|
31
|
-
/**
|
|
32
|
-
* Un único calendario destino, sin selector de persona visible.
|
|
33
|
-
* El backend asigna automáticamente el slot disponible.
|
|
34
|
-
*/
|
|
35
|
-
PersonSelectionMode["NONE"] = "NONE";
|
|
36
|
-
/**
|
|
37
|
-
* El usuario puede elegir una persona específica o dejar que el sistema asigne.
|
|
38
|
-
*/
|
|
39
|
-
PersonSelectionMode["OPTIONAL"] = "OPTIONAL";
|
|
40
|
-
/**
|
|
41
|
-
* El usuario debe elegir una persona antes de ver los horarios disponibles.
|
|
42
|
-
*/
|
|
43
|
-
PersonSelectionMode["REQUIRED"] = "REQUIRED";
|
|
44
|
-
})(PersonSelectionMode || (PersonSelectionMode = {}));
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CalendarFormStep — paso de calendario completo (powered by MUI X Scheduler).
|
|
3
|
-
*
|
|
4
|
-
* Permite al usuario (el dueño del formulario o quien lo responde) gestionar
|
|
5
|
-
* su calendario: definir horarios de trabajo, crear eventos nombrados, marcar
|
|
6
|
-
* bloques de disponibilidad por modalidad, bloquear horas y más.
|
|
7
|
-
*
|
|
8
|
-
* Renombrado desde `AvailabilityFormStep`. El archivo anterior re-exporta
|
|
9
|
-
* desde aquí por compatibilidad retroactiva.
|
|
10
|
-
*/
|
|
11
|
-
import { GBaseStep } from './GenericFormSteps';
|
|
12
|
-
import FormStepTypes from '../constants/FormStepTypes';
|
|
13
|
-
/**
|
|
14
|
-
* Categoría de un bloque en el calendario.
|
|
15
|
-
* Determina el significado y la lógica de disponibilidad de cada evento.
|
|
16
|
-
*/
|
|
17
|
-
export declare enum CalendarEventCategory {
|
|
18
|
-
/** Horario laboral general — "estoy trabajando". */
|
|
19
|
-
WORKING = "WORKING",
|
|
20
|
-
/** Disponibilidad solo presencial (física). */
|
|
21
|
-
PHYSICAL = "PHYSICAL",
|
|
22
|
-
/** Disponibilidad solo virtual / remota. */
|
|
23
|
-
VIRTUAL = "VIRTUAL",
|
|
24
|
-
/**
|
|
25
|
-
* Disponible para un tipo específico de atención o actividad
|
|
26
|
-
* (ej: "solo para soporte técnico", "reuniones de ventas").
|
|
27
|
-
* Se define con un `eventTemplateId`.
|
|
28
|
-
*/
|
|
29
|
-
SPECIFIC = "SPECIFIC",
|
|
30
|
-
/** Reunión o evento con nombre propio (ej: "Standup", "Visita cliente"). */
|
|
31
|
-
MEETING = "MEETING",
|
|
32
|
-
/** Bloqueado — no disponible para agendamiento externo ni interno. */
|
|
33
|
-
BUSY = "BUSY",
|
|
34
|
-
/** Tipo personalizado definido por el configurador del formulario. */
|
|
35
|
-
CUSTOM = "CUSTOM"
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Vista inicial que mostrará el scheduler al renderizarse.
|
|
39
|
-
*/
|
|
40
|
-
export declare enum CalendarDefaultView {
|
|
41
|
-
DAY = "day",
|
|
42
|
-
WEEK = "week",
|
|
43
|
-
MONTH = "month",
|
|
44
|
-
AGENDA = "agenda"
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Plantilla de tipo de evento que el usuario puede seleccionar al crear un bloque.
|
|
48
|
-
* Equivale a las "categorías de evento" visibles en la UI del scheduler.
|
|
49
|
-
*/
|
|
50
|
-
export interface CalendarEventTemplate {
|
|
51
|
-
/** Identificador único de la plantilla. */
|
|
52
|
-
id: string;
|
|
53
|
-
/** Nombre visible en la UI (ej: "Atención presencial", "Reunión de equipo"). */
|
|
54
|
-
name: string;
|
|
55
|
-
/** Categoría base que determina el comportamiento de disponibilidad. */
|
|
56
|
-
category: CalendarEventCategory;
|
|
57
|
-
/**
|
|
58
|
-
* Color en hex o nombre CSS para identificar visualmente el bloque.
|
|
59
|
-
* @example "#4CAF50"
|
|
60
|
-
*/
|
|
61
|
-
color?: string;
|
|
62
|
-
/** Duración por defecto en minutos al crear un bloque de este tipo. */
|
|
63
|
-
defaultDurationMinutes?: number;
|
|
64
|
-
/**
|
|
65
|
-
* Si `true`, slots de este tipo quedarán disponibles para ser agendados
|
|
66
|
-
* desde un paso `BOOKING` que referencie este calendario.
|
|
67
|
-
*/
|
|
68
|
-
bookable?: boolean;
|
|
69
|
-
/**
|
|
70
|
-
* Número máximo de personas que pueden agendar simultáneamente en el mismo slot.
|
|
71
|
-
* Solo aplica si `bookable: true`.
|
|
72
|
-
* @default 1
|
|
73
|
-
*/
|
|
74
|
-
maxConcurrentBookings?: number;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Paso de tipo `CALENDAR`.
|
|
78
|
-
* Renderiza un MUI X Scheduler completo donde el usuario gestiona su agenda.
|
|
79
|
-
*/
|
|
80
|
-
export interface CalendarStep extends GBaseStep {
|
|
81
|
-
type: FormStepTypes.CALENDAR;
|
|
82
|
-
label: string;
|
|
83
|
-
description: string | null;
|
|
84
|
-
required: boolean;
|
|
85
|
-
/**
|
|
86
|
-
* Vista inicial del scheduler.
|
|
87
|
-
* @default CalendarDefaultView.WEEK
|
|
88
|
-
*/
|
|
89
|
-
defaultView?: CalendarDefaultView;
|
|
90
|
-
/**
|
|
91
|
-
* Vistas habilitadas en el scheduler (el usuario puede cambiar entre ellas).
|
|
92
|
-
* @default ['day', 'week', 'month']
|
|
93
|
-
*/
|
|
94
|
-
enabledViews?: CalendarDefaultView[];
|
|
95
|
-
/**
|
|
96
|
-
* Categorías de evento que el usuario puede crear.
|
|
97
|
-
* Si está vacío o undefined, se permiten todas.
|
|
98
|
-
*/
|
|
99
|
-
allowedCategories?: CalendarEventCategory[];
|
|
100
|
-
/**
|
|
101
|
-
* Plantillas de evento configuradas por el creador del formulario.
|
|
102
|
-
* Aparecen como opciones en el selector al crear un bloque.
|
|
103
|
-
* Si está vacío, el usuario solo ve las categorías base.
|
|
104
|
-
*/
|
|
105
|
-
eventTemplates?: CalendarEventTemplate[];
|
|
106
|
-
/**
|
|
107
|
-
* Muestra o no los fines de semana en las vistas de día/semana.
|
|
108
|
-
* @default true
|
|
109
|
-
*/
|
|
110
|
-
showWeekends?: boolean;
|
|
111
|
-
/**
|
|
112
|
-
* Hora mínima visible en las vistas de día/semana (formato HH:mm 24h).
|
|
113
|
-
* @default "00:00"
|
|
114
|
-
* @example "07:00"
|
|
115
|
-
*/
|
|
116
|
-
minTime?: string;
|
|
117
|
-
/**
|
|
118
|
-
* Hora máxima visible en las vistas de día/semana (formato HH:mm 24h).
|
|
119
|
-
* @default "23:59"
|
|
120
|
-
* @example "22:00"
|
|
121
|
-
*/
|
|
122
|
-
maxTime?: string;
|
|
123
|
-
/**
|
|
124
|
-
* Permite crear eventos con recurrencia semanal/mensual.
|
|
125
|
-
* @default true
|
|
126
|
-
*/
|
|
127
|
-
allowRecurring?: boolean;
|
|
128
|
-
/**
|
|
129
|
-
* Permite crear eventos que duran todo el día.
|
|
130
|
-
* @default true
|
|
131
|
-
*/
|
|
132
|
-
allowAllDay?: boolean;
|
|
133
|
-
/**
|
|
134
|
-
* Zona horaria del calendario. Si no se define, se usa la del navegador.
|
|
135
|
-
* @example "America/Bogota"
|
|
136
|
-
*/
|
|
137
|
-
timezone?: string;
|
|
138
|
-
size: 1 | 2 | 3 | 4;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Un evento / bloque individual guardado en el calendario.
|
|
142
|
-
*
|
|
143
|
-
* El formato de `start` y `end` es compatible con `SchedulerEvent` de MUI X Scheduler,
|
|
144
|
-
* por lo que el valor puede pasarse directamente a `<EventCalendar events={...} />`
|
|
145
|
-
* sin conversión.
|
|
146
|
-
*/
|
|
147
|
-
export interface CalendarEvent {
|
|
148
|
-
/** ID único del evento (generado en el cliente al crearlo). */
|
|
149
|
-
id: string;
|
|
150
|
-
/** Nombre visible del evento. Requerido para categorías MEETING y CUSTOM. */
|
|
151
|
-
title?: string;
|
|
152
|
-
/** Categoría del bloque. */
|
|
153
|
-
category: CalendarEventCategory;
|
|
154
|
-
/** ID de la plantilla usada al crear el bloque (si aplica). */
|
|
155
|
-
eventTemplateId?: string;
|
|
156
|
-
/**
|
|
157
|
-
* Inicio del evento en formato ISO 8601 (`YYYY-MM-DDTHH:mm:ss`).
|
|
158
|
-
* Coincide con el campo `start` de `SchedulerEvent` de MUI X Scheduler.
|
|
159
|
-
* @example "2024-06-19T09:00:00"
|
|
160
|
-
*/
|
|
161
|
-
start: string;
|
|
162
|
-
/**
|
|
163
|
-
* Fin del evento en formato ISO 8601 (`YYYY-MM-DDTHH:mm:ss`).
|
|
164
|
-
* Coincide con el campo `end` de `SchedulerEvent` de MUI X Scheduler.
|
|
165
|
-
* @example "2024-06-19T10:30:00"
|
|
166
|
-
*/
|
|
167
|
-
end: string;
|
|
168
|
-
/** Evento de día completo (start/end solo necesitan la parte de fecha). */
|
|
169
|
-
isAllDay?: boolean;
|
|
170
|
-
/**
|
|
171
|
-
* Regla de recurrencia en formato RRULE (RFC 5545).
|
|
172
|
-
* @example "FREQ=WEEKLY;BYDAY=MO,WE,FR"
|
|
173
|
-
* @example "FREQ=WEEKLY;INTERVAL=2"
|
|
174
|
-
*/
|
|
175
|
-
recurrence?: string;
|
|
176
|
-
/** Notas opcionales del evento. */
|
|
177
|
-
notes?: string;
|
|
178
|
-
/** Color override para este evento específico (en hex). */
|
|
179
|
-
color?: string;
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Valor completo devuelto por un paso de tipo `CALENDAR`.
|
|
183
|
-
*/
|
|
184
|
-
export interface CalendarValue {
|
|
185
|
-
type: 'CALENDAR_VALUE';
|
|
186
|
-
/** Lista de todos los bloques/eventos del calendario. */
|
|
187
|
-
events: CalendarEvent[];
|
|
188
|
-
/** Zona horaria en la que se capturaron los datos. */
|
|
189
|
-
timezone?: string;
|
|
190
|
-
}
|
|
191
|
-
export type { CalendarStep as AvailabilityStep };
|
|
192
|
-
export type { CalendarValue as AvailabilityValue };
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CalendarFormStep — paso de calendario completo (powered by MUI X Scheduler).
|
|
3
|
-
*
|
|
4
|
-
* Permite al usuario (el dueño del formulario o quien lo responde) gestionar
|
|
5
|
-
* su calendario: definir horarios de trabajo, crear eventos nombrados, marcar
|
|
6
|
-
* bloques de disponibilidad por modalidad, bloquear horas y más.
|
|
7
|
-
*
|
|
8
|
-
* Renombrado desde `AvailabilityFormStep`. El archivo anterior re-exporta
|
|
9
|
-
* desde aquí por compatibilidad retroactiva.
|
|
10
|
-
*/
|
|
11
|
-
// ===========================================================================
|
|
12
|
-
// Enums
|
|
13
|
-
// ===========================================================================
|
|
14
|
-
/**
|
|
15
|
-
* Categoría de un bloque en el calendario.
|
|
16
|
-
* Determina el significado y la lógica de disponibilidad de cada evento.
|
|
17
|
-
*/
|
|
18
|
-
export var CalendarEventCategory;
|
|
19
|
-
(function (CalendarEventCategory) {
|
|
20
|
-
/** Horario laboral general — "estoy trabajando". */
|
|
21
|
-
CalendarEventCategory["WORKING"] = "WORKING";
|
|
22
|
-
/** Disponibilidad solo presencial (física). */
|
|
23
|
-
CalendarEventCategory["PHYSICAL"] = "PHYSICAL";
|
|
24
|
-
/** Disponibilidad solo virtual / remota. */
|
|
25
|
-
CalendarEventCategory["VIRTUAL"] = "VIRTUAL";
|
|
26
|
-
/**
|
|
27
|
-
* Disponible para un tipo específico de atención o actividad
|
|
28
|
-
* (ej: "solo para soporte técnico", "reuniones de ventas").
|
|
29
|
-
* Se define con un `eventTemplateId`.
|
|
30
|
-
*/
|
|
31
|
-
CalendarEventCategory["SPECIFIC"] = "SPECIFIC";
|
|
32
|
-
/** Reunión o evento con nombre propio (ej: "Standup", "Visita cliente"). */
|
|
33
|
-
CalendarEventCategory["MEETING"] = "MEETING";
|
|
34
|
-
/** Bloqueado — no disponible para agendamiento externo ni interno. */
|
|
35
|
-
CalendarEventCategory["BUSY"] = "BUSY";
|
|
36
|
-
/** Tipo personalizado definido por el configurador del formulario. */
|
|
37
|
-
CalendarEventCategory["CUSTOM"] = "CUSTOM";
|
|
38
|
-
})(CalendarEventCategory || (CalendarEventCategory = {}));
|
|
39
|
-
/**
|
|
40
|
-
* Vista inicial que mostrará el scheduler al renderizarse.
|
|
41
|
-
*/
|
|
42
|
-
export var CalendarDefaultView;
|
|
43
|
-
(function (CalendarDefaultView) {
|
|
44
|
-
CalendarDefaultView["DAY"] = "day";
|
|
45
|
-
CalendarDefaultView["WEEK"] = "week";
|
|
46
|
-
CalendarDefaultView["MONTH"] = "month";
|
|
47
|
-
CalendarDefaultView["AGENDA"] = "agenda";
|
|
48
|
-
})(CalendarDefaultView || (CalendarDefaultView = {}));
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DRAFT — CommunicationChannelFormStep types
|
|
3
|
-
*
|
|
4
|
-
* Paso para capturar uno o más canales de comunicación (WhatsApp / Email / Teléfono).
|
|
5
|
-
* Cada canal es un objeto con tipo + valor + estado de verificación opcional.
|
|
6
|
-
*/
|
|
7
|
-
import { GBaseStep } from './GenericFormSteps';
|
|
8
|
-
export declare enum CommunicationChannelType {
|
|
9
|
-
WHATSAPP = "WHATSAPP",
|
|
10
|
-
EMAIL = "EMAIL",
|
|
11
|
-
PHONE = "PHONE"
|
|
12
|
-
}
|
|
13
|
-
export interface CommunicationChannelStep extends GBaseStep {
|
|
14
|
-
type: 'COMMUNICATION_CHANNEL';
|
|
15
|
-
label: string;
|
|
16
|
-
description: string | null;
|
|
17
|
-
required: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Canales que el usuario puede seleccionar.
|
|
20
|
-
* Si solo hay uno, no se muestra el selector de tipo.
|
|
21
|
-
*/
|
|
22
|
-
allowedChannels: [CommunicationChannelType, ...CommunicationChannelType[]];
|
|
23
|
-
/**
|
|
24
|
-
* Si true, se muestra un campo/estado "verificado" junto al valor.
|
|
25
|
-
* Útil para marcar si el canal fue confirmado (doble opt-in, OTP, etc.).
|
|
26
|
-
*/
|
|
27
|
-
includeVerification: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Si true, el usuario puede agregar más de un canal.
|
|
30
|
-
* El valor guardado pasa de ser un objeto a un array.
|
|
31
|
-
*/
|
|
32
|
-
allowMultiple: boolean;
|
|
33
|
-
/** Solo aplica si allowMultiple === true */
|
|
34
|
-
maxChannels?: number;
|
|
35
|
-
size: 1 | 2 | 3 | 4;
|
|
36
|
-
}
|
|
37
|
-
export interface CommunicationChannelValue {
|
|
38
|
-
channelType: CommunicationChannelType;
|
|
39
|
-
/** Número de teléfono (con código de país) o dirección de email */
|
|
40
|
-
value: string;
|
|
41
|
-
/**
|
|
42
|
-
* Presente solo si el paso tiene includeVerification === true.
|
|
43
|
-
* true = verificado, false = pendiente de verificación.
|
|
44
|
-
*/
|
|
45
|
-
verified?: boolean;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Si allowMultiple === false → CommunicationChannelValue
|
|
49
|
-
* Si allowMultiple === true → CommunicationChannelValue[]
|
|
50
|
-
*/
|
|
51
|
-
export type CommunicationChannelStepValue = CommunicationChannelValue | CommunicationChannelValue[];
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DRAFT — CommunicationChannelFormStep types
|
|
3
|
-
*
|
|
4
|
-
* Paso para capturar uno o más canales de comunicación (WhatsApp / Email / Teléfono).
|
|
5
|
-
* Cada canal es un objeto con tipo + valor + estado de verificación opcional.
|
|
6
|
-
*/
|
|
7
|
-
// ===========================================================================
|
|
8
|
-
// Enum de canales (refleja ChannelTypes de Eureka-Types)
|
|
9
|
-
// ===========================================================================
|
|
10
|
-
export var CommunicationChannelType;
|
|
11
|
-
(function (CommunicationChannelType) {
|
|
12
|
-
CommunicationChannelType["WHATSAPP"] = "WHATSAPP";
|
|
13
|
-
CommunicationChannelType["EMAIL"] = "EMAIL";
|
|
14
|
-
CommunicationChannelType["PHONE"] = "PHONE";
|
|
15
|
-
})(CommunicationChannelType || (CommunicationChannelType = {}));
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DRAFT — ConsentFormStep types
|
|
3
|
-
*
|
|
4
|
-
* Paso de consentimiento / términos y condiciones.
|
|
5
|
-
* El usuario debe aceptar explícitamente para continuar.
|
|
6
|
-
* El contenido puede ser texto enriquecido (EurekaDraft) o un link externo.
|
|
7
|
-
*/
|
|
8
|
-
import { GBaseStep } from './GenericFormSteps';
|
|
9
|
-
import { EurekaDraft } from './Draft/Draft';
|
|
10
|
-
export interface ConsentStep extends GBaseStep {
|
|
11
|
-
type: 'CONSENT';
|
|
12
|
-
/**
|
|
13
|
-
* Texto del checkbox que el usuario marca.
|
|
14
|
-
* Ej: "Acepto los términos y condiciones de uso"
|
|
15
|
-
*/
|
|
16
|
-
label: string;
|
|
17
|
-
required: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Contenido completo del documento de T&C / política.
|
|
20
|
-
* Se muestra en un modal o área expandible al hacer clic en el link.
|
|
21
|
-
* Si no se define, solo se muestra label + linkUrl.
|
|
22
|
-
*/
|
|
23
|
-
content?: EurekaDraft;
|
|
24
|
-
/**
|
|
25
|
-
* URL externa opcional. Si se define, el link abre esta URL en lugar
|
|
26
|
-
* de mostrar el content inline.
|
|
27
|
-
* Solo uno de content o linkUrl debería estar activo a la vez.
|
|
28
|
-
*/
|
|
29
|
-
linkUrl?: string;
|
|
30
|
-
/**
|
|
31
|
-
* Si true, el checkbox no se puede desmarcar una vez aceptado
|
|
32
|
-
* (útil en flujos donde el consentimiento es permanente en esa sesión).
|
|
33
|
-
*/
|
|
34
|
-
irreversible?: boolean;
|
|
35
|
-
}
|
|
36
|
-
export type ConsentValue = boolean;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DRAFT — EntityFormFormStep types
|
|
3
|
-
*
|
|
4
|
-
* Paso que permite al usuario buscar y/o crear un registro de entidad
|
|
5
|
-
* directamente dentro del formulario, sin salir de él.
|
|
6
|
-
*
|
|
7
|
-
* Modos:
|
|
8
|
-
* SEARCH → solo busca entidades existentes
|
|
9
|
-
* CREATE → solo crea una entidad nueva (muestra sub-campos)
|
|
10
|
-
* SEARCH_OR_CREATE → busca primero; si no encuentra, puede crear
|
|
11
|
-
*/
|
|
12
|
-
import { GBaseStep } from './GenericFormSteps';
|
|
13
|
-
import { ErkIconTypes } from '../constants/ErkIconTypes';
|
|
14
|
-
export declare enum EntityFormMode {
|
|
15
|
-
SEARCH = "SEARCH",
|
|
16
|
-
CREATE = "CREATE",
|
|
17
|
-
SEARCH_OR_CREATE = "SEARCH_OR_CREATE"
|
|
18
|
-
}
|
|
19
|
-
export interface EntityFormStep extends GBaseStep {
|
|
20
|
-
type: 'ENTITY_FORM';
|
|
21
|
-
label: string;
|
|
22
|
-
description: string | null;
|
|
23
|
-
required: boolean;
|
|
24
|
-
/** Id de la entidad de Capta que se va a buscar/crear */
|
|
25
|
-
idEntity: string;
|
|
26
|
-
mode: EntityFormMode;
|
|
27
|
-
/** Icono representativo de la entidad en la UI */
|
|
28
|
-
icon: ErkIconTypes;
|
|
29
|
-
/**
|
|
30
|
-
* Si true (solo para SEARCH y SEARCH_OR_CREATE), se muestra un campo de
|
|
31
|
-
* búsqueda con filtrado por texto.
|
|
32
|
-
*/
|
|
33
|
-
searchable?: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Ids de los FormSteps que definen los campos del sub-formulario de creación.
|
|
36
|
-
* Solo aplica cuando mode === CREATE o SEARCH_OR_CREATE.
|
|
37
|
-
* Estos steps son "embebidos" — se renderizan inline dentro de este paso.
|
|
38
|
-
*/
|
|
39
|
-
entityFieldSteps?: string[];
|
|
40
|
-
/**
|
|
41
|
-
* Si true, el usuario puede seleccionar más de un registro.
|
|
42
|
-
* El valor pasa de ser un objeto a un array.
|
|
43
|
-
*/
|
|
44
|
-
allowMultiple?: boolean;
|
|
45
|
-
maxSize?: number;
|
|
46
|
-
size: 1 | 2 | 3 | 4;
|
|
47
|
-
}
|
|
48
|
-
/** Entidad existente seleccionada en modo SEARCH */
|
|
49
|
-
export interface ExistingEntityRef {
|
|
50
|
-
/** Id del registro de entidad en Capta */
|
|
51
|
-
idEntityValue: string;
|
|
52
|
-
/** Etiqueta display del registro (para mostrar en UI sin refetch) */
|
|
53
|
-
label?: string;
|
|
54
|
-
}
|
|
55
|
-
/** Entidad nueva creada en modo CREATE */
|
|
56
|
-
export interface NewEntityDraft {
|
|
57
|
-
/** Indica que este valor corresponde a un registro por crear */
|
|
58
|
-
isDraft: true;
|
|
59
|
-
/** Campos del sub-formulario indexados por stepId */
|
|
60
|
-
fields: Record<string, unknown>;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Si allowMultiple === false → ExistingEntityRef | NewEntityDraft
|
|
64
|
-
* Si allowMultiple === true → (ExistingEntityRef | NewEntityDraft)[]
|
|
65
|
-
*/
|
|
66
|
-
export type EntityFormStepValue = ExistingEntityRef | NewEntityDraft | (ExistingEntityRef | NewEntityDraft)[];
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DRAFT — EntityFormFormStep types
|
|
3
|
-
*
|
|
4
|
-
* Paso que permite al usuario buscar y/o crear un registro de entidad
|
|
5
|
-
* directamente dentro del formulario, sin salir de él.
|
|
6
|
-
*
|
|
7
|
-
* Modos:
|
|
8
|
-
* SEARCH → solo busca entidades existentes
|
|
9
|
-
* CREATE → solo crea una entidad nueva (muestra sub-campos)
|
|
10
|
-
* SEARCH_OR_CREATE → busca primero; si no encuentra, puede crear
|
|
11
|
-
*/
|
|
12
|
-
// ===========================================================================
|
|
13
|
-
// Enum de modos
|
|
14
|
-
// ===========================================================================
|
|
15
|
-
export var EntityFormMode;
|
|
16
|
-
(function (EntityFormMode) {
|
|
17
|
-
EntityFormMode["SEARCH"] = "SEARCH";
|
|
18
|
-
EntityFormMode["CREATE"] = "CREATE";
|
|
19
|
-
EntityFormMode["SEARCH_OR_CREATE"] = "SEARCH_OR_CREATE";
|
|
20
|
-
})(EntityFormMode || (EntityFormMode = {}));
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DRAFT — EventFormStep types
|
|
3
|
-
*
|
|
4
|
-
* Paso para capturar un evento de calendario.
|
|
5
|
-
* La semántica exacta está pendiente de revisión — este draft cubre la
|
|
6
|
-
* configuración más probable basada en la discusión inicial.
|
|
7
|
-
*
|
|
8
|
-
* TODO: Definir si "evento" corresponde a:
|
|
9
|
-
* (a) Un evento de calendario puro (integrar con Google Calendar / Outlook)
|
|
10
|
-
* (b) Un registro de tipo "evento" en la entidad de Capta
|
|
11
|
-
* (c) Ambos con integración opcional
|
|
12
|
-
*/
|
|
13
|
-
import { GBaseStep } from './GenericFormSteps';
|
|
14
|
-
export interface EventStep extends GBaseStep {
|
|
15
|
-
type: 'EVENT';
|
|
16
|
-
label: string;
|
|
17
|
-
description: string | null;
|
|
18
|
-
required: boolean;
|
|
19
|
-
/** Si true, el usuario puede especificar una fecha/hora de inicio */
|
|
20
|
-
includeStartDate: boolean;
|
|
21
|
-
/** Si true, el usuario puede especificar una fecha/hora de fin */
|
|
22
|
-
includeEndDate: boolean;
|
|
23
|
-
/** Si true, se permite marcar el evento como "todo el día" */
|
|
24
|
-
includeAllDay?: boolean;
|
|
25
|
-
/** Si true, el usuario puede agregar una ubicación al evento */
|
|
26
|
-
includeLocation: boolean;
|
|
27
|
-
/** Si true, el usuario puede escribir una descripción del evento */
|
|
28
|
-
includeDescription: boolean;
|
|
29
|
-
/** Si true, el usuario puede agregar asistentes (lista de contactos/emails) */
|
|
30
|
-
includeAttendees: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Si true, se ofrece la opción de sincronizar con calendario externo.
|
|
33
|
-
* Pendiente: definir qué calendarios se soportan.
|
|
34
|
-
*/
|
|
35
|
-
includeCalendarSync?: boolean;
|
|
36
|
-
size: 1 | 2 | 3 | 4;
|
|
37
|
-
}
|
|
38
|
-
export interface EventStepValue {
|
|
39
|
-
/** ISO 8601 — fecha y hora de inicio */
|
|
40
|
-
startDate?: string;
|
|
41
|
-
/** ISO 8601 — fecha y hora de fin */
|
|
42
|
-
endDate?: string;
|
|
43
|
-
/** Si el evento es de día completo (sin hora específica) */
|
|
44
|
-
allDay?: boolean;
|
|
45
|
-
title?: string;
|
|
46
|
-
description?: string;
|
|
47
|
-
location?: string;
|
|
48
|
-
/** Lista de emails o ids de contactos */
|
|
49
|
-
attendees?: string[];
|
|
50
|
-
/** Si el usuario eligió sincronizar con su calendario externo */
|
|
51
|
-
calendarSync?: boolean;
|
|
52
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DRAFT — EventFormStep types
|
|
3
|
-
*
|
|
4
|
-
* Paso para capturar un evento de calendario.
|
|
5
|
-
* La semántica exacta está pendiente de revisión — este draft cubre la
|
|
6
|
-
* configuración más probable basada en la discusión inicial.
|
|
7
|
-
*
|
|
8
|
-
* TODO: Definir si "evento" corresponde a:
|
|
9
|
-
* (a) Un evento de calendario puro (integrar con Google Calendar / Outlook)
|
|
10
|
-
* (b) Un registro de tipo "evento" en la entidad de Capta
|
|
11
|
-
* (c) Ambos con integración opcional
|
|
12
|
-
*/
|
|
13
|
-
export {};
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DRAFT — ExternalReferenceFormStep types
|
|
3
|
-
*
|
|
4
|
-
* Paso para capturar una referencia a un registro externo, ya sea:
|
|
5
|
-
* - CBR (Customer Base Record) — entidades del modelo de datos de Capta
|
|
6
|
-
* - INTEGRATION — registros de sistemas externos vía integración
|
|
7
|
-
*
|
|
8
|
-
* El usuario busca/selecciona un registro externo y el step guarda su referencia.
|
|
9
|
-
* Opcionalmente, puede incluir validación asistida por IA para normalizar el valor.
|
|
10
|
-
*/
|
|
11
|
-
import { GBaseStep } from './GenericFormSteps';
|
|
12
|
-
export declare enum ExternalRefTargetType {
|
|
13
|
-
/** Customer Base Record — entidad interna de Capta */
|
|
14
|
-
CBR = "CBR",
|
|
15
|
-
/** Sistema externo integrado (ERP, CRM, etc.) */
|
|
16
|
-
INTEGRATION = "INTEGRATION"
|
|
17
|
-
}
|
|
18
|
-
/** Configuración de un tipo de entidad CBR que se puede referenciar */
|
|
19
|
-
export interface CBRRefTarget {
|
|
20
|
-
/** Id del tipo de entidad en Capta (ej: "CLIENT", "SUPPLIER", "PROJECT") */
|
|
21
|
-
entityType: string;
|
|
22
|
-
/** Etiqueta legible para mostrar en la UI */
|
|
23
|
-
label: string;
|
|
24
|
-
/** Icono opcional para diferenciar tipos en el selector */
|
|
25
|
-
icon?: string;
|
|
26
|
-
}
|
|
27
|
-
export interface ExternalReferenceStep extends GBaseStep {
|
|
28
|
-
type: 'EXTERNAL_REFERENCE';
|
|
29
|
-
label: string;
|
|
30
|
-
description: string | null;
|
|
31
|
-
required: boolean;
|
|
32
|
-
targetType: ExternalRefTargetType;
|
|
33
|
-
/**
|
|
34
|
-
* Tipos de entidad CBR que el usuario puede referenciar.
|
|
35
|
-
* Si tiene un solo elemento, no se muestra el selector de tipo.
|
|
36
|
-
*/
|
|
37
|
-
cbrTargets?: CBRRefTarget[];
|
|
38
|
-
/** Id de la integración configurada en Capta */
|
|
39
|
-
integrationId?: string;
|
|
40
|
-
/** Endpoint o recurso específico dentro de la integración */
|
|
41
|
-
integrationResource?: string;
|
|
42
|
-
/**
|
|
43
|
-
* Si true, se usa IA para validar / normalizar el valor ingresado.
|
|
44
|
-
* Ej: corregir nombre de empresa, resolver ambigüedades, sugerir coincidencias.
|
|
45
|
-
*/
|
|
46
|
-
aiValidation: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Ids de otros steps cuyo valor se usa como contexto para la búsqueda.
|
|
49
|
-
* Ej: usar el valor de un step de "país" para filtrar resultados.
|
|
50
|
-
*/
|
|
51
|
-
compositeStepIds?: string[];
|
|
52
|
-
/**
|
|
53
|
-
* Si true, el usuario puede seleccionar múltiples referencias.
|
|
54
|
-
*/
|
|
55
|
-
allowMultiple?: boolean;
|
|
56
|
-
maxSize?: number;
|
|
57
|
-
size: 1 | 2 | 3 | 4;
|
|
58
|
-
}
|
|
59
|
-
export interface ExternalReferenceValue {
|
|
60
|
-
/** Identificador de la referencia en el sistema origen */
|
|
61
|
-
ref: string;
|
|
62
|
-
/** Etiqueta display del registro referenciado (para UI sin refetch) */
|
|
63
|
-
label?: string;
|
|
64
|
-
/**
|
|
65
|
-
* Datos del registro resuelto, si el backend los retorna.
|
|
66
|
-
* Estructura variable dependiendo del sistema origen.
|
|
67
|
-
*/
|
|
68
|
-
resolved?: Record<string, unknown>;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Si allowMultiple === false → ExternalReferenceValue
|
|
72
|
-
* Si allowMultiple === true → ExternalReferenceValue[]
|
|
73
|
-
*/
|
|
74
|
-
export type ExternalReferenceStepValue = ExternalReferenceValue | ExternalReferenceValue[];
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DRAFT — ExternalReferenceFormStep types
|
|
3
|
-
*
|
|
4
|
-
* Paso para capturar una referencia a un registro externo, ya sea:
|
|
5
|
-
* - CBR (Customer Base Record) — entidades del modelo de datos de Capta
|
|
6
|
-
* - INTEGRATION — registros de sistemas externos vía integración
|
|
7
|
-
*
|
|
8
|
-
* El usuario busca/selecciona un registro externo y el step guarda su referencia.
|
|
9
|
-
* Opcionalmente, puede incluir validación asistida por IA para normalizar el valor.
|
|
10
|
-
*/
|
|
11
|
-
// ===========================================================================
|
|
12
|
-
// Enums
|
|
13
|
-
// ===========================================================================
|
|
14
|
-
export var ExternalRefTargetType;
|
|
15
|
-
(function (ExternalRefTargetType) {
|
|
16
|
-
/** Customer Base Record — entidad interna de Capta */
|
|
17
|
-
ExternalRefTargetType["CBR"] = "CBR";
|
|
18
|
-
/** Sistema externo integrado (ERP, CRM, etc.) */
|
|
19
|
-
ExternalRefTargetType["INTEGRATION"] = "INTEGRATION";
|
|
20
|
-
})(ExternalRefTargetType || (ExternalRefTargetType = {}));
|