@bigbinary/neeto-molecules 3.15.57 → 3.15.58

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.
@@ -170,6 +170,7 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
170
170
  children: [/*#__PURE__*/jsx(Button, {
171
171
  className: "mr-1",
172
172
  "data-cy": "neeto-molecules-calendar-view-previous-button",
173
+ "data-testid": "neeto-molecules-calendar-view-previous-button",
173
174
  disabled: isDateLessThanStart,
174
175
  icon: Left,
175
176
  style: "text",
@@ -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\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n ...otherProps\n}) => {\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 space-x-4\">\n <Button\n data-cy=\"neeto-molecules-calendar-view-today-button\"\n label=\"Today\"\n style=\"secondary\"\n onClick={onToday}\n />\n <div className=\"flex\">\n <Button\n className=\"mr-1\"\n data-cy=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={Left}\n style=\"text\"\n onClick={onPrevious}\n />\n <Button\n data-cy=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={Down}\n ref={buttonRef}\n style=\"text\"\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-cy=\"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=\"ml-1\"\n data-cy=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={Right}\n style=\"text\"\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\";\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 { 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 className=\"flex space-x-4\">\n <CustomDatePicker\n {...{ selectedDate, setSelectedDate, validDates }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonProps={{ \"data-testid\": \"calendar-view-dropdown\" }}\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\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 } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\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 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\n const calendarRef = useRef();\n\n return (\n <div className=\"flex-col\" data-testid=\"calendar-view\">\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 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","_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","disabled","icon","Left","Down","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","buttonProps","buttonStyle","capitalize","values","map","idx","isActive","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","_useTranslation","useTranslation","handleDateChange","prevDate","newDate","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","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\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n ...otherProps\n}) => {\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 space-x-4\">\n <Button\n data-cy=\"neeto-molecules-calendar-view-today-button\"\n label=\"Today\"\n style=\"secondary\"\n onClick={onToday}\n />\n <div className=\"flex\">\n <Button\n className=\"mr-1\"\n data-cy=\"neeto-molecules-calendar-view-previous-button\"\n data-testid=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={Left}\n style=\"text\"\n onClick={onPrevious}\n />\n <Button\n data-cy=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={Down}\n ref={buttonRef}\n style=\"text\"\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-cy=\"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=\"ml-1\"\n data-cy=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={Right}\n style=\"text\"\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\";\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 { 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 className=\"flex space-x-4\">\n <CustomDatePicker\n {...{ selectedDate, setSelectedDate, validDates }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonProps={{ \"data-testid\": \"calendar-view-dropdown\" }}\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\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 } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\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 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\n const calendarRef = useRef();\n\n return (\n <div className=\"flex-col\" data-testid=\"calendar-view\">\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 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","_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","disabled","icon","Left","Down","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","buttonProps","buttonStyle","capitalize","values","map","idx","isActive","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","_useTranslation","useTranslation","handleDateChange","prevDate","newDate","SubHeader","leftActionBlock","rightActionBlock","FullCalendar","expandRows","allDayText","dateClick","dayHeaderClassNames","displayEventTime","eventClick","headerToolbar","height","initialView","plugins","dayGridPlugin","timeGridPlugin","interactionPlugin","displayName"],"mappings":"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"}
@@ -1,12 +1,15 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { hyphenate, _findBy } from '@bigbinary/neeto-cist';
2
+ import { hyphenate, _findBy, noop } from '@bigbinary/neeto-cist';
3
3
  import Dropdown from '@bigbinary/neetoui/Dropdown';
4
4
  import Spinner from '@bigbinary/neetoui/Spinner';
5
5
  import { memo } from 'react';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
7
7
  import { n } from './inject-css-DmrvuTKK.js';
8
8
  import Down from '@bigbinary/neeto-icons/Down';
9
+ import Close from '@bigbinary/neeto-icons/Close';
9
10
  import Typography from '@bigbinary/neetoui/Typography';
11
+ import { isNil } from 'ramda';
12
+ import { useTranslation } from 'react-i18next';
10
13
 
11
14
  var NeetoUIMenu = Dropdown.Menu,
12
15
  MenuItem = Dropdown.MenuItem;
@@ -44,20 +47,42 @@ var ICON_SIZE = 16;
44
47
 
