@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.
@@ -58,7 +58,7 @@ export interface CalendarProps {
58
58
  /** Callback when a date is clicked */
59
59
  onDateClick?: (date: Date) => void;
60
60
  /** Initial view mode */
61
- viewMode?: 'month' | 'week';
61
+ viewMode?: 'month' | 'week' | 'day';
62
62
  /** Initial date to display */
63
63
  initialDate?: Date;
64
64
  /** Configuration options */
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;IACpB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;IACxD,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9C,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,KAAK,CAAC,SAAS,CAAC;IACzD,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yBAAyB;IACzB,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACxC,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,iCAAiC;IACjC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,8BAA8B;IAC9B,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,QAAQ,CAAC,EACrB,MAAM,EACN,YAAY,EACZ,WAAW,EACX,QAAkB,EAClB,WAAwB,EACxB,MAAW,EACX,SAAc,EACd,KAAU,EACV,OAAe,EACf,UAAU,EACb,EAAE,aAAa,2CAgUf"}
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;IACpB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;IACxD,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9C,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,KAAK,CAAC,SAAS,CAAC;IACzD,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yBAAyB;IACzB,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACxC,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,iCAAiC;IACjC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IACpC,8BAA8B;IAC9B,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,QAAQ,CAAC,EACrB,MAAM,EACN,YAAY,EACZ,WAAW,EACX,QAAkB,EAClB,WAAwB,EACxB,MAAW,EACX,SAAc,EACd,KAAU,EACV,OAAe,EACf,UAAU,EACb,EAAE,aAAa,2CA8bf"}
@@ -34,6 +34,7 @@ export default meta;
34
34
  type Story = StoryObj<typeof meta>;
35
35
  export declare const MonthView: Story;
36
36
  export declare const WeekView: Story;
37
+ export declare const DayView: Story;
37
38
  export declare const ClickInteractions: Story;
38
39
  export declare const HabitTracker: Story;
39
40
  export declare const EventScheduler: Story;
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAE1D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBuB,CAAC;AAElC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAyBnC,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAwI/B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KA8C1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAqF5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KA2DjC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAsD7B,CAAC"}
1
+ {"version":3,"file":"Calendar.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAE1D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBuB,CAAC;AAElC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAyBnC,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KA4DrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAwI/B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KA8C1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAqF5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KA2DjC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAsD7B,CAAC"}
package/dist/index.esm.js CHANGED
@@ -1773,7 +1773,7 @@ const Tabs = ({ activeTab, onTabChange, tabs: customTabs, className = '' }) => {
1773
1773
  }) }));
1774
1774
  };
1775
1775
 
1776
- 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"};
1776
+ 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"};
1777
1777
 
