@stfrigerio/sito-template 0.1.18 → 0.1.19
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/components/organisms/Calendar/Calendar.d.ts +1 -1
- package/dist/components/organisms/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/organisms/Calendar/Calendar.stories.d.ts +1 -0
- package/dist/components/organisms/Calendar/Calendar.stories.d.ts.map +1 -1
- package/dist/index.esm.js +57 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +57 -3
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1794,7 +1794,7 @@ const Tabs = ({ activeTab, onTabChange, tabs: customTabs, className = '' }) => {
|
|
|
1794
1794
|
}) }));
|
|
1795
1795
|
};
|
|
1796
1796
|
|
|
1797
|
-
var styles$7 = {"calendar":"Calendar-module_calendar__3mIJS","loading":"Calendar-module_loading__59Z9-","loadingSpinner":"Calendar-module_loadingSpinner__7MXqV","header":"Calendar-module_header__cZHNA","navigation":"Calendar-module_navigation__PGkpY","navButton":"Calendar-module_navButton__kOe-w","title":"Calendar-module_title__oJZ7m","controls":"Calendar-module_controls__i1Z38","todayButton":"Calendar-module_todayButton__Ac9zc","viewToggle":"Calendar-module_viewToggle__Fhg2t","viewButton":"Calendar-module_viewButton__J2WY6","active":"Calendar-module_active__lIqH-","weekDays":"Calendar-module_weekDays__4J-8f","weekNumberHeader":"Calendar-module_weekNumberHeader__xhKbB","weekDay":"Calendar-module_weekDay__cg8Gr","daysGrid":"Calendar-module_daysGrid__ER0GM","weekView":"Calendar-module_weekView__bdtGs","dayCell":"Calendar-module_dayCell__TV-HR","dayNumber":"Calendar-module_dayNumber__ICH-X","today":"Calendar-module_today__eGuUU","events":"Calendar-module_events__qdbs7","event":"Calendar-module_event__Q1Zq3","eventTitle":"Calendar-module_eventTitle__XU7Wd","eventTime":"Calendar-module_eventTime__pMGEB","otherMonth":"Calendar-module_otherMonth__r6VJK","weekNumber":"Calendar-module_weekNumber__nlo50","completed":"Calendar-module_completed__B-SHI","completedIcon":"Calendar-module_completedIcon__-oDZ9","moreEvents":"Calendar-module_moreEvents__TIKaT","emptyState":"Calendar-module_emptyState__2fcj7"};
|
|
1797
|
+
var styles$7 = {"calendar":"Calendar-module_calendar__3mIJS","loading":"Calendar-module_loading__59Z9-","loadingSpinner":"Calendar-module_loadingSpinner__7MXqV","header":"Calendar-module_header__cZHNA","navigation":"Calendar-module_navigation__PGkpY","navButton":"Calendar-module_navButton__kOe-w","title":"Calendar-module_title__oJZ7m","controls":"Calendar-module_controls__i1Z38","todayButton":"Calendar-module_todayButton__Ac9zc","viewToggle":"Calendar-module_viewToggle__Fhg2t","viewButton":"Calendar-module_viewButton__J2WY6","active":"Calendar-module_active__lIqH-","weekDays":"Calendar-module_weekDays__4J-8f","weekNumberHeader":"Calendar-module_weekNumberHeader__xhKbB","weekDay":"Calendar-module_weekDay__cg8Gr","daysGrid":"Calendar-module_daysGrid__ER0GM","weekView":"Calendar-module_weekView__bdtGs","dayCell":"Calendar-module_dayCell__TV-HR","dayNumber":"Calendar-module_dayNumber__ICH-X","today":"Calendar-module_today__eGuUU","events":"Calendar-module_events__qdbs7","event":"Calendar-module_event__Q1Zq3","eventTitle":"Calendar-module_eventTitle__XU7Wd","eventTime":"Calendar-module_eventTime__pMGEB","otherMonth":"Calendar-module_otherMonth__r6VJK","weekNumber":"Calendar-module_weekNumber__nlo50","completed":"Calendar-module_completed__B-SHI","completedIcon":"Calendar-module_completedIcon__-oDZ9","moreEvents":"Calendar-module_moreEvents__TIKaT","emptyState":"Calendar-module_emptyState__2fcj7","dayView":"Calendar-module_dayView__PCIos","dayViewHeader":"Calendar-module_dayViewHeader__Gvxx2","timeColumnHeader":"Calendar-module_timeColumnHeader__B0btR","dayColumnHeader":"Calendar-module_dayColumnHeader__Rjqwg","dayViewScrollContainer":"Calendar-module_dayViewScrollContainer__84Byq","dayViewContent":"Calendar-module_dayViewContent__VU9JI","timeColumn":"Calendar-module_timeColumn__Sce-X","dayColumn":"Calendar-module_dayColumn__-j2oT","timeSlot":"Calendar-module_timeSlot__jldHq","timeLabel":"Calendar-module_timeLabel__9xLiK","hourSlot":"Calendar-module_hourSlot__z-80Q","hourLine":"Calendar-module_hourLine__fofdD","dayEvent":"Calendar-module_dayEvent__tSPFa","dayEventTitle":"Calendar-module_dayEventTitle__er03k","dayEventTime":"Calendar-module_dayEventTime__TlkeQ","currentTimeIndicator":"Calendar-module_currentTimeIndicator__GntOZ"};
|
|
1798
1798
|
|
|
1799
1799
|
/**
|
|
1800
1800
|
* Calendar component - A flexible, reusable calendar for displaying events
|
|
@@ -1853,6 +1853,18 @@ function Calendar({ events, onEventClick, onDateClick, viewMode = 'month', initi
|
|
|
1853
1853
|
const weekEnd = endDate.toLocaleDateString(locale, { day: 'numeric', month: 'short' });
|
|
1854
1854
|
displayTitle = `${weekStart} - ${weekEnd}`;
|
|
1855
1855
|
}
|
|
1856
|
+
else if (currentViewMode === 'day') {
|
|
1857
|
+
startDate = new Date(currentDate);
|
|
1858
|
+
startDate.setHours(0, 0, 0, 0);
|
|
1859
|
+
endDate = new Date(currentDate);
|
|
1860
|
+
endDate.setHours(23, 59, 59, 999);
|
|
1861
|
+
displayTitle = currentDate.toLocaleDateString(locale, {
|
|
1862
|
+
weekday: 'long',
|
|
1863
|
+
year: 'numeric',
|
|
1864
|
+
month: 'long',
|
|
1865
|
+
day: 'numeric'
|
|
1866
|
+
});
|
|
1867
|
+
}
|
|
1856
1868
|
else {
|
|
1857
1869
|
const firstDay = new Date(year, month, 1);
|
|
1858
1870
|
const lastDay = new Date(year, month + 1, 0);
|
|
@@ -1905,6 +1917,9 @@ function Calendar({ events, onEventClick, onDateClick, viewMode = 'month', initi
|
|
|
1905
1917
|
if (currentViewMode === 'week') {
|
|
1906
1918
|
newDate.setDate(newDate.getDate() - 7);
|
|
1907
1919
|
}
|
|
1920
|
+
else if (currentViewMode === 'day') {
|
|
1921
|
+
newDate.setDate(newDate.getDate() - 1);
|
|
1922
|
+
}
|
|
1908
1923
|
else {
|
|
1909
1924
|
newDate.setMonth(newDate.getMonth() - 1);
|
|
1910
1925
|
}
|
|
@@ -1915,6 +1930,9 @@ function Calendar({ events, onEventClick, onDateClick, viewMode = 'month', initi
|
|
|
1915
1930
|
if (currentViewMode === 'week') {
|
|
1916
1931
|
newDate.setDate(newDate.getDate() + 7);
|
|
1917
1932
|
}
|
|
1933
|
+
else if (currentViewMode === 'day') {
|
|
1934
|
+
newDate.setDate(newDate.getDate() + 1);
|
|
1935
|
+
}
|
|
1918
1936
|
else {
|
|
1919
1937
|
newDate.setMonth(newDate.getMonth() + 1);
|
|
1920
1938
|
}
|
|
@@ -1965,7 +1983,43 @@ function Calendar({ events, onEventClick, onDateClick, viewMode = 'month', initi
|
|
|
1965
1983
|
if (loading) {
|
|
1966
1984
|
return (jsxRuntime.jsx("div", { className: `${styles$7.calendar} ${styles$7.loading} ${className}`, style: style, children: jsxRuntime.jsx("div", { className: styles$7.loadingSpinner, children: "Loading..." }) }));
|
|
1967
1985
|
}
|
|
1968
|
-
return (jsxRuntime.jsxs("div", { className: `${styles$7.calendar} ${className}`, style: style, children: [jsxRuntime.jsxs("div", { className: styles$7.header, children: [jsxRuntime.jsxs("div", { className: styles$7.navigation, children: [jsxRuntime.jsx("button", { onClick: handlePrevious, className: styles$7.navButton, "aria-label": "Previous", children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsxRuntime.jsx("polyline", { points: "15,18 9,12 15,6" }) }) }), jsxRuntime.jsx("h3", { className: styles$7.title, children: calendarData.displayTitle }), jsxRuntime.jsx("button", { onClick: handleNext, className: styles$7.navButton, "aria-label": "Next", children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsxRuntime.jsx("polyline", { points: "9,6 15,12 9,18" }) }) })] }), jsxRuntime.jsxs("div", { className: styles$7.controls, children: [jsxRuntime.jsx("button", { onClick: handleToday, className: styles$7.todayButton, children: "Today" }), jsxRuntime.jsxs("div", { className: styles$7.viewToggle, children: [jsxRuntime.jsx("button", { className: `${styles$7.viewButton} ${currentViewMode === 'month' ? styles$7.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsxRuntime.jsx("button", { className: `${styles$7.viewButton} ${currentViewMode === 'week' ? styles$7.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" })] })] })] }), jsxRuntime.jsxs("div", { className: styles$7.weekDays, children: [showWeekNumbers && jsxRuntime.jsx("div", { className: styles$7.weekNumberHeader, children: "Week" }), finalDayLabels.map((day) => (jsxRuntime.jsx("div", { className: styles$7.weekDay, children: day }, day)))] }),
|
|
1986
|
+
return (jsxRuntime.jsxs("div", { className: `${styles$7.calendar} ${className}`, style: style, children: [jsxRuntime.jsxs("div", { className: styles$7.header, children: [jsxRuntime.jsxs("div", { className: styles$7.navigation, children: [jsxRuntime.jsx("button", { onClick: handlePrevious, className: styles$7.navButton, "aria-label": "Previous", children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsxRuntime.jsx("polyline", { points: "15,18 9,12 15,6" }) }) }), jsxRuntime.jsx("h3", { className: styles$7.title, children: calendarData.displayTitle }), jsxRuntime.jsx("button", { onClick: handleNext, className: styles$7.navButton, "aria-label": "Next", children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsxRuntime.jsx("polyline", { points: "9,6 15,12 9,18" }) }) })] }), jsxRuntime.jsxs("div", { className: styles$7.controls, children: [jsxRuntime.jsx("button", { onClick: handleToday, className: styles$7.todayButton, children: "Today" }), jsxRuntime.jsxs("div", { className: styles$7.viewToggle, children: [jsxRuntime.jsx("button", { className: `${styles$7.viewButton} ${currentViewMode === 'month' ? styles$7.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsxRuntime.jsx("button", { className: `${styles$7.viewButton} ${currentViewMode === 'week' ? styles$7.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" }), jsxRuntime.jsx("button", { className: `${styles$7.viewButton} ${currentViewMode === 'day' ? styles$7.active : ''}`, onClick: () => setCurrentViewMode('day'), children: "Day" })] })] })] }), currentViewMode !== 'day' && (jsxRuntime.jsxs("div", { className: styles$7.weekDays, children: [showWeekNumbers && jsxRuntime.jsx("div", { className: styles$7.weekNumberHeader, children: "Week" }), finalDayLabels.map((day) => (jsxRuntime.jsx("div", { className: styles$7.weekDay, children: day }, day)))] })), currentViewMode === 'day' ? (
|
|
1987
|
+
// Day view layout
|
|
1988
|
+
jsxRuntime.jsxs("div", { className: styles$7.dayView, children: [jsxRuntime.jsxs("div", { className: styles$7.dayViewHeader, children: [jsxRuntime.jsx("div", { className: styles$7.timeColumnHeader }), jsxRuntime.jsx("div", { className: styles$7.dayColumnHeader, children: currentDate.toLocaleDateString(locale, { weekday: 'short', day: 'numeric' }) })] }), jsxRuntime.jsx("div", { className: styles$7.dayViewScrollContainer, children: jsxRuntime.jsxs("div", { className: styles$7.dayViewContent, children: [(() => {
|
|
1989
|
+
const now = new Date();
|
|
1990
|
+
const currentHour = now.getHours();
|
|
1991
|
+
const currentMinute = now.getMinutes();
|
|
1992
|
+
const minutesSinceMidnight = currentHour * 60 + currentMinute;
|
|
1993
|
+
const topPosition = (minutesSinceMidnight / 1440) * (24 * 60); // 24 hours * 60px per hour
|
|
1994
|
+
// Only show if viewing today
|
|
1995
|
+
const isToday = currentDate.toDateString() === now.toDateString();
|
|
1996
|
+
return isToday ? (jsxRuntime.jsx("div", { className: styles$7.currentTimeIndicator, style: { top: `${topPosition}px` } })) : null;
|
|
1997
|
+
})(), jsxRuntime.jsx("div", { className: styles$7.timeColumn, children: Array.from({ length: 24 }, (_, hour) => (jsxRuntime.jsx("div", { className: styles$7.timeSlot, children: jsxRuntime.jsxs("span", { className: styles$7.timeLabel, children: [hour.toString().padStart(2, '0'), ":00"] }) }, hour))) }), jsxRuntime.jsx("div", { className: styles$7.dayColumn, children: Array.from({ length: 24 }, (_, hour) => {
|
|
1998
|
+
const hourEvents = getDayEvents(currentDate).filter(event => {
|
|
1999
|
+
if (!event.time)
|
|
2000
|
+
return false;
|
|
2001
|
+
const eventHour = parseInt(event.time.split(':')[0]);
|
|
2002
|
+
return eventHour === hour;
|
|
2003
|
+
});
|
|
2004
|
+
return (jsxRuntime.jsxs("div", { className: styles$7.hourSlot, children: [jsxRuntime.jsx("div", { className: styles$7.hourLine }), hourEvents.map((event, eventIndex) => (jsxRuntime.jsxs(framerMotion.motion.div, { className: `${styles$7.dayEvent} ${event.status === 'completed' ? styles$7.completed : ''}`, style: {
|
|
2005
|
+
backgroundColor: getEventColor(event),
|
|
2006
|
+
opacity: event.status === 'completed' ? 0.7 : 1
|
|
2007
|
+
}, onClick: (e) => {
|
|
2008
|
+
e.stopPropagation();
|
|
2009
|
+
handleEventClick(event);
|
|
2010
|
+
}, initial: { opacity: 0, x: -10 }, animate: { opacity: 1, x: 0 }, transition: {
|
|
2011
|
+
duration: 0.2,
|
|
2012
|
+
delay: eventIndex * 0.05,
|
|
2013
|
+
ease: "easeOut"
|
|
2014
|
+
}, whileHover: {
|
|
2015
|
+
scale: 1.02,
|
|
2016
|
+
y: -1,
|
|
2017
|
+
transition: { duration: 0.1 }
|
|
2018
|
+
}, whileTap: {
|
|
2019
|
+
scale: 0.98,
|
|
2020
|
+
transition: { duration: 0.1 }
|
|
2021
|
+
}, children: [iconRenderer && iconRenderer(event), jsxRuntime.jsxs("span", { className: styles$7.dayEventTitle, children: [jsxRuntime.jsx("span", { className: styles$7.dayEventTime, children: event.time }), event.title] }), event.status === 'completed' && (jsxRuntime.jsx("svg", { className: styles$7.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)))] }, hour));
|
|
2022
|
+
}) })] }) })] })) : (jsxRuntime.jsx("div", { className: `${styles$7.daysGrid} ${currentViewMode === 'week' ? styles$7.weekView : ''}`, children: calendarData.days.map((day, index) => {
|
|
1969
2023
|
const dayEvents = getDayEvents(day);
|
|
1970
2024
|
const dayIsToday = isToday(day);
|
|
1971
2025
|
const isInCurrentMonth = currentViewMode === 'week' || isCurrentMonth(day);
|
|
@@ -1992,7 +2046,7 @@ function Calendar({ events, onEventClick, onDateClick, viewMode = 'month', initi
|
|
|
1992
2046
|
scale: 0.98,
|
|
1993
2047
|
transition: { duration: 0.1 }
|
|
1994
2048
|
}, children: [iconRenderer && iconRenderer(event), jsxRuntime.jsxs("span", { className: styles$7.eventTitle, children: [event.time && (jsxRuntime.jsx("span", { className: styles$7.eventTime, children: event.time })), event.title] }), event.status === 'completed' && (jsxRuntime.jsx("svg", { className: styles$7.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$7.moreEvents, children: ["+", dayEvents.length - maxEventsPerDay, " more"] }))] })), dayEvents.length === 0 && emptyState && (jsxRuntime.jsx("div", { className: styles$7.emptyState, children: emptyState }))] }, `${day.getFullYear()}-${day.getMonth()}-${day.getDate()}`));
|
|
1995
|
-
}) })] }));
|
|
2049
|
+
}) }))] }));
|
|
1996
2050
|
}
|
|
1997
2051
|
|
|
1998
2052
|
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","active":"Navbar-module_active__tLLqx","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"};
|