@reservi/calendar 1.4.1 → 1.5.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;
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.5.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,11 +54,11 @@
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",
61
- "@reservi/tsconfig": "2.0.0-beta.0"
57
+ "@reservi/react": "1.5.0",
58
+ "@reservi/theme": "1.5.0",
59
+ "@reservi/tsconfig": "2.0.0-beta.0",
60
+ "@reservi/preact": "1.5.0",
61
+ "@reservi/core": "1.5.0"
62
62
  },
63
63
  "scripts": {
64
64
  "build": "vite build && node scripts/build-css.mjs",