@stfrigerio/sito-template 0.1.54 → 0.1.55

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.js CHANGED
@@ -3279,36 +3279,44 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
3279
3279
  handleEventClick(event);
3280
3280
  }, initial: { opacity: 0, x: -10 }, animate: { opacity: 1, x: 0 }, transition: { duration: 0.2, delay: eventIndex * 0.03, ease: 'easeOut' }, whileHover: { scale: 1.01, transition: { duration: 0.1 } }, whileTap: { scale: 0.98, transition: { duration: 0.1 } }, drag: onEventDrop ? 'y' : false, dragMomentum: false, onDragEnd: (_, info) => handleEventDragEnd(event, info), children: [iconRenderer && iconRenderer(event), jsxRuntime.jsxs("span", { className: styles$9.dayEventTitle, children: [jsxRuntime.jsx("span", { className: styles$9.dayEventTime, children: event.time }), event.title] }), event.status === 'completed' && (jsxRuntime.jsx("svg", { className: styles$9.completedIcon, width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsxRuntime.jsx("polyline", { points: "20,6 9,17 4,12" }) }))] }, event.id));
3281
3281
  }), showNow && (jsxRuntime.jsx("div", { className: styles$9.currentTimeIndicator, style: { top: `${nowOffset}px` } }))] }) })] }));