1778
1778
  /**
1779
1779
  * Calendar component - A flexible, reusable calendar for displaying events
@@ -1832,6 +1832,18 @@ function Calendar({ events, onEventClick, onDateClick, viewMode = 'month', initi
1832
1832
  const weekEnd = endDate.toLocaleDateString(locale, { day: 'numeric', month: 'short' });
1833
1833
  displayTitle = `${weekStart} - ${weekEnd}`;
1834
1834
  }
1835
+ else if (currentViewMode === 'day') {
1836
+ startDate = new Date(currentDate);
1837
+ startDate.setHours(0, 0, 0, 0);
1838
+ endDate = new Date(currentDate);
1839
+ endDate.setHours(23, 59, 59, 999);
1840
+ displayTitle = currentDate.toLocaleDateString(locale, {
1841
+ weekday: 'long',
1842
+ year: 'numeric',
1843
+ month: 'long',
1844
+ day: 'numeric'
1845
+ });
1846
+ }
1835
1847
  else {
1836
1848
  const firstDay = new Date(year, month, 1);
1837
1849
  const lastDay = new Date(year, month + 1, 0);
@@ -1884,6 +1896,9 @@ function Calendar({ events, onEventClick, onDateClick, viewMode = 'month', initi
1884
1896
  if (currentViewMode === 'week') {
1885
1897
  newDate.setDate(newDate.getDate() - 7);
1886
1898
  }
1899
+ else if (currentViewMode === 'day') {
1900
+ newDate.setDate(newDate.getDate() - 1);
1901
+ }
1887
1902
  else {
1888
1903
  newDate.setMonth(newDate.getMonth() - 1);
1889
1904
  }
@@ -1894,6 +1909,9 @@ function Calendar({ events, onEventClick, onDateClick, viewMode = 'month', initi
1894
1909
  if (currentViewMode === 'week') {
1895
1910
  newDate.setDate(newDate.getDate() + 7);
1896
1911
  }
1912
+ else if (currentViewMode === 'day') {
1913
+ newDate.setDate(newDate.getDate() + 1);
1914
+ }
1897
1915
  else {
1898
1916
  newDate.setMonth(newDate.getMonth() + 1);
1899
1917
  }
@@ -1944,7 +1962,43 @@ function Calendar({ events, onEventClick, onDateClick, viewMode = 'month', initi
1944
1962
  if (loading) {
1945
1963
  return (jsx("div", { className: `${styles$7.calendar} ${styles$7.loading} ${className}`, style: style, children: jsx("div", { className: styles$7.loadingSpinner, children: "Loading..." }) }));
1946
1964
  }
1947
- return (jsxs("div", { className: `${styles$7.calendar} ${className}`, style: style, children: [jsxs("div", { className: styles$7.header, children: [jsxs("div", { className: styles$7.navigation, children: [jsx("button", { onClick: handlePrevious, className: styles$7.navButton, "aria-label": "Previous", children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsx("polyline", { points: "15,18 9,12 15,6" }) }) }), jsx("h3", { className: styles$7.title, children: calendarData.displayTitle }), jsx("button", { onClick: handleNext, className: styles$7.navButton, "aria-label": "Next", children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsx("polyline", { points: "9,6 15,12 9,18" }) }) })] }), jsxs("div", { className: styles$7.controls, children: [jsx("button", { onClick: handleToday, className: styles$7.todayButton, children: "Today" }), jsxs("div", { className: styles$7.viewToggle, children: [jsx("button", { className: `${styles$7.viewButton} ${currentViewMode === 'month' ? styles$7.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsx("button", { className: `${styles$7.viewButton} ${currentViewMode === 'week' ? styles$7.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" })] })] })] }), jsxs("div", { className: styles$7.weekDays, children: [showWeekNumbers && jsx("div", { className: styles$7.weekNumberHeader, children: "Week" }), finalDayLabels.map((day) => (jsx("div", { className: styles$7.weekDay, children: day }, day)))] }), jsx("div", { className: `${styles$7.daysGrid} ${currentViewMode === 'week' ? styles$7.weekView : ''}`, children: calendarData.days.map((day, index) => {
1965
+ return (jsxs("div", { className: `${styles$7.calendar} ${className}`, style: style, children: [jsxs("div", { className: styles$7.header, children: [jsxs("div", { className: styles$7.navigation, children: [jsx("button", { onClick: handlePrevious, className: styles$7.navButton, "aria-label": "Previous", children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsx("polyline", { points: "15,18 9,12 15,6" }) }) }), jsx("h3", { className: styles$7.title, children: calendarData.displayTitle }), jsx("button", { onClick: handleNext, className: styles$7.navButton, "aria-label": "Next", children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsx("polyline", { points: "9,6 15,12 9,18" }) }) })] }), jsxs("div", { className: styles$7.controls, children: [jsx("button", { onClick: handleToday, className: styles$7.todayButton, children: "Today" }), jsxs("div", { className: styles$7.viewToggle, children: [jsx("button", { className: `${styles$7.viewButton} ${currentViewMode === 'month' ? styles$7.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsx("button", { className: `${styles$7.viewButton} ${currentViewMode === 'week' ? styles$7.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" }), jsx("button", { className: `${styles$7.viewButton} ${currentViewMode === 'day' ? styles$7.active : ''}`, onClick: () => setCurrentViewMode('day'), children: "Day" })] })] })] }), currentViewMode !== 'day' && (jsxs("div", { className: styles$7.weekDays, children: [showWeekNumbers && jsx("div", { className: styles$7.weekNumberHeader, children: "Week" }), finalDayLabels.map((day) => (jsx("div", { className: styles$7.weekDay, children: day }, day)))] })), currentViewMode === 'day' ? (
1966
+ // Day view layout
1967
+ jsxs("div", { className: styles$7.dayView, children: [jsxs("div", { className: styles$7.dayViewHeader, children: [jsx("div", { className: styles$7.timeColumnHeader }), jsx("div", { className: styles$7.dayColumnHeader, children: currentDate.toLocaleDateString(locale, { weekday: 'short', day: 'numeric' }) })] }), jsx("div", { className: styles$7.dayViewScrollContainer, children: jsxs("div", { className: styles$7.dayViewContent, children: [(() => {
1968
+ const now = new Date();
1969
+ const currentHour = now.getHours();
1970
+ const currentMinute = now.getMinutes();
1971
+ const minutesSinceMidnight = currentHour * 60 + currentMinute;
1972
+ const topPosition = (minutesSinceMidnight / 1440) * (24 * 60); // 24 hours * 60px per hour
1973
+ // Only show if viewing today
1974
+ const isToday = currentDate.toDateString() === now.toDateString();
1975
+ return isToday ? (jsx("div", { className: styles$7.currentTimeIndicator, style: { top: `${topPosition}px` } })) : null;
1976
+ })(), jsx("div", { className: styles$7.timeColumn, children: Array.from({ length: 24 }, (_, hour) => (jsx("div", { className: styles$7.timeSlot, children: jsxs("span", { className: styles$7.timeLabel, children: [hour.toString().padStart(2, '0'), ":00"] }) }, hour))) }), jsx("div", { className: styles$7.dayColumn, children: Array.from({ length: 24 }, (_, hour) => {
1977
+ const hourEvents = getDayEvents(currentDate).filter(event => {
1978
+ if (!event.time)
1979
+ return false;
1980
+ const eventHour = parseInt(event.time.split(':')[0]);
1981
+ return eventHour === hour;
1982
+ });
1983
+ return (jsxs("div", { className: styles$7.hourSlot, children: [jsx("div", { className: styles$7.hourLine }), hourEvents.map((event, eventIndex) => (jsxs(motion.div, { className: `${styles$7.dayEvent} ${event.status === 'completed' ? styles$7.completed : ''}`, style: {
1984
+ backgroundColor: getEventColor(event),
1985
+ opacity: event.status === 'completed' ? 0.7 : 1
1986
+ }, onClick: (e) => {
1987
+ e.stopPropagation();
1988
+ handleEventClick(event);
1989
+ }, initial: { opacity: 0, x: -10 }, animate: { opacity: 1, x: 0 }, transition: {
1990
+ duration: 0.2,
1991
+ delay: eventIndex * 0.05,
1992
+ ease: "easeOut"
1993
+ }, whileHover: {
1994
+ scale: 1.02,
1995
+ y: -1,
1996
+ transition: { duration: 0.1 }
1997
+ }, whileTap: {
1998
+ scale: 0.98,
1999
+ transition: { duration: 0.1 }
2000
+ }, children: [iconRenderer && iconRenderer(event), jsxs("span", { className: styles$7.dayEventTitle, children: [jsx("span", { className: styles$7.dayEventTime, children: event.time }), event.title] }), event.status === 'completed' && (jsx("svg", { className: styles$7.completedIcon, width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsx("polyline", { points: "20,6 9,17 4,12" }) }))] }, event.id)))] }, hour));
2001
+ }) })] }) })] })) : (jsx("div", { className: `${styles$7.daysGrid} ${currentViewMode === 'week' ? styles$7.weekView : ''}`, children: calendarData.days.map((day, index) => {
1948
2002
  const dayEvents = getDayEvents(day);
1949
2003
  const dayIsToday = isToday(day);
1950
2004
  const isInCurrentMonth = currentViewMode === 'week' || isCurrentMonth(day);
@@ -1971,7 +2025,7 @@ function Calendar({ events, onEventClick, onDateClick, viewMode = 'month', initi
1971
2025
  scale: 0.98,
1972
2026
  transition: { duration: 0.1 }
1973
2027
  }, children: [iconRenderer && iconRenderer(event), jsxs("span", { className: styles$7.eventTitle, children: [event.time && (jsx("span", { className: styles$7.eventTime, children: event.time })), event.title] }), event.status === 'completed' && (jsx("svg", { className: styles$7.completedIcon, width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsx("polyline", { points: "20,6 9,17 4,12" }) }))] }, event.id))), dayEvents.length > maxEventsPerDay && (jsxs("div", { className: styles$7.moreEvents, children: ["+", dayEvents.length - maxEventsPerDay, " more"] }))] })), dayEvents.length === 0 && emptyState && (jsx("div", { className: styles$7.emptyState, children: emptyState }))] }, `${day.getFullYear()}-${day.getMonth()}-${day.getDate()}`));
1974
- }) })] }));
2028
+ }) }))] }));
1975
2029
  }
1976
2030
 
1977
2031
  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"};