@bigbinary/neeto-molecules 4.1.1 → 4.1.2
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/CalendarView.js
CHANGED
|
@@ -59,6 +59,16 @@ var VIEW_OPTIONS = _defineProperty(_defineProperty(_defineProperty({}, DAILY_VIE
|
|
|
59
59
|
fullCalendarView: "dayGridMonth",
|
|
60
60
|
picker: "month"
|
|
61
61
|
});
|
|
62
|
+
var LOCALE_CONFIG = {
|
|
63
|
+
ja: {
|
|
64
|
+
dayCellContent: function dayCellContent(arg) {
|
|
65
|
+
return arg.date.getDate();
|
|
66
|
+
},
|
|
67
|
+
dayHeaderFormat: {
|
|
68
|
+
weekday: "long"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
62
72
|
|
|
63
73
|
var getWeekString = function getWeekString(_ref) {
|
|
64
74
|
var date = _ref.date,
|
|
@@ -302,7 +312,7 @@ var Header = function Header(_ref) {
|
|
|
302
312
|
});
|
|
303
313
|
};
|
|
304
314
|
|
|
305
|
-
var _excluded = ["viewOptions", "events", "handleDateClick", "handleEventClick", "eventClassNames", "dayCellClassNames", "validDates", "onDateChange", "dayMaxEvents", "eventMaxStack", "hideHeader"];
|
|
315
|
+
var _excluded = ["viewOptions", "events", "handleDateClick", "handleEventClick", "eventClassNames", "dayCellClassNames", "validDates", "onDateChange", "dayMaxEvents", "eventMaxStack", "hideHeader", "locale"];
|
|
306
316
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
307
317
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
308
318
|
var direction = i18next.dir() || "ltr";
|
|
@@ -330,6 +340,7 @@ var CalendarView = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
330
340
|
eventMaxStack = _ref.eventMaxStack,
|
|
331
341
|
_ref$hideHeader = _ref.hideHeader,
|
|
332
342
|
hideHeader = _ref$hideHeader === void 0 ? false : _ref$hideHeader,
|
|
343
|
+
locale = _ref.locale,
|
|
333
344
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
334
345
|
var calendarViewOptions = viewOptions || VIEW_OPTIONS;
|
|
335
346
|
var defaultView = Object.values(calendarViewOptions).find(prop("default")) || calendarViewOptions[Object.keys(calendarViewOptions)[0]];
|
|
@@ -343,6 +354,7 @@ var CalendarView = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
343
354
|
setSelectedDate = _useState4[1];
|
|
344
355
|
var _useTranslation = useTranslation(),
|
|
345
356
|
t = _useTranslation.t;
|
|
357
|
+
var localeSpecificProps = LOCALE_CONFIG[locale] || {};
|
|
346
358
|
var handleDateChange = function handleDateChange(date) {
|
|
347
359
|
setSelectedDate(function (prevDate) {
|
|
348
360
|
var newDate = typeof date === "function" ? date(prevDate) : date;
|
|
@@ -396,14 +408,15 @@ var CalendarView = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
396
408
|
initialView: selectedView.fullCalendarView,
|
|
397
409
|
plugins: [dayGridPlugin, timeGridPlugin, interactionPlugin],
|
|
398
410
|
ref: mergeRefs(ref, calendarRef)
|
|
399
|
-
}, _objectSpread({
|
|
411
|
+
}, _objectSpread(_objectSpread({
|
|
400
412
|
dayCellClassNames: dayCellClassNames,
|
|
401
413
|
dayMaxEvents: dayMaxEvents,
|
|
402
414
|
direction: direction,
|
|
403
415
|
eventClassNames: eventClassNames,
|
|
404
416
|
eventMaxStack: eventMaxStack,
|
|
405
|
-
events: events
|
|
406
|
-
|
|
417
|
+
events: events,
|
|
418
|
+
locale: locale
|
|
419
|
+
}, localeSpecificProps), otherProps)))]
|
|
407
420
|
});
|
|
408
421
|
});
|
|
409
422
|
CalendarView.displayName = "CalendarView";
|
package/dist/CalendarView.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarView.js","sources":["../src/components/CalendarView/constants.js","../src/components/CalendarView/utils.js","../src/components/CalendarView/CustomDatePicker.jsx","../src/components/CalendarView/Header.jsx","../src/components/CalendarView/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nconst WEEKLY_VIEW = t(\"neetoMolecules.calendarView.weekly\");\nconst MONTHLY_VIEW = t(\"neetoMolecules.calendarView.monthly\");\nconst DAILY_VIEW = t(\"neetoMolecules.calendarView.daily\");\n\nexport const VIEW_OPTIONS = {\n [DAILY_VIEW]: {\n label: DAILY_VIEW,\n fullCalendarView: \"timeGridDay\",\n picker: \"day\",\n },\n [WEEKLY_VIEW]: {\n label: WEEKLY_VIEW,\n fullCalendarView: \"timeGridWeek\",\n picker: \"week\",\n },\n [MONTHLY_VIEW]: {\n label: MONTHLY_VIEW,\n fullCalendarView: \"dayGridMonth\",\n picker: \"month\",\n },\n};\n","import { dayjs } from \"neetocommons/utils\";\n\nconst getWeekString = ({\n date,\n isStartOfWeek = true,\n showMonth = false,\n showYear = false,\n}) =>\n `${showMonth || isStartOfWeek ? date.format(\"MMM\") : \"\"} ${date.date()} ${\n showYear || !isStartOfWeek ? date.format(\"YYYY\") : \"\"\n }`;\n\nexport const getStartOfWeek = date => dayjs(date).startOf(\"week\");\n\nexport const getEndOfWeek = date => dayjs(date).endOf(\"week\");\n\nexport const getFormattedMonthStr = date => date.format(\"MMM YYYY\");\n\nexport const getFormattedWeekRangeStr = date => {\n const startOfWeek = getStartOfWeek(date);\n const endOfWeek = getEndOfWeek(date);\n\n const shouldShowMonthsSeparately = startOfWeek.month() !== endOfWeek.month();\n const shouldShowYearsSeparately = startOfWeek.year() !== endOfWeek.year();\n\n const startOfWeekStr = getWeekString({\n date: startOfWeek,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n const endOfWeekStr = getWeekString({\n date: endOfWeek,\n isStartOfWeek: false,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n return `${startOfWeekStr} - ${endOfWeekStr}`;\n};\n\nexport const getFormattedDayStr = date => date.format(\"DD MMM YYYY\");\n\nexport const getFormattedRangeStr = (date, picker) => {\n const formatFunctions = {\n month: getFormattedMonthStr,\n week: getFormattedWeekRangeStr,\n day: getFormattedDayStr,\n };\n const selectedFormatter = formatFunctions[picker];\n\n return selectedFormatter(date);\n};\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { useRef, useState } from \"react\";\n\nimport { dayjs } from \"neetocommons/utils\";\nimport { Down, Left, Right } from \"neetoicons\";\nimport { Typography, Button, DatePicker } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(false);\n\n const datePickerRef = useRef(null);\n const buttonRef = useRef(null);\n\n const selectedRangeStr = getFormattedRangeStr(selectedDate, picker);\n\n const { start, end } = validDates;\n\n const isDateLessThanStart =\n start && selectedDate.isSameOrBefore(dayjs(start), picker);\n\n const isDateGreaterThanEnd =\n end && selectedDate.isSameOrAfter(dayjs(end), picker);\n\n const onPrevious = () =>\n setSelectedDate(selectedDate => selectedDate.subtract(1, picker));\n\n const onNext = () =>\n setSelectedDate(selectedDate => selectedDate.add(1, picker));\n\n const onToday = () => setSelectedDate(dayjs());\n\n const getDisabledDates = date => {\n if (!date) return false;\n\n return (start && date <= start) || (end && date >= end);\n };\n\n const handleButtonMouseDown = e => {\n if (!(buttonRef.current && buttonRef.current.contains(e.target))) return;\n e.stopPropagation();\n if (isOpen) datePickerRef.current.focus();\n };\n\n return (\n <div className=\"flex items-center justify-start gap-x-4\">\n <Button\n aria-label={t(\"neetoMolecules.calendarView.aria.goToToday\")}\n data-testid=\"neeto-molecules-calendar-view-today-button\"\n label={t(\"neetoMolecules.calendarView.today\")}\n style=\"secondary\"\n onClick={onToday}\n />\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.dateNavigation\")}\n className=\"flex\"\n role=\"group\"\n >\n <Button\n className=\"me-1\"\n data-testid=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={() => <Left className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.previousPeriod\", {\n period: picker,\n })}\n onClick={onPrevious}\n />\n <Button\n aria-expanded={isOpen}\n aria-haspopup=\"dialog\"\n className=\"min-w-52 justify-center\"\n data-testid=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={Down}\n ref={buttonRef}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.selectDate\", {\n currentDate: selectedRangeStr,\n })}\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-testid=\"neeto-molecules-calendar-view-date-picker-button-label\"\n style=\"h5\"\n >\n {selectedRangeStr}\n </Typography>\n </Button>\n <DatePicker\n className=\"invisible w-0 px-0\"\n defaultValue={selectedDate}\n disabledDate={getDisabledDates}\n open={isOpen}\n placement=\"topRight\"\n ref={datePickerRef}\n value={selectedDate}\n onChange={setSelectedDate}\n onOpenChange={setIsOpen}\n {...{ picker, ...otherProps }}\n />\n <Button\n className=\"ms-1\"\n data-testid=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={() => <Right className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.nextPeriod\", {\n period: picker,\n })}\n onClick={onNext}\n />\n </div>\n </div>\n );\n};\n\nexport default CustomDatePicker;\n","import { useEffect } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { prop, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CustomDatePicker from \"./CustomDatePicker\";\n\nconst Header = ({\n calendarRef,\n selectedView,\n setSelectedView,\n setSelectedDate,\n selectedDate,\n calendarViewOptions,\n validDates,\n}) => {\n const { t } = useTranslation();\n const { Menu, MenuItem } = Dropdown;\n\n const handleViewSelection = option => {\n setSelectedView(option);\n calendarRef.current.calendar.changeView(option.fullCalendarView);\n };\n\n const navigateToSelectedDate = () =>\n calendarRef?.current?.calendar?.gotoDate(selectedDate.format(\"YYYY-MM-DD\"));\n\n useEffect(() => {\n setTimeout(navigateToSelectedDate);\n }, [selectedDate]);\n\n return (\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.calendarControls\")}\n className=\"flex gap-x-4\"\n role=\"group\"\n >\n <CustomDatePicker\n {...{ selectedDate, setSelectedDate, validDates }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\n buttonProps={{\n \"data-testid\": \"calendar-view-dropdown\",\n \"aria-label\": t(\"neetoMolecules.calendarView.aria.viewSelector\", {\n view: capitalize(selectedView.label),\n }),\n }}\n >\n <Menu>\n {values(calendarViewOptions).map((option, idx) => (\n <MenuItem.Button\n isActive={selectedView === option}\n key={idx}\n onClick={() => handleViewSelection(option)}\n >\n {capitalize(option.label)}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n )}\n </div>\n );\n};\n\nexport default Header;\n","import { forwardRef, useRef, useState, useEffect } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\nimport i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SubHeader from \"components/SubHeader\";\n\nimport \"./calendar-view.scss\";\nimport { VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\nimport { mergeRefs } from \"./utils\";\n\nconst direction = i18next.dir() || \"ltr\";\n\nconst CalendarView = forwardRef(\n (\n {\n viewOptions = VIEW_OPTIONS,\n events = [],\n handleDateClick = noop,\n handleEventClick = noop,\n eventClassNames = \"\",\n dayCellClassNames = \"\",\n validDates = { start: null, end: null },\n onDateChange = noop,\n dayMaxEvents,\n eventMaxStack,\n hideHeader = false,\n ...otherProps\n },\n ref\n ) => {\n const calendarViewOptions = viewOptions || VIEW_OPTIONS;\n\n const defaultView =\n Object.values(calendarViewOptions).find(prop(\"default\")) ||\n calendarViewOptions[Object.keys(calendarViewOptions)[0]];\n\n const [selectedView, setSelectedView] = useState(defaultView);\n\n const [selectedDate, setSelectedDate] = useState(dayjs());\n\n const { t } = useTranslation();\n\n const handleDateChange = date => {\n setSelectedDate(prevDate => {\n const newDate = typeof date === \"function\" ? date(prevDate) : date;\n onDateChange(newDate);\n\n return newDate;\n });\n };\n const calendarWrapperRef = useRef(null);\n const calendarRef = useRef();\n\n useEffect(() => {\n const calendarApi = calendarRef.current?.getApi?.();\n const wrapperElement = calendarWrapperRef.current;\n\n if (!calendarApi || !wrapperElement) return undefined;\n\n const handleResize = () => {\n calendarApi.updateSize();\n };\n\n const observer = new ResizeObserver(handleResize);\n\n observer.observe(wrapperElement);\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return (\n <div\n className=\"flex-col\"\n data-testid=\"calendar-view\"\n ref={calendarWrapperRef}\n >\n {!hideHeader && (\n <SubHeader\n leftActionBlock={\n <Typography style=\"h2\">\n {selectedDate.format(\"MMMM, YYYY\")}\n </Typography>\n }\n rightActionBlock={\n <Header\n {...{\n calendarRef,\n calendarViewOptions,\n selectedDate,\n selectedView,\n setSelectedDate,\n setSelectedView,\n validDates,\n }}\n setSelectedDate={handleDateChange}\n />\n }\n />\n )}\n <FullCalendar\n expandRows\n allDayText={t(\"neetoMolecules.calendarView.allDay\")}\n dateClick={handleDateClick}\n dayHeaderClassNames=\"p-2\"\n displayEventTime={false}\n eventClick={handleEventClick}\n headerToolbar={false}\n height=\"auto\"\n initialView={selectedView.fullCalendarView}\n plugins={[dayGridPlugin, timeGridPlugin, interactionPlugin]}\n ref={mergeRefs(ref, calendarRef)}\n {...{\n dayCellClassNames,\n dayMaxEvents,\n direction,\n eventClassNames,\n eventMaxStack,\n events,\n ...otherProps,\n }}\n />\n </div>\n );\n }\n);\n\nCalendarView.displayName = \"CalendarView\";\n\nCalendarView.propTypes = {\n /**\n * Views to be listed in the dropdown. The default selected view can be set by adding `default: true` to the required view.\n */\n viewOptions: PropTypes.object,\n /**\n * An array of event objects that will be displayed on the calendar.\n */\n events: PropTypes.array,\n /**\n * Function to be triggered when the user clicks on a date or a time.\n */\n handleDateClick: PropTypes.func,\n /**\n * Function to be triggered when the user clicks an event.\n */\n handleEventClick: PropTypes.func,\n /**\n * A className input for adding classNames to the outermost event element.\n */\n eventClassNames: PropTypes.string,\n /**\n * A className input for adding classNames to the <td> cell.\n */\n dayCellClassNames: PropTypes.string,\n /**\n * In dayGrid view, the max number of events within a given day, not counting the +more link.\n */\n dayMaxEvents: PropTypes.number,\n /**\n * For timeline view, the maximum number of events that stack top-to-bottom. For timeGrid view, the maximum number of events that stack left-to-right.\n */\n eventMaxStack: PropTypes.number,\n /**\n * This function will be triggered with the new selected date passed as argument\n */\n onDateChange: PropTypes.func,\n /**\n * An object containing the start and end dates in which the range given is the valid range of selectable dates.\n */\n validDates: PropTypes.shape({\n start: PropTypes.instanceOf(Date),\n end: PropTypes.instanceOf(Date),\n }),\n /**\n * This prop can be used to hide the header\n */\n hideHeader: PropTypes.bool,\n};\n\nexport default CalendarView;\n"],"names":["WEEKLY_VIEW","t","MONTHLY_VIEW","DAILY_VIEW","VIEW_OPTIONS","_defineProperty","label","fullCalendarView","picker","getWeekString","_ref","date","_ref$isStartOfWeek","isStartOfWeek","_ref$showMonth","showMonth","_ref$showYear","showYear","concat","format","getStartOfWeek","dayjs","startOf","getEndOfWeek","endOf","getFormattedMonthStr","getFormattedWeekRangeStr","startOfWeek","endOfWeek","shouldShowMonthsSeparately","month","shouldShowYearsSeparately","year","startOfWeekStr","endOfWeekStr","getFormattedDayStr","getFormattedRangeStr","formatFunctions","week","day","selectedFormatter","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","CustomDatePicker","selectedDate","setSelectedDate","validDates","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","datePickerRef","useRef","buttonRef","selectedRangeStr","start","end","isDateLessThanStart","isSameOrBefore","isDateGreaterThanEnd","isSameOrAfter","onPrevious","subtract","onNext","add","onToday","getDisabledDates","handleButtonMouseDown","e","contains","target","stopPropagation","focus","_jsxs","className","children","_jsx","Button","style","onClick","role","disabled","icon","Left","size","period","Down","currentDate","onMouseDown","Typography","DatePicker","_objectSpread","defaultValue","disabledDate","open","placement","value","onChange","onOpenChange","Right","Header","calendarRef","selectedView","setSelectedView","calendarViewOptions","Menu","Dropdown","MenuItem","handleViewSelection","option","calendar","changeView","navigateToSelectedDate","_calendarRef$current","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","buttonStyle","capitalize","buttonProps","view","values","map","idx","isActive","direction","i18next","dir","CalendarView","forwardRef","_ref$viewOptions","viewOptions","_ref$events","events","_ref$handleDateClick","handleDateClick","noop","_ref$handleEventClick","handleEventClick","_ref$eventClassNames","eventClassNames","_ref$dayCellClassName","dayCellClassNames","_ref$validDates","_ref$onDateChange","onDateChange","dayMaxEvents","eventMaxStack","_ref$hideHeader","hideHeader","defaultView","find","_useState3","_useState4","handleDateChange","prevDate","newDate","calendarWrapperRef","_calendarRef$current$","calendarApi","getApi","call","wrapperElement","undefined","handleResize","updateSize","observer","ResizeObserver","observe","disconnect","SubHeader","leftActionBlock","rightActionBlock","FullCalendar","expandRows","allDayText","dateClick","dayHeaderClassNames","displayEventTime","eventClick","headerToolbar","height","initialView","plugins","dayGridPlugin","timeGridPlugin","interactionPlugin","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarView.js","sources":["../src/components/CalendarView/constants.js","../src/components/CalendarView/utils.js","../src/components/CalendarView/CustomDatePicker.jsx","../src/components/CalendarView/Header.jsx","../src/components/CalendarView/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nconst WEEKLY_VIEW = t(\"neetoMolecules.calendarView.weekly\");\nconst MONTHLY_VIEW = t(\"neetoMolecules.calendarView.monthly\");\nconst DAILY_VIEW = t(\"neetoMolecules.calendarView.daily\");\n\nexport const VIEW_OPTIONS = {\n [DAILY_VIEW]: {\n label: DAILY_VIEW,\n fullCalendarView: \"timeGridDay\",\n picker: \"day\",\n },\n [WEEKLY_VIEW]: {\n label: WEEKLY_VIEW,\n fullCalendarView: \"timeGridWeek\",\n picker: \"week\",\n },\n [MONTHLY_VIEW]: {\n label: MONTHLY_VIEW,\n fullCalendarView: \"dayGridMonth\",\n picker: \"month\",\n },\n};\n\nexport const LOCALE_CONFIG = {\n ja: {\n dayCellContent: arg => arg.date.getDate(),\n dayHeaderFormat: { weekday: \"long\" },\n },\n};\n","import { dayjs } from \"neetocommons/utils\";\n\nconst getWeekString = ({\n date,\n isStartOfWeek = true,\n showMonth = false,\n showYear = false,\n}) =>\n `${showMonth || isStartOfWeek ? date.format(\"MMM\") : \"\"} ${date.date()} ${\n showYear || !isStartOfWeek ? date.format(\"YYYY\") : \"\"\n }`;\n\nexport const getStartOfWeek = date => dayjs(date).startOf(\"week\");\n\nexport const getEndOfWeek = date => dayjs(date).endOf(\"week\");\n\nexport const getFormattedMonthStr = date => date.format(\"MMM YYYY\");\n\nexport const getFormattedWeekRangeStr = date => {\n const startOfWeek = getStartOfWeek(date);\n const endOfWeek = getEndOfWeek(date);\n\n const shouldShowMonthsSeparately = startOfWeek.month() !== endOfWeek.month();\n const shouldShowYearsSeparately = startOfWeek.year() !== endOfWeek.year();\n\n const startOfWeekStr = getWeekString({\n date: startOfWeek,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n const endOfWeekStr = getWeekString({\n date: endOfWeek,\n isStartOfWeek: false,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n return `${startOfWeekStr} - ${endOfWeekStr}`;\n};\n\nexport const getFormattedDayStr = date => date.format(\"DD MMM YYYY\");\n\nexport const getFormattedRangeStr = (date, picker) => {\n const formatFunctions = {\n month: getFormattedMonthStr,\n week: getFormattedWeekRangeStr,\n day: getFormattedDayStr,\n };\n const selectedFormatter = formatFunctions[picker];\n\n return selectedFormatter(date);\n};\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { useRef, useState } from \"react\";\n\nimport { dayjs } from \"neetocommons/utils\";\nimport { Down, Left, Right } from \"neetoicons\";\nimport { Typography, Button, DatePicker } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(false);\n\n const datePickerRef = useRef(null);\n const buttonRef = useRef(null);\n\n const selectedRangeStr = getFormattedRangeStr(selectedDate, picker);\n\n const { start, end } = validDates;\n\n const isDateLessThanStart =\n start && selectedDate.isSameOrBefore(dayjs(start), picker);\n\n const isDateGreaterThanEnd =\n end && selectedDate.isSameOrAfter(dayjs(end), picker);\n\n const onPrevious = () =>\n setSelectedDate(selectedDate => selectedDate.subtract(1, picker));\n\n const onNext = () =>\n setSelectedDate(selectedDate => selectedDate.add(1, picker));\n\n const onToday = () => setSelectedDate(dayjs());\n\n const getDisabledDates = date => {\n if (!date) return false;\n\n return (start && date <= start) || (end && date >= end);\n };\n\n const handleButtonMouseDown = e => {\n if (!(buttonRef.current && buttonRef.current.contains(e.target))) return;\n e.stopPropagation();\n if (isOpen) datePickerRef.current.focus();\n };\n\n return (\n <div className=\"flex items-center justify-start gap-x-4\">\n <Button\n aria-label={t(\"neetoMolecules.calendarView.aria.goToToday\")}\n data-testid=\"neeto-molecules-calendar-view-today-button\"\n label={t(\"neetoMolecules.calendarView.today\")}\n style=\"secondary\"\n onClick={onToday}\n />\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.dateNavigation\")}\n className=\"flex\"\n role=\"group\"\n >\n <Button\n className=\"me-1\"\n data-testid=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={() => <Left className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.previousPeriod\", {\n period: picker,\n })}\n onClick={onPrevious}\n />\n <Button\n aria-expanded={isOpen}\n aria-haspopup=\"dialog\"\n className=\"min-w-52 justify-center\"\n data-testid=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={Down}\n ref={buttonRef}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.selectDate\", {\n currentDate: selectedRangeStr,\n })}\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-testid=\"neeto-molecules-calendar-view-date-picker-button-label\"\n style=\"h5\"\n >\n {selectedRangeStr}\n </Typography>\n </Button>\n <DatePicker\n className=\"invisible w-0 px-0\"\n defaultValue={selectedDate}\n disabledDate={getDisabledDates}\n open={isOpen}\n placement=\"topRight\"\n ref={datePickerRef}\n value={selectedDate}\n onChange={setSelectedDate}\n onOpenChange={setIsOpen}\n {...{ picker, ...otherProps }}\n />\n <Button\n className=\"ms-1\"\n data-testid=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={() => <Right className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.nextPeriod\", {\n period: picker,\n })}\n onClick={onNext}\n />\n </div>\n </div>\n );\n};\n\nexport default CustomDatePicker;\n","import { useEffect } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { prop, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CustomDatePicker from \"./CustomDatePicker\";\n\nconst Header = ({\n calendarRef,\n selectedView,\n setSelectedView,\n setSelectedDate,\n selectedDate,\n calendarViewOptions,\n validDates,\n}) => {\n const { t } = useTranslation();\n const { Menu, MenuItem } = Dropdown;\n\n const handleViewSelection = option => {\n setSelectedView(option);\n calendarRef.current.calendar.changeView(option.fullCalendarView);\n };\n\n const navigateToSelectedDate = () =>\n calendarRef?.current?.calendar?.gotoDate(selectedDate.format(\"YYYY-MM-DD\"));\n\n useEffect(() => {\n setTimeout(navigateToSelectedDate);\n }, [selectedDate]);\n\n return (\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.calendarControls\")}\n className=\"flex gap-x-4\"\n role=\"group\"\n >\n <CustomDatePicker\n {...{ selectedDate, setSelectedDate, validDates }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\n buttonProps={{\n \"data-testid\": \"calendar-view-dropdown\",\n \"aria-label\": t(\"neetoMolecules.calendarView.aria.viewSelector\", {\n view: capitalize(selectedView.label),\n }),\n }}\n >\n <Menu>\n {values(calendarViewOptions).map((option, idx) => (\n <MenuItem.Button\n isActive={selectedView === option}\n key={idx}\n onClick={() => handleViewSelection(option)}\n >\n {capitalize(option.label)}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n )}\n </div>\n );\n};\n\nexport default Header;\n","import { forwardRef, useRef, useState, useEffect } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\nimport i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SubHeader from \"components/SubHeader\";\n\nimport \"./calendar-view.scss\";\nimport { LOCALE_CONFIG, VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\nimport { mergeRefs } from \"./utils\";\n\nconst direction = i18next.dir() || \"ltr\";\n\nconst CalendarView = forwardRef(\n (\n {\n viewOptions = VIEW_OPTIONS,\n events = [],\n handleDateClick = noop,\n handleEventClick = noop,\n eventClassNames = \"\",\n dayCellClassNames = \"\",\n validDates = { start: null, end: null },\n onDateChange = noop,\n dayMaxEvents,\n eventMaxStack,\n hideHeader = false,\n locale,\n ...otherProps\n },\n ref\n ) => {\n const calendarViewOptions = viewOptions || VIEW_OPTIONS;\n\n const defaultView =\n Object.values(calendarViewOptions).find(prop(\"default\")) ||\n calendarViewOptions[Object.keys(calendarViewOptions)[0]];\n\n const [selectedView, setSelectedView] = useState(defaultView);\n\n const [selectedDate, setSelectedDate] = useState(dayjs());\n\n const { t } = useTranslation();\n\n const localeSpecificProps = LOCALE_CONFIG[locale] || {};\n\n const handleDateChange = date => {\n setSelectedDate(prevDate => {\n const newDate = typeof date === \"function\" ? date(prevDate) : date;\n onDateChange(newDate);\n\n return newDate;\n });\n };\n const calendarWrapperRef = useRef(null);\n const calendarRef = useRef();\n\n useEffect(() => {\n const calendarApi = calendarRef.current?.getApi?.();\n const wrapperElement = calendarWrapperRef.current;\n\n if (!calendarApi || !wrapperElement) return undefined;\n\n const handleResize = () => {\n calendarApi.updateSize();\n };\n\n const observer = new ResizeObserver(handleResize);\n\n observer.observe(wrapperElement);\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return (\n <div\n className=\"flex-col\"\n data-testid=\"calendar-view\"\n ref={calendarWrapperRef}\n >\n {!hideHeader && (\n <SubHeader\n leftActionBlock={\n <Typography style=\"h2\">\n {selectedDate.format(\"MMMM, YYYY\")}\n </Typography>\n }\n rightActionBlock={\n <Header\n {...{\n calendarRef,\n calendarViewOptions,\n selectedDate,\n selectedView,\n setSelectedDate,\n setSelectedView,\n validDates,\n }}\n setSelectedDate={handleDateChange}\n />\n }\n />\n )}\n <FullCalendar\n expandRows\n allDayText={t(\"neetoMolecules.calendarView.allDay\")}\n dateClick={handleDateClick}\n dayHeaderClassNames=\"p-2\"\n displayEventTime={false}\n eventClick={handleEventClick}\n headerToolbar={false}\n height=\"auto\"\n initialView={selectedView.fullCalendarView}\n plugins={[dayGridPlugin, timeGridPlugin, interactionPlugin]}\n ref={mergeRefs(ref, calendarRef)}\n {...{\n dayCellClassNames,\n dayMaxEvents,\n direction,\n eventClassNames,\n eventMaxStack,\n events,\n locale,\n ...localeSpecificProps,\n ...otherProps,\n }}\n />\n </div>\n );\n }\n);\n\nCalendarView.displayName = \"CalendarView\";\n\nCalendarView.propTypes = {\n /**\n * Views to be listed in the dropdown. The default selected view can be set by adding `default: true` to the required view.\n */\n viewOptions: PropTypes.object,\n /**\n * An array of event objects that will be displayed on the calendar.\n */\n events: PropTypes.array,\n /**\n * Function to be triggered when the user clicks on a date or a time.\n */\n handleDateClick: PropTypes.func,\n /**\n * Function to be triggered when the user clicks an event.\n */\n handleEventClick: PropTypes.func,\n /**\n * A className input for adding classNames to the outermost event element.\n */\n eventClassNames: PropTypes.string,\n /**\n * A className input for adding classNames to the <td> cell.\n */\n dayCellClassNames: PropTypes.string,\n /**\n * In dayGrid view, the max number of events within a given day, not counting the +more link.\n */\n dayMaxEvents: PropTypes.number,\n /**\n * For timeline view, the maximum number of events that stack top-to-bottom. For timeGrid view, the maximum number of events that stack left-to-right.\n */\n eventMaxStack: PropTypes.number,\n /**\n * This function will be triggered with the new selected date passed as argument\n */\n onDateChange: PropTypes.func,\n /**\n * An object containing the start and end dates in which the range given is the valid range of selectable dates.\n */\n validDates: PropTypes.shape({\n start: PropTypes.instanceOf(Date),\n end: PropTypes.instanceOf(Date),\n }),\n /**\n * This prop can be used to hide the header\n */\n hideHeader: PropTypes.bool,\n /**\n * The locale to be used for the calendar.\n */\n locale: PropTypes.string,\n};\n\nexport default CalendarView;\n"],"names":["WEEKLY_VIEW","t","MONTHLY_VIEW","DAILY_VIEW","VIEW_OPTIONS","_defineProperty","label","fullCalendarView","picker","LOCALE_CONFIG","ja","dayCellContent","arg","date","getDate","dayHeaderFormat","weekday","getWeekString","_ref","_ref$isStartOfWeek","isStartOfWeek","_ref$showMonth","showMonth","_ref$showYear","showYear","concat","format","getStartOfWeek","dayjs","startOf","getEndOfWeek","endOf","getFormattedMonthStr","getFormattedWeekRangeStr","startOfWeek","endOfWeek","shouldShowMonthsSeparately","month","shouldShowYearsSeparately","year","startOfWeekStr","endOfWeekStr","getFormattedDayStr","getFormattedRangeStr","formatFunctions","week","day","selectedFormatter","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","CustomDatePicker","selectedDate","setSelectedDate","validDates","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","datePickerRef","useRef","buttonRef","selectedRangeStr","start","end","isDateLessThanStart","isSameOrBefore","isDateGreaterThanEnd","isSameOrAfter","onPrevious","subtract","onNext","add","onToday","getDisabledDates","handleButtonMouseDown","e","contains","target","stopPropagation","focus","_jsxs","className","children","_jsx","Button","style","onClick","role","disabled","icon","Left","size","period","Down","currentDate","onMouseDown","Typography","DatePicker","_objectSpread","defaultValue","disabledDate","open","placement","value","onChange","onOpenChange","Right","Header","calendarRef","selectedView","setSelectedView","calendarViewOptions","Menu","Dropdown","MenuItem","handleViewSelection","option","calendar","changeView","navigateToSelectedDate","_calendarRef$current","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","buttonStyle","capitalize","buttonProps","view","values","map","idx","isActive","direction","i18next","dir","CalendarView","forwardRef","_ref$viewOptions","viewOptions","_ref$events","events","_ref$handleDateClick","handleDateClick","noop","_ref$handleEventClick","handleEventClick","_ref$eventClassNames","eventClassNames","_ref$dayCellClassName","dayCellClassNames","_ref$validDates","_ref$onDateChange","onDateChange","dayMaxEvents","eventMaxStack","_ref$hideHeader","hideHeader","locale","defaultView","find","_useState3","_useState4","localeSpecificProps","handleDateChange","prevDate","newDate","calendarWrapperRef","_calendarRef$current$","calendarApi","getApi","call","wrapperElement","undefined","handleResize","updateSize","observer","ResizeObserver","observe","disconnect","SubHeader","leftActionBlock","rightActionBlock","FullCalendar","expandRows","allDayText","dateClick","dayHeaderClassNames","displayEventTime","eventClick","headerToolbar","height","initialView","plugins","dayGridPlugin","timeGridPlugin","interactionPlugin","displayName"],"mappings":"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"}
|
package/dist/cjs/CalendarView.js
CHANGED
|
@@ -61,6 +61,16 @@ var VIEW_OPTIONS = _defineProperty(_defineProperty(_defineProperty({}, DAILY_VIE
|
|
|
61
61
|
fullCalendarView: "dayGridMonth",
|
|
62
62
|
picker: "month"
|
|
63
63
|
});
|
|
64
|
+
var LOCALE_CONFIG = {
|
|
65
|
+
ja: {
|
|
66
|
+
dayCellContent: function dayCellContent(arg) {
|
|
67
|
+
return arg.date.getDate();
|
|
68
|
+
},
|
|
69
|
+
dayHeaderFormat: {
|
|
70
|
+
weekday: "long"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
64
74
|
|
|
65
75
|
var getWeekString = function getWeekString(_ref) {
|
|
66
76
|
var date = _ref.date,
|
|
@@ -304,7 +314,7 @@ var Header = function Header(_ref) {
|
|
|
304
314
|
});
|
|
305
315
|
};
|
|
306
316
|
|
|
307
|
-
var _excluded = ["viewOptions", "events", "handleDateClick", "handleEventClick", "eventClassNames", "dayCellClassNames", "validDates", "onDateChange", "dayMaxEvents", "eventMaxStack", "hideHeader"];
|
|
317
|
+
var _excluded = ["viewOptions", "events", "handleDateClick", "handleEventClick", "eventClassNames", "dayCellClassNames", "validDates", "onDateChange", "dayMaxEvents", "eventMaxStack", "hideHeader", "locale"];
|
|
308
318
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
309
319
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
310
320
|
var direction = i18next.dir() || "ltr";
|
|
@@ -332,6 +342,7 @@ var CalendarView = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
332
342
|
eventMaxStack = _ref.eventMaxStack,
|
|
333
343
|
_ref$hideHeader = _ref.hideHeader,
|
|
334
344
|
hideHeader = _ref$hideHeader === void 0 ? false : _ref$hideHeader,
|
|
345
|
+
locale = _ref.locale,
|
|
335
346
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
336
347
|
var calendarViewOptions = viewOptions || VIEW_OPTIONS;
|
|
337
348
|
var defaultView = Object.values(calendarViewOptions).find(ramda.prop("default")) || calendarViewOptions[Object.keys(calendarViewOptions)[0]];
|
|
@@ -345,6 +356,7 @@ var CalendarView = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
345
356
|
setSelectedDate = _useState4[1];
|
|
346
357
|
var _useTranslation = reactI18next.useTranslation(),
|
|
347
358
|
t = _useTranslation.t;
|
|
359
|
+
var localeSpecificProps = LOCALE_CONFIG[locale] || {};
|
|
348
360
|
var handleDateChange = function handleDateChange(date) {
|
|
349
361
|
setSelectedDate(function (prevDate) {
|
|
350
362
|
var newDate = typeof date === "function" ? date(prevDate) : date;
|
|
@@ -398,14 +410,15 @@ var CalendarView = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
398
410
|
initialView: selectedView.fullCalendarView,
|
|
399
411
|
plugins: [dayGridPlugin, timeGridPlugin, interactionPlugin],
|
|
400
412
|
ref: mergeRefs(ref, calendarRef)
|
|
401
|
-
}, _objectSpread({
|
|
413
|
+
}, _objectSpread(_objectSpread({
|
|
402
414
|
dayCellClassNames: dayCellClassNames,
|
|
403
415
|
dayMaxEvents: dayMaxEvents,
|
|
404
416
|
direction: direction,
|
|
405
417
|
eventClassNames: eventClassNames,
|
|
406
418
|
eventMaxStack: eventMaxStack,
|
|
407
|
-
events: events
|
|
408
|
-
|
|
419
|
+
events: events,
|
|
420
|
+
locale: locale
|
|
421
|
+
}, localeSpecificProps), otherProps)))]
|
|
409
422
|
});
|
|
410
423
|
});
|
|
411
424
|
CalendarView.displayName = "CalendarView";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarView.js","sources":["../../src/components/CalendarView/constants.js","../../src/components/CalendarView/utils.js","../../src/components/CalendarView/CustomDatePicker.jsx","../../src/components/CalendarView/Header.jsx","../../src/components/CalendarView/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nconst WEEKLY_VIEW = t(\"neetoMolecules.calendarView.weekly\");\nconst MONTHLY_VIEW = t(\"neetoMolecules.calendarView.monthly\");\nconst DAILY_VIEW = t(\"neetoMolecules.calendarView.daily\");\n\nexport const VIEW_OPTIONS = {\n [DAILY_VIEW]: {\n label: DAILY_VIEW,\n fullCalendarView: \"timeGridDay\",\n picker: \"day\",\n },\n [WEEKLY_VIEW]: {\n label: WEEKLY_VIEW,\n fullCalendarView: \"timeGridWeek\",\n picker: \"week\",\n },\n [MONTHLY_VIEW]: {\n label: MONTHLY_VIEW,\n fullCalendarView: \"dayGridMonth\",\n picker: \"month\",\n },\n};\n","import { dayjs } from \"neetocommons/utils\";\n\nconst getWeekString = ({\n date,\n isStartOfWeek = true,\n showMonth = false,\n showYear = false,\n}) =>\n `${showMonth || isStartOfWeek ? date.format(\"MMM\") : \"\"} ${date.date()} ${\n showYear || !isStartOfWeek ? date.format(\"YYYY\") : \"\"\n }`;\n\nexport const getStartOfWeek = date => dayjs(date).startOf(\"week\");\n\nexport const getEndOfWeek = date => dayjs(date).endOf(\"week\");\n\nexport const getFormattedMonthStr = date => date.format(\"MMM YYYY\");\n\nexport const getFormattedWeekRangeStr = date => {\n const startOfWeek = getStartOfWeek(date);\n const endOfWeek = getEndOfWeek(date);\n\n const shouldShowMonthsSeparately = startOfWeek.month() !== endOfWeek.month();\n const shouldShowYearsSeparately = startOfWeek.year() !== endOfWeek.year();\n\n const startOfWeekStr = getWeekString({\n date: startOfWeek,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n const endOfWeekStr = getWeekString({\n date: endOfWeek,\n isStartOfWeek: false,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n return `${startOfWeekStr} - ${endOfWeekStr}`;\n};\n\nexport const getFormattedDayStr = date => date.format(\"DD MMM YYYY\");\n\nexport const getFormattedRangeStr = (date, picker) => {\n const formatFunctions = {\n month: getFormattedMonthStr,\n week: getFormattedWeekRangeStr,\n day: getFormattedDayStr,\n };\n const selectedFormatter = formatFunctions[picker];\n\n return selectedFormatter(date);\n};\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { useRef, useState } from \"react\";\n\nimport { dayjs } from \"neetocommons/utils\";\nimport { Down, Left, Right } from \"neetoicons\";\nimport { Typography, Button, DatePicker } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(false);\n\n const datePickerRef = useRef(null);\n const buttonRef = useRef(null);\n\n const selectedRangeStr = getFormattedRangeStr(selectedDate, picker);\n\n const { start, end } = validDates;\n\n const isDateLessThanStart =\n start && selectedDate.isSameOrBefore(dayjs(start), picker);\n\n const isDateGreaterThanEnd =\n end && selectedDate.isSameOrAfter(dayjs(end), picker);\n\n const onPrevious = () =>\n setSelectedDate(selectedDate => selectedDate.subtract(1, picker));\n\n const onNext = () =>\n setSelectedDate(selectedDate => selectedDate.add(1, picker));\n\n const onToday = () => setSelectedDate(dayjs());\n\n const getDisabledDates = date => {\n if (!date) return false;\n\n return (start && date <= start) || (end && date >= end);\n };\n\n const handleButtonMouseDown = e => {\n if (!(buttonRef.current && buttonRef.current.contains(e.target))) return;\n e.stopPropagation();\n if (isOpen) datePickerRef.current.focus();\n };\n\n return (\n <div className=\"flex items-center justify-start gap-x-4\">\n <Button\n aria-label={t(\"neetoMolecules.calendarView.aria.goToToday\")}\n data-testid=\"neeto-molecules-calendar-view-today-button\"\n label={t(\"neetoMolecules.calendarView.today\")}\n style=\"secondary\"\n onClick={onToday}\n />\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.dateNavigation\")}\n className=\"flex\"\n role=\"group\"\n >\n <Button\n className=\"me-1\"\n data-testid=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={() => <Left className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.previousPeriod\", {\n period: picker,\n })}\n onClick={onPrevious}\n />\n <Button\n aria-expanded={isOpen}\n aria-haspopup=\"dialog\"\n className=\"min-w-52 justify-center\"\n data-testid=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={Down}\n ref={buttonRef}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.selectDate\", {\n currentDate: selectedRangeStr,\n })}\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-testid=\"neeto-molecules-calendar-view-date-picker-button-label\"\n style=\"h5\"\n >\n {selectedRangeStr}\n </Typography>\n </Button>\n <DatePicker\n className=\"invisible w-0 px-0\"\n defaultValue={selectedDate}\n disabledDate={getDisabledDates}\n open={isOpen}\n placement=\"topRight\"\n ref={datePickerRef}\n value={selectedDate}\n onChange={setSelectedDate}\n onOpenChange={setIsOpen}\n {...{ picker, ...otherProps }}\n />\n <Button\n className=\"ms-1\"\n data-testid=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={() => <Right className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.nextPeriod\", {\n period: picker,\n })}\n onClick={onNext}\n />\n </div>\n </div>\n );\n};\n\nexport default CustomDatePicker;\n","import { useEffect } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { prop, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CustomDatePicker from \"./CustomDatePicker\";\n\nconst Header = ({\n calendarRef,\n selectedView,\n setSelectedView,\n setSelectedDate,\n selectedDate,\n calendarViewOptions,\n validDates,\n}) => {\n const { t } = useTranslation();\n const { Menu, MenuItem } = Dropdown;\n\n const handleViewSelection = option => {\n setSelectedView(option);\n calendarRef.current.calendar.changeView(option.fullCalendarView);\n };\n\n const navigateToSelectedDate = () =>\n calendarRef?.current?.calendar?.gotoDate(selectedDate.format(\"YYYY-MM-DD\"));\n\n useEffect(() => {\n setTimeout(navigateToSelectedDate);\n }, [selectedDate]);\n\n return (\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.calendarControls\")}\n className=\"flex gap-x-4\"\n role=\"group\"\n >\n <CustomDatePicker\n {...{ selectedDate, setSelectedDate, validDates }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\n buttonProps={{\n \"data-testid\": \"calendar-view-dropdown\",\n \"aria-label\": t(\"neetoMolecules.calendarView.aria.viewSelector\", {\n view: capitalize(selectedView.label),\n }),\n }}\n >\n <Menu>\n {values(calendarViewOptions).map((option, idx) => (\n <MenuItem.Button\n isActive={selectedView === option}\n key={idx}\n onClick={() => handleViewSelection(option)}\n >\n {capitalize(option.label)}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n )}\n </div>\n );\n};\n\nexport default Header;\n","import { forwardRef, useRef, useState, useEffect } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\nimport i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SubHeader from \"components/SubHeader\";\n\nimport \"./calendar-view.scss\";\nimport { VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\nimport { mergeRefs } from \"./utils\";\n\nconst direction = i18next.dir() || \"ltr\";\n\nconst CalendarView = forwardRef(\n (\n {\n viewOptions = VIEW_OPTIONS,\n events = [],\n handleDateClick = noop,\n handleEventClick = noop,\n eventClassNames = \"\",\n dayCellClassNames = \"\",\n validDates = { start: null, end: null },\n onDateChange = noop,\n dayMaxEvents,\n eventMaxStack,\n hideHeader = false,\n ...otherProps\n },\n ref\n ) => {\n const calendarViewOptions = viewOptions || VIEW_OPTIONS;\n\n const defaultView =\n Object.values(calendarViewOptions).find(prop(\"default\")) ||\n calendarViewOptions[Object.keys(calendarViewOptions)[0]];\n\n const [selectedView, setSelectedView] = useState(defaultView);\n\n const [selectedDate, setSelectedDate] = useState(dayjs());\n\n const { t } = useTranslation();\n\n const handleDateChange = date => {\n setSelectedDate(prevDate => {\n const newDate = typeof date === \"function\" ? date(prevDate) : date;\n onDateChange(newDate);\n\n return newDate;\n });\n };\n const calendarWrapperRef = useRef(null);\n const calendarRef = useRef();\n\n useEffect(() => {\n const calendarApi = calendarRef.current?.getApi?.();\n const wrapperElement = calendarWrapperRef.current;\n\n if (!calendarApi || !wrapperElement) return undefined;\n\n const handleResize = () => {\n calendarApi.updateSize();\n };\n\n const observer = new ResizeObserver(handleResize);\n\n observer.observe(wrapperElement);\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return (\n <div\n className=\"flex-col\"\n data-testid=\"calendar-view\"\n ref={calendarWrapperRef}\n >\n {!hideHeader && (\n <SubHeader\n leftActionBlock={\n <Typography style=\"h2\">\n {selectedDate.format(\"MMMM, YYYY\")}\n </Typography>\n }\n rightActionBlock={\n <Header\n {...{\n calendarRef,\n calendarViewOptions,\n selectedDate,\n selectedView,\n setSelectedDate,\n setSelectedView,\n validDates,\n }}\n setSelectedDate={handleDateChange}\n />\n }\n />\n )}\n <FullCalendar\n expandRows\n allDayText={t(\"neetoMolecules.calendarView.allDay\")}\n dateClick={handleDateClick}\n dayHeaderClassNames=\"p-2\"\n displayEventTime={false}\n eventClick={handleEventClick}\n headerToolbar={false}\n height=\"auto\"\n initialView={selectedView.fullCalendarView}\n plugins={[dayGridPlugin, timeGridPlugin, interactionPlugin]}\n ref={mergeRefs(ref, calendarRef)}\n {...{\n dayCellClassNames,\n dayMaxEvents,\n direction,\n eventClassNames,\n eventMaxStack,\n events,\n ...otherProps,\n }}\n />\n </div>\n );\n }\n);\n\nCalendarView.displayName = \"CalendarView\";\n\nCalendarView.propTypes = {\n /**\n * Views to be listed in the dropdown. The default selected view can be set by adding `default: true` to the required view.\n */\n viewOptions: PropTypes.object,\n /**\n * An array of event objects that will be displayed on the calendar.\n */\n events: PropTypes.array,\n /**\n * Function to be triggered when the user clicks on a date or a time.\n */\n handleDateClick: PropTypes.func,\n /**\n * Function to be triggered when the user clicks an event.\n */\n handleEventClick: PropTypes.func,\n /**\n * A className input for adding classNames to the outermost event element.\n */\n eventClassNames: PropTypes.string,\n /**\n * A className input for adding classNames to the <td> cell.\n */\n dayCellClassNames: PropTypes.string,\n /**\n * In dayGrid view, the max number of events within a given day, not counting the +more link.\n */\n dayMaxEvents: PropTypes.number,\n /**\n * For timeline view, the maximum number of events that stack top-to-bottom. For timeGrid view, the maximum number of events that stack left-to-right.\n */\n eventMaxStack: PropTypes.number,\n /**\n * This function will be triggered with the new selected date passed as argument\n */\n onDateChange: PropTypes.func,\n /**\n * An object containing the start and end dates in which the range given is the valid range of selectable dates.\n */\n validDates: PropTypes.shape({\n start: PropTypes.instanceOf(Date),\n end: PropTypes.instanceOf(Date),\n }),\n /**\n * This prop can be used to hide the header\n */\n hideHeader: PropTypes.bool,\n};\n\nexport default CalendarView;\n"],"names":["WEEKLY_VIEW","t","MONTHLY_VIEW","DAILY_VIEW","VIEW_OPTIONS","_defineProperty","label","fullCalendarView","picker","getWeekString","_ref","date","_ref$isStartOfWeek","isStartOfWeek","_ref$showMonth","showMonth","_ref$showYear","showYear","concat","format","getStartOfWeek","dayjs","startOf","getEndOfWeek","endOf","getFormattedMonthStr","getFormattedWeekRangeStr","startOfWeek","endOfWeek","shouldShowMonthsSeparately","month","shouldShowYearsSeparately","year","startOfWeekStr","endOfWeekStr","getFormattedDayStr","getFormattedRangeStr","formatFunctions","week","day","selectedFormatter","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","CustomDatePicker","selectedDate","setSelectedDate","validDates","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","datePickerRef","useRef","buttonRef","selectedRangeStr","start","end","isDateLessThanStart","isSameOrBefore","isDateGreaterThanEnd","isSameOrAfter","onPrevious","subtract","onNext","add","onToday","getDisabledDates","handleButtonMouseDown","e","contains","target","stopPropagation","focus","_jsxs","className","children","_jsx","Button","style","onClick","role","disabled","icon","Left","size","period","Down","currentDate","onMouseDown","Typography","DatePicker","_objectSpread","defaultValue","disabledDate","open","placement","value","onChange","onOpenChange","Right","Header","calendarRef","selectedView","setSelectedView","calendarViewOptions","Menu","Dropdown","MenuItem","handleViewSelection","option","calendar","changeView","navigateToSelectedDate","_calendarRef$current","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","buttonStyle","capitalize","buttonProps","view","values","map","idx","isActive","direction","i18next","dir","CalendarView","forwardRef","_ref$viewOptions","viewOptions","_ref$events","events","_ref$handleDateClick","handleDateClick","noop","_ref$handleEventClick","handleEventClick","_ref$eventClassNames","eventClassNames","_ref$dayCellClassName","dayCellClassNames","_ref$validDates","_ref$onDateChange","onDateChange","dayMaxEvents","eventMaxStack","_ref$hideHeader","hideHeader","defaultView","find","_useState3","_useState4","handleDateChange","prevDate","newDate","calendarWrapperRef","_calendarRef$current$","calendarApi","getApi","call","wrapperElement","undefined","handleResize","updateSize","observer","ResizeObserver","observe","disconnect","SubHeader","leftActionBlock","rightActionBlock","FullCalendar","expandRows","allDayText","dateClick","dayHeaderClassNames","displayEventTime","eventClick","headerToolbar","height","initialView","plugins","dayGridPlugin","timeGridPlugin","interactionPlugin","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,WAAW,GAAGC,SAAC,CAAC,oCAAoC,CAAC;AAC3D,IAAMC,YAAY,GAAGD,SAAC,CAAC,qCAAqC,CAAC;AAC7D,IAAME,UAAU,GAAGF,SAAC,CAAC,mCAAmC,CAAC;AAElD,IAAMG,YAAY,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACtBF,UAAU,EAAG;AACZG,EAAAA,KAAK,EAAEH,UAAU;AACjBI,EAAAA,gBAAgB,EAAE,aAAa;AAC/BC,EAAAA,MAAM,EAAE;AACV,CAAC,CAAA,EACAR,WAAW,EAAG;AACbM,EAAAA,KAAK,EAAEN,WAAW;AAClBO,EAAAA,gBAAgB,EAAE,cAAc;AAChCC,EAAAA,MAAM,EAAE;AACV,CAAC,CAAA,EACAN,YAAY,EAAG;AACdI,EAAAA,KAAK,EAAEJ,YAAY;AACnBK,EAAAA,gBAAgB,EAAE,cAAc;AAChCC,EAAAA,MAAM,EAAE;AACV,CAAC,CACF;;ACpBD,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACjBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,kBAAA,GAAAF,IAAA,CACJG,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,kBAAA;IAAAE,cAAA,GAAAJ,IAAA,CACpBK,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;IAAAE,aAAA,GAAAN,IAAA,CACjBO,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;AAAA,EAAA,OAAA,EAAA,CAAAE,MAAA,CAEbH,SAAS,IAAIF,aAAa,GAAGF,IAAI,CAACQ,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAA,GAAA,CAAA,CAAAD,MAAA,CAAIP,IAAI,CAACA,IAAI,EAAE,EAAA,GAAA,CAAA,CAAAO,MAAA,CACpED,QAAQ,IAAI,CAACJ,aAAa,GAAGF,IAAI,CAACQ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;AAAA,CACrD;AAEG,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGT,IAAI,EAAA;EAAA,OAAIU,WAAK,CAACV,IAAI,CAAC,CAACW,OAAO,CAAC,MAAM,CAAC;AAAA,CAAA;AAE1D,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAGZ,IAAI,EAAA;EAAA,OAAIU,WAAK,CAACV,IAAI,CAAC,CAACa,KAAK,CAAC,MAAM,CAAC;AAAA,CAAA;AAEtD,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGd,IAAI,EAAA;AAAA,EAAA,OAAIA,IAAI,CAACQ,MAAM,CAAC,UAAU,CAAC;AAAA,CAAA;AAE5D,IAAMO,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGf,IAAI,EAAI;AAC9C,EAAA,IAAMgB,WAAW,GAAGP,cAAc,CAACT,IAAI,CAAC;AACxC,EAAA,IAAMiB,SAAS,GAAGL,YAAY,CAACZ,IAAI,CAAC;AAEpC,EAAA,IAAMkB,0BAA0B,GAAGF,WAAW,CAACG,KAAK,EAAE,KAAKF,SAAS,CAACE,KAAK,EAAE;AAC5E,EAAA,IAAMC,yBAAyB,GAAGJ,WAAW,CAACK,IAAI,EAAE,KAAKJ,SAAS,CAACI,IAAI,EAAE;EAEzE,IAAMC,cAAc,GAAGxB,aAAa,CAAC;AACnCE,IAAAA,IAAI,EAAEgB,WAAW;AACjBZ,IAAAA,SAAS,EAAEc,0BAA0B;AACrCZ,IAAAA,QAAQ,EAAEc;AACZ,GAAC,CAAC;EAEF,IAAMG,YAAY,GAAGzB,aAAa,CAAC;AACjCE,IAAAA,IAAI,EAAEiB,SAAS;AACff,IAAAA,aAAa,EAAE,KAAK;AACpBE,IAAAA,SAAS,EAAEc,0BAA0B;AACrCZ,IAAAA,QAAQ,EAAEc;AACZ,GAAC,CAAC;AAEF,EAAA,OAAA,EAAA,CAAAb,MAAA,CAAUe,cAAc,EAAA,KAAA,CAAA,CAAAf,MAAA,CAAMgB,YAAY,CAAA;AAC5C,CAAC;AAEM,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGxB,IAAI,EAAA;AAAA,EAAA,OAAIA,IAAI,CAACQ,MAAM,CAAC,aAAa,CAAC;AAAA,CAAA;AAE7D,IAAMiB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIzB,IAAI,EAAEH,MAAM,EAAK;AACpD,EAAA,IAAM6B,eAAe,GAAG;AACtBP,IAAAA,KAAK,EAAEL,oBAAoB;AAC3Ba,IAAAA,IAAI,EAAEZ,wBAAwB;AAC9Ba,IAAAA,GAAG,EAAEJ;GACN;AACD,EAAA,IAAMK,iBAAiB,GAAGH,eAAe,CAAC7B,MAAM,CAAC;EAEjD,OAAOgC,iBAAiB,CAAC7B,IAAI,CAAC;AAChC,CAAC;AAEM,IAAM8B,SAAS,GACpB,SADWA,SAASA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAChBC,IAAI,GAAA,IAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,CAAA,GAAAJ,SAAA,CAAAI,IAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OACR,UAAAC,IAAI,EAAA;IAAA,OACFH,IAAI,CACDI,MAAM,CAACC,OAAO,CAAC,CACfC,OAAO,CAAC,UAAAC,GAAG,EAAA;AAAA,MAAA,OACV,OAAOA,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACJ,IAAI,CAAC,GAAII,GAAG,CAACC,OAAO,GAAGL,IAAK;AAAA,IAAA,CAC9D,CAAC;AAAA,EAAA,CAAA;AAAA,CAAA;;;;;ACpDP,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA5C,IAAA,EAMhB;AAAA,EAAA,IALJ6C,YAAY,GAAA7C,IAAA,CAAZ6C,YAAY;IACZC,eAAe,GAAA9C,IAAA,CAAf8C,eAAe;IACfhD,MAAM,GAAAE,IAAA,CAANF,MAAM;IACNiD,UAAU,GAAA/C,IAAA,CAAV+C,UAAU;AACPC,IAAAA,UAAU,GAAAC,wBAAA,CAAAjD,IAAA,EAAAkD,WAAA,CAAA;AAEb,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtB7D,CAAC,GAAA4D,eAAA,CAAD5D,CAAC;AACT,EAAA,IAAA8D,SAAA,GAA4BC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCI,IAAAA,MAAM,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,SAAS,GAAAH,UAAA,CAAA,CAAA,CAAA;AAExB,EAAA,IAAMI,aAAa,GAAGC,YAAM,CAAC,IAAI,CAAC;AAClC,EAAA,IAAMC,SAAS,GAAGD,YAAM,CAAC,IAAI,CAAC;AAE9B,EAAA,IAAME,gBAAgB,GAAGpC,oBAAoB,CAACmB,YAAY,EAAE/C,MAAM,CAAC;AAEnE,EAAA,IAAQiE,KAAK,GAAUhB,UAAU,CAAzBgB,KAAK;IAAEC,GAAG,GAAKjB,UAAU,CAAlBiB,GAAG;AAElB,EAAA,IAAMC,mBAAmB,GACvBF,KAAK,IAAIlB,YAAY,CAACqB,cAAc,CAACvD,WAAK,CAACoD,KAAK,CAAC,EAAEjE,MAAM,CAAC;AAE5D,EAAA,IAAMqE,oBAAoB,GACxBH,GAAG,IAAInB,YAAY,CAACuB,aAAa,CAACzD,WAAK,CAACqD,GAAG,CAAC,EAAElE,MAAM,CAAC;AAEvD,EAAA,IAAMuE,UAAU,GAAG,SAAbA,UAAUA,GAAA;IAAA,OACdvB,eAAe,CAAC,UAAAD,YAAY,EAAA;AAAA,MAAA,OAAIA,YAAY,CAACyB,QAAQ,CAAC,CAAC,EAAExE,MAAM,CAAC;IAAA,CAAA,CAAC;AAAA,EAAA,CAAA;AAEnE,EAAA,IAAMyE,MAAM,GAAG,SAATA,MAAMA,GAAA;IAAA,OACVzB,eAAe,CAAC,UAAAD,YAAY,EAAA;AAAA,MAAA,OAAIA,YAAY,CAAC2B,GAAG,CAAC,CAAC,EAAE1E,MAAM,CAAC;IAAA,CAAA,CAAC;AAAA,EAAA,CAAA;AAE9D,EAAA,IAAM2E,OAAO,GAAG,SAAVA,OAAOA,GAAA;AAAA,IAAA,OAAS3B,eAAe,CAACnC,WAAK,EAAE,CAAC;AAAA,EAAA,CAAA;AAE9C,EAAA,IAAM+D,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGzE,IAAI,EAAI;AAC/B,IAAA,IAAI,CAACA,IAAI,EAAE,OAAO,KAAK;IAEvB,OAAQ8D,KAAK,IAAI9D,IAAI,IAAI8D,KAAK,IAAMC,GAAG,IAAI/D,IAAI,IAAI+D,GAAI;EACzD,CAAC;AAED,EAAA,IAAMW,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,CAAC,EAAI;AACjC,IAAA,IAAI,EAAEf,SAAS,CAAClB,OAAO,IAAIkB,SAAS,CAAClB,OAAO,CAACkC,QAAQ,CAACD,CAAC,CAACE,MAAM,CAAC,CAAC,EAAE;IAClEF,CAAC,CAACG,eAAe,EAAE;IACnB,IAAItB,MAAM,EAAEE,aAAa,CAAChB,OAAO,CAACqC,KAAK,EAAE;EAC3C,CAAC;AAED,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yCAAyC;IAAAC,QAAA,EAAA,cACtDC,cAAA,CAACC,MAAM,EAAA;MACL,YAAA,EAAY9F,CAAC,CAAC,4CAA4C,CAAE;AAC5D,MAAA,aAAA,EAAY,4CAA4C;AACxDK,MAAAA,KAAK,EAAEL,CAAC,CAAC,mCAAmC,CAAE;AAC9C+F,MAAAA,KAAK,EAAC,WAAW;AACjBC,MAAAA,OAAO,EAAEd;KACV,CAAC,eACFQ,eAAA,CAAA,KAAA,EAAA;MACE,YAAA,EAAY1F,CAAC,CAAC,iDAAiD,CAAE;AACjE2F,MAAAA,SAAS,EAAC,MAAM;AAChBM,MAAAA,IAAI,EAAC,OAAO;MAAAL,QAAA,EAAA,cAEZC,cAAA,CAACC,MAAM,EAAA;AACLH,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,aAAA,EAAY,+CAA+C;AAC3DO,QAAAA,QAAQ,EAAExB,mBAAoB;QAC9ByB,IAAI,EAAE,SAANA,IAAIA,GAAA;UAAA,oBAAQN,cAAA,CAACO,IAAI,EAAA;AAACT,YAAAA,SAAS,EAAC,kBAAkB;AAACU,YAAAA,IAAI,EAAE;AAAG,WAAE,CAAC;QAAA,CAAC;AAC5DN,QAAAA,KAAK,EAAC,MAAM;QACZ,YAAA,EAAY/F,CAAC,CAAC,iDAAiD,EAAE;AAC/DsG,UAAAA,MAAM,EAAE/F;AACV,SAAC,CAAE;AACHyF,QAAAA,OAAO,EAAElB;AAAW,OACrB,CAAC,eACFe,cAAA,CAACC,MAAM,EAAA;AACL,QAAA,eAAA,EAAe5B,MAAO;AACtB,QAAA,eAAA,EAAc,QAAQ;AACtByB,QAAAA,SAAS,EAAC,yBAAyB;AACnC,QAAA,aAAA,EAAY,kDAAkD;AAC9DQ,QAAAA,IAAI,EAAEI,IAAK;AACXpD,QAAAA,GAAG,EAAEmB,SAAU;AACfyB,QAAAA,KAAK,EAAC,MAAM;QACZ,YAAA,EAAY/F,CAAC,CAAC,6CAA6C,EAAE;AAC3DwG,UAAAA,WAAW,EAAEjC;AACf,SAAC,CAAE;QACHyB,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQ7B,SAAS,CAAC,UAAAD,MAAM,EAAA;AAAA,YAAA,OAAI,CAACA,MAAM;UAAA,CAAA,CAAC;QAAA,CAAC;AAC5CuC,QAAAA,WAAW,EAAErB,qBAAsB;QAAAQ,QAAA,eAEnCC,cAAA,CAACa,UAAU,EAAA;AACT,UAAA,aAAA,EAAY,wDAAwD;AACpEX,UAAAA,KAAK,EAAC,IAAI;AAAAH,UAAAA,QAAA,EAETrB;SACS;AAAC,OACP,CAAC,eACTsB,cAAA,CAACc,UAAU,EAAAC,eAAA,CAAA;AACTjB,QAAAA,SAAS,EAAC,oBAAoB;AAC9BkB,QAAAA,YAAY,EAAEvD,YAAa;AAC3BwD,QAAAA,YAAY,EAAE3B,gBAAiB;AAC/B4B,QAAAA,IAAI,EAAE7C,MAAO;AACb8C,QAAAA,SAAS,EAAC,UAAU;AACpB7D,QAAAA,GAAG,EAAEiB,aAAc;AACnB6C,QAAAA,KAAK,EAAE3D,YAAa;AACpB4D,QAAAA,QAAQ,EAAE3D,eAAgB;AAC1B4D,QAAAA,YAAY,EAAEhD;AAAU,OAAA,EAAAyC,eAAA,CAAA;AAClBrG,QAAAA,MAAM,EAANA;AAAM,OAAA,EAAKkD,UAAU,CAAA,CAC5B,CAAC,eACFoC,cAAA,CAACC,MAAM,EAAA;AACLH,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,aAAA,EAAY,2CAA2C;AACvDO,QAAAA,QAAQ,EAAEtB,oBAAqB;QAC/BuB,IAAI,EAAE,SAANA,IAAIA,GAAA;UAAA,oBAAQN,cAAA,CAACuB,KAAK,EAAA;AAACzB,YAAAA,SAAS,EAAC,kBAAkB;AAACU,YAAAA,IAAI,EAAE;AAAG,WAAE,CAAC;QAAA,CAAC;AAC7DN,QAAAA,KAAK,EAAC,MAAM;QACZ,YAAA,EAAY/F,CAAC,CAAC,6CAA6C,EAAE;AAC3DsG,UAAAA,MAAM,EAAE/F;AACV,SAAC,CAAE;AACHyF,QAAAA,OAAO,EAAEhB;AAAO,OACjB,CAAC;AAAA,KACC,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;ACnHD,IAAMqC,MAAM,GAAG,SAATA,MAAMA,CAAA5G,IAAA,EAQN;AAAA,EAAA,IAPJ6G,WAAW,GAAA7G,IAAA,CAAX6G,WAAW;IACXC,YAAY,GAAA9G,IAAA,CAAZ8G,YAAY;IACZC,eAAe,GAAA/G,IAAA,CAAf+G,eAAe;IACfjE,eAAe,GAAA9C,IAAA,CAAf8C,eAAe;IACfD,YAAY,GAAA7C,IAAA,CAAZ6C,YAAY;IACZmE,mBAAmB,GAAAhH,IAAA,CAAnBgH,mBAAmB;IACnBjE,UAAU,GAAA/C,IAAA,CAAV+C,UAAU;AAEV,EAAA,IAAAI,eAAA,GAAcC,2BAAc,EAAE;IAAtB7D,CAAC,GAAA4D,eAAA,CAAD5D,CAAC;AACT,EAAA,IAAQ0H,IAAI,GAAeC,QAAQ,CAA3BD,IAAI;IAAEE,QAAQ,GAAKD,QAAQ,CAArBC,QAAQ;AAEtB,EAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,MAAM,EAAI;IACpCN,eAAe,CAACM,MAAM,CAAC;IACvBR,WAAW,CAAClE,OAAO,CAAC2E,QAAQ,CAACC,UAAU,CAACF,MAAM,CAACxH,gBAAgB,CAAC;EAClE,CAAC;AAED,EAAA,IAAM2H,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAA;AAAA,IAAA,IAAAC,oBAAA;AAAA,IAAA,OAC1BZ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAA,CAAAY,oBAAA,GAAXZ,WAAW,CAAElE,OAAO,MAAA,IAAA,IAAA8E,oBAAA,KAAA,MAAA,IAAA,CAAAA,oBAAA,GAApBA,oBAAA,CAAsBH,QAAQ,MAAA,IAAA,IAAAG,oBAAA,KAAA,MAAA,GAAA,MAAA,GAA9BA,oBAAA,CAAgCC,QAAQ,CAAC7E,YAAY,CAACpC,MAAM,CAAC,YAAY,CAAC,CAAC;AAAA,EAAA,CAAA;AAE7EkH,EAAAA,eAAS,CAAC,YAAM;IACdC,UAAU,CAACJ,sBAAsB,CAAC;AACpC,EAAA,CAAC,EAAE,CAAC3E,YAAY,CAAC,CAAC;AAElB,EAAA,oBACEoC,eAAA,CAAA,KAAA,EAAA;IACE,YAAA,EAAY1F,CAAC,CAAC,mDAAmD,CAAE;AACnE2F,IAAAA,SAAS,EAAC,cAAc;AACxBM,IAAAA,IAAI,EAAC,OAAO;IAAAL,QAAA,EAAA,cAEZC,cAAA,CAACxC,gBAAgB,EAAA;AACTC,MAAAA,YAAY,EAAZA,YAAY;AAAEC,MAAAA,eAAe,EAAfA,eAAe;AAAEC,MAAAA,UAAU,EAAVA,UAAU;AAC/C8E,MAAAA,iBAAiB,EAAEC,UAAI,CAAC,YAAY,CAAE;MACtChI,MAAM,EAAEgH,YAAY,CAAChH;AAAO,KAC7B,CAAC,EACDiI,MAAM,CAACC,IAAI,CAAChB,mBAAmB,CAAC,CAAC9E,MAAM,GAAG,CAAC,iBAC1CkD,cAAA,CAAC8B,QAAQ,EAAA;AACPe,MAAAA,WAAW,EAAC,WAAW;AACvBrI,MAAAA,KAAK,EAAEsI,oBAAU,CAACpB,YAAY,CAAClH,KAAK,CAAE;AACtCuI,MAAAA,WAAW,EAAE;AACX,QAAA,aAAa,EAAE,wBAAwB;AACvC,QAAA,YAAY,EAAE5I,CAAC,CAAC,+CAA+C,EAAE;AAC/D6I,UAAAA,IAAI,EAAEF,oBAAU,CAACpB,YAAY,CAAClH,KAAK;SACpC;OACD;MAAAuF,QAAA,eAEFC,cAAA,CAAC6B,IAAI,EAAA;QAAA9B,QAAA,EACFkD,YAAM,CAACrB,mBAAmB,CAAC,CAACsB,GAAG,CAAC,UAACjB,MAAM,EAAEkB,GAAG,EAAA;AAAA,UAAA,oBAC3CnD,cAAA,CAAC+B,QAAQ,CAAC9B,MAAM,EAAA;YACdmD,QAAQ,EAAE1B,YAAY,KAAKO,MAAO;YAElC9B,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQ6B,mBAAmB,CAACC,MAAM,CAAC;YAAA,CAAC;AAAAlC,YAAAA,QAAA,EAE1C+C,oBAAU,CAACb,MAAM,CAACzH,KAAK;AAAC,WAAA,EAHpB2I,GAIU,CAAC;QAAA,CACnB;OACG;AAAC,KACC,CACX;AAAA,GACE,CAAC;AAEV,CAAC;;;;;ACjDD,IAAME,SAAS,GAAGC,OAAO,CAACC,GAAG,EAAE,IAAI,KAAK;AAExC,IAAMC,YAAY,gBAAGC,gBAAU,CAC7B,UAAA7I,IAAA,EAeE0C,GAAG,EACA;AAAA,EAAA,IAAAoG,gBAAA,GAAA9I,IAAA,CAdD+I,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAGpJ,YAAY,GAAAoJ,gBAAA;IAAAE,WAAA,GAAAhJ,IAAA,CAC1BiJ,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,WAAA;IAAAE,oBAAA,GAAAlJ,IAAA,CACXmJ,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAGE,cAAI,GAAAF,oBAAA;IAAAG,qBAAA,GAAArJ,IAAA,CACtBsJ,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAGD,cAAI,GAAAC,qBAAA;IAAAE,oBAAA,GAAAvJ,IAAA,CACvBwJ,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAAAzJ,IAAA,CACpB0J,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,eAAA,GAAA3J,IAAA,CACtB+C,UAAU;IAAVA,UAAU,GAAA4G,eAAA,KAAA,MAAA,GAAG;AAAE5F,MAAAA,KAAK,EAAE,IAAI;AAAEC,MAAAA,GAAG,EAAE;AAAK,KAAC,GAAA2F,eAAA;IAAAC,iBAAA,GAAA5J,IAAA,CACvC6J,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAGR,cAAI,GAAAQ,iBAAA;IACnBE,YAAY,GAAA9J,IAAA,CAAZ8J,YAAY;IACZC,aAAa,GAAA/J,IAAA,CAAb+J,aAAa;IAAAC,eAAA,GAAAhK,IAAA,CACbiK,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;AACfhH,IAAAA,UAAU,GAAAC,wBAAA,CAAAjD,IAAA,EAAAkD,SAAA,CAAA;AAIf,EAAA,IAAM8D,mBAAmB,GAAG+B,WAAW,IAAIrJ,YAAY;AAEvD,EAAA,IAAMwK,WAAW,GACfnC,MAAM,CAACM,MAAM,CAACrB,mBAAmB,CAAC,CAACmD,IAAI,CAACrC,UAAI,CAAC,SAAS,CAAC,CAAC,IACxDd,mBAAmB,CAACe,MAAM,CAACC,IAAI,CAAChB,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D,EAAA,IAAA3D,SAAA,GAAwCC,cAAQ,CAAC4G,WAAW,CAAC;IAAA3G,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtDyD,IAAAA,YAAY,GAAAvD,UAAA,CAAA,CAAA,CAAA;AAAEwD,IAAAA,eAAe,GAAAxD,UAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAA6G,UAAA,GAAwC9G,cAAQ,CAAC3C,WAAK,EAAE,CAAC;IAAA0J,UAAA,GAAA7G,cAAA,CAAA4G,UAAA,EAAA,CAAA,CAAA;AAAlDvH,IAAAA,YAAY,GAAAwH,UAAA,CAAA,CAAA,CAAA;AAAEvH,IAAAA,eAAe,GAAAuH,UAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAlH,eAAA,GAAcC,2BAAc,EAAE;IAAtB7D,CAAC,GAAA4D,eAAA,CAAD5D,CAAC;AAET,EAAA,IAAM+K,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGrK,IAAI,EAAI;IAC/B6C,eAAe,CAAC,UAAAyH,QAAQ,EAAI;AAC1B,MAAA,IAAMC,OAAO,GAAG,OAAOvK,IAAI,KAAK,UAAU,GAAGA,IAAI,CAACsK,QAAQ,CAAC,GAAGtK,IAAI;MAClE4J,YAAY,CAACW,OAAO,CAAC;AAErB,MAAA,OAAOA,OAAO;AAChB,IAAA,CAAC,CAAC;EACJ,CAAC;AACD,EAAA,IAAMC,kBAAkB,GAAG7G,YAAM,CAAC,IAAI,CAAC;AACvC,EAAA,IAAMiD,WAAW,GAAGjD,YAAM,EAAE;AAE5B+D,EAAAA,eAAS,CAAC,YAAM;IAAA,IAAAF,oBAAA,EAAAiD,qBAAA;IACd,IAAMC,WAAW,IAAAlD,oBAAA,GAAGZ,WAAW,CAAClE,OAAO,MAAA,IAAA,IAAA8E,oBAAA,KAAA,MAAA,IAAA,CAAAiD,qBAAA,GAAnBjD,oBAAA,CAAqBmD,MAAM,MAAA,IAAA,IAAAF,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA3BA,qBAAA,CAAAG,IAAA,CAAApD,oBAA8B,CAAC;AACnD,IAAA,IAAMqD,cAAc,GAAGL,kBAAkB,CAAC9H,OAAO;AAEjD,IAAA,IAAI,CAACgI,WAAW,IAAI,CAACG,cAAc,EAAE,OAAOC,SAAS;AAErD,IAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;MACzBL,WAAW,CAACM,UAAU,EAAE;IAC1B,CAAC;AAED,IAAA,IAAMC,QAAQ,GAAG,IAAIC,cAAc,CAACH,YAAY,CAAC;AAEjDE,IAAAA,QAAQ,CAACE,OAAO,CAACN,cAAc,CAAC;AAEhC,IAAA,OAAO,YAAM;MACXI,QAAQ,CAACG,UAAU,EAAE;IACvB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,oBACEpG,eAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,UAAU;AACpB,IAAA,aAAA,EAAY,eAAe;AAC3BxC,IAAAA,GAAG,EAAE+H,kBAAmB;AAAAtF,IAAAA,QAAA,GAEvB,CAAC8E,UAAU,iBACV7E,cAAA,CAACkG,SAAS,EAAA;MACRC,eAAe,eACbnG,cAAA,CAACa,UAAU,EAAA;AAACX,QAAAA,KAAK,EAAC,IAAI;AAAAH,QAAAA,QAAA,EACnBtC,YAAY,CAACpC,MAAM,CAAC,YAAY;AAAC,OACxB,CACb;AACD+K,MAAAA,gBAAgB,eACdpG,cAAA,CAACwB,MAAM,EAAAjH,eAAA,CAAA;AAEHkH,QAAAA,WAAW,EAAXA,WAAW;AACXG,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBnE,QAAAA,YAAY,EAAZA,YAAY;AACZiE,QAAAA,YAAY,EAAZA,YAAY;AACZhE,QAAAA,eAAe,EAAfA,eAAe;AACfiE,QAAAA,eAAe,EAAfA,eAAe;AACfhE,QAAAA,UAAU,EAAVA;AAAU,OAAA,EAAA,iBAAA,EAEKuH,gBAAgB,CAClC;AACF,KACF,CACF,eACDlF,cAAA,CAACqG,YAAY,EAAAtF,aAAA,CAAA;MACXuF,UAAU,EAAA,IAAA;AACVC,MAAAA,UAAU,EAAEpM,CAAC,CAAC,oCAAoC,CAAE;AACpDqM,MAAAA,SAAS,EAAEzC,eAAgB;AAC3B0C,MAAAA,mBAAmB,EAAC,KAAK;AACzBC,MAAAA,gBAAgB,EAAE,KAAM;AACxBC,MAAAA,UAAU,EAAEzC,gBAAiB;AAC7B0C,MAAAA,aAAa,EAAE,KAAM;AACrBC,MAAAA,MAAM,EAAC,MAAM;MACbC,WAAW,EAAEpF,YAAY,CAACjH,gBAAiB;AAC3CsM,MAAAA,OAAO,EAAE,CAACC,aAAa,EAAEC,cAAc,EAAEC,iBAAiB,CAAE;AAC5D5J,MAAAA,GAAG,EAAEX,SAAS,CAACW,GAAG,EAAEmE,WAAW;AAAE,KAAA,EAAAV,aAAA,CAAA;AAE/BuD,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBI,MAAAA,YAAY,EAAZA,YAAY;AACZrB,MAAAA,SAAS,EAATA,SAAS;AACTe,MAAAA,eAAe,EAAfA,eAAe;AACfO,MAAAA,aAAa,EAAbA,aAAa;AACbd,MAAAA,MAAM,EAANA;KAAM,EACHjG,UAAU,EAEhB,CAAC;AAAA,GACC,CAAC;AAEV,CACF;AAEA4F,YAAY,CAAC2D,WAAW,GAAG,cAAc;;;;"}
|
|
1
|
+
{"version":3,"file":"CalendarView.js","sources":["../../src/components/CalendarView/constants.js","../../src/components/CalendarView/utils.js","../../src/components/CalendarView/CustomDatePicker.jsx","../../src/components/CalendarView/Header.jsx","../../src/components/CalendarView/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nconst WEEKLY_VIEW = t(\"neetoMolecules.calendarView.weekly\");\nconst MONTHLY_VIEW = t(\"neetoMolecules.calendarView.monthly\");\nconst DAILY_VIEW = t(\"neetoMolecules.calendarView.daily\");\n\nexport const VIEW_OPTIONS = {\n [DAILY_VIEW]: {\n label: DAILY_VIEW,\n fullCalendarView: \"timeGridDay\",\n picker: \"day\",\n },\n [WEEKLY_VIEW]: {\n label: WEEKLY_VIEW,\n fullCalendarView: \"timeGridWeek\",\n picker: \"week\",\n },\n [MONTHLY_VIEW]: {\n label: MONTHLY_VIEW,\n fullCalendarView: \"dayGridMonth\",\n picker: \"month\",\n },\n};\n\nexport const LOCALE_CONFIG = {\n ja: {\n dayCellContent: arg => arg.date.getDate(),\n dayHeaderFormat: { weekday: \"long\" },\n },\n};\n","import { dayjs } from \"neetocommons/utils\";\n\nconst getWeekString = ({\n date,\n isStartOfWeek = true,\n showMonth = false,\n showYear = false,\n}) =>\n `${showMonth || isStartOfWeek ? date.format(\"MMM\") : \"\"} ${date.date()} ${\n showYear || !isStartOfWeek ? date.format(\"YYYY\") : \"\"\n }`;\n\nexport const getStartOfWeek = date => dayjs(date).startOf(\"week\");\n\nexport const getEndOfWeek = date => dayjs(date).endOf(\"week\");\n\nexport const getFormattedMonthStr = date => date.format(\"MMM YYYY\");\n\nexport const getFormattedWeekRangeStr = date => {\n const startOfWeek = getStartOfWeek(date);\n const endOfWeek = getEndOfWeek(date);\n\n const shouldShowMonthsSeparately = startOfWeek.month() !== endOfWeek.month();\n const shouldShowYearsSeparately = startOfWeek.year() !== endOfWeek.year();\n\n const startOfWeekStr = getWeekString({\n date: startOfWeek,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n const endOfWeekStr = getWeekString({\n date: endOfWeek,\n isStartOfWeek: false,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n return `${startOfWeekStr} - ${endOfWeekStr}`;\n};\n\nexport const getFormattedDayStr = date => date.format(\"DD MMM YYYY\");\n\nexport const getFormattedRangeStr = (date, picker) => {\n const formatFunctions = {\n month: getFormattedMonthStr,\n week: getFormattedWeekRangeStr,\n day: getFormattedDayStr,\n };\n const selectedFormatter = formatFunctions[picker];\n\n return selectedFormatter(date);\n};\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { useRef, useState } from \"react\";\n\nimport { dayjs } from \"neetocommons/utils\";\nimport { Down, Left, Right } from \"neetoicons\";\nimport { Typography, Button, DatePicker } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(false);\n\n const datePickerRef = useRef(null);\n const buttonRef = useRef(null);\n\n const selectedRangeStr = getFormattedRangeStr(selectedDate, picker);\n\n const { start, end } = validDates;\n\n const isDateLessThanStart =\n start && selectedDate.isSameOrBefore(dayjs(start), picker);\n\n const isDateGreaterThanEnd =\n end && selectedDate.isSameOrAfter(dayjs(end), picker);\n\n const onPrevious = () =>\n setSelectedDate(selectedDate => selectedDate.subtract(1, picker));\n\n const onNext = () =>\n setSelectedDate(selectedDate => selectedDate.add(1, picker));\n\n const onToday = () => setSelectedDate(dayjs());\n\n const getDisabledDates = date => {\n if (!date) return false;\n\n return (start && date <= start) || (end && date >= end);\n };\n\n const handleButtonMouseDown = e => {\n if (!(buttonRef.current && buttonRef.current.contains(e.target))) return;\n e.stopPropagation();\n if (isOpen) datePickerRef.current.focus();\n };\n\n return (\n <div className=\"flex items-center justify-start gap-x-4\">\n <Button\n aria-label={t(\"neetoMolecules.calendarView.aria.goToToday\")}\n data-testid=\"neeto-molecules-calendar-view-today-button\"\n label={t(\"neetoMolecules.calendarView.today\")}\n style=\"secondary\"\n onClick={onToday}\n />\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.dateNavigation\")}\n className=\"flex\"\n role=\"group\"\n >\n <Button\n className=\"me-1\"\n data-testid=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={() => <Left className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.previousPeriod\", {\n period: picker,\n })}\n onClick={onPrevious}\n />\n <Button\n aria-expanded={isOpen}\n aria-haspopup=\"dialog\"\n className=\"min-w-52 justify-center\"\n data-testid=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={Down}\n ref={buttonRef}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.selectDate\", {\n currentDate: selectedRangeStr,\n })}\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-testid=\"neeto-molecules-calendar-view-date-picker-button-label\"\n style=\"h5\"\n >\n {selectedRangeStr}\n </Typography>\n </Button>\n <DatePicker\n className=\"invisible w-0 px-0\"\n defaultValue={selectedDate}\n disabledDate={getDisabledDates}\n open={isOpen}\n placement=\"topRight\"\n ref={datePickerRef}\n value={selectedDate}\n onChange={setSelectedDate}\n onOpenChange={setIsOpen}\n {...{ picker, ...otherProps }}\n />\n <Button\n className=\"ms-1\"\n data-testid=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={() => <Right className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.nextPeriod\", {\n period: picker,\n })}\n onClick={onNext}\n />\n </div>\n </div>\n );\n};\n\nexport default CustomDatePicker;\n","import { useEffect } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { prop, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CustomDatePicker from \"./CustomDatePicker\";\n\nconst Header = ({\n calendarRef,\n selectedView,\n setSelectedView,\n setSelectedDate,\n selectedDate,\n calendarViewOptions,\n validDates,\n}) => {\n const { t } = useTranslation();\n const { Menu, MenuItem } = Dropdown;\n\n const handleViewSelection = option => {\n setSelectedView(option);\n calendarRef.current.calendar.changeView(option.fullCalendarView);\n };\n\n const navigateToSelectedDate = () =>\n calendarRef?.current?.calendar?.gotoDate(selectedDate.format(\"YYYY-MM-DD\"));\n\n useEffect(() => {\n setTimeout(navigateToSelectedDate);\n }, [selectedDate]);\n\n return (\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.calendarControls\")}\n className=\"flex gap-x-4\"\n role=\"group\"\n >\n <CustomDatePicker\n {...{ selectedDate, setSelectedDate, validDates }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\n buttonProps={{\n \"data-testid\": \"calendar-view-dropdown\",\n \"aria-label\": t(\"neetoMolecules.calendarView.aria.viewSelector\", {\n view: capitalize(selectedView.label),\n }),\n }}\n >\n <Menu>\n {values(calendarViewOptions).map((option, idx) => (\n <MenuItem.Button\n isActive={selectedView === option}\n key={idx}\n onClick={() => handleViewSelection(option)}\n >\n {capitalize(option.label)}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n )}\n </div>\n );\n};\n\nexport default Header;\n","import { forwardRef, useRef, useState, useEffect } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\nimport i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SubHeader from \"components/SubHeader\";\n\nimport \"./calendar-view.scss\";\nimport { LOCALE_CONFIG, VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\nimport { mergeRefs } from \"./utils\";\n\nconst direction = i18next.dir() || \"ltr\";\n\nconst CalendarView = forwardRef(\n (\n {\n viewOptions = VIEW_OPTIONS,\n events = [],\n handleDateClick = noop,\n handleEventClick = noop,\n eventClassNames = \"\",\n dayCellClassNames = \"\",\n validDates = { start: null, end: null },\n onDateChange = noop,\n dayMaxEvents,\n eventMaxStack,\n hideHeader = false,\n locale,\n ...otherProps\n },\n ref\n ) => {\n const calendarViewOptions = viewOptions || VIEW_OPTIONS;\n\n const defaultView =\n Object.values(calendarViewOptions).find(prop(\"default\")) ||\n calendarViewOptions[Object.keys(calendarViewOptions)[0]];\n\n const [selectedView, setSelectedView] = useState(defaultView);\n\n const [selectedDate, setSelectedDate] = useState(dayjs());\n\n const { t } = useTranslation();\n\n const localeSpecificProps = LOCALE_CONFIG[locale] || {};\n\n const handleDateChange = date => {\n setSelectedDate(prevDate => {\n const newDate = typeof date === \"function\" ? date(prevDate) : date;\n onDateChange(newDate);\n\n return newDate;\n });\n };\n const calendarWrapperRef = useRef(null);\n const calendarRef = useRef();\n\n useEffect(() => {\n const calendarApi = calendarRef.current?.getApi?.();\n const wrapperElement = calendarWrapperRef.current;\n\n if (!calendarApi || !wrapperElement) return undefined;\n\n const handleResize = () => {\n calendarApi.updateSize();\n };\n\n const observer = new ResizeObserver(handleResize);\n\n observer.observe(wrapperElement);\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return (\n <div\n className=\"flex-col\"\n data-testid=\"calendar-view\"\n ref={calendarWrapperRef}\n >\n {!hideHeader && (\n <SubHeader\n leftActionBlock={\n <Typography style=\"h2\">\n {selectedDate.format(\"MMMM, YYYY\")}\n </Typography>\n }\n rightActionBlock={\n <Header\n {...{\n calendarRef,\n calendarViewOptions,\n selectedDate,\n selectedView,\n setSelectedDate,\n setSelectedView,\n validDates,\n }}\n setSelectedDate={handleDateChange}\n />\n }\n />\n )}\n <FullCalendar\n expandRows\n allDayText={t(\"neetoMolecules.calendarView.allDay\")}\n dateClick={handleDateClick}\n dayHeaderClassNames=\"p-2\"\n displayEventTime={false}\n eventClick={handleEventClick}\n headerToolbar={false}\n height=\"auto\"\n initialView={selectedView.fullCalendarView}\n plugins={[dayGridPlugin, timeGridPlugin, interactionPlugin]}\n ref={mergeRefs(ref, calendarRef)}\n {...{\n dayCellClassNames,\n dayMaxEvents,\n direction,\n eventClassNames,\n eventMaxStack,\n events,\n locale,\n ...localeSpecificProps,\n ...otherProps,\n }}\n />\n </div>\n );\n }\n);\n\nCalendarView.displayName = \"CalendarView\";\n\nCalendarView.propTypes = {\n /**\n * Views to be listed in the dropdown. The default selected view can be set by adding `default: true` to the required view.\n */\n viewOptions: PropTypes.object,\n /**\n * An array of event objects that will be displayed on the calendar.\n */\n events: PropTypes.array,\n /**\n * Function to be triggered when the user clicks on a date or a time.\n */\n handleDateClick: PropTypes.func,\n /**\n * Function to be triggered when the user clicks an event.\n */\n handleEventClick: PropTypes.func,\n /**\n * A className input for adding classNames to the outermost event element.\n */\n eventClassNames: PropTypes.string,\n /**\n * A className input for adding classNames to the <td> cell.\n */\n dayCellClassNames: PropTypes.string,\n /**\n * In dayGrid view, the max number of events within a given day, not counting the +more link.\n */\n dayMaxEvents: PropTypes.number,\n /**\n * For timeline view, the maximum number of events that stack top-to-bottom. For timeGrid view, the maximum number of events that stack left-to-right.\n */\n eventMaxStack: PropTypes.number,\n /**\n * This function will be triggered with the new selected date passed as argument\n */\n onDateChange: PropTypes.func,\n /**\n * An object containing the start and end dates in which the range given is the valid range of selectable dates.\n */\n validDates: PropTypes.shape({\n start: PropTypes.instanceOf(Date),\n end: PropTypes.instanceOf(Date),\n }),\n /**\n * This prop can be used to hide the header\n */\n hideHeader: PropTypes.bool,\n /**\n * The locale to be used for the calendar.\n */\n locale: PropTypes.string,\n};\n\nexport default CalendarView;\n"],"names":["WEEKLY_VIEW","t","MONTHLY_VIEW","DAILY_VIEW","VIEW_OPTIONS","_defineProperty","label","fullCalendarView","picker","LOCALE_CONFIG","ja","dayCellContent","arg","date","getDate","dayHeaderFormat","weekday","getWeekString","_ref","_ref$isStartOfWeek","isStartOfWeek","_ref$showMonth","showMonth","_ref$showYear","showYear","concat","format","getStartOfWeek","dayjs","startOf","getEndOfWeek","endOf","getFormattedMonthStr","getFormattedWeekRangeStr","startOfWeek","endOfWeek","shouldShowMonthsSeparately","month","shouldShowYearsSeparately","year","startOfWeekStr","endOfWeekStr","getFormattedDayStr","getFormattedRangeStr","formatFunctions","week","day","selectedFormatter","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","CustomDatePicker","selectedDate","setSelectedDate","validDates","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","datePickerRef","useRef","buttonRef","selectedRangeStr","start","end","isDateLessThanStart","isSameOrBefore","isDateGreaterThanEnd","isSameOrAfter","onPrevious","subtract","onNext","add","onToday","getDisabledDates","handleButtonMouseDown","e","contains","target","stopPropagation","focus","_jsxs","className","children","_jsx","Button","style","onClick","role","disabled","icon","Left","size","period","Down","currentDate","onMouseDown","Typography","DatePicker","_objectSpread","defaultValue","disabledDate","open","placement","value","onChange","onOpenChange","Right","Header","calendarRef","selectedView","setSelectedView","calendarViewOptions","Menu","Dropdown","MenuItem","handleViewSelection","option","calendar","changeView","navigateToSelectedDate","_calendarRef$current","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","buttonStyle","capitalize","buttonProps","view","values","map","idx","isActive","direction","i18next","dir","CalendarView","forwardRef","_ref$viewOptions","viewOptions","_ref$events","events","_ref$handleDateClick","handleDateClick","noop","_ref$handleEventClick","handleEventClick","_ref$eventClassNames","eventClassNames","_ref$dayCellClassName","dayCellClassNames","_ref$validDates","_ref$onDateChange","onDateChange","dayMaxEvents","eventMaxStack","_ref$hideHeader","hideHeader","locale","defaultView","find","_useState3","_useState4","localeSpecificProps","handleDateChange","prevDate","newDate","calendarWrapperRef","_calendarRef$current$","calendarApi","getApi","call","wrapperElement","undefined","handleResize","updateSize","observer","ResizeObserver","observe","disconnect","SubHeader","leftActionBlock","rightActionBlock","FullCalendar","expandRows","allDayText","dateClick","dayHeaderClassNames","displayEventTime","eventClick","headerToolbar","height","initialView","plugins","dayGridPlugin","timeGridPlugin","interactionPlugin","displayName"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.2",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|