3282
- })()) : (jsxRuntime.jsx("div", { className: `${styles$9.daysGrid} ${currentViewMode === 'week' ? styles$9.weekView : ''}`, children: calendarData.days.map((day, index) => {
3283
- const dayEvents = getDayEvents(day);
3284
- const dayIsToday = isToday(day);
3285
- const isInCurrentMonth = currentViewMode === 'week' || isCurrentMonth(day);
3286
- const isWeekStart = showWeekNumbers && (index % 7 === 0);
3287
- const dayIsSelected = selectedDate && day.toDateString() === selectedDate.toDateString();
3288
- return (jsxRuntime.jsxs(framerMotion.motion.div, { className: `${styles$9.dayCell} ${dayIsToday ? styles$9.today : ''} ${!isInCurrentMonth ? styles$9.otherMonth : ''} ${dayIsSelected ? styles$9.selected : ''}`, initial: { opacity: 0, y: 20 }, animate: { opacity: 1, y: 0 }, transition: {
3289
- duration: 0.3,
3290
- delay: index * 0.02,
3291
- ease: "easeOut"
3292
- }, onClick: () => handleDateClick(day), children: [isWeekStart && (jsxRuntime.jsx("div", { className: styles$9.weekNumber, children: getWeekNumber(day) })), jsxRuntime.jsx("div", { className: styles$9.dayNumber, children: day.getDate() }), dayEvents.length > 0 && compact && currentViewMode === 'month' ? (jsxRuntime.jsxs("div", { className: styles$9.dots, children: [dayEvents.slice(0, maxEventsPerDay).map((event) => (jsxRuntime.jsx("span", { className: styles$9.dot, style: { backgroundColor: getEventColor(event) } }, event.id))), dayEvents.length > maxEventsPerDay && (jsxRuntime.jsxs("span", { className: styles$9.dotMore, children: ["+", dayEvents.length - maxEventsPerDay] }))] })) : dayEvents.length > 0 ? (jsxRuntime.jsxs("div", { className: styles$9.events, children: [dayEvents.slice(0, maxEventsPerDay).map((event, eventIndex) => (jsxRuntime.jsxs(framerMotion.motion.div, { className: `${styles$9.event} ${event.status === 'completed' ? styles$9.completed : ''}`, style: {
3293
- backgroundColor: getEventColor(event),
3294
- color: getEventTextColor(event),
3295
- opacity: event.status === 'completed' ? 0.7 : 1
3296
- }, onClick: (e) => {
3297
- e.stopPropagation();
3298
- handleEventClick(event);
3299
- }, initial: { opacity: 0, x: -10 }, animate: { opacity: 1, x: 0 }, transition: {
3300
- duration: 0.2,
3301
- delay: eventIndex * 0.05,
3302
- ease: "easeOut"
3303
- }, whileHover: {
3304
- scale: 1.02,
3305
- y: -1,
3306
- transition: { duration: 0.1 }
3307
- }, whileTap: {
3308
- scale: 0.98,
3309
- transition: { duration: 0.1 }
3310
- }, children: [iconRenderer && iconRenderer(event), jsxRuntime.jsxs("span", { className: styles$9.eventTitle, children: [event.time && (jsxRuntime.jsx("span", { className: styles$9.eventTime, children: event.time })), event.title] }), event.status === 'completed' && (jsxRuntime.jsx("svg", { className: styles$9.completedIcon, width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsxRuntime.jsx("polyline", { points: "20,6 9,17 4,12" }) }))] }, event.id))), dayEvents.length > maxEventsPerDay && (jsxRuntime.jsxs("div", { className: styles$9.moreEvents, children: ["+", dayEvents.length - maxEventsPerDay, " more"] }))] })) : emptyState ? (jsxRuntime.jsx("div", { className: styles$9.emptyState, children: emptyState })) : null] }, `${day.getFullYear()}-${day.getMonth()}-${day.getDate()}`));
3311
- }) }))] }));
3282
+ })()) : ((() => {
3283
+ // Fixed month-view cell height derived from maxEventsPerDay.
3284
+ // Day number + padding ≈ 40px, each event row ≈ 24px.
3285
+ // Week and compact views keep their own CSS-driven sizing.
3286
+ const monthCellHeight = currentViewMode === 'month' && !compact
3287
+ ? 40 + maxEventsPerDay * 24
3288
+ : undefined;
3289
+ return (jsxRuntime.jsx("div", { className: `${styles$9.daysGrid} ${currentViewMode === 'week' ? styles$9.weekView : ''}`, children: calendarData.days.map((day, index) => {
3290
+ const dayEvents = getDayEvents(day);
3291
+ const dayIsToday = isToday(day);
3292
+ const isInCurrentMonth = currentViewMode === 'week' || isCurrentMonth(day);
3293
+ const isWeekStart = showWeekNumbers && (index % 7 === 0);
3294
+ const dayIsSelected = selectedDate && day.toDateString() === selectedDate.toDateString();
3295
+ return (jsxRuntime.jsxs(framerMotion.motion.div, { className: `${styles$9.dayCell} ${dayIsToday ? styles$9.today : ''} ${!isInCurrentMonth ? styles$9.otherMonth : ''} ${dayIsSelected ? styles$9.selected : ''}`, style: monthCellHeight !== undefined ? { height: monthCellHeight, minHeight: monthCellHeight } : undefined, initial: { opacity: 0, y: 20 }, animate: { opacity: 1, y: 0 }, transition: {
3296
+ duration: 0.3,
3297
+ delay: index * 0.02,
3298
+ ease: "easeOut"
3299
+ }, onClick: () => handleDateClick(day), children: [isWeekStart && (jsxRuntime.jsx("div", { className: styles$9.weekNumber, children: getWeekNumber(day) })), jsxRuntime.jsx("div", { className: styles$9.dayNumber, children: day.getDate() }), dayEvents.length > 0 && compact && currentViewMode === 'month' ? (jsxRuntime.jsxs("div", { className: styles$9.dots, children: [dayEvents.slice(0, maxEventsPerDay).map((event) => (jsxRuntime.jsx("span", { className: styles$9.dot, style: { backgroundColor: getEventColor(event) } }, event.id))), dayEvents.length > maxEventsPerDay && (jsxRuntime.jsxs("span", { className: styles$9.dotMore, children: ["+", dayEvents.length - maxEventsPerDay] }))] })) : dayEvents.length > 0 ? (jsxRuntime.jsxs("div", { className: styles$9.events, children: [dayEvents.slice(0, maxEventsPerDay).map((event, eventIndex) => (jsxRuntime.jsxs(framerMotion.motion.div, { className: `${styles$9.event} ${event.status === 'completed' ? styles$9.completed : ''}`, style: {
3300
+ backgroundColor: getEventColor(event),
3301
+ color: getEventTextColor(event),
3302
+ opacity: event.status === 'completed' ? 0.7 : 1
3303
+ }, onClick: (e) => {
3304
+ e.stopPropagation();
3305
+ handleEventClick(event);
3306
+ }, initial: { opacity: 0, x: -10 }, animate: { opacity: 1, x: 0 }, transition: {
3307
+ duration: 0.2,
3308
+ delay: eventIndex * 0.05,
3309
+ ease: "easeOut"
3310
+ }, whileHover: {
3311
+ scale: 1.02,
3312
+ y: -1,
3313
+ transition: { duration: 0.1 }
3314
+ }, whileTap: {
3315
+ scale: 0.98,
3316
+ transition: { duration: 0.1 }
3317
+ }, children: [iconRenderer && iconRenderer(event), jsxRuntime.jsxs("span", { className: styles$9.eventTitle, children: [event.time && (jsxRuntime.jsx("span", { className: styles$9.eventTime, children: event.time })), event.title] }), event.status === 'completed' && (jsxRuntime.jsx("svg", { className: styles$9.completedIcon, width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsxRuntime.jsx("polyline", { points: "20,6 9,17 4,12" }) }))] }, event.id))), dayEvents.length > maxEventsPerDay && (jsxRuntime.jsxs("div", { className: styles$9.moreEvents, children: ["+", dayEvents.length - maxEventsPerDay, " more"] }))] })) : emptyState ? (jsxRuntime.jsx("div", { className: styles$9.emptyState, children: emptyState })) : null] }, `${day.getFullYear()}-${day.getMonth()}-${day.getDate()}`));
3318
+ }) }));
3319
+ })())] }));
3312
3320
  }
