@reservi/theme 1.4.1 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reservi/theme",
3
- "version": "1.4.1",
3
+ "version": "1.6.0",
4
4
  "description": "Tema de Reservi Calendar: design tokens (TailwindCSS 4 @theme) y estilos base.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -600,12 +600,60 @@
600
600
  overflow: hidden;
601
601
  box-sizing: border-box;
602
602
  /* `borderColor` del evento si lo hay; si no, un tono del propio fondo. */
603
- border: 1px solid
604
- var(--rsv-event-border, color-mix(in oklch, var(--rsv-event-bg) 80%, black));
603
+ border: 1px solid var(--rsv-event-border, color-mix(in oklch, var(--rsv-event-bg) 80%, black));
605
604
  align-items: stretch;
606
605
  white-space: normal;
607
606
  }
608
607
 
608
+ /**
609
+ * Arrastre de un evento en timeGrid.
610
+ *
611
+ * El `cursor: grab` solo existia para daygrid, asi que en las vistas de tiempo
612
+ * nada indicaba que la tarjeta se pudiera mover. Y durante el gesto no se
613
+ * pintaba nada: la tarjeta se quedaba quieta y saltaba a su nueva posicion solo
614
+ * al soltar. `drag-mirror` muestra donde va a caer, y la tarjeta de origen se
615
+ * atenua para leerse como "levantada".
616
+ */
617
+ [data-rsv="tg-col"] [data-rsv="event"][data-editable="true"],
618
+ [data-rsv="tg-col"] [data-rsv="event"]:has([data-rsv="resize-handle"]) {
619
+ cursor: grab;
620
+ touch-action: none;
621
+ }
622
+ [data-rsv="event"][data-rsv-dragging="true"] {
623
+ cursor: grabbing;
624
+ opacity: 0.55;
625
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
626
+ z-index: 30;
627
+ }
628
+
629
+ /**
630
+ * Mes: el destino es una celda de dia entera, no una franja horaria, asi que
631
+ * en vez de un fantasma se resalta el dia bajo el puntero. La tarjeta de origen
632
+ * se eleva con la misma regla `[data-rsv-dragging]` que en timeGrid.
633
+ */
634
+ [data-rsv="day"][data-rsv-drop="true"] {
635
+ outline: 2px dashed var(--color-rsv-primary, #4f46e5);
636
+ outline-offset: -2px;
637
+ background: var(--color-rsv-selection, #e8e8ff);
638
+ }
639
+ [data-rsv="daygrid"] [data-rsv="event"][data-rsv-dragging="true"] {
640
+ cursor: grabbing;
641
+ opacity: 0.55;
642
+ }
643
+
644
+ /* Fantasma que sigue al puntero mientras se arrastra un evento. */
645
+ [data-rsv="drag-mirror"] {
646
+ position: absolute;
647
+ left: 0;
648
+ right: 0;
649
+ pointer-events: none;
650
+ z-index: 25;
651
+ border: 1px dashed var(--color-rsv-primary, #4f46e5);
652
+ border-radius: var(--radius-rsv-event, 0.375rem);
653
+ background: var(--color-rsv-selection, #e8e8ff);
654
+ opacity: 0.85;
655
+ }
656
+
609
657
  /* Fantasma del rango que se esta seleccionando (`selectMirror`). */
610
658
  [data-rsv="select-mirror"] {
611
659
  position: absolute;
@@ -626,6 +674,12 @@
626
674
  opacity: 0.6;
627
675
  pointer-events: none;
628
676
  }
677
+ /* La banda no intercepta el puntero —el click tiene que llegar a la columna para
678
+ la parte abierta del día—, así que el cursor se pone en la columna cuando el
679
+ día no abre en absoluto. */
680
+ [data-rsv="tg-col"][data-business="false"] {
681
+ cursor: not-allowed;
682
+ }
629
683
  [data-rsv="resize-handle"] {
630
684
  position: absolute;
631
685
  left: 0;
@@ -36,7 +36,9 @@
36
36
  /* Estados */
37
37
  --color-rsv-now: #d85353;
38
38
  --color-rsv-selection: #f6f0fa;
39
- --color-rsv-nonbusiness: rgba(250, 250, 255, 0.5);
39
+ /* Gris con cuerpo, no un blanco roto: estas franjas tienen que leerse como
40
+ "aqui no se puede", no como un matiz del fondo. */
41
+ --color-rsv-nonbusiness: #f1f2f4;
40
42
 
41
43
  /* Geometría */
42
44
  --radius-rsv: 8px;