@stfrigerio/sito-template 0.1.49 → 0.1.51
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 +5 -1
- package/dist/components/organisms/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/organisms/Calendar/Calendar.stories.d.ts.map +1 -1
- package/dist/components/organisms/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/dist/components/organisms/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/index.esm.js +11 -10
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/themes/dao.css +46 -0
- package/package.json +3 -3
|
@@ -89,6 +89,10 @@ export interface CalendarProps {
|
|
|
89
89
|
emptyState?: React.ReactNode;
|
|
90
90
|
/** Hide the calendar header (navigation, title, view controls) */
|
|
91
91
|
hideHeader?: boolean;
|
|
92
|
+
/** Compact mode - renders colored dots instead of event blocks in month view */
|
|
93
|
+
compact?: boolean;
|
|
94
|
+
/** Externally controlled selected date highlight (distinct from initialDate which controls navigation) */
|
|
95
|
+
selectedDate?: Date;
|
|
92
96
|
}
|
|
93
97
|
/**
|
|
94
98
|
* Calendar component - A flexible, reusable calendar for displaying events
|
|
@@ -119,5 +123,5 @@ export interface CalendarProps {
|
|
|
119
123
|
* onEventClick={handleEventClick}
|
|
120
124
|
* />
|
|
121
125
|
*/
|
|
122
|
-
export declare function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, viewMode, initialDate, config, className, style, loading, emptyState, hideHeader }: CalendarProps): import("react/jsx-runtime").JSX.Element;
|
|
126
|
+
export declare function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, viewMode, initialDate, config, className, style, loading, emptyState, hideHeader, compact, selectedDate }: CalendarProps): import("react/jsx-runtime").JSX.Element;
|
|
123
127
|
//# sourceMappingURL=Calendar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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,uBAAuB,CAAC;AAE5D,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;
|
|
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,uBAAuB,CAAC;AAE5D,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;AA+CnC,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,KA2I/B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAiD1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAwF5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KA8DjC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAyD7B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export type Theme = 'light' | 'dark' | 'lossito' | 'lossito-dark' | '
|
|
2
|
+
export type Theme = 'light' | 'dark' | 'lossito' | 'lossito-dark' | 'dao' | 'dao-dark' | 'crt';
|
|
3
3
|
interface ThemeContextType {
|
|
4
4
|
theme: Theme;
|
|
5
5
|
setTheme: (theme: Theme) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ThemeProvider/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ThemeProvider/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;AAE/F,UAAU,gBAAgB;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,IAAI,CAAC;CAC3B;AAID,eAAO,MAAM,QAAQ,wBAMpB,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,YAAY,QAAO,gBAAgB,GAAG,IAElD,CAAC;AAEF,UAAU,kBAAkB;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA+DtD,CAAC"}
|
package/dist/index.esm.js
CHANGED
|
@@ -2740,7 +2740,7 @@ const ThemeProvider = ({ children, defaultTheme = 'light', storageKey = 'app-the
|
|
|
2740
2740
|
const [theme, setThemeState] = useState(() => {
|
|
2741
2741
|
// Check localStorage first
|
|
2742
2742
|
const stored = localStorage.getItem(storageKey);
|
|
2743
|
-
if (stored && ['light', 'dark', 'lossito', 'lossito-dark', '
|
|
2743
|
+
if (stored && ['light', 'dark', 'lossito', 'lossito-dark', 'dao', 'dao-dark', 'crt'].includes(stored)) {
|
|
2744
2744
|
return stored;
|
|
2745
2745
|
}
|
|
2746
2746
|
// Check system preference
|
|
@@ -2754,7 +2754,7 @@ const ThemeProvider = ({ children, defaultTheme = 'light', storageKey = 'app-the
|
|
|
2754
2754
|
localStorage.setItem(storageKey, newTheme);
|
|
2755
2755
|
};
|
|
2756
2756
|
const toggleTheme = () => {
|
|
2757
|
-
const themeOrder = ['light', 'dark', 'lossito', 'lossito-dark', '
|
|
2757
|
+
const themeOrder = ['light', 'dark', 'lossito', 'lossito-dark', 'dao', 'dao-dark', 'crt'];
|
|
2758
2758
|
const currentIndex = themeOrder.indexOf(theme);
|
|
2759
2759
|
const nextIndex = (currentIndex + 1) % themeOrder.length;
|
|
2760
2760
|
setTheme(themeOrder[nextIndex]);
|
|
@@ -2798,8 +2798,8 @@ const ThemeSwitcher = ({ variant = 'button', showLabel = false, className = '',
|
|
|
2798
2798
|
{ value: 'dark', label: 'Dark', icon: jsx(Moon, {}) },
|
|
2799
2799
|
{ value: 'lossito', label: 'Lossito Light', icon: '✨' },
|
|
2800
2800
|
{ value: 'lossito-dark', label: 'Lossito Dark', icon: '🌑' },
|
|
2801
|
-
{ value: '
|
|
2802
|
-
{ value: '
|
|
2801
|
+
{ value: 'dao', label: 'Dao Light', icon: '⬜' },
|
|
2802
|
+
{ value: 'dao-dark', label: 'Dao Dark', icon: '⬛' },
|
|
2803
2803
|
];
|
|
2804
2804
|
const themes = customThemes ?? defaultThemes;
|
|
2805
2805
|
const currentThemeIndex = themes.findIndex(t => t.value === theme);
|
|
@@ -2954,7 +2954,7 @@ const LiquidButton = ({ actions, icon: Icon = Plus, className = '', }) => {
|
|
|
2954
2954
|
}, onClick: () => handleAction(action), children: [jsx(action.icon, { size: 18, color: action.color }), jsx("span", { className: styles$a.actionLabel, children: action.label })] }, action.key))) })) }), jsx(motion.button, { type: "button", className: styles$a.button, onClick: handleToggle, animate: { rotate: expanded ? 45 : 0 }, transition: { duration: 0.2 }, "aria-label": expanded ? 'Close actions' : 'Open actions', children: jsx(Icon, { size: 24, strokeWidth: 2.5 }) })] })] }));
|
|
2955
2955
|
};
|
|
2956
2956
|
|
|
2957
|
-
var styles$9 = {"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"};
|
|
2957
|
+
var styles$9 = {"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","selected":"Calendar-module_selected__5e6h0","compact":"Calendar-module_compact__i0SF3","dots":"Calendar-module_dots__1Q7QR","dot":"Calendar-module_dot__tsCR1","dotMore":"Calendar-module_dotMore__emasD","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"};
|
|
2958
2958
|
|
|
2959
2959
|
/**
|
|
2960
2960
|
* Calendar component - A flexible, reusable calendar for displaying events
|
|
@@ -2985,7 +2985,7 @@ var styles$9 = {"calendar":"Calendar-module_calendar__3mIJS","loading":"Calendar
|
|
|
2985
2985
|
* onEventClick={handleEventClick}
|
|
2986
2986
|
* />
|
|
2987
2987
|
*/
|
|
2988
|
-
function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, viewMode = 'month', initialDate = new Date(), config = {}, className = '', style = {}, loading = false, emptyState, hideHeader = false }) {
|
|
2988
|
+
function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, viewMode = 'month', initialDate = new Date(), config = {}, className = '', style = {}, loading = false, emptyState, hideHeader = false, compact = false, selectedDate }) {
|
|
2989
2989
|
const [currentDate, setCurrentDate] = useState(initialDate);
|
|
2990
2990
|
const [currentViewMode, setCurrentViewMode] = useState(viewMode);
|
|
2991
2991
|
const dayViewScrollRef = useRef(null);
|
|
@@ -3204,7 +3204,7 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3204
3204
|
if (loading) {
|
|
3205
3205
|
return (jsx("div", { className: `${styles$9.calendar} ${styles$9.loading} ${className}`, style: style, children: jsx("div", { className: styles$9.loadingSpinner, children: "Loading..." }) }));
|
|
3206
3206
|
}
|
|
3207
|
-
return (jsxs("div", { className: `${styles$9.calendar} ${className}`, style: style, children: [!hideHeader && (jsxs("div", { className: styles$9.header, children: [jsxs("div", { className: styles$9.navigation, children: [jsx("button", { onClick: handlePrevious, className: styles$9.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$9.title, children: calendarData.displayTitle }), jsx("button", { onClick: handleNext, className: styles$9.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$9.controls, children: [jsx("button", { onClick: handleToday, className: styles$9.todayButton, children: "Today" }), jsxs("div", { className: styles$9.viewToggle, children: [jsx("button", { className: `${styles$9.viewButton} ${currentViewMode === 'month' ? styles$9.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsx("button", { className: `${styles$9.viewButton} ${currentViewMode === 'week' ? styles$9.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" }), jsx("button", { className: `${styles$9.viewButton} ${currentViewMode === 'day' ? styles$9.active : ''}`, onClick: () => setCurrentViewMode('day'), children: "Day" })] })] })] })), currentViewMode !== 'day' && (jsxs("div", { className: styles$9.weekDays, children: [showWeekNumbers && jsx("div", { className: styles$9.weekNumberHeader, children: "Week" }), finalDayLabels.map((day) => (jsx("div", { className: styles$9.weekDay, children: day }, day)))] })), currentViewMode === 'day' ? (
|
|
3207
|
+
return (jsxs("div", { className: `${styles$9.calendar} ${compact ? styles$9.compact : ''} ${className}`, style: style, children: [!hideHeader && (jsxs("div", { className: styles$9.header, children: [jsxs("div", { className: styles$9.navigation, children: [jsx("button", { onClick: handlePrevious, className: styles$9.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$9.title, children: calendarData.displayTitle }), jsx("button", { onClick: handleNext, className: styles$9.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$9.controls, children: [jsx("button", { onClick: handleToday, className: styles$9.todayButton, children: "Today" }), jsxs("div", { className: styles$9.viewToggle, children: [jsx("button", { className: `${styles$9.viewButton} ${currentViewMode === 'month' ? styles$9.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsx("button", { className: `${styles$9.viewButton} ${currentViewMode === 'week' ? styles$9.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" }), jsx("button", { className: `${styles$9.viewButton} ${currentViewMode === 'day' ? styles$9.active : ''}`, onClick: () => setCurrentViewMode('day'), children: "Day" })] })] })] })), currentViewMode !== 'day' && (jsxs("div", { className: styles$9.weekDays, children: [showWeekNumbers && jsx("div", { className: styles$9.weekNumberHeader, children: "Week" }), finalDayLabels.map((day) => (jsx("div", { className: styles$9.weekDay, children: day }, day)))] })), currentViewMode === 'day' ? (
|
|
3208
3208
|
// Day view layout
|
|
3209
3209
|
jsxs("div", { className: styles$9.dayView, children: [jsxs("div", { className: styles$9.dayViewHeader, children: [jsx("div", { className: styles$9.timeColumnHeader }), jsx("div", { className: styles$9.dayColumnHeader, children: currentDate.toLocaleDateString(locale, { weekday: 'short', day: 'numeric' }) })] }), jsx("div", { className: styles$9.dayViewScrollContainer, ref: dayViewScrollRef, children: jsxs("div", { className: styles$9.dayViewContent, children: [(() => {
|
|
3210
3210
|
const now = new Date();
|
|
@@ -3252,11 +3252,12 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3252
3252
|
const dayIsToday = isToday(day);
|
|
3253
3253
|
const isInCurrentMonth = currentViewMode === 'week' || isCurrentMonth(day);
|
|
3254
3254
|
const isWeekStart = showWeekNumbers && (index % 7 === 0);
|
|
3255
|
-
|
|
3255
|
+
const dayIsSelected = selectedDate && day.toDateString() === selectedDate.toDateString();
|
|
3256
|
+
return (jsxs(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: {
|
|
3256
3257
|
duration: 0.3,
|
|
3257
3258
|
delay: index * 0.02,
|
|
3258
3259
|
ease: "easeOut"
|
|
3259
|
-
}, onClick: () => handleDateClick(day), children: [isWeekStart && (jsx("div", { className: styles$9.weekNumber, children: getWeekNumber(day) })), jsx("div", { className: styles$9.dayNumber, children: day.getDate() }), dayEvents.length > 0 && (jsxs("div", { className: styles$9.events, children: [dayEvents.slice(0, maxEventsPerDay).map((event, eventIndex) => (jsxs(motion.div, { className: `${styles$9.event} ${event.status === 'completed' ? styles$9.completed : ''}`, style: {
|
|
3260
|
+
}, onClick: () => handleDateClick(day), children: [isWeekStart && (jsx("div", { className: styles$9.weekNumber, children: getWeekNumber(day) })), jsx("div", { className: styles$9.dayNumber, children: day.getDate() }), dayEvents.length > 0 && compact && currentViewMode === 'month' ? (jsxs("div", { className: styles$9.dots, children: [dayEvents.slice(0, maxEventsPerDay).map((event) => (jsx("span", { className: styles$9.dot, style: { backgroundColor: getEventColor(event) } }, event.id))), dayEvents.length > maxEventsPerDay && (jsxs("span", { className: styles$9.dotMore, children: ["+", dayEvents.length - maxEventsPerDay] }))] })) : dayEvents.length > 0 ? (jsxs("div", { className: styles$9.events, children: [dayEvents.slice(0, maxEventsPerDay).map((event, eventIndex) => (jsxs(motion.div, { className: `${styles$9.event} ${event.status === 'completed' ? styles$9.completed : ''}`, style: {
|
|
3260
3261
|
backgroundColor: getEventColor(event),
|
|
3261
3262
|
color: getEventTextColor(event),
|
|
3262
3263
|
opacity: event.status === 'completed' ? 0.7 : 1
|
|
@@ -3274,7 +3275,7 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3274
3275
|
}, whileTap: {
|
|
3275
3276
|
scale: 0.98,
|
|
3276
3277
|
transition: { duration: 0.1 }
|
|
3277
|
-
}, children: [iconRenderer && iconRenderer(event), jsxs("span", { className: styles$9.eventTitle, children: [event.time && (jsx("span", { className: styles$9.eventTime, children: event.time })), event.title] }), event.status === 'completed' && (jsx("svg", { className: styles$9.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$9.moreEvents, children: ["+", dayEvents.length - maxEventsPerDay, " more"] }))] }))
|
|
3278
|
+
}, children: [iconRenderer && iconRenderer(event), jsxs("span", { className: styles$9.eventTitle, children: [event.time && (jsx("span", { className: styles$9.eventTime, children: event.time })), event.title] }), event.status === 'completed' && (jsx("svg", { className: styles$9.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$9.moreEvents, children: ["+", dayEvents.length - maxEventsPerDay, " more"] }))] })) : emptyState ? (jsx("div", { className: styles$9.emptyState, children: emptyState })) : null] }, `${day.getFullYear()}-${day.getMonth()}-${day.getDate()}`));
|
|
3278
3279
|
}) }))] }));
|
|
3279
3280
|
}
|
|
3280
3281
|
|