@reservi/calendar 1.5.0 → 1.6.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/dist/index.d.ts CHANGED
@@ -321,12 +321,21 @@ export declare interface CalendarOptions {
321
321
  selectMirror?: boolean;
322
322
  /** Resolución de ajuste al arrastrar, "HH:mm" (def. "00:15"). */
323
323
  snapDuration?: string;
324
- /** Horas laborables (sombreado y posible constraint). */
325
- businessHours?: boolean | BusinessHoursInput;
324
+ /**
325
+ * Horas laborables: sombreado y, con `eventConstraint`/`selectConstraint`,
326
+ * restricción. Un array permite un horario distinto por día.
327
+ */
328
+ businessHours?: boolean | BusinessHoursInput | BusinessHoursInput[];
326
329
  /** Permitir solapamiento de eventos al mover/redimensionar (def. true). */
327
330
  eventOverlap?: boolean;
328
331
  /** Restringe eventos a las horas laborables. */
329
332
  eventConstraint?: "businessHours";
333
+ /**
334
+ * Restringe a las horas laborables lo que el usuario CREA: el click sobre la
335
+ * rejilla y la selección por arrastre. `eventConstraint` cubre el otro lado,
336
+ * mover un evento que ya existe.
337
+ */
338
+ selectConstraint?: "businessHours";
330
339
  /** Veto programático al mover/redimensionar un evento. */
331
340
  eventAllow?: (info: EventAllowInfo) => boolean;
332
341
  /** Nombre de un theme pre-hecho (se aplica como data-rsv-theme en el root). */
@@ -1280,11 +1289,20 @@ declare interface TimeGridDay {
1280
1289
  readonly isWeekend: boolean;
1281
1290
  readonly allDayEvents: EventDef[];
1282
1291
  readonly timedSegs: TimeGridSeg[];
1283
- /** Rango laborable en % [topPct, bottomPct] para sombrear; null si no aplica. */
1284
- readonly businessPct: {
1292
+ /** ¿Abre algún rato este día? Con `businessHours` sin definir, siempre true. */
1293
+ readonly isBusiness: boolean;
1294
+ /**
1295
+ * Bandas CERRADAS en % [top, height], para sombrear. Vacío si el día está
1296
+ * abierto de punta a punta o si no hay horario configurado.
1297
+ *
1298
+ * El modelo devuelve lo cerrado y no lo abierto porque es justo lo que se
1299
+ * pinta: así el día cerrado entero es una banda de 0 a 100 en vez de un caso
1300
+ * especial de la vista.
1301
+ */
1302
+ readonly nonBusinessPct: {
1285
1303
  topPct: number;
1286
- bottomPct: number;
1287
- } | null;
1304
+ heightPct: number;
1305
+ }[];
1288
1306
  }
1289
1307
 
1290
1308
  declare interface TimeGridModel {