@bigbinary/neeto-molecules 3.3.16 → 3.4.0-beta-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CalendarView.js +1 -5
- package/dist/CalendarView.js.map +1 -1
- package/dist/DateRangeFilter.js +1 -3
- package/dist/DateRangeFilter.js.map +1 -1
- package/dist/Insights.js +1 -1
- package/dist/NavigationHeader.js +1 -3
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/OptionFields.js +31 -18
- package/dist/OptionFields.js.map +1 -1
- package/dist/PublishBlock.js +1 -5
- package/dist/PublishBlock.js.map +1 -1
- package/dist/Schedule.js +1 -10
- package/dist/Schedule.js.map +1 -1
- package/dist/ShareViaEmail.js +1 -1
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/TimezoneMismatchModal.js +0 -4
- package/dist/TimezoneMismatchModal.js.map +1 -1
- package/dist/cjs/CalendarView.js +7 -14
- package/dist/cjs/CalendarView.js.map +1 -1
- package/dist/cjs/DateRangeFilter.js +16 -19
- package/dist/cjs/DateRangeFilter.js.map +1 -1
- package/dist/cjs/Insights.js +1 -1
- package/dist/cjs/NavigationHeader.js +1 -3
- package/dist/cjs/NavigationHeader.js.map +1 -1
- package/dist/cjs/OptionFields.js +30 -17
- package/dist/cjs/OptionFields.js.map +1 -1
- package/dist/cjs/PublishBlock.js +8 -15
- package/dist/cjs/PublishBlock.js.map +1 -1
- package/dist/cjs/Schedule.js +5 -19
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/ShareViaEmail.js +5 -6
- package/dist/cjs/ShareViaEmail.js.map +1 -1
- package/dist/cjs/TimezoneMismatchModal.js +0 -6
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimezoneMismatchModal.js","sources":["../src/components/TimezoneMismatchModal/apis/time_zone.js","../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../src/components/TimezoneMismatchModal/utils.js","../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport
|
|
1
|
+
{"version":3,"file":"TimezoneMismatchModal.js","sources":["../src/components/TimezoneMismatchModal/apis/time_zone.js","../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../src/components/TimezoneMismatchModal/utils.js","../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { useEffect, useState } from \"react\";\n\nimport { noop } from \"@bigbinary/neeto-cist\";\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (!(process.env.RAILS_ENV !== \"heroku\")) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col space-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","_jsxs","Modal","closeOnOutsideClick","size","children","_jsx","Header","Typography","style","weight","Body","className","component","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
|
package/dist/cjs/CalendarView.js
CHANGED
|
@@ -8,10 +8,8 @@ var dayGridPlugin = require('@fullcalendar/daygrid');
|
|
|
8
8
|
var interactionPlugin = require('@fullcalendar/interaction');
|
|
9
9
|
var FullCalendar = require('@fullcalendar/react');
|
|
10
10
|
var timeGridPlugin = require('@fullcalendar/timegrid');
|
|
11
|
-
var dayjs = require('dayjs');
|
|
12
|
-
var isSameOrAfter = require('dayjs/plugin/isSameOrAfter');
|
|
13
|
-
var isSameOrBefore = require('dayjs/plugin/isSameOrBefore');
|
|
14
11
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
12
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
15
13
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
16
14
|
var ramda = require('ramda');
|
|
17
15
|
var reactI18next = require('react-i18next');
|
|
@@ -49,9 +47,6 @@ var dayGridPlugin__default = /*#__PURE__*/_interopDefaultLegacy(dayGridPlugin);
|
|
|
49
47
|
var interactionPlugin__default = /*#__PURE__*/_interopDefaultLegacy(interactionPlugin);
|
|
50
48
|
var FullCalendar__default = /*#__PURE__*/_interopDefaultLegacy(FullCalendar);
|
|
51
49
|
var timeGridPlugin__default = /*#__PURE__*/_interopDefaultLegacy(timeGridPlugin);
|
|
52
|
-
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
53
|
-
var isSameOrAfter__default = /*#__PURE__*/_interopDefaultLegacy(isSameOrAfter);
|
|
54
|
-
var isSameOrBefore__default = /*#__PURE__*/_interopDefaultLegacy(isSameOrBefore);
|
|
55
50
|
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
56
51
|
var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
|
|
57
52
|
var Down__default = /*#__PURE__*/_interopDefaultLegacy(Down);
|
|
@@ -88,10 +83,10 @@ var getWeekString = function getWeekString(_ref) {
|
|
|
88
83
|
return "".concat(showMonth || isStartOfWeek ? date.format("MMM") : "", " ").concat(date.date(), " ").concat(showYear || !isStartOfWeek ? date.format("YYYY") : "");
|
|
89
84
|
};
|
|
90
85
|
var getStartOfWeek = function getStartOfWeek(date) {
|
|
91
|
-
return
|
|
86
|
+
return utils.dayjs(date).startOf("week");
|
|
92
87
|
};
|
|
93
88
|
var getEndOfWeek = function getEndOfWeek(date) {
|
|
94
|
-
return
|
|
89
|
+
return utils.dayjs(date).endOf("week");
|
|
95
90
|
};
|
|
96
91
|
var getFormattedMonthStr = function getFormattedMonthStr(date) {
|
|
97
92
|
return date.format("MMM YYYY");
|
|
@@ -145,8 +140,8 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
145
140
|
var selectedRangeStr = getFormattedRangeStr(selectedDate, picker);
|
|
146
141
|
var start = validDates.start,
|
|
147
142
|
end = validDates.end;
|
|
148
|
-
var isDateLessThanStart = start && selectedDate.isSameOrBefore(
|
|
149
|
-
var isDateGreaterThanEnd = end && selectedDate.isSameOrAfter(
|
|
143
|
+
var isDateLessThanStart = start && selectedDate.isSameOrBefore(utils.dayjs(start), picker);
|
|
144
|
+
var isDateGreaterThanEnd = end && selectedDate.isSameOrAfter(utils.dayjs(end), picker);
|
|
150
145
|
var onPrevious = function onPrevious() {
|
|
151
146
|
return setSelectedDate(function (selectedDate) {
|
|
152
147
|
return selectedDate.subtract(1, picker);
|
|
@@ -158,7 +153,7 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
158
153
|
});
|
|
159
154
|
};
|
|
160
155
|
var onToday = function onToday() {
|
|
161
|
-
return setSelectedDate(
|
|
156
|
+
return setSelectedDate(utils.dayjs());
|
|
162
157
|
};
|
|
163
158
|
var getDisabledDates = function getDisabledDates(date) {
|
|
164
159
|
if (!date) return false;
|
|
@@ -278,8 +273,6 @@ var Header = function Header(_ref) {
|
|
|
278
273
|
var _excluded = ["viewOptions", "events", "handleDateClick", "handleEventClick", "eventClassNames", "dayCellClassNames", "validDates", "onDateChange", "dayMaxEvents", "eventMaxStack"];
|
|
279
274
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
280
275
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
281
|
-
dayjs__default["default"].extend(isSameOrAfter__default["default"]);
|
|
282
|
-
dayjs__default["default"].extend(isSameOrBefore__default["default"]);
|
|
283
276
|
var CalendarView = function CalendarView(_ref) {
|
|
284
277
|
var _ref$viewOptions = _ref.viewOptions,
|
|
285
278
|
viewOptions = _ref$viewOptions === void 0 ? VIEW_OPTIONS : _ref$viewOptions,
|
|
@@ -309,7 +302,7 @@ var CalendarView = function CalendarView(_ref) {
|
|
|
309
302
|
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
310
303
|
selectedView = _useState2[0],
|
|
311
304
|
setSelectedView = _useState2[1];
|
|
312
|
-
var _useState3 = React.useState(
|
|
305
|
+
var _useState3 = React.useState(utils.dayjs()),
|
|
313
306
|
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
314
307
|
selectedDate = _useState4[0],
|
|
315
308
|
setSelectedDate = _useState4[1];
|
|
@@ -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 \"dayjs\";\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","import { useRef, useState } from \"react\";\n\nimport dayjs from \"dayjs\";\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 { 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 dayjs from \"dayjs\";\nimport isSameOrAfter from \"dayjs/plugin/isSameOrAfter\";\nimport isSameOrBefore from \"dayjs/plugin/isSameOrBefore\";\nimport { noop } from \"neetocist\";\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 { VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\n\ndayjs.extend(isSameOrAfter);\ndayjs.extend(isSameOrBefore);\n\nconst CalendarView = ({\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 ...otherProps\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 <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 <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={calendarRef}\n {...{\n dayCellClassNames,\n dayMaxEvents,\n eventClassNames,\n eventMaxStack,\n events,\n ...otherProps,\n }}\n />\n </div>\n );\n};\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\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","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","current","contains","target","stopPropagation","focus","_jsxs","className","children","_jsx","Button","style","onClick","disabled","icon","Left","Down","ref","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","_calendarRef$current$","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","length","buttonProps","buttonStyle","capitalize","values","map","idx","isActive","extend","CalendarView","_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","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"],"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","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 { 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 { VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\n\nconst CalendarView = ({\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 ...otherProps\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 <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 <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={calendarRef}\n {...{\n dayCellClassNames,\n dayMaxEvents,\n eventClassNames,\n eventMaxStack,\n events,\n ...otherProps,\n }}\n />\n </div>\n );\n};\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\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","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","current","contains","target","stopPropagation","focus","_jsxs","className","children","_jsx","Button","style","onClick","disabled","icon","Left","Down","ref","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","_calendarRef$current$","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","length","buttonProps","buttonStyle","capitalize","values","map","idx","isActive","CalendarView","_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","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"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
5
|
-
var dayjs = require('dayjs');
|
|
6
5
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
6
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
7
7
|
var Select = require('@bigbinary/neetoui/Select');
|
|
8
8
|
var DatePicker = require('@bigbinary/neetoui/DatePicker');
|
|
9
9
|
var ramda = require('ramda');
|
|
@@ -14,31 +14,28 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
14
14
|
|
|
15
15
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
16
16
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
17
|
-
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
18
17
|
var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
|
|
19
18
|
var DatePicker__default = /*#__PURE__*/_interopDefaultLegacy(DatePicker);
|
|
20
19
|
|
|
21
|
-
var quarterOfYear = require("dayjs/plugin/quarterOfYear");
|
|
22
|
-
dayjs__default["default"].extend(quarterOfYear);
|
|
23
20
|
var defaultTimePeriodOptions = function defaultTimePeriodOptions() {
|
|
24
|
-
var today =
|
|
21
|
+
var today = utils.dayjs().startOf("day");
|
|
25
22
|
var startOfLastWeek = today.subtract(7, "day").startOf("week");
|
|
26
23
|
var endOfLastWeek = today.subtract(7, "day").endOf("week");
|
|
27
24
|
var lastMonthStart = today.subtract(1, "month").startOf("month");
|
|
28
25
|
var lastMonthEnd = today.subtract(1, "month").endOf("month");
|
|
29
|
-
var thisQuarterStart =
|
|
30
|
-
var thisQuarterEnd =
|
|
31
|
-
var lastQuarterStart =
|
|
32
|
-
var lastQuarterEnd =
|
|
33
|
-
var startOfLastYear =
|
|
34
|
-
var endOfLastYear =
|
|
35
|
-
var startOfYear =
|
|
36
|
-
var endOfYear =
|
|
37
|
-
var startOf24Hours =
|
|
38
|
-
var now =
|
|
39
|
-
var startOfLast7Days =
|
|
40
|
-
var startOfWeek =
|
|
41
|
-
var startOfLast30Days =
|
|
26
|
+
var thisQuarterStart = utils.dayjs().startOf("quarter");
|
|
27
|
+
var thisQuarterEnd = utils.dayjs().endOf("quarter");
|
|
28
|
+
var lastQuarterStart = utils.dayjs().subtract(1, "quarter").startOf("quarter");
|
|
29
|
+
var lastQuarterEnd = utils.dayjs().subtract(1, "quarter").endOf("quarter");
|
|
30
|
+
var startOfLastYear = utils.dayjs().subtract(1, "year").startOf("year");
|
|
31
|
+
var endOfLastYear = utils.dayjs().subtract(1, "year").endOf("year");
|
|
32
|
+
var startOfYear = utils.dayjs().startOf("year");
|
|
33
|
+
var endOfYear = utils.dayjs().endOf("year");
|
|
34
|
+
var startOf24Hours = utils.dayjs().subtract(24, "hour");
|
|
35
|
+
var now = utils.dayjs();
|
|
36
|
+
var startOfLast7Days = utils.dayjs().subtract(7, "day");
|
|
37
|
+
var startOfWeek = utils.dayjs().startOf("week");
|
|
38
|
+
var startOfLast30Days = utils.dayjs().subtract(30, "day");
|
|
42
39
|
var startOfMonth = today.startOf("month");
|
|
43
40
|
return [{
|
|
44
41
|
label: i18next.t("neetoMolecules.dateRangeFilter.timePeriodOptions.allTime"),
|
|
@@ -167,7 +164,7 @@ var DateRangeFilter = function DateRangeFilter(_ref) {
|
|
|
167
164
|
dateFormat: requiredDateFormat,
|
|
168
165
|
picker: "date",
|
|
169
166
|
type: "range",
|
|
170
|
-
defaultValue: [startDate ?
|
|
167
|
+
defaultValue: [startDate ? utils.dayjs(startDate) : null, endDate ? utils.dayjs(endDate) : null],
|
|
171
168
|
onChange: function onChange(_ref2) {
|
|
172
169
|
var _ref3 = _slicedToArray__default["default"](_ref2, 2),
|
|
173
170
|
startDate = _ref3[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangeFilter.js","sources":["../../src/components/DateRangeFilter/utils.js","../../src/components/DateRangeFilter/index.jsx"],"sourcesContent":["import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\n\nconst quarterOfYear = require(\"dayjs/plugin/quarterOfYear\");\n\ndayjs.extend(quarterOfYear);\n\nexport const defaultTimePeriodOptions = () => {\n const today = dayjs().startOf(\"day\");\n const startOfLastWeek = today.subtract(7, \"day\").startOf(\"week\");\n\n const endOfLastWeek = today.subtract(7, \"day\").endOf(\"week\");\n const lastMonthStart = today.subtract(1, \"month\").startOf(\"month\");\n const lastMonthEnd = today.subtract(1, \"month\").endOf(\"month\");\n const thisQuarterStart = dayjs().startOf(\"quarter\");\n const thisQuarterEnd = dayjs().endOf(\"quarter\");\n const lastQuarterStart = dayjs().subtract(1, \"quarter\").startOf(\"quarter\");\n const lastQuarterEnd = dayjs().subtract(1, \"quarter\").endOf(\"quarter\");\n const startOfLastYear = dayjs().subtract(1, \"year\").startOf(\"year\");\n const endOfLastYear = dayjs().subtract(1, \"year\").endOf(\"year\");\n const startOfYear = dayjs().startOf(\"year\");\n const endOfYear = dayjs().endOf(\"year\");\n\n const startOf24Hours = dayjs().subtract(24, \"hour\");\n const now = dayjs();\n const startOfLast7Days = dayjs().subtract(7, \"day\");\n const startOfWeek = dayjs().startOf(\"week\");\n const startOfLast30Days = dayjs().subtract(30, \"day\");\n const startOfMonth = today.startOf(\"month\");\n\n return [\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.allTime\"),\n value: { startDate: null, endDate: null, rangeType: \"all\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last24Hours\"),\n value: { startDate: startOf24Hours, endDate: now, rangeType: \"hours\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last7Days\"),\n value: {\n startDate: startOfLast7Days,\n endDate: now,\n rangeType: \"days\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisWeek\"),\n value: { startDate: startOfWeek, endDate: now, rangeType: \"week\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastWeek\"),\n value: {\n startDate: startOfLastWeek,\n endDate: endOfLastWeek,\n rangeType: \"week\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last30Days\"),\n value: {\n startDate: startOfLast30Days,\n endDate: now,\n rangeType: \"days\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisMonth\"),\n value: { startDate: startOfMonth, endDate: now, rangeType: \"month\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastMonth\"),\n value: {\n startDate: lastMonthStart,\n endDate: lastMonthEnd,\n rangeType: \"month\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisQuarter\"),\n value: {\n startDate: thisQuarterStart,\n endDate: thisQuarterEnd,\n rangeType: \"quarter\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastQuarter\"),\n value: {\n startDate: lastQuarterStart,\n endDate: lastQuarterEnd,\n rangeType: \"quarter\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisYear\"),\n value: { startDate: startOfYear, endDate: endOfYear, rangeType: \"year\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastYear\"),\n value: {\n startDate: startOfLastYear,\n endDate: endOfLastYear,\n rangeType: \"year\",\n },\n },\n {\n label: t(\n \"neetoMolecules.dateRangeFilter.timePeriodOptions.customDuration\"\n ),\n value: \"custom\",\n },\n ];\n};\n","import dayjs from \"dayjs\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Select, DatePicker } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\n\nimport { defaultTimePeriodOptions } from \"./utils\";\n\nconst DateRangeFilter = ({\n timePeriodOptions,\n timePeriod,\n setTimePeriod,\n datePickerProps,\n}) => {\n const isCustom =\n timePeriod?.value === \"custom\" || timePeriod?.value?.rangeType === \"custom\";\n\n const startDate = timePeriod?.value?.startDate;\n const endDate = timePeriod?.value?.endDate;\n const requiredDateFormat = globalProps?.user?.dateFormat;\n\n const options = timePeriodOptions || defaultTimePeriodOptions();\n\n return (\n <div className=\"flex flex-wrap gap-3\" data-testid=\"date-range-filter\">\n <div className=\"w-40\">\n <Select\n {...{ options }}\n required\n getOptionValue={prop(\"label\")}\n strategy=\"fixed\"\n value={timePeriod || options[0]}\n onChange={option => setTimePeriod(option)}\n />\n </div>\n {isCustom && (\n <div\n className=\"max-w-sm flex-grow\"\n data-testid=\"date-range-filter-custom-duration-picker\"\n >\n <DatePicker\n autoFocus\n className=\"w-full\"\n dateFormat={requiredDateFormat}\n picker=\"date\"\n type=\"range\"\n defaultValue={[\n startDate ? dayjs(startDate) : null,\n endDate ? dayjs(endDate) : null,\n ]}\n onChange={([startDate, endDate]) => {\n setTimePeriod({\n label: timePeriod?.label,\n value: { startDate, endDate, rangeType: \"custom\" },\n });\n }}\n {...datePickerProps}\n />\n </div>\n )}\n </div>\n );\n};\n\nDateRangeFilter.propTypes = {\n /**\n * An array of objects that can be passed to the component which can be used to override default filter options.\n */\n timePeriodOptions: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, value: PropTypes.object })\n ),\n /**\n * The state corresponding to the currently selected date range filter.\n */\n timePeriod: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.object,\n }),\n /**\n * The setter method for `timePeriod` state.\n */\n setTimePeriod: PropTypes.func,\n /**\n * These props will be passed to the date range picker for custom date range selection.\n */\n datePickerProps: PropTypes.object,\n};\n\nexport default DateRangeFilter;\n"],"names":["quarterOfYear","require","dayjs","extend","defaultTimePeriodOptions","today","startOf","startOfLastWeek","subtract","endOfLastWeek","endOf","lastMonthStart","lastMonthEnd","thisQuarterStart","thisQuarterEnd","lastQuarterStart","lastQuarterEnd","startOfLastYear","endOfLastYear","startOfYear","endOfYear","startOf24Hours","now","startOfLast7Days","startOfWeek","startOfLast30Days","startOfMonth","label","t","value","startDate","endDate","rangeType","DateRangeFilter","_ref","_timePeriod$value","_timePeriod$value2","_timePeriod$value3","_globalProps$user","timePeriodOptions","timePeriod","setTimePeriod","datePickerProps","isCustom","requiredDateFormat","globalProps","user","dateFormat","options","_jsxs","className","children","_jsx","Select","required","getOptionValue","prop","strategy","onChange","option","DatePicker","_objectSpread","autoFocus","picker","type","defaultValue","_ref2","_ref3","_slicedToArray"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateRangeFilter.js","sources":["../../src/components/DateRangeFilter/utils.js","../../src/components/DateRangeFilter/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { dayjs } from \"neetocommons/utils\";\n\nexport const defaultTimePeriodOptions = () => {\n const today = dayjs().startOf(\"day\");\n const startOfLastWeek = today.subtract(7, \"day\").startOf(\"week\");\n\n const endOfLastWeek = today.subtract(7, \"day\").endOf(\"week\");\n const lastMonthStart = today.subtract(1, \"month\").startOf(\"month\");\n const lastMonthEnd = today.subtract(1, \"month\").endOf(\"month\");\n const thisQuarterStart = dayjs().startOf(\"quarter\");\n const thisQuarterEnd = dayjs().endOf(\"quarter\");\n const lastQuarterStart = dayjs().subtract(1, \"quarter\").startOf(\"quarter\");\n const lastQuarterEnd = dayjs().subtract(1, \"quarter\").endOf(\"quarter\");\n const startOfLastYear = dayjs().subtract(1, \"year\").startOf(\"year\");\n const endOfLastYear = dayjs().subtract(1, \"year\").endOf(\"year\");\n const startOfYear = dayjs().startOf(\"year\");\n const endOfYear = dayjs().endOf(\"year\");\n\n const startOf24Hours = dayjs().subtract(24, \"hour\");\n const now = dayjs();\n const startOfLast7Days = dayjs().subtract(7, \"day\");\n const startOfWeek = dayjs().startOf(\"week\");\n const startOfLast30Days = dayjs().subtract(30, \"day\");\n const startOfMonth = today.startOf(\"month\");\n\n return [\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.allTime\"),\n value: { startDate: null, endDate: null, rangeType: \"all\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last24Hours\"),\n value: { startDate: startOf24Hours, endDate: now, rangeType: \"hours\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last7Days\"),\n value: {\n startDate: startOfLast7Days,\n endDate: now,\n rangeType: \"days\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisWeek\"),\n value: { startDate: startOfWeek, endDate: now, rangeType: \"week\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastWeek\"),\n value: {\n startDate: startOfLastWeek,\n endDate: endOfLastWeek,\n rangeType: \"week\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.last30Days\"),\n value: {\n startDate: startOfLast30Days,\n endDate: now,\n rangeType: \"days\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisMonth\"),\n value: { startDate: startOfMonth, endDate: now, rangeType: \"month\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastMonth\"),\n value: {\n startDate: lastMonthStart,\n endDate: lastMonthEnd,\n rangeType: \"month\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisQuarter\"),\n value: {\n startDate: thisQuarterStart,\n endDate: thisQuarterEnd,\n rangeType: \"quarter\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastQuarter\"),\n value: {\n startDate: lastQuarterStart,\n endDate: lastQuarterEnd,\n rangeType: \"quarter\",\n },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.thisYear\"),\n value: { startDate: startOfYear, endDate: endOfYear, rangeType: \"year\" },\n },\n {\n label: t(\"neetoMolecules.dateRangeFilter.timePeriodOptions.lastYear\"),\n value: {\n startDate: startOfLastYear,\n endDate: endOfLastYear,\n rangeType: \"year\",\n },\n },\n {\n label: t(\n \"neetoMolecules.dateRangeFilter.timePeriodOptions.customDuration\"\n ),\n value: \"custom\",\n },\n ];\n};\n","import { globalProps } from \"neetocommons/initializers\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Select, DatePicker } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\n\nimport { defaultTimePeriodOptions } from \"./utils\";\n\nconst DateRangeFilter = ({\n timePeriodOptions,\n timePeriod,\n setTimePeriod,\n datePickerProps,\n}) => {\n const isCustom =\n timePeriod?.value === \"custom\" || timePeriod?.value?.rangeType === \"custom\";\n\n const startDate = timePeriod?.value?.startDate;\n const endDate = timePeriod?.value?.endDate;\n const requiredDateFormat = globalProps?.user?.dateFormat;\n\n const options = timePeriodOptions || defaultTimePeriodOptions();\n\n return (\n <div className=\"flex flex-wrap gap-3\" data-testid=\"date-range-filter\">\n <div className=\"w-40\">\n <Select\n {...{ options }}\n required\n getOptionValue={prop(\"label\")}\n strategy=\"fixed\"\n value={timePeriod || options[0]}\n onChange={option => setTimePeriod(option)}\n />\n </div>\n {isCustom && (\n <div\n className=\"max-w-sm flex-grow\"\n data-testid=\"date-range-filter-custom-duration-picker\"\n >\n <DatePicker\n autoFocus\n className=\"w-full\"\n dateFormat={requiredDateFormat}\n picker=\"date\"\n type=\"range\"\n defaultValue={[\n startDate ? dayjs(startDate) : null,\n endDate ? dayjs(endDate) : null,\n ]}\n onChange={([startDate, endDate]) => {\n setTimePeriod({\n label: timePeriod?.label,\n value: { startDate, endDate, rangeType: \"custom\" },\n });\n }}\n {...datePickerProps}\n />\n </div>\n )}\n </div>\n );\n};\n\nDateRangeFilter.propTypes = {\n /**\n * An array of objects that can be passed to the component which can be used to override default filter options.\n */\n timePeriodOptions: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, value: PropTypes.object })\n ),\n /**\n * The state corresponding to the currently selected date range filter.\n */\n timePeriod: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.object,\n }),\n /**\n * The setter method for `timePeriod` state.\n */\n setTimePeriod: PropTypes.func,\n /**\n * These props will be passed to the date range picker for custom date range selection.\n */\n datePickerProps: PropTypes.object,\n};\n\nexport default DateRangeFilter;\n"],"names":["defaultTimePeriodOptions","today","dayjs","startOf","startOfLastWeek","subtract","endOfLastWeek","endOf","lastMonthStart","lastMonthEnd","thisQuarterStart","thisQuarterEnd","lastQuarterStart","lastQuarterEnd","startOfLastYear","endOfLastYear","startOfYear","endOfYear","startOf24Hours","now","startOfLast7Days","startOfWeek","startOfLast30Days","startOfMonth","label","t","value","startDate","endDate","rangeType","DateRangeFilter","_ref","_timePeriod$value","_timePeriod$value2","_timePeriod$value3","_globalProps$user","timePeriodOptions","timePeriod","setTimePeriod","datePickerProps","isCustom","requiredDateFormat","globalProps","user","dateFormat","options","_jsxs","className","children","_jsx","Select","required","getOptionValue","prop","strategy","onChange","option","DatePicker","_objectSpread","autoFocus","picker","type","defaultValue","_ref2","_ref3","_slicedToArray"],"mappings":"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"}
|
package/dist/cjs/Insights.js
CHANGED
|
@@ -14,8 +14,8 @@ var neetoCist = require('@bigbinary/neeto-cist');
|
|
|
14
14
|
var HelpPopover = require('./HelpPopover.js');
|
|
15
15
|
require('@babel/runtime/helpers/defineProperty');
|
|
16
16
|
require('@babel/runtime/helpers/slicedToArray');
|
|
17
|
-
require('dayjs');
|
|
18
17
|
require('@bigbinary/neeto-commons-frontend/initializers');
|
|
18
|
+
require('@bigbinary/neeto-commons-frontend/utils');
|
|
19
19
|
require('@bigbinary/neetoui/Select');
|
|
20
20
|
require('@bigbinary/neetoui/DatePicker');
|
|
21
21
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
@@ -41,9 +41,7 @@ require('@bigbinary/neeto-icons/Undo');
|
|
|
41
41
|
require('@bigbinary/neetoui/Alert');
|
|
42
42
|
require('@bigbinary/neetoui/Pane');
|
|
43
43
|
require('@bigbinary/neetoui/Switch');
|
|
44
|
-
require('
|
|
45
|
-
require('dayjs/plugin/timezone');
|
|
46
|
-
require('dayjs/plugin/utc');
|
|
44
|
+
require('@bigbinary/neeto-commons-frontend/utils');
|
|
47
45
|
require('@bigbinary/neeto-team-members-frontend');
|
|
48
46
|
require('@bigbinary/neetoui/DatePicker');
|
|
49
47
|
require('@bigbinary/neeto-commons-frontend/initializers');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationHeader.js","sources":["../../src/components/NavigationHeader/constants.jsx","../../src/components/NavigationHeader/LeftBlock.jsx","../../src/components/NavigationHeader/Navigation.jsx","../../src/components/NavigationHeader/RightBlock.jsx","../../src/components/NavigationHeader/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { Home } from \"neetoicons\";\n\nexport const DEFAULT_HOME_BUTTON_PROPS = {\n tooltip: {\n content: t(\"neetoMolecules.navigationHeader.home\"),\n position: \"bottom\",\n },\n homeUrl: \"/\",\n icon: <Home />,\n};\n","import { isPresent } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeDeepRight } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport Rename from \"components/Rename\";\n\nimport { DEFAULT_HOME_BUTTON_PROPS } from \"./constants\";\n\nconst LeftBlock = ({\n homeButtonProps: customHomeButtonProps,\n homeUrl,\n renameProps,\n children,\n}) => {\n const homeButtonProps = mergeDeepRight(\n DEFAULT_HOME_BUTTON_PROPS,\n customHomeButtonProps\n );\n\n return (\n <div\n className=\"flex items-center gap-1 md:gap-2\"\n data-cy=\"navigation-header-left-block\"\n data-testid=\"navigation-header-left-block\"\n >\n <Tooltip\n content={homeButtonProps.tooltip.content}\n position={homeButtonProps.tooltip.position}\n >\n <Link data-cy=\"home-button\" data-testid=\"home-button\" to={homeUrl}>\n <div className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-200 p-1\">\n {homeButtonProps.icon}\n </div>\n </Link>\n </Tooltip>\n {isPresent(renameProps) && (\n <Rename\n dropdownItems={renameProps.dropdownItems}\n value={renameProps.value}\n {...renameProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nLeftBlock.propTypes = {\n /**\n * Object containing the home button icon and the props to be passed to the tooltip of the home button.\n */\n homeButtonProps: PropTypes.shape({\n tooltip: PropTypes.shape({\n content: PropTypes.string,\n postition: PropTypes.string,\n }),\n icon: PropTypes.node,\n }),\n /**\n * URL to navigate when the home button is clicked.\n */\n homeUrl: PropTypes.string.isRequired,\n /**\n * Props to be passed to the `Rename` component. Please check the `Rename` component props for more details\n */\n renameProps: PropTypes.object,\n /**\n * To render extra content in the block.\n */\n children: PropTypes.node,\n};\n\nexport default LeftBlock;\n","import { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { NavLink } from \"react-router-dom\";\n\nconst NavigationLinks = ({ headerLinks }) => (\n <div\n className=\"flex w-full items-center justify-between gap-4 md:justify-center md:gap-3 lg:gap-6\"\n data-cy=\"navigation-header-navigation-links\"\n data-testid=\"navigation-header-navigation-links\"\n >\n {headerLinks.map(headerLink => (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-molecules-navigation-header__link px-2 capitalize no-underline md:px-0\"\n data-cy={`${joinHyphenCase(headerLink.key)}-tab`}\n key={headerLink.key}\n {...headerLink}\n >\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {headerLink.label}\n </Typography>\n </NavLink>\n ))}\n </div>\n);\n\nNavigationLinks.propTypes = {\n /**\n * Links to be rendered in the center of the navigation header. It is an array of objects.\n * Each object should have the properties `key`, `to` and `label`. Other props will be passed on to the `Navlink` component from\n `react-router-dom`.\n */\n headerLinks: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n to: PropTypes.string,\n label: PropTypes.string,\n })\n ),\n};\n\nexport default NavigationLinks;\n","import classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport PublishBlock from \"components/PublishBlock\";\n\nimport \"./navigation-header.scss\";\n\nconst RightBlock = ({\n isDraftBlockHidden,\n previewDraftUrl,\n isResetDraftButtonVisible,\n onResetClick,\n isResetting,\n isPublishDisabled,\n isPublishing,\n handlePublish,\n isPublishPreviewDisabled,\n previewPublishedUrl,\n isPublishButtonVisible,\n isResetAlertOpen,\n setIsResetAlertOpen,\n handleReset,\n publishAlertTitle,\n publishAlertDescription,\n publishButtonProps = {},\n}) => {\n const { t } = useTranslation();\n\n const renderDraftButtons = ({ ViewDraftButton, ResetDraftButton }) =>\n !isDraftBlockHidden && (\n <>\n <ViewDraftButton to={previewDraftUrl} />\n {isResetDraftButtonVisible && (\n <ResetDraftButton\n loading={isResetting}\n onClick={() => onResetClick()}\n />\n )}\n </>\n );\n\n const renderPublishButtons = ({ PublishButton, PublishPreviewButton }) => (\n <>\n {isPublishButtonVisible && (\n <PublishButton\n disabled={isPublishDisabled}\n loading={isPublishing}\n onClick={() => handlePublish()}\n {...publishButtonProps}\n />\n )}\n <PublishPreviewButton\n disabled={isPublishPreviewDisabled}\n to={previewPublishedUrl}\n className={classNames({\n \"standalone-publish-preview-button\": !isPublishButtonVisible,\n })}\n />\n </>\n );\n\n return (\n <>\n <PublishBlock {...{ renderDraftButtons, renderPublishButtons }} />\n <PublishBlock.Alert\n isOpen={isResetAlertOpen}\n isSubmitting={isResetting}\n message={\n publishAlertDescription ||\n t(\"neetoMolecules.navigationHeader.resetDescription\")\n }\n title={\n publishAlertTitle || t(\"neetoMolecules.navigationHeader.resetTitle\")\n }\n onClose={() => setIsResetAlertOpen(false)}\n onSubmit={handleReset}\n />\n </>\n );\n};\n\nRightBlock.propTypes = {\n /**\n * To show/hide the draft block.\n */\n isDraftBlockHidden: PropTypes.bool,\n /**\n * Draft preview URL, when the draft button is clicked user will be redirected to this URL.\n */\n previewDraftUrl: PropTypes.string,\n /**\n * Boolean to control the visibility of reset draft button.\n */\n isResetDraftButtonVisible: PropTypes.bool,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n onResetClick: PropTypes.func,\n /**\n * Setting this to `true` will show a spinner on the reset button. Use when the reset process is in progress.\n */\n isResetting: PropTypes.bool,\n /**\n * To disable the publish button.\n */\n isPublishDisabled: PropTypes.bool,\n /**\n * Setting this to `true` will show a spinner on the publish button. Use when the publish process is in progress.\n */\n isPublishing: PropTypes.bool,\n /**\n * Callback function that will be called when the publish button is clicked.\n */\n handlePublish: PropTypes.func,\n /**\n * To disable the publish preview button.\n */\n isPublishPreviewDisabled: PropTypes.bool,\n /**\n * Publish preview URL, when the preview publish button is clicked user will be redirected to this URL.\n */\n previewPublishedUrl: PropTypes.string,\n /**\n * Boolean to control whether the user have the ability to publish.\n */\n isPublishButtonVisible: PropTypes.bool,\n /**\n * Boolean to control whether the reset alert is open.\n */\n isResetAlertOpen: PropTypes.bool,\n /**\n * Handler to control the `isResetAlert` state variable.\n */\n setIsResetAlertOpen: PropTypes.func,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n handleReset: PropTypes.func,\n /**\n * Description to be shown in the publish alert\n */\n publishAlertDescription: PropTypes.string,\n /**\n * Title of the publish alert\n */\n publishAlertTitle: PropTypes.string,\n /**\n * Props to be passed to the publish button\n */\n publishButtonProps: PropTypes.object,\n};\n\nexport default RightBlock;\n","import { isPresent } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport { filter, length } from \"ramda\";\n\nimport LeftBlock from \"./LeftBlock\";\nimport NavigationLinks from \"./Navigation\";\nimport RightBlock from \"./RightBlock\";\n\nconst NavigationHeader = ({\n leftActionBlock,\n navigationLinks,\n rightActionBlock,\n}) => {\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n const numberOfChildren = length(\n filter(isPresent, [leftActionBlock, navigationLinks, rightActionBlock])\n );\n\n return (\n <div className=\"w-full\">\n <div\n className=\"neeto-molecules-navigation-header neeto-ui-border-gray-200 neeto-ui-bg-white flex h-16 w-full flex-shrink-0 items-center overflow-x-auto border-b px-2 py-2 md:px-4 lg:px-6\"\n data-cy=\"navigation-header\"\n data-testid=\"navigation-header\"\n >\n <div\n className=\"grid w-full gap-4\"\n style={{\n gridTemplateColumns: isMobile\n ? `repeat(${numberOfChildren - 1}, 1fr)`\n : `repeat(${numberOfChildren}, 1fr)`,\n }}\n >\n {leftActionBlock}\n {!isMobile && navigationLinks}\n {rightActionBlock}\n </div>\n </div>\n {isMobile && (\n <div className=\"neeto-molecules-navigation-header neeto-ui-border-gray-200 neeto-ui-bg-white ßflex-shrink-0 flex items-center overflow-x-auto border-b px-4 py-2 lg:px-6\">\n {navigationLinks}\n </div>\n )}\n </div>\n );\n};\n\nNavigationHeader.LeftActionBlock = LeftBlock;\nNavigationHeader.NavigationLinks = NavigationLinks;\nNavigationHeader.RightActionBlock = RightBlock;\n\nNavigationHeader.propTypes = {\n /**\n * To specify the content to be rendered in the left side of the `NavigationHeader`.\n */\n leftActionBlock: PropTypes.node,\n /**\n * To specify the content to be rendered at the center of the `NavigationHeader`.\n */\n navigationLinks: PropTypes.node,\n /**\n * To specify the content to be rendered in the right side of the `NavigationHeader`.\n */\n rightActionBlock: PropTypes.node,\n};\n\nexport default NavigationHeader;\n"],"names":["DEFAULT_HOME_BUTTON_PROPS","tooltip","content","t","position","homeUrl","icon","_jsx","Home","LeftBlock","_ref","customHomeButtonProps","homeButtonProps","renameProps","children","mergeDeepRight","_jsxs","className","Tooltip","Link","to","isPresent","Rename","_objectSpread","dropdownItems","value","NavigationLinks","headerLinks","map","headerLink","NavLink","activeClassName","concat","joinHyphenCase","key","Typography","lineHeight","style","weight","label","RightBlock","isDraftBlockHidden","previewDraftUrl","isResetDraftButtonVisible","onResetClick","isResetting","isPublishDisabled","isPublishing","handlePublish","isPublishPreviewDisabled","previewPublishedUrl","isPublishButtonVisible","isResetAlertOpen","setIsResetAlertOpen","handleReset","publishAlertTitle","publishAlertDescription","_ref$publishButtonPro","publishButtonProps","_useTranslation","useTranslation","renderDraftButtons","_ref2","ViewDraftButton","ResetDraftButton","_Fragment","loading","onClick","renderPublishButtons","_ref3","PublishButton","PublishPreviewButton","disabled","classNames","PublishBlock","Alert","isOpen","isSubmitting","message","title","onClose","onSubmit","NavigationHeader","leftActionBlock","navigationLinks","rightActionBlock","_useBreakpoints","useBreakpoints","isSize","isMobile","numberOfChildren","length","filter","gridTemplateColumns","LeftActionBlock","RightActionBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NavigationHeader.js","sources":["../../src/components/NavigationHeader/constants.jsx","../../src/components/NavigationHeader/LeftBlock.jsx","../../src/components/NavigationHeader/Navigation.jsx","../../src/components/NavigationHeader/RightBlock.jsx","../../src/components/NavigationHeader/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { Home } from \"neetoicons\";\n\nexport const DEFAULT_HOME_BUTTON_PROPS = {\n tooltip: {\n content: t(\"neetoMolecules.navigationHeader.home\"),\n position: \"bottom\",\n },\n homeUrl: \"/\",\n icon: <Home />,\n};\n","import { isPresent } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeDeepRight } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport Rename from \"components/Rename\";\n\nimport { DEFAULT_HOME_BUTTON_PROPS } from \"./constants\";\n\nconst LeftBlock = ({\n homeButtonProps: customHomeButtonProps,\n homeUrl,\n renameProps,\n children,\n}) => {\n const homeButtonProps = mergeDeepRight(\n DEFAULT_HOME_BUTTON_PROPS,\n customHomeButtonProps\n );\n\n return (\n <div\n className=\"flex items-center gap-1 md:gap-2\"\n data-cy=\"navigation-header-left-block\"\n data-testid=\"navigation-header-left-block\"\n >\n <Tooltip\n content={homeButtonProps.tooltip.content}\n position={homeButtonProps.tooltip.position}\n >\n <Link data-cy=\"home-button\" data-testid=\"home-button\" to={homeUrl}>\n <div className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-200 p-1\">\n {homeButtonProps.icon}\n </div>\n </Link>\n </Tooltip>\n {isPresent(renameProps) && (\n <Rename\n dropdownItems={renameProps.dropdownItems}\n value={renameProps.value}\n {...renameProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nLeftBlock.propTypes = {\n /**\n * Object containing the home button icon and the props to be passed to the tooltip of the home button.\n */\n homeButtonProps: PropTypes.shape({\n tooltip: PropTypes.shape({\n content: PropTypes.string,\n postition: PropTypes.string,\n }),\n icon: PropTypes.node,\n }),\n /**\n * URL to navigate when the home button is clicked.\n */\n homeUrl: PropTypes.string.isRequired,\n /**\n * Props to be passed to the `Rename` component. Please check the `Rename` component props for more details\n */\n renameProps: PropTypes.object,\n /**\n * To render extra content in the block.\n */\n children: PropTypes.node,\n};\n\nexport default LeftBlock;\n","import { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { NavLink } from \"react-router-dom\";\n\nconst NavigationLinks = ({ headerLinks }) => (\n <div\n className=\"flex w-full items-center justify-between gap-4 md:justify-center md:gap-3 lg:gap-6\"\n data-cy=\"navigation-header-navigation-links\"\n data-testid=\"navigation-header-navigation-links\"\n >\n {headerLinks.map(headerLink => (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-molecules-navigation-header__link px-2 capitalize no-underline md:px-0\"\n data-cy={`${joinHyphenCase(headerLink.key)}-tab`}\n key={headerLink.key}\n {...headerLink}\n >\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {headerLink.label}\n </Typography>\n </NavLink>\n ))}\n </div>\n);\n\nNavigationLinks.propTypes = {\n /**\n * Links to be rendered in the center of the navigation header. It is an array of objects.\n * Each object should have the properties `key`, `to` and `label`. Other props will be passed on to the `Navlink` component from\n `react-router-dom`.\n */\n headerLinks: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n to: PropTypes.string,\n label: PropTypes.string,\n })\n ),\n};\n\nexport default NavigationLinks;\n","import classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport PublishBlock from \"components/PublishBlock\";\n\nimport \"./navigation-header.scss\";\n\nconst RightBlock = ({\n isDraftBlockHidden,\n previewDraftUrl,\n isResetDraftButtonVisible,\n onResetClick,\n isResetting,\n isPublishDisabled,\n isPublishing,\n handlePublish,\n isPublishPreviewDisabled,\n previewPublishedUrl,\n isPublishButtonVisible,\n isResetAlertOpen,\n setIsResetAlertOpen,\n handleReset,\n publishAlertTitle,\n publishAlertDescription,\n publishButtonProps = {},\n}) => {\n const { t } = useTranslation();\n\n const renderDraftButtons = ({ ViewDraftButton, ResetDraftButton }) =>\n !isDraftBlockHidden && (\n <>\n <ViewDraftButton to={previewDraftUrl} />\n {isResetDraftButtonVisible && (\n <ResetDraftButton\n loading={isResetting}\n onClick={() => onResetClick()}\n />\n )}\n </>\n );\n\n const renderPublishButtons = ({ PublishButton, PublishPreviewButton }) => (\n <>\n {isPublishButtonVisible && (\n <PublishButton\n disabled={isPublishDisabled}\n loading={isPublishing}\n onClick={() => handlePublish()}\n {...publishButtonProps}\n />\n )}\n <PublishPreviewButton\n disabled={isPublishPreviewDisabled}\n to={previewPublishedUrl}\n className={classNames({\n \"standalone-publish-preview-button\": !isPublishButtonVisible,\n })}\n />\n </>\n );\n\n return (\n <>\n <PublishBlock {...{ renderDraftButtons, renderPublishButtons }} />\n <PublishBlock.Alert\n isOpen={isResetAlertOpen}\n isSubmitting={isResetting}\n message={\n publishAlertDescription ||\n t(\"neetoMolecules.navigationHeader.resetDescription\")\n }\n title={\n publishAlertTitle || t(\"neetoMolecules.navigationHeader.resetTitle\")\n }\n onClose={() => setIsResetAlertOpen(false)}\n onSubmit={handleReset}\n />\n </>\n );\n};\n\nRightBlock.propTypes = {\n /**\n * To show/hide the draft block.\n */\n isDraftBlockHidden: PropTypes.bool,\n /**\n * Draft preview URL, when the draft button is clicked user will be redirected to this URL.\n */\n previewDraftUrl: PropTypes.string,\n /**\n * Boolean to control the visibility of reset draft button.\n */\n isResetDraftButtonVisible: PropTypes.bool,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n onResetClick: PropTypes.func,\n /**\n * Setting this to `true` will show a spinner on the reset button. Use when the reset process is in progress.\n */\n isResetting: PropTypes.bool,\n /**\n * To disable the publish button.\n */\n isPublishDisabled: PropTypes.bool,\n /**\n * Setting this to `true` will show a spinner on the publish button. Use when the publish process is in progress.\n */\n isPublishing: PropTypes.bool,\n /**\n * Callback function that will be called when the publish button is clicked.\n */\n handlePublish: PropTypes.func,\n /**\n * To disable the publish preview button.\n */\n isPublishPreviewDisabled: PropTypes.bool,\n /**\n * Publish preview URL, when the preview publish button is clicked user will be redirected to this URL.\n */\n previewPublishedUrl: PropTypes.string,\n /**\n * Boolean to control whether the user have the ability to publish.\n */\n isPublishButtonVisible: PropTypes.bool,\n /**\n * Boolean to control whether the reset alert is open.\n */\n isResetAlertOpen: PropTypes.bool,\n /**\n * Handler to control the `isResetAlert` state variable.\n */\n setIsResetAlertOpen: PropTypes.func,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n handleReset: PropTypes.func,\n /**\n * Description to be shown in the publish alert\n */\n publishAlertDescription: PropTypes.string,\n /**\n * Title of the publish alert\n */\n publishAlertTitle: PropTypes.string,\n /**\n * Props to be passed to the publish button\n */\n publishButtonProps: PropTypes.object,\n};\n\nexport default RightBlock;\n","import { isPresent } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport { filter, length } from \"ramda\";\n\nimport LeftBlock from \"./LeftBlock\";\nimport NavigationLinks from \"./Navigation\";\nimport RightBlock from \"./RightBlock\";\n\nconst NavigationHeader = ({\n leftActionBlock,\n navigationLinks,\n rightActionBlock,\n}) => {\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n const numberOfChildren = length(\n filter(isPresent, [leftActionBlock, navigationLinks, rightActionBlock])\n );\n\n return (\n <div className=\"w-full\">\n <div\n className=\"neeto-molecules-navigation-header neeto-ui-border-gray-200 neeto-ui-bg-white flex h-16 w-full flex-shrink-0 items-center overflow-x-auto border-b px-2 py-2 md:px-4 lg:px-6\"\n data-cy=\"navigation-header\"\n data-testid=\"navigation-header\"\n >\n <div\n className=\"grid w-full gap-4\"\n style={{\n gridTemplateColumns: isMobile\n ? `repeat(${numberOfChildren - 1}, 1fr)`\n : `repeat(${numberOfChildren}, 1fr)`,\n }}\n >\n {leftActionBlock}\n {!isMobile && navigationLinks}\n {rightActionBlock}\n </div>\n </div>\n {isMobile && (\n <div className=\"neeto-molecules-navigation-header neeto-ui-border-gray-200 neeto-ui-bg-white ßflex-shrink-0 flex items-center overflow-x-auto border-b px-4 py-2 lg:px-6\">\n {navigationLinks}\n </div>\n )}\n </div>\n );\n};\n\nNavigationHeader.LeftActionBlock = LeftBlock;\nNavigationHeader.NavigationLinks = NavigationLinks;\nNavigationHeader.RightActionBlock = RightBlock;\n\nNavigationHeader.propTypes = {\n /**\n * To specify the content to be rendered in the left side of the `NavigationHeader`.\n */\n leftActionBlock: PropTypes.node,\n /**\n * To specify the content to be rendered at the center of the `NavigationHeader`.\n */\n navigationLinks: PropTypes.node,\n /**\n * To specify the content to be rendered in the right side of the `NavigationHeader`.\n */\n rightActionBlock: PropTypes.node,\n};\n\nexport default NavigationHeader;\n"],"names":["DEFAULT_HOME_BUTTON_PROPS","tooltip","content","t","position","homeUrl","icon","_jsx","Home","LeftBlock","_ref","customHomeButtonProps","homeButtonProps","renameProps","children","mergeDeepRight","_jsxs","className","Tooltip","Link","to","isPresent","Rename","_objectSpread","dropdownItems","value","NavigationLinks","headerLinks","map","headerLink","NavLink","activeClassName","concat","joinHyphenCase","key","Typography","lineHeight","style","weight","label","RightBlock","isDraftBlockHidden","previewDraftUrl","isResetDraftButtonVisible","onResetClick","isResetting","isPublishDisabled","isPublishing","handlePublish","isPublishPreviewDisabled","previewPublishedUrl","isPublishButtonVisible","isResetAlertOpen","setIsResetAlertOpen","handleReset","publishAlertTitle","publishAlertDescription","_ref$publishButtonPro","publishButtonProps","_useTranslation","useTranslation","renderDraftButtons","_ref2","ViewDraftButton","ResetDraftButton","_Fragment","loading","onClick","renderPublishButtons","_ref3","PublishButton","PublishPreviewButton","disabled","classNames","PublishBlock","Alert","isOpen","isSubmitting","message","title","onClose","onSubmit","NavigationHeader","leftActionBlock","navigationLinks","rightActionBlock","_useBreakpoints","useBreakpoints","isSize","isMobile","numberOfChildren","length","filter","gridTemplateColumns","LeftActionBlock","RightActionBlock"],"mappings":"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"}
|