3313
3321
 
3314
3322
  var desktopStyles = {"navbar":"Navbar-module_navbar__-SNiN","navbarSidebar":"Navbar-module_navbarSidebar__RVVL8","navbarTop":"Navbar-module_navbarTop__MLI-S","navList":"Navbar-module_navList__764oY","navItem":"Navbar-module_navItem__cbeLP","navbarMinimal":"Navbar-module_navbarMinimal__7gs0n","navLogo":"Navbar-module_navLogo__y0AxI","logoContainer":"Navbar-module_logoContainer__zJG3x","logoImage":"Navbar-module_logoImage__1Ptmz","logoPlaceholder":"Navbar-module_logoPlaceholder__aIREi","logoContent":"Navbar-module_logoContent__CjPyL","logoText":"Navbar-module_logoText__bTwI0","logoSubtitle":"Navbar-module_logoSubtitle__UA95I","subNavItem":"Navbar-module_subNavItem__WN9is","navLink":"Navbar-module_navLink__I-45k","activeBackground":"Navbar-module_activeBackground__ikyOn","navIcon":"Navbar-module_navIcon__uU4yD","activeIcon":"Navbar-module_activeIcon__omRDk","navText":"Navbar-module_navText__4e0cK","activeText":"Navbar-module_activeText__zSzJC","navBadge":"Navbar-module_navBadge__mLur9","chevron":"Navbar-module_chevron__nmRNk","subNavList":"Navbar-module_subNavList__YsOQP","navFooter":"Navbar-module_navFooter__p1wMO","mobileMenuButton":"Navbar-module_mobileMenuButton__BrALw","mobileBackdrop":"Navbar-module_mobileBackdrop__bgxCV","mobileMenuOpen":"Navbar-module_mobileMenuOpen__oICVa"};