45
48
  var Target = function Target(_ref) {
46
49
  var color = _ref.color,
50
+ value = _ref.value,
47
51
  label = _ref.label,
48
- dataCy = _ref.dataCy;
49
- var targetClassName = "neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--".concat(color);
52
+ dataCy = _ref.dataCy,
53
+ isClearable = _ref.isClearable,
54
+ onClear = _ref.onClear,
55
+ placeholder = _ref.placeholder;
56
+ var _useTranslation = useTranslation(),
57
+ t = _useTranslation.t;
58
+ var targetClassName = "neeto-ui-rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--".concat(color || "waiting");
59
+ var isOptionSelected = !isNil(value);
50
60
  return /*#__PURE__*/jsxs("div", {
51
61
  className: targetClassName,
52
62
  "data-cy": dataCy,
53
63
  "data-testid": "status-dropdown",
54
- children: [/*#__PURE__*/jsx(Typography, {
64
+ children: [isOptionSelected ? /*#__PURE__*/jsx(Typography, {
55
65
  className: "inline",
56
66
  style: "body2",
57
67
  children: label
58
- }), /*#__PURE__*/jsx(Down, {
59
- className: "ml-2 inline",
60
- size: ICON_SIZE
68
+ }) : /*#__PURE__*/jsx(Typography, {
69
+ className: "neeto-ui-text-gray-600 inline",
70
+ style: "body2",
71
+ children: placeholder || t("neetoMolecules.statusDropdown.placeholder")
72
+ }), /*#__PURE__*/jsxs("div", {
73
+ className: "inline-flex items-center gap-1",
74
+ children: [isClearable && isOptionSelected && /*#__PURE__*/jsx("button", {
75
+ "data-testid": "status-dropdown-clear-button",
76
+ onClick: function onClick(event) {
77
+ onClear();
78
+ event.stopPropagation();
79
+ },
80
+ children: /*#__PURE__*/jsx(Close, {
81
+ size: ICON_SIZE
82
+ })
83
+ }), /*#__PURE__*/jsx(Down, {
84
+ size: ICON_SIZE
85
+ })]
61
86
  })]
62
87
  });
63
88
  };
@@ -74,9 +99,15 @@ var StatusDropdown = function StatusDropdown(_ref) {
74
99
  isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
75
100
  onItemClick = _ref.onItemClick,
76
101
  options = _ref.options,
102
+ _ref$placeholder = _ref.placeholder,
103
+ placeholder = _ref$placeholder === void 0 ? null : _ref$placeholder,
77
104
  selectedValue = _ref.selectedValue,
78
105
  _ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
79
106
  shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt,
107
+ _ref$isClearable = _ref.isClearable,
108
+ isClearable = _ref$isClearable === void 0 ? false : _ref$isClearable,
109
+ _ref$onClear = _ref.onClear,
110
+ onClear = _ref$onClear === void 0 ? noop : _ref$onClear,
80
111
  _ref$dataCy = _ref.dataCy,
81
112
  dataCy = _ref$dataCy === void 0 ? "status-dropdown" : _ref$dataCy;
82
113
  var selectedOption = _findBy({
@@ -89,7 +120,10 @@ var StatusDropdown = function StatusDropdown(_ref) {
89
120
  return /*#__PURE__*/jsx(Target$1, _objectSpread({
90
121
  label: selectedValue
91
122
  }, _objectSpread(_objectSpread({}, selectedOption), {}, {
92
- dataCy: dataCy
123
+ dataCy: dataCy,
124
+ isClearable: isClearable,
125
+ onClear: onClear,
126
+ placeholder: placeholder
93
127
  })));
94
128
  },
95
129
  children: isLoading ? /*#__PURE__*/jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"StatusDropdown.js","sources":["../src/components/StatusDropdown/Menu.jsx","../src/components/StatusDropdown/constants.js","../src/components/StatusDropdown/Target.jsx","../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-cy={`status-dropdown-item-${hyphenate(option.value)}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { ICON_SIZE } from \"./constants\";\n\nconst Target = ({ color, label, dataCy }) => {\n const targetClassName = `neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--${color}`;\n\n return (\n <div\n className={targetClassName}\n data-cy={dataCy}\n data-testid=\"status-dropdown\"\n >\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n <Down className=\"ml-2 inline\" size={ICON_SIZE} />\n </div>\n );\n};\n\nexport default memo(Target);\n","import { _findBy } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n selectedValue,\n shouldShowAllOptions = false,\n dataCy = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n strategy=\"fixed\"\n customTarget={() => (\n <Target label={selectedValue} {...{ ...selectedOption, dataCy }} />\n )}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","hyphenate","onClick","label","memo","ICON_SIZE","Target","dataCy","targetClassName","_jsxs","Typography","style","Down","size","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","selectedValue","_ref$dataCy","selectedOption","_findBy","strategy","customTarget","_objectSpread","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"StatusDropdown.js","sources":["../src/components/StatusDropdown/Menu.jsx","../src/components/StatusDropdown/constants.js","../src/components/StatusDropdown/Target.jsx","../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-cy={`status-dropdown-item-${hyphenate(option.value)}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down, Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants\";\n\nconst Target = ({\n color,\n value,\n label,\n dataCy,\n isClearable,\n onClear,\n placeholder,\n}) => {\n const { t } = useTranslation();\n const targetClassName = `neeto-ui-rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--${\n color || \"waiting\"\n }`;\n const isOptionSelected = !isNil(value);\n\n return (\n <div\n className={targetClassName}\n data-cy={dataCy}\n data-testid=\"status-dropdown\"\n >\n {isOptionSelected ? (\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"neeto-ui-text-gray-600 inline\" style=\"body2\">\n {placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")}\n </Typography>\n )}\n <div className=\"inline-flex items-center gap-1\">\n {isClearable && isOptionSelected && (\n <button\n data-testid=\"status-dropdown-clear-button\"\n onClick={event => {\n onClear();\n event.stopPropagation();\n }}\n >\n <Close size={ICON_SIZE} />\n </button>\n )}\n <Down size={ICON_SIZE} />\n </div>\n </div>\n );\n};\n\nexport default memo(Target);\n","import { _findBy, noop } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n placeholder = null,\n selectedValue,\n shouldShowAllOptions = false,\n isClearable = false,\n onClear = noop,\n dataCy = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n strategy=\"fixed\"\n customTarget={() => (\n <Target\n label={selectedValue}\n {...{ ...selectedOption, dataCy, isClearable, onClear, placeholder }}\n />\n )}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * Placeholder for the dropdown.\n */\n placeholder: PropTypes.string,\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n /**\n * This prop will decide whether the dropdown is clearable or not.\n */\n isClearable: PropTypes.bool,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","hyphenate","onClick","label","memo","ICON_SIZE","Target","dataCy","isClearable","onClear","placeholder","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","_jsxs","Typography","style","event","stopPropagation","Close","size","Down","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","selectedValue","_ref$isClearable","_ref$onClear","noop","_ref$dataCy","selectedOption","_findBy","strategy","customTarget","_objectSpread","Spinner"],"mappings":"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"}
@@ -172,6 +172,7 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
172
172
  children: [/*#__PURE__*/jsxRuntime.jsx(Button, {
173
173
  className: "mr-1",
174
174
  "data-cy": "neeto-molecules-calendar-view-previous-button",
175
+ "data-testid": "neeto-molecules-calendar-view-previous-button",
175
176
  disabled: isDateLessThanStart,
176
177
  icon: Left,
177
178
  style: "text",
@@ -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\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n ...otherProps\n}) => {\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 space-x-4\">\n <Button\n data-cy=\"neeto-molecules-calendar-view-today-button\"\n label=\"Today\"\n style=\"secondary\"\n onClick={onToday}\n />\n <div className=\"flex\">\n <Button\n className=\"mr-1\"\n data-cy=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={Left}\n style=\"text\"\n onClick={onPrevious}\n />\n <Button\n data-cy=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={Down}\n ref={buttonRef}\n style=\"text\"\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-cy=\"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=\"ml-1\"\n data-cy=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={Right}\n style=\"text\"\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\";\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 { 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 className=\"flex space-x-4\">\n <CustomDatePicker\n {...{ selectedDate, setSelectedDate, validDates }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonProps={{ \"data-testid\": \"calendar-view-dropdown\" }}\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\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 } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\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 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\n const calendarRef = useRef();\n\n return (\n <div className=\"flex-col\" data-testid=\"calendar-view\">\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 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","_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","disabled","icon","Left","Down","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","buttonProps","buttonStyle","capitalize","values","map","idx","isActive","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","_useTranslation","useTranslation","handleDateChange","prevDate","newDate","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,CAAA;AAC3D,IAAMC,YAAY,GAAGD,SAAC,CAAC,qCAAqC,CAAC,CAAA;AAC7D,IAAME,UAAU,GAAGF,SAAC,CAAC,mCAAmC,CAAC,CAAA;AAElD,IAAMG,YAAY,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CACtBF,EAAAA,EAAAA,UAAU,EAAG;AACZG,EAAAA,KAAK,EAAEH,UAAU;AACjBI,EAAAA,gBAAgB,EAAE,aAAa;AAC/BC,EAAAA,MAAM,EAAE,KAAA;AACV,CAAC,CAAA,EACAR,WAAW,EAAG;AACbM,EAAAA,KAAK,EAAEN,WAAW;AAClBO,EAAAA,gBAAgB,EAAE,cAAc;AAChCC,EAAAA,MAAM,EAAE,MAAA;AACV,CAAC,CAAA,EACAN,YAAY,EAAG;AACdI,EAAAA,KAAK,EAAEJ,YAAY;AACnBK,EAAAA,gBAAgB,EAAE,cAAc;AAChCC,EAAAA,MAAM,EAAE,OAAA;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,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,kBAAA;IAAAE,cAAA,GAAAJ,IAAA,CACpBK,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAE,aAAA,GAAAN,IAAA,CACjBO,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA,CAAA;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,CAAA;AAAA,CACrD,CAAA;AAEG,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGT,IAAI,EAAA;EAAA,OAAIU,WAAK,CAACV,IAAI,CAAC,CAACW,OAAO,CAAC,MAAM,CAAC,CAAA;AAAA,CAAA,CAAA;AAE1D,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAGZ,IAAI,EAAA;EAAA,OAAIU,WAAK,CAACV,IAAI,CAAC,CAACa,KAAK,CAAC,MAAM,CAAC,CAAA;AAAA,CAAA,CAAA;AAEtD,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGd,IAAI,EAAA;AAAA,EAAA,OAAIA,IAAI,CAACQ,MAAM,CAAC,UAAU,CAAC,CAAA;AAAA,CAAA,CAAA;AAE5D,IAAMO,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGf,IAAI,EAAI;AAC9C,EAAA,IAAMgB,WAAW,GAAGP,cAAc,CAACT,IAAI,CAAC,CAAA;AACxC,EAAA,IAAMiB,SAAS,GAAGL,YAAY,CAACZ,IAAI,CAAC,CAAA;AAEpC,EAAA,IAAMkB,0BAA0B,GAAGF,WAAW,CAACG,KAAK,EAAE,KAAKF,SAAS,CAACE,KAAK,EAAE,CAAA;AAC5E,EAAA,IAAMC,yBAAyB,GAAGJ,WAAW,CAACK,IAAI,EAAE,KAAKJ,SAAS,CAACI,IAAI,EAAE,CAAA;EAEzE,IAAMC,cAAc,GAAGxB,aAAa,CAAC;AACnCE,IAAAA,IAAI,EAAEgB,WAAW;AACjBZ,IAAAA,SAAS,EAAEc,0BAA0B;AACrCZ,IAAAA,QAAQ,EAAEc,yBAAAA;AACZ,GAAC,CAAC,CAAA;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,yBAAAA;AACZ,GAAC,CAAC,CAAA;AAEF,EAAA,OAAA,EAAA,CAAAb,MAAA,CAAUe,cAAc,EAAAf,KAAAA,CAAAA,CAAAA,MAAA,CAAMgB,YAAY,CAAA,CAAA;AAC5C,CAAC,CAAA;AAEM,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGxB,IAAI,EAAA;AAAA,EAAA,OAAIA,IAAI,CAACQ,MAAM,CAAC,aAAa,CAAC,CAAA;AAAA,CAAA,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,kBAAAA;GACN,CAAA;AACD,EAAA,IAAMK,iBAAiB,GAAGH,eAAe,CAAC7B,MAAM,CAAC,CAAA;EAEjD,OAAOgC,iBAAiB,CAAC7B,IAAI,CAAC,CAAA;AAChC,CAAC,CAAA;AAEM,IAAM8B,SAAS,GACpB,SADWA,SAASA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAChBC,IAAI,GAAAC,IAAAA,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,CAAAJ,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,GAAA;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,CAAA;AAAA,KAC9D,CAAC,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA;;;;;ACrDP,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,CAAA;AAEb,EAAA,IAAAC,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,CAAA;AAExB,EAAA,IAAMI,aAAa,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AAClC,EAAA,IAAMC,SAAS,GAAGD,YAAM,CAAC,IAAI,CAAC,CAAA;AAE9B,EAAA,IAAME,gBAAgB,GAAGlC,oBAAoB,CAACmB,YAAY,EAAE/C,MAAM,CAAC,CAAA;AAEnE,EAAA,IAAQ+D,KAAK,GAAUd,UAAU,CAAzBc,KAAK;IAAEC,GAAG,GAAKf,UAAU,CAAlBe,GAAG,CAAA;AAElB,EAAA,IAAMC,mBAAmB,GACvBF,KAAK,IAAIhB,YAAY,CAACmB,cAAc,CAACrD,WAAK,CAACkD,KAAK,CAAC,EAAE/D,MAAM,CAAC,CAAA;AAE5D,EAAA,IAAMmE,oBAAoB,GACxBH,GAAG,IAAIjB,YAAY,CAACqB,aAAa,CAACvD,WAAK,CAACmD,GAAG,CAAC,EAAEhE,MAAM,CAAC,CAAA;AAEvD,EAAA,IAAMqE,UAAU,GAAG,SAAbA,UAAUA,GAAA;IAAA,OACdrB,eAAe,CAAC,UAAAD,YAAY,EAAA;AAAA,MAAA,OAAIA,YAAY,CAACuB,QAAQ,CAAC,CAAC,EAAEtE,MAAM,CAAC,CAAA;KAAC,CAAA,CAAA;AAAA,GAAA,CAAA;AAEnE,EAAA,IAAMuE,MAAM,GAAG,SAATA,MAAMA,GAAA;IAAA,OACVvB,eAAe,CAAC,UAAAD,YAAY,EAAA;AAAA,MAAA,OAAIA,YAAY,CAACyB,GAAG,CAAC,CAAC,EAAExE,MAAM,CAAC,CAAA;KAAC,CAAA,CAAA;AAAA,GAAA,CAAA;AAE9D,EAAA,IAAMyE,OAAO,GAAG,SAAVA,OAAOA,GAAA;AAAA,IAAA,OAASzB,eAAe,CAACnC,WAAK,EAAE,CAAC,CAAA;AAAA,GAAA,CAAA;AAE9C,EAAA,IAAM6D,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGvE,IAAI,EAAI;AAC/B,IAAA,IAAI,CAACA,IAAI,EAAE,OAAO,KAAK,CAAA;IAEvB,OAAQ4D,KAAK,IAAI5D,IAAI,IAAI4D,KAAK,IAAMC,GAAG,IAAI7D,IAAI,IAAI6D,GAAI,CAAA;GACxD,CAAA;AAED,EAAA,IAAMW,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,CAAC,EAAI;AACjC,IAAA,IAAI,EAAEf,SAAS,CAAChB,OAAO,IAAIgB,SAAS,CAAChB,OAAO,CAACgC,QAAQ,CAACD,CAAC,CAACE,MAAM,CAAC,CAAC,EAAE,OAAA;IAClEF,CAAC,CAACG,eAAe,EAAE,CAAA;IACnB,IAAItB,MAAM,EAAEE,aAAa,CAACd,OAAO,CAACmC,KAAK,EAAE,CAAA;GAC1C,CAAA;AAED,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,2CAA2C;IAAAC,QAAA,EAAA,cACxDC,cAAA,CAACC,MAAM,EAAA;AACL,MAAA,SAAA,EAAQ,4CAA4C;AACpDvF,MAAAA,KAAK,EAAC,OAAO;AACbwF,MAAAA,KAAK,EAAC,WAAW;AACjBC,MAAAA,OAAO,EAAEd,OAAAA;KACV,CAAC,eACFQ,eAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,MAAM;MAAAC,QAAA,EAAA,cACnBC,cAAA,CAACC,MAAM,EAAA;AACLH,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAQ,+CAA+C;AACvDM,QAAAA,QAAQ,EAAEvB,mBAAoB;AAC9BwB,QAAAA,IAAI,EAAEC,IAAK;AACXJ,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,OAAO,EAAElB,UAAAA;AAAW,OACrB,CAAC,eACFe,cAAA,CAACC,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,kDAAkD;AAC1DI,QAAAA,IAAI,EAAEE,IAAK;AACX/C,QAAAA,GAAG,EAAEiB,SAAU;AACfyB,QAAAA,KAAK,EAAC,MAAM;QACZC,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQ7B,SAAS,CAAC,UAAAD,MAAM,EAAA;AAAA,YAAA,OAAI,CAACA,MAAM,CAAA;WAAC,CAAA,CAAA;SAAC;AAC5CmC,QAAAA,WAAW,EAAEjB,qBAAsB;QAAAQ,QAAA,eAEnCC,cAAA,CAACS,UAAU,EAAA;AACT,UAAA,SAAA,EAAQ,wDAAwD;AAChEP,UAAAA,KAAK,EAAC,IAAI;AAAAH,UAAAA,QAAA,EAETrB,gBAAAA;SACS,CAAA;AAAC,OACP,CAAC,eACTsB,cAAA,CAACU,UAAU,EAAAC,eAAA,CAAA;AACTb,QAAAA,SAAS,EAAC,oBAAoB;AAC9Bc,QAAAA,YAAY,EAAEjD,YAAa;AAC3BkD,QAAAA,YAAY,EAAEvB,gBAAiB;AAC/BwB,QAAAA,IAAI,EAAEzC,MAAO;AACb0C,QAAAA,SAAS,EAAC,UAAU;AACpBvD,QAAAA,GAAG,EAAEe,aAAc;AACnByC,QAAAA,KAAK,EAAErD,YAAa;AACpBsD,QAAAA,QAAQ,EAAErD,eAAgB;AAC1BsD,QAAAA,YAAY,EAAE5C,SAAAA;AAAU,OAAA,EAAAqC,eAAA,CAAA;AAClB/F,QAAAA,MAAM,EAANA,MAAAA;AAAM,OAAA,EAAKkD,UAAU,CAC5B,CAAA,CAAC,eACFkC,cAAA,CAACC,MAAM,EAAA;AACLH,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAQ,2CAA2C;AACnDM,QAAAA,QAAQ,EAAErB,oBAAqB;AAC/BsB,QAAAA,IAAI,EAAEc,KAAM;AACZjB,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,OAAO,EAAEhB,MAAAA;AAAO,OACjB,CAAC,CAAA;AAAA,KACC,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEV,CAAC;;ACjGD,IAAMiC,MAAM,GAAG,SAATA,MAAMA,CAAAtG,IAAA,EAQN;AAAA,EAAA,IAPJuG,WAAW,GAAAvG,IAAA,CAAXuG,WAAW;IACXC,YAAY,GAAAxG,IAAA,CAAZwG,YAAY;IACZC,eAAe,GAAAzG,IAAA,CAAfyG,eAAe;IACf3D,eAAe,GAAA9C,IAAA,CAAf8C,eAAe;IACfD,YAAY,GAAA7C,IAAA,CAAZ6C,YAAY;IACZ6D,mBAAmB,GAAA1G,IAAA,CAAnB0G,mBAAmB;IACnB3D,UAAU,GAAA/C,IAAA,CAAV+C,UAAU,CAAA;AAEV,EAAA,IAAQ4D,IAAI,GAAeC,QAAQ,CAA3BD,IAAI;IAAEE,QAAQ,GAAKD,QAAQ,CAArBC,QAAQ,CAAA;AAEtB,EAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,MAAM,EAAI;IACpCN,eAAe,CAACM,MAAM,CAAC,CAAA;IACvBR,WAAW,CAAC5D,OAAO,CAACqE,QAAQ,CAACC,UAAU,CAACF,MAAM,CAAClH,gBAAgB,CAAC,CAAA;GACjE,CAAA;AAED,EAAA,IAAMqH,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAA;AAAA,IAAA,IAAAC,oBAAA,CAAA;AAAA,IAAA,OAC1BZ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,IAAA,CAAAY,oBAAA,GAAXZ,WAAW,CAAE5D,OAAO,MAAA,IAAA,IAAAwE,oBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,oBAAA,GAApBA,oBAAA,CAAsBH,QAAQ,MAAAG,IAAAA,IAAAA,oBAAA,KAA9BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAgCC,QAAQ,CAACvE,YAAY,CAACpC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;AAAA,GAAA,CAAA;AAE7E4G,EAAAA,eAAS,CAAC,YAAM;IACdC,UAAU,CAACJ,sBAAsB,CAAC,CAAA;AACpC,GAAC,EAAE,CAACrE,YAAY,CAAC,CAAC,CAAA;AAElB,EAAA,oBACEkC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,gBAAgB;IAAAC,QAAA,EAAA,cAC7BC,cAAA,CAACtC,gBAAgB,EAAA;AACTC,MAAAA,YAAY,EAAZA,YAAY;AAAEC,MAAAA,eAAe,EAAfA,eAAe;AAAEC,MAAAA,UAAU,EAAVA,UAAU;AAC/CwE,MAAAA,iBAAiB,EAAEC,UAAI,CAAC,YAAY,CAAE;MACtC1H,MAAM,EAAE0G,YAAY,CAAC1G,MAAAA;AAAO,KAC7B,CAAC,EACD2H,MAAM,CAACC,IAAI,CAAChB,mBAAmB,CAAC,CAACxE,MAAM,GAAG,CAAC,iBAC1CgD,cAAA,CAAC0B,QAAQ,EAAA;AACPe,MAAAA,WAAW,EAAE;AAAE,QAAA,aAAa,EAAE,wBAAA;OAA2B;AACzDC,MAAAA,WAAW,EAAC,WAAW;AACvBhI,MAAAA,KAAK,EAAEiI,oBAAU,CAACrB,YAAY,CAAC5G,KAAK,CAAE;MAAAqF,QAAA,eAEtCC,cAAA,CAACyB,IAAI,EAAA;QAAA1B,QAAA,EACF6C,YAAM,CAACpB,mBAAmB,CAAC,CAACqB,GAAG,CAAC,UAAChB,MAAM,EAAEiB,GAAG,EAAA;AAAA,UAAA,oBAC3C9C,cAAA,CAAC2B,QAAQ,CAAC1B,MAAM,EAAA;YACd8C,QAAQ,EAAEzB,YAAY,KAAKO,MAAO;YAElC1B,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQyB,mBAAmB,CAACC,MAAM,CAAC,CAAA;aAAC;AAAA9B,YAAAA,QAAA,EAE1C4C,oBAAU,CAACd,MAAM,CAACnH,KAAK,CAAA;AAAC,WAAA,EAHpBoI,GAIU,CAAC,CAAA;SACnB,CAAA;OACG,CAAA;AAAC,KACC,CACX,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC;;;;;ACvCKE,IAAAA,YAAY,gBAAGC,gBAAU,CAC7B,UAAAnI,IAAA,EAeE0C,GAAG,EACA;AAAA,EAAA,IAAA0F,gBAAA,GAAApI,IAAA,CAdDqI,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG1I,KAAAA,CAAAA,GAAAA,YAAY,GAAA0I,gBAAA;IAAAE,WAAA,GAAAtI,IAAA,CAC1BuI,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IAAAE,oBAAA,GAAAxI,IAAA,CACXyI,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,oBAAA;IAAAG,qBAAA,GAAA3I,IAAA,CACtB4I,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAGD,KAAAA,CAAAA,GAAAA,cAAI,GAAAC,qBAAA;IAAAE,oBAAA,GAAA7I,IAAA,CACvB8I,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAAA/I,IAAA,CACpBgJ,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAE,eAAA,GAAAjJ,IAAA,CACtB+C,UAAU;IAAVA,UAAU,GAAAkG,eAAA,KAAG,KAAA,CAAA,GAAA;AAAEpF,MAAAA,KAAK,EAAE,IAAI;AAAEC,MAAAA,GAAG,EAAE,IAAA;AAAK,KAAC,GAAAmF,eAAA;IAAAC,iBAAA,GAAAlJ,IAAA,CACvCmJ,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAGR,KAAAA,CAAAA,GAAAA,cAAI,GAAAQ,iBAAA;IACnBE,YAAY,GAAApJ,IAAA,CAAZoJ,YAAY;IACZC,aAAa,GAAArJ,IAAA,CAAbqJ,aAAa;IAAAC,eAAA,GAAAtJ,IAAA,CACbuJ,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;AACftG,IAAAA,UAAU,GAAAC,wBAAA,CAAAjD,IAAA,EAAAkD,SAAA,CAAA,CAAA;AAIf,EAAA,IAAMwD,mBAAmB,GAAG2B,WAAW,IAAI3I,YAAY,CAAA;AAEvD,EAAA,IAAM8J,WAAW,GACf/B,MAAM,CAACK,MAAM,CAACpB,mBAAmB,CAAC,CAAC+C,IAAI,CAACjC,UAAI,CAAC,SAAS,CAAC,CAAC,IACxDd,mBAAmB,CAACe,MAAM,CAACC,IAAI,CAAChB,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1D,EAAA,IAAAvD,SAAA,GAAwCC,cAAQ,CAACoG,WAAW,CAAC;IAAAnG,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtDqD,IAAAA,YAAY,GAAAnD,UAAA,CAAA,CAAA,CAAA;AAAEoD,IAAAA,eAAe,GAAApD,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAqG,UAAA,GAAwCtG,cAAQ,CAACzC,WAAK,EAAE,CAAC;IAAAgJ,UAAA,GAAArG,cAAA,CAAAoG,UAAA,EAAA,CAAA,CAAA;AAAlD7G,IAAAA,YAAY,GAAA8G,UAAA,CAAA,CAAA,CAAA;AAAE7G,IAAAA,eAAe,GAAA6G,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBtK,CAAC,GAAAqK,eAAA,CAADrK,CAAC,CAAA;AAET,EAAA,IAAMuK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAG7J,IAAI,EAAI;IAC/B6C,eAAe,CAAC,UAAAiH,QAAQ,EAAI;AAC1B,MAAA,IAAMC,OAAO,GAAG,OAAO/J,IAAI,KAAK,UAAU,GAAGA,IAAI,CAAC8J,QAAQ,CAAC,GAAG9J,IAAI,CAAA;MAClEkJ,YAAY,CAACa,OAAO,CAAC,CAAA;AAErB,MAAA,OAAOA,OAAO,CAAA;AAChB,KAAC,CAAC,CAAA;GACH,CAAA;AAED,EAAA,IAAMzD,WAAW,GAAG7C,YAAM,EAAE,CAAA;AAE5B,EAAA,oBACEqB,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAAC,IAAA,aAAA,EAAY,eAAe;AAAAC,IAAAA,QAAA,GAClD,CAACsE,UAAU,iBACVrE,cAAA,CAAC+E,SAAS,EAAA;MACRC,eAAe,eACbhF,cAAA,CAACS,UAAU,EAAA;AAACP,QAAAA,KAAK,EAAC,IAAI;AAAAH,QAAAA,QAAA,EACnBpC,YAAY,CAACpC,MAAM,CAAC,YAAY,CAAA;AAAC,OACxB,CACb;AACD0J,MAAAA,gBAAgB,eACdjF,cAAA,CAACoB,MAAM,EAAA3G,eAAA,CAAA;AAEH4G,QAAAA,WAAW,EAAXA,WAAW;AACXG,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB7D,QAAAA,YAAY,EAAZA,YAAY;AACZ2D,QAAAA,YAAY,EAAZA,YAAY;AACZ1D,QAAAA,eAAe,EAAfA,eAAe;AACf2D,QAAAA,eAAe,EAAfA,eAAe;AACf1D,QAAAA,UAAU,EAAVA,UAAAA;AAAU,OAAA,EAAA,iBAAA,EAEK+G,gBAAgB,CAClC,CAAA;AACF,KACF,CACF,eACD5E,cAAA,CAACkF,YAAY,EAAAvE,aAAA,CAAA;MACXwE,UAAU,EAAA,IAAA;AACVC,MAAAA,UAAU,EAAE/K,CAAC,CAAC,oCAAoC,CAAE;AACpDgL,MAAAA,SAAS,EAAE9B,eAAgB;AAC3B+B,MAAAA,mBAAmB,EAAC,KAAK;AACzBC,MAAAA,gBAAgB,EAAE,KAAM;AACxBC,MAAAA,UAAU,EAAE9B,gBAAiB;AAC7B+B,MAAAA,aAAa,EAAE,KAAM;AACrBC,MAAAA,MAAM,EAAC,MAAM;MACbC,WAAW,EAAErE,YAAY,CAAC3G,gBAAiB;AAC3CiL,MAAAA,OAAO,EAAE,CAACC,aAAa,EAAEC,cAAc,EAAEC,iBAAiB,CAAE;AAC5DvI,MAAAA,GAAG,EAAEX,SAAS,CAACW,GAAG,EAAE6D,WAAW,CAAA;AAAE,KAAA,EAAAV,aAAA,CAAA;AAE/BmD,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBI,MAAAA,YAAY,EAAZA,YAAY;AACZN,MAAAA,eAAe,EAAfA,eAAe;AACfO,MAAAA,aAAa,EAAbA,aAAa;AACbd,MAAAA,MAAM,EAANA,MAAAA;KACGvF,EAAAA,UAAU,EAEhB,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAEV,CACF,EAAC;AAEDkF,YAAY,CAACgD,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","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\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n ...otherProps\n}) => {\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 space-x-4\">\n <Button\n data-cy=\"neeto-molecules-calendar-view-today-button\"\n label=\"Today\"\n style=\"secondary\"\n onClick={onToday}\n />\n <div className=\"flex\">\n <Button\n className=\"mr-1\"\n data-cy=\"neeto-molecules-calendar-view-previous-button\"\n data-testid=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={Left}\n style=\"text\"\n onClick={onPrevious}\n />\n <Button\n data-cy=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={Down}\n ref={buttonRef}\n style=\"text\"\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-cy=\"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=\"ml-1\"\n data-cy=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={Right}\n style=\"text\"\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\";\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 { 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 className=\"flex space-x-4\">\n <CustomDatePicker\n {...{ selectedDate, setSelectedDate, validDates }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonProps={{ \"data-testid\": \"calendar-view-dropdown\" }}\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\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 } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\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 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\n const calendarRef = useRef();\n\n return (\n <div className=\"flex-col\" data-testid=\"calendar-view\">\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 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","_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","disabled","icon","Left","Down","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","buttonProps","buttonStyle","capitalize","values","map","idx","isActive","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","_useTranslation","useTranslation","handleDateChange","prevDate","newDate","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,CAAA;AAC3D,IAAMC,YAAY,GAAGD,SAAC,CAAC,qCAAqC,CAAC,CAAA;AAC7D,IAAME,UAAU,GAAGF,SAAC,CAAC,mCAAmC,CAAC,CAAA;AAElD,IAAMG,YAAY,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CACtBF,EAAAA,EAAAA,UAAU,EAAG;AACZG,EAAAA,KAAK,EAAEH,UAAU;AACjBI,EAAAA,gBAAgB,EAAE,aAAa;AAC/BC,EAAAA,MAAM,EAAE,KAAA;AACV,CAAC,CAAA,EACAR,WAAW,EAAG;AACbM,EAAAA,KAAK,EAAEN,WAAW;AAClBO,EAAAA,gBAAgB,EAAE,cAAc;AAChCC,EAAAA,MAAM,EAAE,MAAA;AACV,CAAC,CAAA,EACAN,YAAY,EAAG;AACdI,EAAAA,KAAK,EAAEJ,YAAY;AACnBK,EAAAA,gBAAgB,EAAE,cAAc;AAChCC,EAAAA,MAAM,EAAE,OAAA;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,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,kBAAA;IAAAE,cAAA,GAAAJ,IAAA,CACpBK,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAE,aAAA,GAAAN,IAAA,CACjBO,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA,CAAA;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,CAAA;AAAA,CACrD,CAAA;AAEG,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGT,IAAI,EAAA;EAAA,OAAIU,WAAK,CAACV,IAAI,CAAC,CAACW,OAAO,CAAC,MAAM,CAAC,CAAA;AAAA,CAAA,CAAA;AAE1D,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAGZ,IAAI,EAAA;EAAA,OAAIU,WAAK,CAACV,IAAI,CAAC,CAACa,KAAK,CAAC,MAAM,CAAC,CAAA;AAAA,CAAA,CAAA;AAEtD,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGd,IAAI,EAAA;AAAA,EAAA,OAAIA,IAAI,CAACQ,MAAM,CAAC,UAAU,CAAC,CAAA;AAAA,CAAA,CAAA;AAE5D,IAAMO,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGf,IAAI,EAAI;AAC9C,EAAA,IAAMgB,WAAW,GAAGP,cAAc,CAACT,IAAI,CAAC,CAAA;AACxC,EAAA,IAAMiB,SAAS,GAAGL,YAAY,CAACZ,IAAI,CAAC,CAAA;AAEpC,EAAA,IAAMkB,0BAA0B,GAAGF,WAAW,CAACG,KAAK,EAAE,KAAKF,SAAS,CAACE,KAAK,EAAE,CAAA;AAC5E,EAAA,IAAMC,yBAAyB,GAAGJ,WAAW,CAACK,IAAI,EAAE,KAAKJ,SAAS,CAACI,IAAI,EAAE,CAAA;EAEzE,IAAMC,cAAc,GAAGxB,aAAa,CAAC;AACnCE,IAAAA,IAAI,EAAEgB,WAAW;AACjBZ,IAAAA,SAAS,EAAEc,0BAA0B;AACrCZ,IAAAA,QAAQ,EAAEc,yBAAAA;AACZ,GAAC,CAAC,CAAA;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,yBAAAA;AACZ,GAAC,CAAC,CAAA;AAEF,EAAA,OAAA,EAAA,CAAAb,MAAA,CAAUe,cAAc,EAAAf,KAAAA,CAAAA,CAAAA,MAAA,CAAMgB,YAAY,CAAA,CAAA;AAC5C,CAAC,CAAA;AAEM,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGxB,IAAI,EAAA;AAAA,EAAA,OAAIA,IAAI,CAACQ,MAAM,CAAC,aAAa,CAAC,CAAA;AAAA,CAAA,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,kBAAAA;GACN,CAAA;AACD,EAAA,IAAMK,iBAAiB,GAAGH,eAAe,CAAC7B,MAAM,CAAC,CAAA;EAEjD,OAAOgC,iBAAiB,CAAC7B,IAAI,CAAC,CAAA;AAChC,CAAC,CAAA;AAEM,IAAM8B,SAAS,GACpB,SADWA,SAASA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAChBC,IAAI,GAAAC,IAAAA,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,CAAAJ,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,GAAA;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,CAAA;AAAA,KAC9D,CAAC,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA;;;;;ACrDP,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,CAAA;AAEb,EAAA,IAAAC,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,CAAA;AAExB,EAAA,IAAMI,aAAa,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AAClC,EAAA,IAAMC,SAAS,GAAGD,YAAM,CAAC,IAAI,CAAC,CAAA;AAE9B,EAAA,IAAME,gBAAgB,GAAGlC,oBAAoB,CAACmB,YAAY,EAAE/C,MAAM,CAAC,CAAA;AAEnE,EAAA,IAAQ+D,KAAK,GAAUd,UAAU,CAAzBc,KAAK;IAAEC,GAAG,GAAKf,UAAU,CAAlBe,GAAG,CAAA;AAElB,EAAA,IAAMC,mBAAmB,GACvBF,KAAK,IAAIhB,YAAY,CAACmB,cAAc,CAACrD,WAAK,CAACkD,KAAK,CAAC,EAAE/D,MAAM,CAAC,CAAA;AAE5D,EAAA,IAAMmE,oBAAoB,GACxBH,GAAG,IAAIjB,YAAY,CAACqB,aAAa,CAACvD,WAAK,CAACmD,GAAG,CAAC,EAAEhE,MAAM,CAAC,CAAA;AAEvD,EAAA,IAAMqE,UAAU,GAAG,SAAbA,UAAUA,GAAA;IAAA,OACdrB,eAAe,CAAC,UAAAD,YAAY,EAAA;AAAA,MAAA,OAAIA,YAAY,CAACuB,QAAQ,CAAC,CAAC,EAAEtE,MAAM,CAAC,CAAA;KAAC,CAAA,CAAA;AAAA,GAAA,CAAA;AAEnE,EAAA,IAAMuE,MAAM,GAAG,SAATA,MAAMA,GAAA;IAAA,OACVvB,eAAe,CAAC,UAAAD,YAAY,EAAA;AAAA,MAAA,OAAIA,YAAY,CAACyB,GAAG,CAAC,CAAC,EAAExE,MAAM,CAAC,CAAA;KAAC,CAAA,CAAA;AAAA,GAAA,CAAA;AAE9D,EAAA,IAAMyE,OAAO,GAAG,SAAVA,OAAOA,GAAA;AAAA,IAAA,OAASzB,eAAe,CAACnC,WAAK,EAAE,CAAC,CAAA;AAAA,GAAA,CAAA;AAE9C,EAAA,IAAM6D,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGvE,IAAI,EAAI;AAC/B,IAAA,IAAI,CAACA,IAAI,EAAE,OAAO,KAAK,CAAA;IAEvB,OAAQ4D,KAAK,IAAI5D,IAAI,IAAI4D,KAAK,IAAMC,GAAG,IAAI7D,IAAI,IAAI6D,GAAI,CAAA;GACxD,CAAA;AAED,EAAA,IAAMW,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,CAAC,EAAI;AACjC,IAAA,IAAI,EAAEf,SAAS,CAAChB,OAAO,IAAIgB,SAAS,CAAChB,OAAO,CAACgC,QAAQ,CAACD,CAAC,CAACE,MAAM,CAAC,CAAC,EAAE,OAAA;IAClEF,CAAC,CAACG,eAAe,EAAE,CAAA;IACnB,IAAItB,MAAM,EAAEE,aAAa,CAACd,OAAO,CAACmC,KAAK,EAAE,CAAA;GAC1C,CAAA;AAED,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,2CAA2C;IAAAC,QAAA,EAAA,cACxDC,cAAA,CAACC,MAAM,EAAA;AACL,MAAA,SAAA,EAAQ,4CAA4C;AACpDvF,MAAAA,KAAK,EAAC,OAAO;AACbwF,MAAAA,KAAK,EAAC,WAAW;AACjBC,MAAAA,OAAO,EAAEd,OAAAA;KACV,CAAC,eACFQ,eAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,MAAM;MAAAC,QAAA,EAAA,cACnBC,cAAA,CAACC,MAAM,EAAA;AACLH,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAQ,+CAA+C;AACvD,QAAA,aAAA,EAAY,+CAA+C;AAC3DM,QAAAA,QAAQ,EAAEvB,mBAAoB;AAC9BwB,QAAAA,IAAI,EAAEC,IAAK;AACXJ,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,OAAO,EAAElB,UAAAA;AAAW,OACrB,CAAC,eACFe,cAAA,CAACC,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,kDAAkD;AAC1DI,QAAAA,IAAI,EAAEE,IAAK;AACX/C,QAAAA,GAAG,EAAEiB,SAAU;AACfyB,QAAAA,KAAK,EAAC,MAAM;QACZC,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQ7B,SAAS,CAAC,UAAAD,MAAM,EAAA;AAAA,YAAA,OAAI,CAACA,MAAM,CAAA;WAAC,CAAA,CAAA;SAAC;AAC5CmC,QAAAA,WAAW,EAAEjB,qBAAsB;QAAAQ,QAAA,eAEnCC,cAAA,CAACS,UAAU,EAAA;AACT,UAAA,SAAA,EAAQ,wDAAwD;AAChEP,UAAAA,KAAK,EAAC,IAAI;AAAAH,UAAAA,QAAA,EAETrB,gBAAAA;SACS,CAAA;AAAC,OACP,CAAC,eACTsB,cAAA,CAACU,UAAU,EAAAC,eAAA,CAAA;AACTb,QAAAA,SAAS,EAAC,oBAAoB;AAC9Bc,QAAAA,YAAY,EAAEjD,YAAa;AAC3BkD,QAAAA,YAAY,EAAEvB,gBAAiB;AAC/BwB,QAAAA,IAAI,EAAEzC,MAAO;AACb0C,QAAAA,SAAS,EAAC,UAAU;AACpBvD,QAAAA,GAAG,EAAEe,aAAc;AACnByC,QAAAA,KAAK,EAAErD,YAAa;AACpBsD,QAAAA,QAAQ,EAAErD,eAAgB;AAC1BsD,QAAAA,YAAY,EAAE5C,SAAAA;AAAU,OAAA,EAAAqC,eAAA,CAAA;AAClB/F,QAAAA,MAAM,EAANA,MAAAA;AAAM,OAAA,EAAKkD,UAAU,CAC5B,CAAA,CAAC,eACFkC,cAAA,CAACC,MAAM,EAAA;AACLH,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAQ,2CAA2C;AACnDM,QAAAA,QAAQ,EAAErB,oBAAqB;AAC/BsB,QAAAA,IAAI,EAAEc,KAAM;AACZjB,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,OAAO,EAAEhB,MAAAA;AAAO,OACjB,CAAC,CAAA;AAAA,KACC,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEV,CAAC;;AClGD,IAAMiC,MAAM,GAAG,SAATA,MAAMA,CAAAtG,IAAA,EAQN;AAAA,EAAA,IAPJuG,WAAW,GAAAvG,IAAA,CAAXuG,WAAW;IACXC,YAAY,GAAAxG,IAAA,CAAZwG,YAAY;IACZC,eAAe,GAAAzG,IAAA,CAAfyG,eAAe;IACf3D,eAAe,GAAA9C,IAAA,CAAf8C,eAAe;IACfD,YAAY,GAAA7C,IAAA,CAAZ6C,YAAY;IACZ6D,mBAAmB,GAAA1G,IAAA,CAAnB0G,mBAAmB;IACnB3D,UAAU,GAAA/C,IAAA,CAAV+C,UAAU,CAAA;AAEV,EAAA,IAAQ4D,IAAI,GAAeC,QAAQ,CAA3BD,IAAI;IAAEE,QAAQ,GAAKD,QAAQ,CAArBC,QAAQ,CAAA;AAEtB,EAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,MAAM,EAAI;IACpCN,eAAe,CAACM,MAAM,CAAC,CAAA;IACvBR,WAAW,CAAC5D,OAAO,CAACqE,QAAQ,CAACC,UAAU,CAACF,MAAM,CAAClH,gBAAgB,CAAC,CAAA;GACjE,CAAA;AAED,EAAA,IAAMqH,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAA;AAAA,IAAA,IAAAC,oBAAA,CAAA;AAAA,IAAA,OAC1BZ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,IAAA,CAAAY,oBAAA,GAAXZ,WAAW,CAAE5D,OAAO,MAAA,IAAA,IAAAwE,oBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,oBAAA,GAApBA,oBAAA,CAAsBH,QAAQ,MAAAG,IAAAA,IAAAA,oBAAA,KAA9BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAgCC,QAAQ,CAACvE,YAAY,CAACpC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;AAAA,GAAA,CAAA;AAE7E4G,EAAAA,eAAS,CAAC,YAAM;IACdC,UAAU,CAACJ,sBAAsB,CAAC,CAAA;AACpC,GAAC,EAAE,CAACrE,YAAY,CAAC,CAAC,CAAA;AAElB,EAAA,oBACEkC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,gBAAgB;IAAAC,QAAA,EAAA,cAC7BC,cAAA,CAACtC,gBAAgB,EAAA;AACTC,MAAAA,YAAY,EAAZA,YAAY;AAAEC,MAAAA,eAAe,EAAfA,eAAe;AAAEC,MAAAA,UAAU,EAAVA,UAAU;AAC/CwE,MAAAA,iBAAiB,EAAEC,UAAI,CAAC,YAAY,CAAE;MACtC1H,MAAM,EAAE0G,YAAY,CAAC1G,MAAAA;AAAO,KAC7B,CAAC,EACD2H,MAAM,CAACC,IAAI,CAAChB,mBAAmB,CAAC,CAACxE,MAAM,GAAG,CAAC,iBAC1CgD,cAAA,CAAC0B,QAAQ,EAAA;AACPe,MAAAA,WAAW,EAAE;AAAE,QAAA,aAAa,EAAE,wBAAA;OAA2B;AACzDC,MAAAA,WAAW,EAAC,WAAW;AACvBhI,MAAAA,KAAK,EAAEiI,oBAAU,CAACrB,YAAY,CAAC5G,KAAK,CAAE;MAAAqF,QAAA,eAEtCC,cAAA,CAACyB,IAAI,EAAA;QAAA1B,QAAA,EACF6C,YAAM,CAACpB,mBAAmB,CAAC,CAACqB,GAAG,CAAC,UAAChB,MAAM,EAAEiB,GAAG,EAAA;AAAA,UAAA,oBAC3C9C,cAAA,CAAC2B,QAAQ,CAAC1B,MAAM,EAAA;YACd8C,QAAQ,EAAEzB,YAAY,KAAKO,MAAO;YAElC1B,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQyB,mBAAmB,CAACC,MAAM,CAAC,CAAA;aAAC;AAAA9B,YAAAA,QAAA,EAE1C4C,oBAAU,CAACd,MAAM,CAACnH,KAAK,CAAA;AAAC,WAAA,EAHpBoI,GAIU,CAAC,CAAA;SACnB,CAAA;OACG,CAAA;AAAC,KACC,CACX,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC;;;;;ACvCKE,IAAAA,YAAY,gBAAGC,gBAAU,CAC7B,UAAAnI,IAAA,EAeE0C,GAAG,EACA;AAAA,EAAA,IAAA0F,gBAAA,GAAApI,IAAA,CAdDqI,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG1I,KAAAA,CAAAA,GAAAA,YAAY,GAAA0I,gBAAA;IAAAE,WAAA,GAAAtI,IAAA,CAC1BuI,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IAAAE,oBAAA,GAAAxI,IAAA,CACXyI,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,oBAAA;IAAAG,qBAAA,GAAA3I,IAAA,CACtB4I,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAGD,KAAAA,CAAAA,GAAAA,cAAI,GAAAC,qBAAA;IAAAE,oBAAA,GAAA7I,IAAA,CACvB8I,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAAA/I,IAAA,CACpBgJ,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAE,eAAA,GAAAjJ,IAAA,CACtB+C,UAAU;IAAVA,UAAU,GAAAkG,eAAA,KAAG,KAAA,CAAA,GAAA;AAAEpF,MAAAA,KAAK,EAAE,IAAI;AAAEC,MAAAA,GAAG,EAAE,IAAA;AAAK,KAAC,GAAAmF,eAAA;IAAAC,iBAAA,GAAAlJ,IAAA,CACvCmJ,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAGR,KAAAA,CAAAA,GAAAA,cAAI,GAAAQ,iBAAA;IACnBE,YAAY,GAAApJ,IAAA,CAAZoJ,YAAY;IACZC,aAAa,GAAArJ,IAAA,CAAbqJ,aAAa;IAAAC,eAAA,GAAAtJ,IAAA,CACbuJ,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;AACftG,IAAAA,UAAU,GAAAC,wBAAA,CAAAjD,IAAA,EAAAkD,SAAA,CAAA,CAAA;AAIf,EAAA,IAAMwD,mBAAmB,GAAG2B,WAAW,IAAI3I,YAAY,CAAA;AAEvD,EAAA,IAAM8J,WAAW,GACf/B,MAAM,CAACK,MAAM,CAACpB,mBAAmB,CAAC,CAAC+C,IAAI,CAACjC,UAAI,CAAC,SAAS,CAAC,CAAC,IACxDd,mBAAmB,CAACe,MAAM,CAACC,IAAI,CAAChB,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1D,EAAA,IAAAvD,SAAA,GAAwCC,cAAQ,CAACoG,WAAW,CAAC;IAAAnG,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtDqD,IAAAA,YAAY,GAAAnD,UAAA,CAAA,CAAA,CAAA;AAAEoD,IAAAA,eAAe,GAAApD,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAqG,UAAA,GAAwCtG,cAAQ,CAACzC,WAAK,EAAE,CAAC;IAAAgJ,UAAA,GAAArG,cAAA,CAAAoG,UAAA,EAAA,CAAA,CAAA;AAAlD7G,IAAAA,YAAY,GAAA8G,UAAA,CAAA,CAAA,CAAA;AAAE7G,IAAAA,eAAe,GAAA6G,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBtK,CAAC,GAAAqK,eAAA,CAADrK,CAAC,CAAA;AAET,EAAA,IAAMuK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAG7J,IAAI,EAAI;IAC/B6C,eAAe,CAAC,UAAAiH,QAAQ,EAAI;AAC1B,MAAA,IAAMC,OAAO,GAAG,OAAO/J,IAAI,KAAK,UAAU,GAAGA,IAAI,CAAC8J,QAAQ,CAAC,GAAG9J,IAAI,CAAA;MAClEkJ,YAAY,CAACa,OAAO,CAAC,CAAA;AAErB,MAAA,OAAOA,OAAO,CAAA;AAChB,KAAC,CAAC,CAAA;GACH,CAAA;AAED,EAAA,IAAMzD,WAAW,GAAG7C,YAAM,EAAE,CAAA;AAE5B,EAAA,oBACEqB,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAAC,IAAA,aAAA,EAAY,eAAe;AAAAC,IAAAA,QAAA,GAClD,CAACsE,UAAU,iBACVrE,cAAA,CAAC+E,SAAS,EAAA;MACRC,eAAe,eACbhF,cAAA,CAACS,UAAU,EAAA;AAACP,QAAAA,KAAK,EAAC,IAAI;AAAAH,QAAAA,QAAA,EACnBpC,YAAY,CAACpC,MAAM,CAAC,YAAY,CAAA;AAAC,OACxB,CACb;AACD0J,MAAAA,gBAAgB,eACdjF,cAAA,CAACoB,MAAM,EAAA3G,eAAA,CAAA;AAEH4G,QAAAA,WAAW,EAAXA,WAAW;AACXG,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB7D,QAAAA,YAAY,EAAZA,YAAY;AACZ2D,QAAAA,YAAY,EAAZA,YAAY;AACZ1D,QAAAA,eAAe,EAAfA,eAAe;AACf2D,QAAAA,eAAe,EAAfA,eAAe;AACf1D,QAAAA,UAAU,EAAVA,UAAAA;AAAU,OAAA,EAAA,iBAAA,EAEK+G,gBAAgB,CAClC,CAAA;AACF,KACF,CACF,eACD5E,cAAA,CAACkF,YAAY,EAAAvE,aAAA,CAAA;MACXwE,UAAU,EAAA,IAAA;AACVC,MAAAA,UAAU,EAAE/K,CAAC,CAAC,oCAAoC,CAAE;AACpDgL,MAAAA,SAAS,EAAE9B,eAAgB;AAC3B+B,MAAAA,mBAAmB,EAAC,KAAK;AACzBC,MAAAA,gBAAgB,EAAE,KAAM;AACxBC,MAAAA,UAAU,EAAE9B,gBAAiB;AAC7B+B,MAAAA,aAAa,EAAE,KAAM;AACrBC,MAAAA,MAAM,EAAC,MAAM;MACbC,WAAW,EAAErE,YAAY,CAAC3G,gBAAiB;AAC3CiL,MAAAA,OAAO,EAAE,CAACC,aAAa,EAAEC,cAAc,EAAEC,iBAAiB,CAAE;AAC5DvI,MAAAA,GAAG,EAAEX,SAAS,CAACW,GAAG,EAAE6D,WAAW,CAAA;AAAE,KAAA,EAAAV,aAAA,CAAA;AAE/BmD,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBI,MAAAA,YAAY,EAAZA,YAAY;AACZN,MAAAA,eAAe,EAAfA,eAAe;AACfO,MAAAA,aAAa,EAAbA,aAAa;AACbd,MAAAA,MAAM,EAANA,MAAAA;KACGvF,EAAAA,UAAU,EAEhB,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAEV,CACF,EAAC;AAEDkF,YAAY,CAACgD,WAAW,GAAG,cAAc;;;;"}
@@ -8,7 +8,10 @@ var React = require('react');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
  var injectCss = require('./inject-css-vQvjPR2x.js');
10
10
  var Down = require('@bigbinary/neeto-icons/Down');
11
+ var Close = require('@bigbinary/neeto-icons/Close');
11
12
  var Typography = require('@bigbinary/neetoui/Typography');
13
+ var ramda = require('ramda');
14
+ var reactI18next = require('react-i18next');
12
15
 
13
16
  var NeetoUIMenu = Dropdown.Menu,
14
17
  MenuItem = Dropdown.MenuItem;
@@ -46,20 +49,42 @@ var ICON_SIZE = 16;
46
49
 
47
50
  var Target = function Target(_ref) {
48
51
  var color = _ref.color,
52
+ value = _ref.value,
49
53
  label = _ref.label,
50
- dataCy = _ref.dataCy;
51
- var targetClassName = "neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--".concat(color);
54
+ dataCy = _ref.dataCy,
55
+ isClearable = _ref.isClearable,
56
+ onClear = _ref.onClear,
57
+ placeholder = _ref.placeholder;
58
+ var _useTranslation = reactI18next.useTranslation(),
59
+ t = _useTranslation.t;
60
+ var targetClassName = "neeto-ui-rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--".concat(color || "waiting");
61
+ var isOptionSelected = !ramda.isNil(value);
52
62
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
53
63
  className: targetClassName,
54
64
  "data-cy": dataCy,
55
65
  "data-testid": "status-dropdown",
56
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
66
+ children: [isOptionSelected ? /*#__PURE__*/jsxRuntime.jsx(Typography, {
57
67
  className: "inline",
58
68
  style: "body2",
59
69
  children: label
60
- }), /*#__PURE__*/jsxRuntime.jsx(Down, {
61
- className: "ml-2 inline",
62
- size: ICON_SIZE
70
+ }) : /*#__PURE__*/jsxRuntime.jsx(Typography, {
71
+ className: "neeto-ui-text-gray-600 inline",
72
+ style: "body2",
73
+ children: placeholder || t("neetoMolecules.statusDropdown.placeholder")
74
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
75
+ className: "inline-flex items-center gap-1",
76
+ children: [isClearable && isOptionSelected && /*#__PURE__*/jsxRuntime.jsx("button", {
77
+ "data-testid": "status-dropdown-clear-button",
78
+ onClick: function onClick(event) {
79
+ onClear();
80
+ event.stopPropagation();
81
+ },
82
+ children: /*#__PURE__*/jsxRuntime.jsx(Close, {
83
+ size: ICON_SIZE
84
+ })
85
+ }), /*#__PURE__*/jsxRuntime.jsx(Down, {
86
+ size: ICON_SIZE
87
+ })]
63
88
  })]
64
89
  });
65
90
  };
@@ -76,9 +101,15 @@ var StatusDropdown = function StatusDropdown(_ref) {
76
101
  isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
77
102
  onItemClick = _ref.onItemClick,
78
103
  options = _ref.options,
104
+ _ref$placeholder = _ref.placeholder,
105
+ placeholder = _ref$placeholder === void 0 ? null : _ref$placeholder,
79
106
  selectedValue = _ref.selectedValue,
80
107
  _ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
81
108
  shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt,
109
+ _ref$isClearable = _ref.isClearable,
110
+ isClearable = _ref$isClearable === void 0 ? false : _ref$isClearable,
111
+ _ref$onClear = _ref.onClear,
112
+ onClear = _ref$onClear === void 0 ? neetoCist.noop : _ref$onClear,
82
113
  _ref$dataCy = _ref.dataCy,
83
114
  dataCy = _ref$dataCy === void 0 ? "status-dropdown" : _ref$dataCy;
84
115
  var selectedOption = neetoCist._findBy({
@@ -91,7 +122,10 @@ var StatusDropdown = function StatusDropdown(_ref) {
91
122
  return /*#__PURE__*/jsxRuntime.jsx(Target$1, _objectSpread({
92
123
  label: selectedValue
93
124
  }, _objectSpread(_objectSpread({}, selectedOption), {}, {
94
- dataCy: dataCy
125
+ dataCy: dataCy,
126
+ isClearable: isClearable,
127
+ onClear: onClear,
128
+ placeholder: placeholder
95
129
  })));
96
130
  },
97
131
  children: isLoading ? /*#__PURE__*/jsxRuntime.jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"StatusDropdown.js","sources":["../../src/components/StatusDropdown/Menu.jsx","../../src/components/StatusDropdown/constants.js","../../src/components/StatusDropdown/Target.jsx","../../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-cy={`status-dropdown-item-${hyphenate(option.value)}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { ICON_SIZE } from \"./constants\";\n\nconst Target = ({ color, label, dataCy }) => {\n const targetClassName = `neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--${color}`;\n\n return (\n <div\n className={targetClassName}\n data-cy={dataCy}\n data-testid=\"status-dropdown\"\n >\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n <Down className=\"ml-2 inline\" size={ICON_SIZE} />\n </div>\n );\n};\n\nexport default memo(Target);\n","import { _findBy } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n selectedValue,\n shouldShowAllOptions = false,\n dataCy = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n strategy=\"fixed\"\n customTarget={() => (\n <Target label={selectedValue} {...{ ...selectedOption, dataCy }} />\n )}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","hyphenate","onClick","label","memo","ICON_SIZE","Target","dataCy","targetClassName","_jsxs","Typography","style","Down","size","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","selectedValue","_ref$dataCy","selectedOption","_findBy","strategy","customTarget","_objectSpread","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"StatusDropdown.js","sources":["../../src/components/StatusDropdown/Menu.jsx","../../src/components/StatusDropdown/constants.js","../../src/components/StatusDropdown/Target.jsx","../../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-cy={`status-dropdown-item-${hyphenate(option.value)}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down, Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants\";\n\nconst Target = ({\n color,\n value,\n label,\n dataCy,\n isClearable,\n onClear,\n placeholder,\n}) => {\n const { t } = useTranslation();\n const targetClassName = `neeto-ui-rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--${\n color || \"waiting\"\n }`;\n const isOptionSelected = !isNil(value);\n\n return (\n <div\n className={targetClassName}\n data-cy={dataCy}\n data-testid=\"status-dropdown\"\n >\n {isOptionSelected ? (\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"neeto-ui-text-gray-600 inline\" style=\"body2\">\n {placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")}\n </Typography>\n )}\n <div className=\"inline-flex items-center gap-1\">\n {isClearable && isOptionSelected && (\n <button\n data-testid=\"status-dropdown-clear-button\"\n onClick={event => {\n onClear();\n event.stopPropagation();\n }}\n >\n <Close size={ICON_SIZE} />\n </button>\n )}\n <Down size={ICON_SIZE} />\n </div>\n </div>\n );\n};\n\nexport default memo(Target);\n","import { _findBy, noop } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n placeholder = null,\n selectedValue,\n shouldShowAllOptions = false,\n isClearable = false,\n onClear = noop,\n dataCy = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n strategy=\"fixed\"\n customTarget={() => (\n <Target\n label={selectedValue}\n {...{ ...selectedOption, dataCy, isClearable, onClear, placeholder }}\n />\n )}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * Placeholder for the dropdown.\n */\n placeholder: PropTypes.string,\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n /**\n * This prop will decide whether the dropdown is clearable or not.\n */\n isClearable: PropTypes.bool,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","hyphenate","onClick","label","memo","ICON_SIZE","Target","dataCy","isClearable","onClear","placeholder","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","_jsxs","Typography","style","event","stopPropagation","Close","size","Down","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","selectedValue","_ref$isClearable","_ref$onClear","noop","_ref$dataCy","selectedOption","_findBy","strategy","customTarget","_objectSpread","Spinner"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.15.57",
3
+ "version": "3.15.58",
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>",
@@ -812,6 +812,9 @@
812
812
  },
813
813
  "stickyRibbonsContainer": {
814
814
  "refreshRibbon": "New updates are available. Please <button>refresh the page</button> to stay updated."
815
+ },
816
+ "statusDropdown": {
817
+ "placeholder": "Select a status"
815
818
  }
816
819
  }
817
820
  }
@@ -67,8 +67,11 @@ declare const StatusDropdown: React.FC<{
67
67
  isLoading?: boolean;
68
68
  onItemClick: (status: object) => void;
69
69
  options: Array<object>;
70
+ placeholder?: string;
70
71
  selectedValue: string;
71
72
  shouldShowAllOptions?: boolean;
73
+ isClearable?: boolean;
74
+ onClear?: () => void;
72
75
  }>;
73
76
 
74
77
  export { StatusDropdown as default };