@reservi/calendar 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/dist/styles.css CHANGED
@@ -689,12 +689,60 @@
689
689
  overflow: hidden;
690
690
  box-sizing: border-box;
691
691
  /* `borderColor` del evento si lo hay; si no, un tono del propio fondo. */
692
- border: 1px solid
693
- var(--rsv-event-border, color-mix(in oklch, var(--rsv-event-bg) 80%, black));
692
+ border: 1px solid var(--rsv-event-border, color-mix(in oklch, var(--rsv-event-bg) 80%, black));
694
693
  align-items: stretch;
695
694
  white-space: normal;
696
695
  }
697
696
 
697
+ /**
698
+ * Arrastre de un evento en timeGrid.
699
+ *
700
+ * El `cursor: grab` solo existia para daygrid, asi que en las vistas de tiempo
701
+ * nada indicaba que la tarjeta se pudiera mover. Y durante el gesto no se
702
+ * pintaba nada: la tarjeta se quedaba quieta y saltaba a su nueva posicion solo
703
+ * al soltar. `drag-mirror` muestra donde va a caer, y la tarjeta de origen se
704
+ * atenua para leerse como "levantada".
705
+ */
706
+ [data-rsv="tg-col"] [data-rsv="event"][data-editable="true"],
707
+ [data-rsv="tg-col"] [data-rsv="event"]:has([data-rsv="resize-handle"]) {
708
+ cursor: grab;
709
+ touch-action: none;
710
+ }
711
+ [data-rsv="event"][data-rsv-dragging="true"] {
712
+ cursor: grabbing;
713
+ opacity: 0.55;
714
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
715
+ z-index: 30;
716
+ }
717
+
718
+ /**
719
+ * Mes: el destino es una celda de dia entera, no una franja horaria, asi que
720
+ * en vez de un fantasma se resalta el dia bajo el puntero. La tarjeta de origen
721
+ * se eleva con la misma regla `[data-rsv-dragging]` que en timeGrid.
722
+ */
723
+ [data-rsv="day"][data-rsv-drop="true"] {
724
+ outline: 2px dashed var(--color-rsv-primary, #4f46e5);
725
+ outline-offset: -2px;
726
+ background: var(--color-rsv-selection, #e8e8ff);
727
+ }
728
+ [data-rsv="daygrid"] [data-rsv="event"][data-rsv-dragging="true"] {
729
+ cursor: grabbing;
730
+ opacity: 0.55;
731
+ }
732
+
733
+ /* Fantasma que sigue al puntero mientras se arrastra un evento. */
734
+ [data-rsv="drag-mirror"] {
735
+ position: absolute;
736
+ left: 0;
737
+ right: 0;
738
+ pointer-events: none;
739
+ z-index: 25;
740
+ border: 1px dashed var(--color-rsv-primary, #4f46e5);
741
+ border-radius: var(--radius-rsv-event, 0.375rem);
742
+ background: var(--color-rsv-selection, #e8e8ff);
743
+ opacity: 0.85;
744
+ }
745
+
698
746
  /* Fantasma del rango que se esta seleccionando (`selectMirror`). */
699
747
  [data-rsv="select-mirror"] {
700
748
  position: absolute;
@@ -715,6 +763,12 @@
715
763
  opacity: 0.6;
716
764
  pointer-events: none;
717
765
  }
766
+ /* La banda no intercepta el puntero —el click tiene que llegar a la columna para
767
+ la parte abierta del día—, así que el cursor se pone en la columna cuando el
768
+ día no abre en absoluto. */
769
+ [data-rsv="tg-col"][data-business="false"] {
770
+ cursor: not-allowed;
771
+ }
718
772
  [data-rsv="resize-handle"] {
719
773
  position: absolute;
720
774
  left: 0;
package/dist/themes.css CHANGED
@@ -219,7 +219,9 @@
219
219
  /* Estados */
220
220
  --color-rsv-now: #d85353;
221
221
  --color-rsv-selection: #f6f0fa;
222
- --color-rsv-nonbusiness: rgba(250, 250, 255, 0.5);
222
+ /* Gris con cuerpo, no un blanco roto: estas franjas tienen que leerse como
223
+ "aqui no se puede", no como un matiz del fondo. */
224
+ --color-rsv-nonbusiness: #f1f2f4;
223
225
 
224
226
  /* Geometría */
225
227
  --radius-rsv: 8px;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@reservi/calendar",
3
- "version": "1.4.1",
4
- "description": "Build autocontenido de Reservi Calendar para React: núcleo + UI + tema en un solo paquete sin dependencias.",
3
+ "version": "1.6.0",
4
+ "description": "Build autocontenido de Reservi Calendar para React: núcleo + UI + tema en un solo paquete, con sus dependencias inlineadas (solo react y react-dom quedan como peers).",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -54,10 +54,10 @@
54
54
  "typescript": "^5.7.2",
55
55
  "vite": "^6.0.0",
56
56
  "vite-plugin-dts": "^4.3.0",
57
- "@reservi/core": "1.4.1",
58
- "@reservi/preact": "1.4.1",
59
- "@reservi/react": "1.4.1",
60
- "@reservi/theme": "1.4.1",
57
+ "@reservi/core": "1.6.0",
58
+ "@reservi/preact": "1.6.0",
59
+ "@reservi/react": "1.6.0",
60
+ "@reservi/theme": "1.6.0",
61
61
  "@reservi/tsconfig": "2.0.0-beta.0"
62
62
  },
63
63
  "scripts": {