@bigbinary/neeto-molecules 3.3.3 → 3.3.5
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 +42 -9
- package/dist/CalendarView.js.map +1 -1
- package/dist/{Chevron-97e8647b.js → Chevron-dee43d2f.js} +3 -1
- package/dist/Chevron-dee43d2f.js.map +1 -0
- package/dist/ConfigurePageSidebar.js +1 -1
- package/dist/Sidebar.js +1 -1
- package/dist/ToggleFeatureCard.js +3 -14
- package/dist/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/CalendarView.js +44 -9
- package/dist/cjs/CalendarView.js.map +1 -1
- package/dist/cjs/{Chevron-7dc6dc06.js → Chevron-c10b4e16.js} +3 -1
- package/dist/cjs/Chevron-c10b4e16.js.map +1 -0
- package/dist/cjs/ConfigurePageSidebar.js +1 -1
- package/dist/cjs/Sidebar.js +1 -1
- package/dist/cjs/ToggleFeatureCard.js +3 -14
- package/dist/cjs/ToggleFeatureCard.js.map +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +0 -4
- package/types/CalendarView.d.ts +10 -3
- package/dist/Chevron-97e8647b.js.map +0 -1
- package/dist/cjs/Chevron-7dc6dc06.js.map +0 -1
package/dist/CalendarView.js
CHANGED
|
@@ -8,6 +8,8 @@ import interactionPlugin from '@fullcalendar/interaction';
|
|
|
8
8
|
import FullCalendar from '@fullcalendar/react';
|
|
9
9
|
import timeGridPlugin from '@fullcalendar/timegrid';
|
|
10
10
|
import dayjs from 'dayjs';
|
|
11
|
+
import isSameOrAfter from 'dayjs/plugin/isSameOrAfter';
|
|
12
|
+
import isSameOrBefore from 'dayjs/plugin/isSameOrBefore';
|
|
11
13
|
import { capitalize, noop } from '@bigbinary/neeto-cist';
|
|
12
14
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
13
15
|
import { prop, values } from 'ramda';
|
|
@@ -102,13 +104,14 @@ var getFormattedRangeStr = function getFormattedRangeStr(date, picker) {
|
|
|
102
104
|
return selectedFormatter(date);
|
|
103
105
|
};
|
|
104
106
|
|
|
105
|
-
var _excluded$1 = ["selectedDate", "setSelectedDate", "picker"];
|
|
107
|
+
var _excluded$1 = ["selectedDate", "setSelectedDate", "picker", "validDates"];
|
|
106
108
|
function ownKeys$1(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; }
|
|
107
109
|
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
108
110
|
var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
109
111
|
var selectedDate = _ref.selectedDate,
|
|
110
112
|
setSelectedDate = _ref.setSelectedDate,
|
|
111
113
|
picker = _ref.picker,
|
|
114
|
+
validDates = _ref.validDates,
|
|
112
115
|
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
113
116
|
var _useState = useState(false),
|
|
114
117
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -117,6 +120,10 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
117
120
|
var datePickerRef = useRef(null);
|
|
118
121
|
var buttonRef = useRef(null);
|
|
119
122
|
var selectedRangeStr = getFormattedRangeStr(selectedDate, picker);
|
|
123
|
+
var start = validDates.start,
|
|
124
|
+
end = validDates.end;
|
|
125
|
+
var isDateLessThanStart = start && selectedDate.isSameOrBefore(dayjs(start), picker);
|
|
126
|
+
var isDateGreaterThanEnd = end && selectedDate.isSameOrAfter(dayjs(end), picker);
|
|
120
127
|
var onPrevious = function onPrevious() {
|
|
121
128
|
return setSelectedDate(function (selectedDate) {
|
|
122
129
|
return selectedDate.subtract(1, picker);
|
|
@@ -130,6 +137,10 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
130
137
|
var onToday = function onToday() {
|
|
131
138
|
return setSelectedDate(dayjs());
|
|
132
139
|
};
|
|
140
|
+
var getDisabledDates = function getDisabledDates(date) {
|
|
141
|
+
if (!date) return false;
|
|
142
|
+
return start && date <= start || end && date >= end;
|
|
143
|
+
};
|
|
133
144
|
var handleButtonMouseDown = function handleButtonMouseDown(e) {
|
|
134
145
|
if (!(buttonRef.current && buttonRef.current.contains(e.target))) return;
|
|
135
146
|
e.stopPropagation();
|
|
@@ -147,6 +158,7 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
147
158
|
}, /*#__PURE__*/React__default.createElement(Button, {
|
|
148
159
|
className: "mr-1",
|
|
149
160
|
"data-cy": "neeto-molecules-calendar-view-previous-button",
|
|
161
|
+
disabled: isDateLessThanStart,
|
|
150
162
|
icon: Left,
|
|
151
163
|
style: "text",
|
|
152
164
|
onClick: onPrevious
|
|
@@ -167,6 +179,7 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
167
179
|
}, selectedRangeStr)), /*#__PURE__*/React__default.createElement(DatePicker, _extends({
|
|
168
180
|
className: "invisible w-0 px-0",
|
|
169
181
|
defaultValue: selectedDate,
|
|
182
|
+
disabledDate: getDisabledDates,
|
|
170
183
|
open: isOpen,
|
|
171
184
|
placement: "topRight",
|
|
172
185
|
ref: datePickerRef,
|
|
@@ -178,6 +191,7 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
178
191
|
}, otherProps))), /*#__PURE__*/React__default.createElement(Button, {
|
|
179
192
|
className: "ml-1",
|
|
180
193
|
"data-cy": "neeto-molecules-calendar-view-next-button",
|
|
194
|
+
disabled: isDateGreaterThanEnd,
|
|
181
195
|
icon: Right,
|
|
182
196
|
style: "text",
|
|
183
197
|
onClick: onNext
|
|
@@ -190,7 +204,8 @@ var Header = function Header(_ref) {
|
|
|
190
204
|
setSelectedView = _ref.setSelectedView,
|
|
191
205
|
setSelectedDate = _ref.setSelectedDate,
|
|
192
206
|
selectedDate = _ref.selectedDate,
|
|
193
|
-
calendarViewOptions = _ref.calendarViewOptions
|
|
207
|
+
calendarViewOptions = _ref.calendarViewOptions,
|
|
208
|
+
validDates = _ref.validDates;
|
|
194
209
|
var Menu = Dropdown.Menu,
|
|
195
210
|
MenuItem = Dropdown.MenuItem;
|
|
196
211
|
var handleViewSelection = function handleViewSelection(option) {
|
|
@@ -207,10 +222,11 @@ var Header = function Header(_ref) {
|
|
|
207
222
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
208
223
|
className: "flex space-x-4"
|
|
209
224
|
}, /*#__PURE__*/React__default.createElement(CustomDatePicker, {
|
|
210
|
-
getPopupContainer: prop("parentNode"),
|
|
211
|
-
picker: selectedView.picker,
|
|
212
225
|
selectedDate: selectedDate,
|
|
213
|
-
setSelectedDate: setSelectedDate
|
|
226
|
+
setSelectedDate: setSelectedDate,
|
|
227
|
+
validDates: validDates,
|
|
228
|
+
getPopupContainer: prop("parentNode"),
|
|
229
|
+
picker: selectedView.picker
|
|
214
230
|
}), Object.keys(calendarViewOptions).length > 1 && /*#__PURE__*/React__default.createElement(Dropdown, {
|
|
215
231
|
buttonProps: {
|
|
216
232
|
"data-testid": "calendar-view-dropdown"
|
|
@@ -228,9 +244,11 @@ var Header = function Header(_ref) {
|
|
|
228
244
|
}))));
|
|
229
245
|
};
|
|
230
246
|
|
|
231
|
-
var _excluded = ["viewOptions", "events", "handleDateClick", "handleEventClick", "eventClassNames", "dayCellClassNames", "dayMaxEvents", "eventMaxStack"];
|
|
247
|
+
var _excluded = ["viewOptions", "events", "handleDateClick", "handleEventClick", "eventClassNames", "dayCellClassNames", "validDates", "onDateChange", "dayMaxEvents", "eventMaxStack"];
|
|
232
248
|
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; }
|
|
233
249
|
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(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; }
|
|
250
|
+
dayjs.extend(isSameOrAfter);
|
|
251
|
+
dayjs.extend(isSameOrBefore);
|
|
234
252
|
var CalendarView = function CalendarView(_ref) {
|
|
235
253
|
var _ref$viewOptions = _ref.viewOptions,
|
|
236
254
|
viewOptions = _ref$viewOptions === void 0 ? VIEW_OPTIONS : _ref$viewOptions,
|
|
@@ -244,6 +262,13 @@ var CalendarView = function CalendarView(_ref) {
|
|
|
244
262
|
eventClassNames = _ref$eventClassNames === void 0 ? "" : _ref$eventClassNames,
|
|
245
263
|
_ref$dayCellClassName = _ref.dayCellClassNames,
|
|
246
264
|
dayCellClassNames = _ref$dayCellClassName === void 0 ? "" : _ref$dayCellClassName,
|
|
265
|
+
_ref$validDates = _ref.validDates,
|
|
266
|
+
validDates = _ref$validDates === void 0 ? {
|
|
267
|
+
start: null,
|
|
268
|
+
end: null
|
|
269
|
+
} : _ref$validDates,
|
|
270
|
+
_ref$onDateChange = _ref.onDateChange,
|
|
271
|
+
onDateChange = _ref$onDateChange === void 0 ? noop : _ref$onDateChange,
|
|
247
272
|
dayMaxEvents = _ref.dayMaxEvents,
|
|
248
273
|
eventMaxStack = _ref.eventMaxStack,
|
|
249
274
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -259,6 +284,13 @@ var CalendarView = function CalendarView(_ref) {
|
|
|
259
284
|
setSelectedDate = _useState4[1];
|
|
260
285
|
var _useTranslation = useTranslation(),
|
|
261
286
|
t = _useTranslation.t;
|
|
287
|
+
var handleDateChange = function handleDateChange(date) {
|
|
288
|
+
setSelectedDate(function (prevDate) {
|
|
289
|
+
var newDate = typeof date === "function" ? date(prevDate) : date;
|
|
290
|
+
onDateChange(newDate);
|
|
291
|
+
return newDate;
|
|
292
|
+
});
|
|
293
|
+
};
|
|
262
294
|
var calendarRef = useRef();
|
|
263
295
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
264
296
|
className: "flex-col",
|
|
@@ -267,14 +299,15 @@ var CalendarView = function CalendarView(_ref) {
|
|
|
267
299
|
leftActionBlock: /*#__PURE__*/React__default.createElement(Typography, {
|
|
268
300
|
style: "h2"
|
|
269
301
|
}, selectedDate.format("MMMM, YYYY")),
|
|
270
|
-
rightActionBlock: /*#__PURE__*/React__default.createElement(Header, {
|
|
302
|
+
rightActionBlock: /*#__PURE__*/React__default.createElement(Header, _defineProperty({
|
|
271
303
|
calendarRef: calendarRef,
|
|
272
304
|
calendarViewOptions: calendarViewOptions,
|
|
273
305
|
selectedDate: selectedDate,
|
|
274
306
|
selectedView: selectedView,
|
|
275
307
|
setSelectedDate: setSelectedDate,
|
|
276
|
-
setSelectedView: setSelectedView
|
|
277
|
-
|
|
308
|
+
setSelectedView: setSelectedView,
|
|
309
|
+
validDates: validDates
|
|
310
|
+
}, "setSelectedDate", handleDateChange))
|
|
278
311
|
}), /*#__PURE__*/React__default.createElement(FullCalendar, _extends({
|
|
279
312
|
expandRows: true,
|
|
280
313
|
allDayText: t("neetoMolecules.calendarView.allDay"),
|
package/dist/CalendarView.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarView.js","sources":["../src/components/CalendarView/constants.js","../src/components/CalendarView/utils.js","../src/components/CalendarView/CustomDatePicker.jsx","../src/components/CalendarView/Header.jsx","../src/components/CalendarView/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nconst WEEKLY_VIEW = t(\"neetoMolecules.calendarView.weekly\");\nconst MONTHLY_VIEW = t(\"neetoMolecules.calendarView.monthly\");\nconst DAILY_VIEW = t(\"neetoMolecules.calendarView.daily\");\n\nexport const VIEW_OPTIONS = {\n [DAILY_VIEW]: {\n label: DAILY_VIEW,\n fullCalendarView: \"timeGridDay\",\n picker: \"day\",\n },\n [WEEKLY_VIEW]: {\n label: WEEKLY_VIEW,\n fullCalendarView: \"timeGridWeek\",\n picker: \"week\",\n },\n [MONTHLY_VIEW]: {\n label: MONTHLY_VIEW,\n fullCalendarView: \"dayGridMonth\",\n picker: \"month\",\n },\n};\n","import dayjs from \"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 React, { 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 ...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 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 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 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 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 icon={Right}\n style=\"text\"\n onClick={onNext}\n />\n </div>\n </div>\n );\n};\n\nexport default CustomDatePicker;\n","import React, { 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}) => {\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 getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n {...{ selectedDate, setSelectedDate }}\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 React, { 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 { 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\nconst CalendarView = ({\n viewOptions = VIEW_OPTIONS,\n events = [],\n handleDateClick = noop,\n handleEventClick = noop,\n eventClassNames = \"\",\n dayCellClassNames = \"\",\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 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 }}\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\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","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","datePickerRef","useRef","buttonRef","selectedRangeStr","onPrevious","subtract","onNext","add","onToday","handleButtonMouseDown","e","current","contains","target","stopPropagation","focus","React","createElement","className","Button","style","onClick","icon","Left","Down","ref","onMouseDown","Typography","DatePicker","_extends","defaultValue","open","placement","value","onChange","onOpenChange","_objectSpread","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","key","CalendarView","_ref$viewOptions","viewOptions","_ref$events","events","_ref$handleDateClick","handleDateClick","noop","_ref$handleEventClick","handleEventClick","_ref$eventClassNames","eventClassNames","_ref$dayCellClassName","dayCellClassNames","dayMaxEvents","eventMaxStack","defaultView","find","_useState3","_useState4","_useTranslation","useTranslation","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 \"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 React, { 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 React, { 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 React, { 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","React","createElement","className","Button","style","onClick","disabled","icon","Left","Down","ref","onMouseDown","Typography","DatePicker","_extends","defaultValue","disabledDate","open","placement","value","onChange","onOpenChange","_objectSpread","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","key","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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"}
|
|
@@ -69,9 +69,11 @@ var SubLink = function SubLink(_ref) {
|
|
|
69
69
|
entity = _ref$entity === void 0 ? "" : _ref$entity,
|
|
70
70
|
_ref$columns = _ref.columns,
|
|
71
71
|
columns = _ref$columns === void 0 ? [] : _ref$columns,
|
|
72
|
+
baseUrl = _ref.baseUrl,
|
|
72
73
|
isActive = _ref.isActive;
|
|
73
74
|
if (type === SUB_LINK_TYPES.SEGMENTS) {
|
|
74
75
|
return /*#__PURE__*/React__default.createElement(Segments, {
|
|
76
|
+
baseUrl: baseUrl,
|
|
75
77
|
columns: columns,
|
|
76
78
|
entity: entity,
|
|
77
79
|
isIndependent: false
|
|
@@ -191,4 +193,4 @@ var Chevron = function Chevron(_ref) {
|
|
|
191
193
|
};
|
|
192
194
|
|
|
193
195
|
export { Chevron as C, Items as I, SelectedLink as S, CheckPointNavLinks as a, SELECTED_NAV_LINK_ROUTE_STORAGE_KEY as b, filterByPermissions as f, getSidebarStateLocalStorageKey as g };
|
|
194
|
-
//# sourceMappingURL=Chevron-
|
|
196
|
+
//# sourceMappingURL=Chevron-dee43d2f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chevron-dee43d2f.js","sources":["../src/components/Sidebar/Components/Links/CheckPointNavLink.jsx","../src/components/Sidebar/constants.js","../src/components/Sidebar/utils.js","../src/components/Sidebar/Components/Links/SubLink.jsx","../src/components/Sidebar/Components/Links/Items.jsx","../src/components/Sidebar/Components/Links/SelectedLink.jsx","../src/components/Sidebar/Components/Chevron.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { useNavigationCheckpoints } from \"neetocommons/react-utils/useRegisterNavigationCheckpoint\";\nimport { NavLink } from \"react-router-dom\";\n\nconst CheckPointNavLinks = ({ checkpointKey, to, children, ...others }) => {\n const { [checkpointKey]: checkpoint } =\n useNavigationCheckpoints(checkpointKey);\n\n return (\n <NavLink to={checkpoint || to} {...others} key={to}>\n {children}\n </NavLink>\n );\n};\n\nexport default CheckPointNavLinks;\n","export const SUB_LINK_TYPES = {\n SYSTEM_VIEW: \"system_view\",\n SEGMENTS: \"segments\",\n};\n\nexport const SELECTED_NAV_LINK_ROUTE_STORAGE_KEY = \"selectedNavLinkRoute\";\n","import { isNotEmpty } from \"neetocist\";\nimport { __, all, curry, equals, includes, is } from \"ramda\";\n\nexport const isSubRouteActive = (subRoute, location) => {\n const currentBrowserUrl = new URL(\n location.pathname + location.search + location.hash,\n window.location.origin\n );\n const targetUrl = new URL(subRoute, window.location.origin);\n\n const targetSearchParams = targetUrl.searchParams;\n const targetSearchKeys = Array.from(targetSearchParams.keys());\n\n return (\n all(\n key =>\n currentBrowserUrl.searchParams.get(key) === targetSearchParams.get(key),\n targetSearchKeys\n ) && equals(currentBrowserUrl.pathname, targetUrl.pathname)\n );\n};\n\nexport const getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const filterByPermissions = curry(({ permissions }) => {\n if (permissions && isNotEmpty(permissions)) {\n return is(Array, permissions)\n ? permissions.some(includes(__, globalProps.permissions))\n : globalProps.permissions.includes(permissions);\n }\n\n return true;\n});\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Segments } from \"neetofilters\";\nimport { Typography } from \"neetoui\";\nimport { is } from \"ramda\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\n\nimport { SUB_LINK_TYPES } from \"../../constants\";\nimport { isSubRouteActive } from \"../../utils\";\n\nconst SubLink = ({\n to,\n label,\n type = SUB_LINK_TYPES.SYSTEM_VIEW,\n count,\n isSectionHeader,\n isCountsLoading,\n \"data-cy\": dataCy,\n entity = \"\",\n columns = [],\n baseUrl,\n isActive,\n}) => {\n if (type === SUB_LINK_TYPES.SEGMENTS) {\n return <Segments {...{ baseUrl, columns, entity }} isIndependent={false} />;\n }\n\n const dataCyPrefix = dataCy || hyphenate(label);\n\n const renderCount = count => (count > 999 ? \"999+\" : count);\n\n const isSubLinkActive = () =>\n !isSectionHeader &&\n (is(Function, isActive) ? isActive() : isSubRouteActive(to, location));\n\n return (\n <CheckPointNavLinks\n {...{ to }}\n activeClassName=\"active\"\n className=\"neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none\"\n data-cy={`${dataCyPrefix}-sub-link`}\n isActive={isSubLinkActive}\n >\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-label neeto-ui-flex-grow\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-label`}\n style=\"body2\"\n >\n {label}\n </Typography>\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-count neeto-ui-flex-shrink-0\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-count`}\n style=\"body2\"\n >\n {isCountsLoading ? (\n <div className=\"neeto-ui-rounded neeto-ui-bg-gray-200 h-4 w-4 animate-pulse\" />\n ) : (\n renderCount(count)\n )}\n </Typography>\n </CheckPointNavLinks>\n );\n};\n\nexport default SubLink;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\n\nimport SubLink from \"./SubLink\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Items = ({ items, isSettingsItems = false, isCountsLoading }) => (\n <div\n className=\"neeto-molecules-sidebar__sublink-wrapper\"\n data-cy=\"sidebar-sub-link-wrapper\"\n >\n {items.filter(filterByPermissions).map((subItem, subIndex) => (\n <React.Fragment key={subIndex}>\n <SubLink\n {...{ ...subItem, isCountsLoading }}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n />\n {isSettingsItems && isPresent(subItem.items) && (\n <>\n <Items {...{ isSettingsItems }} items={subItem.items} />\n {items.length - 1 !== subIndex && (\n <hr className=\"neeto-molecules-sidebar__separator\" />\n )}\n </>\n )}\n </React.Fragment>\n ))}\n </div>\n);\n\nexport default Items;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Left } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport Items from \"./Items\";\n\nconst SelectedLink = ({\n navLink = { label: \"\", items: [], isConfigureNavLink: false },\n handleGoBack,\n isConfigureSidebar,\n}) => {\n const { label, items, isConfigureNavLink, ...otherProps } = navLink;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__links--focus-mode neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"configure-nav-container\"\n >\n <div\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-molecules-sidebar__link neeto-ui-border-b\"\n onClick={handleGoBack}\n {...{ ...omit([\"icon\"], otherProps) }}\n >\n {isConfigureNavLink && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-cy={`${hyphenize(label)}-go-back-button`}\n data-testid={`${label}-go-back-button`}\n >\n <Left size={16} />\n </span>\n )}\n <Typography\n component=\"span\"\n style=\"body1\"\n className={classNames(\"neeto-molecules-sidebar__link-label\", {\n \"neeto-molecules-sidebar__configure-page-header\":\n isConfigureNavLink,\n [\"pl-4\"]: isConfigureSidebar,\n })}\n >\n {label}\n </Typography>\n </div>\n {items && <Items {...{ items }} isSettingsItems />}\n </div>\n );\n};\n\nexport default SelectedLink;\n","import React from \"react\";\n\nconst Chevron = ({ style }) => (\n <svg {...{ style }} height=\"16\" viewBox=\"0 0 16 16\" width=\"16\">\n <path\n d=\"M7.07031 13.8887C7.2207 14.0391 7.40527 14.1211 7.62402 14.1211C8.06836 14.1211 8.41699 13.7725 8.41699 13.3281C8.41699 13.1094 8.32812 12.9043 8.17773 12.7539L3.37207 8.05762L8.17773 3.375C8.32812 3.21777 8.41699 3.0127 8.41699 2.80078C8.41699 2.35645 8.06836 2.00781 7.62402 2.00781C7.40527 2.00781 7.2207 2.08984 7.07031 2.24023L1.73828 7.44922C1.56055 7.62012 1.46484 7.8252 1.46484 8.06445C1.46484 8.29688 1.55371 8.49512 1.73828 8.67969L7.07031 13.8887ZM13.1748 13.8887C13.3252 14.0391 13.5098 14.1211 13.7354 14.1211C14.1797 14.1211 14.5283 13.7725 14.5283 13.3281C14.5283 13.1094 14.4395 12.9043 14.2891 12.7539L9.4834 8.05762L14.2891 3.375C14.4395 3.21777 14.5283 3.0127 14.5283 2.80078C14.5283 2.35645 14.1797 2.00781 13.7354 2.00781C13.5098 2.00781 13.3252 2.08984 13.1748 2.24023L7.84961 7.44922C7.66504 7.62012 7.57617 7.8252 7.56934 8.06445C7.56934 8.29688 7.66504 8.49512 7.84961 8.67969L13.1748 13.8887Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Chevron;\n"],"names":["CheckPointNavLinks","_ref","checkpointKey","to","children","others","_objectWithoutProperties","_excluded","_useNavigationCheckpo","useNavigationCheckpoints","checkpoint","React","createElement","NavLink","_extends","key","SUB_LINK_TYPES","SYSTEM_VIEW","SEGMENTS","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","isSubRouteActive","subRoute","location","currentBrowserUrl","URL","pathname","search","hash","window","origin","targetUrl","targetSearchParams","searchParams","targetSearchKeys","Array","from","keys","all","get","equals","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","user","globalProps","email","phoneNumber","concat","filterByPermissions","curry","permissions","isNotEmpty","is","some","includes","__","SubLink","label","_ref$type","type","count","isSectionHeader","isCountsLoading","dataCy","_ref$entity","entity","_ref$columns","columns","baseUrl","isActive","Segments","isIndependent","dataCyPrefix","hyphenate","renderCount","isSubLinkActive","Function","activeClassName","className","Typography","component","style","Items","items","_ref$isSettingsItems","isSettingsItems","filter","map","subItem","subIndex","_subItem$to","Fragment","_objectSpread","isPresent","item","path","length","SelectedLink","_ref$navLink","navLink","isConfigureNavLink","handleGoBack","isConfigureSidebar","otherProps","onClick","omit","hyphenize","Left","size","classNames","_defineProperty","Chevron","height","viewBox","width","d","fill"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import Button from '@bigbinary/neetoui/Button';
|
|
|
5
5
|
import { not } from 'ramda';
|
|
6
6
|
import { useTranslation } from 'react-i18next';
|
|
7
7
|
import { useHistory } from 'react-router-dom';
|
|
8
|
-
import { S as SelectedLink, C as Chevron } from './Chevron-
|
|
8
|
+
import { S as SelectedLink, C as Chevron } from './Chevron-dee43d2f.js';
|
|
9
9
|
import '@babel/runtime/helpers/extends';
|
|
10
10
|
import '@babel/runtime/helpers/defineProperty';
|
|
11
11
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
package/dist/Sidebar.js
CHANGED
|
@@ -8,7 +8,7 @@ import Button from '@bigbinary/neetoui/Button';
|
|
|
8
8
|
import { not, is, findLast } from 'ramda';
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
|
10
10
|
import { Link, useLocation, useHistory } from 'react-router-dom';
|
|
11
|
-
import { f as filterByPermissions, a as CheckPointNavLinks, I as Items, b as SELECTED_NAV_LINK_ROUTE_STORAGE_KEY, g as getSidebarStateLocalStorageKey, S as SelectedLink, C as Chevron } from './Chevron-
|
|
11
|
+
import { f as filterByPermissions, a as CheckPointNavLinks, I as Items, b as SELECTED_NAV_LINK_ROUTE_STORAGE_KEY, g as getSidebarStateLocalStorageKey, S as SelectedLink, C as Chevron } from './Chevron-dee43d2f.js';
|
|
12
12
|
import useFetchNeetoApps from '@bigbinary/neeto-commons-frontend/react-utils/useFetchNeetoApps';
|
|
13
13
|
import Neeto from '@bigbinary/neeto-icons/typeface-logos/Neeto';
|
|
14
14
|
import * as AppIcons from '@bigbinary/neeto-icons/typeface-logos';
|
|
@@ -19,7 +19,6 @@ import { n } from './inject-css-c86de496.js';
|
|
|
19
19
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
20
20
|
import Tooltip from '@bigbinary/neetoui/Tooltip';
|
|
21
21
|
import Switch from '@bigbinary/neetoui/formik/Switch';
|
|
22
|
-
import { t } from 'i18next';
|
|
23
22
|
|
|
24
23
|
var useScrollIntoView = function useScrollIntoView(_ref) {
|
|
25
24
|
var elementId = _ref.elementId,
|
|
@@ -34,15 +33,6 @@ var useScrollIntoView = function useScrollIntoView(_ref) {
|
|
|
34
33
|
var css = ".toggle-feature-card--highlighted{border-color:rgb(var(--neeto-ui-primary-800))!important;box-shadow:0 0 0 1px rgb(var(--neeto-ui-primary-800))}";
|
|
35
34
|
n(css,{});
|
|
36
35
|
|
|
37
|
-
var getTooltipContent = function getTooltipContent(_ref) {
|
|
38
|
-
var enabledCondition = _ref.enabledCondition,
|
|
39
|
-
tooltipProps = _ref.tooltipProps;
|
|
40
|
-
if (enabledCondition) {
|
|
41
|
-
return tooltipProps.enabledSwitchText || t("neetoMolecules.toggleFeatureCard.switchTooltip.enabled");
|
|
42
|
-
}
|
|
43
|
-
return tooltipProps.disabledSwitchText || t("neetoMolecules.toggleFeatureCard.switchTooltip.disabled");
|
|
44
|
-
};
|
|
45
|
-
|
|
46
36
|
var _excluded = ["enabledCondition", "name", "isDisabled", "switchDataCy", "tooltipProps"];
|
|
47
37
|
function ownKeys$1(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; }
|
|
48
38
|
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -56,11 +46,10 @@ var TooltipSwitch = function TooltipSwitch(_ref) {
|
|
|
56
46
|
_ref$tooltipProps = _ref.tooltipProps,
|
|
57
47
|
tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
|
|
58
48
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
49
|
+
var tooltipContent = enabledCondition ? tooltipProps.enabledSwitchText : tooltipProps.disabledSwitchText;
|
|
59
50
|
return /*#__PURE__*/React__default.createElement(Tooltip, _extends({
|
|
60
|
-
content:
|
|
61
|
-
|
|
62
|
-
tooltipProps: tooltipProps
|
|
63
|
-
}),
|
|
51
|
+
content: tooltipContent,
|
|
52
|
+
disabled: !tooltipContent,
|
|
64
53
|
position: "top"
|
|
65
54
|
}, tooltipProps), /*#__PURE__*/React__default.createElement("span", null, /*#__PURE__*/React__default.createElement(Switch, _extends({
|
|
66
55
|
"data-cy": switchDataCy,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleFeatureCard.js","sources":["../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../src/components/ToggleFeatureCard/utils.js","../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\n","import { t } from \"i18next\";\n\nexport const getTooltipContent = ({ enabledCondition, tooltipProps }) => {\n if (enabledCondition) {\n return (\n tooltipProps.enabledSwitchText ||\n t(\"neetoMolecules.toggleFeatureCard.switchTooltip.enabled\")\n );\n }\n\n return (\n tooltipProps.disabledSwitchText ||\n t(\"neetoMolecules.toggleFeatureCard.switchTooltip.disabled\")\n );\n};\n","import React from \"react\";\n\nimport { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nimport { getTooltipContent } from \"./utils\";\n\nconst TooltipSwitch = ({\n enabledCondition,\n name = \"\",\n isDisabled = false,\n switchDataCy,\n tooltipProps = {},\n ...otherProps\n}) => (\n <Tooltip\n content={getTooltipContent({ enabledCondition, tooltipProps })}\n position=\"top\"\n {...tooltipProps}\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name, ...otherProps }}\n />\n </span>\n </Tooltip>\n);\nexport default TooltipSwitch;\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Edit, Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZES } from \"./constants\";\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps,\n switchProps = {},\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (!(submitCount >= 1 && isEmpty(errors))) return;\n setIsEditing(false);\n }, [submitCount]);\n\n useEffect(() => {\n if (isEmpty(errors)) return;\n setIsEditing(true);\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotkeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n {...{ id }}\n data-testid=\"toggle-feature-card\"\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{\n enabledCondition,\n isDisabled,\n switchDataCy,\n ...switchProps,\n }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n tooltipProps={{\n content:\n inputProps?.editButtonTooltip ||\n t(\n \"neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip\"\n ),\n position: \"right\",\n }}\n onClick={() => setIsEditing(true)}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n {...inputProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n }),\n /**\n * Can be used to add props to the switch component.\n */\n switchProps: PropTypes.shape({\n onChange: PropTypes.func,\n className: PropTypes.string,\n checked: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n enabledSwitchText: PropTypes.string,\n disabledSwitchText: PropTypes.string,\n }),\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","getTooltipContent","enabledCondition","tooltipProps","enabledSwitchText","t","disabledSwitchText","TooltipSwitch","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","_ref$tooltipProps","otherProps","_objectWithoutProperties","_excluded","React","createElement","Tooltip","_extends","content","position","FormikSwitch","disabled","_objectSpread","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","children","inputProps","_ref$switchProps","switchProps","_useTranslation","useTranslation","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotkeys","mode","ref","className","classnames","Label","Typography","component","style","weight","display","Button","editButtonDataCy","icon","Edit","size","type","editButtonTooltip","onClick","Input","autoFocus","dataCy","label","placeholder","suffix","Close"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToggleFeatureCard.js","sources":["../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\n","import React from \"react\";\n\nimport { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nconst TooltipSwitch = ({\n enabledCondition,\n name = \"\",\n isDisabled = false,\n switchDataCy,\n tooltipProps = {},\n ...otherProps\n}) => {\n const tooltipContent = enabledCondition\n ? tooltipProps.enabledSwitchText\n : tooltipProps.disabledSwitchText;\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={!tooltipContent}\n position=\"top\"\n {...tooltipProps}\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name, ...otherProps }}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default TooltipSwitch;\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Edit, Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZES } from \"./constants\";\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps,\n switchProps = {},\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (!(submitCount >= 1 && isEmpty(errors))) return;\n setIsEditing(false);\n }, [submitCount]);\n\n useEffect(() => {\n if (isEmpty(errors)) return;\n setIsEditing(true);\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotkeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n {...{ id }}\n data-testid=\"toggle-feature-card\"\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{\n enabledCondition,\n isDisabled,\n switchDataCy,\n ...switchProps,\n }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n tooltipProps={{\n content:\n inputProps?.editButtonTooltip ||\n t(\n \"neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip\"\n ),\n position: \"right\",\n }}\n onClick={() => setIsEditing(true)}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n {...inputProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n }),\n /**\n * Can be used to add props to the switch component.\n */\n switchProps: PropTypes.shape({\n onChange: PropTypes.func,\n className: PropTypes.string,\n checked: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n enabledSwitchText: PropTypes.string,\n disabledSwitchText: PropTypes.string,\n }),\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","_ref$tooltipProps","tooltipProps","otherProps","_objectWithoutProperties","_excluded","tooltipContent","enabledSwitchText","disabledSwitchText","React","createElement","Tooltip","_extends","content","disabled","position","FormikSwitch","_objectSpread","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","children","inputProps","_ref$switchProps","switchProps","_useTranslation","useTranslation","t","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotkeys","mode","ref","className","classnames","Label","Typography","component","style","weight","display","Button","editButtonDataCy","icon","Edit","size","type","editButtonTooltip","onClick","Input","autoFocus","dataCy","label","placeholder","suffix","Close"],"mappings":"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"}
|
package/dist/cjs/CalendarView.js
CHANGED
|
@@ -10,6 +10,8 @@ var interactionPlugin = require('@fullcalendar/interaction');
|
|
|
10
10
|
var FullCalendar = require('@fullcalendar/react');
|
|
11
11
|
var timeGridPlugin = require('@fullcalendar/timegrid');
|
|
12
12
|
var dayjs = require('dayjs');
|
|
13
|
+
var isSameOrAfter = require('dayjs/plugin/isSameOrAfter');
|
|
14
|
+
var isSameOrBefore = require('dayjs/plugin/isSameOrBefore');
|
|
13
15
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
14
16
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
15
17
|
var ramda = require('ramda');
|
|
@@ -49,6 +51,8 @@ var interactionPlugin__default = /*#__PURE__*/_interopDefaultLegacy(interactionP
|
|
|
49
51
|
var FullCalendar__default = /*#__PURE__*/_interopDefaultLegacy(FullCalendar);
|
|
50
52
|
var timeGridPlugin__default = /*#__PURE__*/_interopDefaultLegacy(timeGridPlugin);
|
|
51
53
|
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
54
|
+
var isSameOrAfter__default = /*#__PURE__*/_interopDefaultLegacy(isSameOrAfter);
|
|
55
|
+
var isSameOrBefore__default = /*#__PURE__*/_interopDefaultLegacy(isSameOrBefore);
|
|
52
56
|
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
53
57
|
var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
|
|
54
58
|
var Down__default = /*#__PURE__*/_interopDefaultLegacy(Down);
|
|
@@ -124,13 +128,14 @@ var getFormattedRangeStr = function getFormattedRangeStr(date, picker) {
|
|
|
124
128
|
return selectedFormatter(date);
|
|
125
129
|
};
|
|
126
130
|
|
|
127
|
-
var _excluded$1 = ["selectedDate", "setSelectedDate", "picker"];
|
|
131
|
+
var _excluded$1 = ["selectedDate", "setSelectedDate", "picker", "validDates"];
|
|
128
132
|
function ownKeys$1(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; }
|
|
129
133
|
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
130
134
|
var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
131
135
|
var selectedDate = _ref.selectedDate,
|
|
132
136
|
setSelectedDate = _ref.setSelectedDate,
|
|
133
137
|
picker = _ref.picker,
|
|
138
|
+
validDates = _ref.validDates,
|
|
134
139
|
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded$1);
|
|
135
140
|
var _useState = React.useState(false),
|
|
136
141
|
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
@@ -139,6 +144,10 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
139
144
|
var datePickerRef = React.useRef(null);
|
|
140
145
|
var buttonRef = React.useRef(null);
|
|
141
146
|
var selectedRangeStr = getFormattedRangeStr(selectedDate, picker);
|
|
147
|
+
var start = validDates.start,
|
|
148
|
+
end = validDates.end;
|
|
149
|
+
var isDateLessThanStart = start && selectedDate.isSameOrBefore(dayjs__default["default"](start), picker);
|
|
150
|
+
var isDateGreaterThanEnd = end && selectedDate.isSameOrAfter(dayjs__default["default"](end), picker);
|
|
142
151
|
var onPrevious = function onPrevious() {
|
|
143
152
|
return setSelectedDate(function (selectedDate) {
|
|
144
153
|
return selectedDate.subtract(1, picker);
|
|
@@ -152,6 +161,10 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
152
161
|
var onToday = function onToday() {
|
|
153
162
|
return setSelectedDate(dayjs__default["default"]());
|
|
154
163
|
};
|
|
164
|
+
var getDisabledDates = function getDisabledDates(date) {
|
|
165
|
+
if (!date) return false;
|
|
166
|
+
return start && date <= start || end && date >= end;
|
|
167
|
+
};
|
|
155
168
|
var handleButtonMouseDown = function handleButtonMouseDown(e) {
|
|
156
169
|
if (!(buttonRef.current && buttonRef.current.contains(e.target))) return;
|
|
157
170
|
e.stopPropagation();
|
|
@@ -169,6 +182,7 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
169
182
|
}, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
170
183
|
className: "mr-1",
|
|
171
184
|
"data-cy": "neeto-molecules-calendar-view-previous-button",
|
|
185
|
+
disabled: isDateLessThanStart,
|
|
172
186
|
icon: Left__default["default"],
|
|
173
187
|
style: "text",
|
|
174
188
|
onClick: onPrevious
|
|
@@ -189,6 +203,7 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
189
203
|
}, selectedRangeStr)), /*#__PURE__*/React__default["default"].createElement(DatePicker__default["default"], _extends__default["default"]({
|
|
190
204
|
className: "invisible w-0 px-0",
|
|
191
205
|
defaultValue: selectedDate,
|
|
206
|
+
disabledDate: getDisabledDates,
|
|
192
207
|
open: isOpen,
|
|
193
208
|
placement: "topRight",
|
|
194
209
|
ref: datePickerRef,
|
|
@@ -200,6 +215,7 @@ var CustomDatePicker = function CustomDatePicker(_ref) {
|
|
|
200
215
|
}, otherProps))), /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
201
216
|
className: "ml-1",
|
|
202
217
|
"data-cy": "neeto-molecules-calendar-view-next-button",
|
|
218
|
+
disabled: isDateGreaterThanEnd,
|
|
203
219
|
icon: Right__default["default"],
|
|
204
220
|
style: "text",
|
|
205
221
|
onClick: onNext
|
|
@@ -212,7 +228,8 @@ var Header = function Header(_ref) {
|
|
|
212
228
|
setSelectedView = _ref.setSelectedView,
|
|
213
229
|
setSelectedDate = _ref.setSelectedDate,
|
|
214
230
|
selectedDate = _ref.selectedDate,
|
|
215
|
-
calendarViewOptions = _ref.calendarViewOptions
|
|
231
|
+
calendarViewOptions = _ref.calendarViewOptions,
|
|
232
|
+
validDates = _ref.validDates;
|
|
216
233
|
var Menu = Dropdown__default["default"].Menu,
|
|
217
234
|
MenuItem = Dropdown__default["default"].MenuItem;
|
|
218
235
|
var handleViewSelection = function handleViewSelection(option) {
|
|
@@ -229,10 +246,11 @@ var Header = function Header(_ref) {
|
|
|
229
246
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
230
247
|
className: "flex space-x-4"
|
|
231
248
|
}, /*#__PURE__*/React__default["default"].createElement(CustomDatePicker, {
|
|
232
|
-
getPopupContainer: ramda.prop("parentNode"),
|
|
233
|
-
picker: selectedView.picker,
|
|
234
249
|
selectedDate: selectedDate,
|
|
235
|
-
setSelectedDate: setSelectedDate
|
|
250
|
+
setSelectedDate: setSelectedDate,
|
|
251
|
+
validDates: validDates,
|
|
252
|
+
getPopupContainer: ramda.prop("parentNode"),
|
|
253
|
+
picker: selectedView.picker
|
|
236
254
|
}), Object.keys(calendarViewOptions).length > 1 && /*#__PURE__*/React__default["default"].createElement(Dropdown__default["default"], {
|
|
237
255
|
buttonProps: {
|
|
238
256
|
"data-testid": "calendar-view-dropdown"
|
|
@@ -250,9 +268,11 @@ var Header = function Header(_ref) {
|
|
|
250
268
|
}))));
|
|
251
269
|
};
|
|
252
270
|
|
|
253
|
-
var _excluded = ["viewOptions", "events", "handleDateClick", "handleEventClick", "eventClassNames", "dayCellClassNames", "dayMaxEvents", "eventMaxStack"];
|
|
271
|
+
var _excluded = ["viewOptions", "events", "handleDateClick", "handleEventClick", "eventClassNames", "dayCellClassNames", "validDates", "onDateChange", "dayMaxEvents", "eventMaxStack"];
|
|
254
272
|
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; }
|
|
255
273
|
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; }
|
|
274
|
+
dayjs__default["default"].extend(isSameOrAfter__default["default"]);
|
|
275
|
+
dayjs__default["default"].extend(isSameOrBefore__default["default"]);
|
|
256
276
|
var CalendarView = function CalendarView(_ref) {
|
|
257
277
|
var _ref$viewOptions = _ref.viewOptions,
|
|
258
278
|
viewOptions = _ref$viewOptions === void 0 ? VIEW_OPTIONS : _ref$viewOptions,
|
|
@@ -266,6 +286,13 @@ var CalendarView = function CalendarView(_ref) {
|
|
|
266
286
|
eventClassNames = _ref$eventClassNames === void 0 ? "" : _ref$eventClassNames,
|
|
267
287
|
_ref$dayCellClassName = _ref.dayCellClassNames,
|
|
268
288
|
dayCellClassNames = _ref$dayCellClassName === void 0 ? "" : _ref$dayCellClassName,
|
|
289
|
+
_ref$validDates = _ref.validDates,
|
|
290
|
+
validDates = _ref$validDates === void 0 ? {
|
|
291
|
+
start: null,
|
|
292
|
+
end: null
|
|
293
|
+
} : _ref$validDates,
|
|
294
|
+
_ref$onDateChange = _ref.onDateChange,
|
|
295
|
+
onDateChange = _ref$onDateChange === void 0 ? neetoCist.noop : _ref$onDateChange,
|
|
269
296
|
dayMaxEvents = _ref.dayMaxEvents,
|
|
270
297
|
eventMaxStack = _ref.eventMaxStack,
|
|
271
298
|
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
@@ -281,6 +308,13 @@ var CalendarView = function CalendarView(_ref) {
|
|
|
281
308
|
setSelectedDate = _useState4[1];
|
|
282
309
|
var _useTranslation = reactI18next.useTranslation(),
|
|
283
310
|
t = _useTranslation.t;
|
|
311
|
+
var handleDateChange = function handleDateChange(date) {
|
|
312
|
+
setSelectedDate(function (prevDate) {
|
|
313
|
+
var newDate = typeof date === "function" ? date(prevDate) : date;
|
|
314
|
+
onDateChange(newDate);
|
|
315
|
+
return newDate;
|
|
316
|
+
});
|
|
317
|
+
};
|
|
284
318
|
var calendarRef = React.useRef();
|
|
285
319
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
286
320
|
className: "flex-col",
|
|
@@ -289,14 +323,15 @@ var CalendarView = function CalendarView(_ref) {
|
|
|
289
323
|
leftActionBlock: /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
290
324
|
style: "h2"
|
|
291
325
|
}, selectedDate.format("MMMM, YYYY")),
|
|
292
|
-
rightActionBlock: /*#__PURE__*/React__default["default"].createElement(Header, {
|
|
326
|
+
rightActionBlock: /*#__PURE__*/React__default["default"].createElement(Header, _defineProperty__default["default"]({
|
|
293
327
|
calendarRef: calendarRef,
|
|
294
328
|
calendarViewOptions: calendarViewOptions,
|
|
295
329
|
selectedDate: selectedDate,
|
|
296
330
|
selectedView: selectedView,
|
|
297
331
|
setSelectedDate: setSelectedDate,
|
|
298
|
-
setSelectedView: setSelectedView
|
|
299
|
-
|
|
332
|
+
setSelectedView: setSelectedView,
|
|
333
|
+
validDates: validDates
|
|
334
|
+
}, "setSelectedDate", handleDateChange))
|
|
300
335
|
}), /*#__PURE__*/React__default["default"].createElement(FullCalendar__default["default"], _extends__default["default"]({
|
|
301
336
|
expandRows: true,
|
|
302
337
|
allDayText: t("neetoMolecules.calendarView.allDay"),
|
|
@@ -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 React, { 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 ...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 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 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 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 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 icon={Right}\n style=\"text\"\n onClick={onNext}\n />\n </div>\n </div>\n );\n};\n\nexport default CustomDatePicker;\n","import React, { 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}) => {\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 getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n {...{ selectedDate, setSelectedDate }}\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 React, { 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 { 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\nconst CalendarView = ({\n viewOptions = VIEW_OPTIONS,\n events = [],\n handleDateClick = noop,\n handleEventClick = noop,\n eventClassNames = \"\",\n dayCellClassNames = \"\",\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 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 }}\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\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","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","datePickerRef","useRef","buttonRef","selectedRangeStr","onPrevious","subtract","onNext","add","onToday","handleButtonMouseDown","e","current","contains","target","stopPropagation","focus","React","createElement","className","Button","style","onClick","icon","Left","Down","ref","onMouseDown","Typography","DatePicker","_extends","defaultValue","open","placement","value","onChange","onOpenChange","_objectSpread","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","key","CalendarView","_ref$viewOptions","viewOptions","_ref$events","events","_ref$handleDateClick","handleDateClick","noop","_ref$handleEventClick","handleEventClick","_ref$eventClassNames","eventClassNames","_ref$dayCellClassName","dayCellClassNames","dayMaxEvents","eventMaxStack","defaultView","find","_useState3","_useState4","_useTranslation","useTranslation","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 \"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 React, { 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 React, { 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 React, { 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","React","createElement","className","Button","style","onClick","disabled","icon","Left","Down","ref","onMouseDown","Typography","DatePicker","_extends","defaultValue","disabledDate","open","placement","value","onChange","onOpenChange","_objectSpread","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","key","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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"}
|
|
@@ -81,9 +81,11 @@ var SubLink = function SubLink(_ref) {
|
|
|
81
81
|
entity = _ref$entity === void 0 ? "" : _ref$entity,
|
|
82
82
|
_ref$columns = _ref.columns,
|
|
83
83
|
columns = _ref$columns === void 0 ? [] : _ref$columns,
|
|
84
|
+
baseUrl = _ref.baseUrl,
|
|
84
85
|
isActive = _ref.isActive;
|
|
85
86
|
if (type === SUB_LINK_TYPES.SEGMENTS) {
|
|
86
87
|
return /*#__PURE__*/React__default["default"].createElement(neetoFiltersFrontend.Segments, {
|
|
88
|
+
baseUrl: baseUrl,
|
|
87
89
|
columns: columns,
|
|
88
90
|
entity: entity,
|
|
89
91
|
isIndependent: false
|
|
@@ -209,4 +211,4 @@ exports.SELECTED_NAV_LINK_ROUTE_STORAGE_KEY = SELECTED_NAV_LINK_ROUTE_STORAGE_KE
|
|
|
209
211
|
exports.SelectedLink = SelectedLink;
|
|
210
212
|
exports.filterByPermissions = filterByPermissions;
|
|
211
213
|
exports.getSidebarStateLocalStorageKey = getSidebarStateLocalStorageKey;
|
|
212
|
-
//# sourceMappingURL=Chevron-
|
|
214
|
+
//# sourceMappingURL=Chevron-c10b4e16.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chevron-c10b4e16.js","sources":["../../src/components/Sidebar/Components/Links/CheckPointNavLink.jsx","../../src/components/Sidebar/constants.js","../../src/components/Sidebar/utils.js","../../src/components/Sidebar/Components/Links/SubLink.jsx","../../src/components/Sidebar/Components/Links/Items.jsx","../../src/components/Sidebar/Components/Links/SelectedLink.jsx","../../src/components/Sidebar/Components/Chevron.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { useNavigationCheckpoints } from \"neetocommons/react-utils/useRegisterNavigationCheckpoint\";\nimport { NavLink } from \"react-router-dom\";\n\nconst CheckPointNavLinks = ({ checkpointKey, to, children, ...others }) => {\n const { [checkpointKey]: checkpoint } =\n useNavigationCheckpoints(checkpointKey);\n\n return (\n <NavLink to={checkpoint || to} {...others} key={to}>\n {children}\n </NavLink>\n );\n};\n\nexport default CheckPointNavLinks;\n","export const SUB_LINK_TYPES = {\n SYSTEM_VIEW: \"system_view\",\n SEGMENTS: \"segments\",\n};\n\nexport const SELECTED_NAV_LINK_ROUTE_STORAGE_KEY = \"selectedNavLinkRoute\";\n","import { isNotEmpty } from \"neetocist\";\nimport { __, all, curry, equals, includes, is } from \"ramda\";\n\nexport const isSubRouteActive = (subRoute, location) => {\n const currentBrowserUrl = new URL(\n location.pathname + location.search + location.hash,\n window.location.origin\n );\n const targetUrl = new URL(subRoute, window.location.origin);\n\n const targetSearchParams = targetUrl.searchParams;\n const targetSearchKeys = Array.from(targetSearchParams.keys());\n\n return (\n all(\n key =>\n currentBrowserUrl.searchParams.get(key) === targetSearchParams.get(key),\n targetSearchKeys\n ) && equals(currentBrowserUrl.pathname, targetUrl.pathname)\n );\n};\n\nexport const getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const filterByPermissions = curry(({ permissions }) => {\n if (permissions && isNotEmpty(permissions)) {\n return is(Array, permissions)\n ? permissions.some(includes(__, globalProps.permissions))\n : globalProps.permissions.includes(permissions);\n }\n\n return true;\n});\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Segments } from \"neetofilters\";\nimport { Typography } from \"neetoui\";\nimport { is } from \"ramda\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\n\nimport { SUB_LINK_TYPES } from \"../../constants\";\nimport { isSubRouteActive } from \"../../utils\";\n\nconst SubLink = ({\n to,\n label,\n type = SUB_LINK_TYPES.SYSTEM_VIEW,\n count,\n isSectionHeader,\n isCountsLoading,\n \"data-cy\": dataCy,\n entity = \"\",\n columns = [],\n baseUrl,\n isActive,\n}) => {\n if (type === SUB_LINK_TYPES.SEGMENTS) {\n return <Segments {...{ baseUrl, columns, entity }} isIndependent={false} />;\n }\n\n const dataCyPrefix = dataCy || hyphenate(label);\n\n const renderCount = count => (count > 999 ? \"999+\" : count);\n\n const isSubLinkActive = () =>\n !isSectionHeader &&\n (is(Function, isActive) ? isActive() : isSubRouteActive(to, location));\n\n return (\n <CheckPointNavLinks\n {...{ to }}\n activeClassName=\"active\"\n className=\"neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none\"\n data-cy={`${dataCyPrefix}-sub-link`}\n isActive={isSubLinkActive}\n >\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-label neeto-ui-flex-grow\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-label`}\n style=\"body2\"\n >\n {label}\n </Typography>\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-count neeto-ui-flex-shrink-0\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-count`}\n style=\"body2\"\n >\n {isCountsLoading ? (\n <div className=\"neeto-ui-rounded neeto-ui-bg-gray-200 h-4 w-4 animate-pulse\" />\n ) : (\n renderCount(count)\n )}\n </Typography>\n </CheckPointNavLinks>\n );\n};\n\nexport default SubLink;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\n\nimport SubLink from \"./SubLink\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Items = ({ items, isSettingsItems = false, isCountsLoading }) => (\n <div\n className=\"neeto-molecules-sidebar__sublink-wrapper\"\n data-cy=\"sidebar-sub-link-wrapper\"\n >\n {items.filter(filterByPermissions).map((subItem, subIndex) => (\n <React.Fragment key={subIndex}>\n <SubLink\n {...{ ...subItem, isCountsLoading }}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n />\n {isSettingsItems && isPresent(subItem.items) && (\n <>\n <Items {...{ isSettingsItems }} items={subItem.items} />\n {items.length - 1 !== subIndex && (\n <hr className=\"neeto-molecules-sidebar__separator\" />\n )}\n </>\n )}\n </React.Fragment>\n ))}\n </div>\n);\n\nexport default Items;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Left } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport Items from \"./Items\";\n\nconst SelectedLink = ({\n navLink = { label: \"\", items: [], isConfigureNavLink: false },\n handleGoBack,\n isConfigureSidebar,\n}) => {\n const { label, items, isConfigureNavLink, ...otherProps } = navLink;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__links--focus-mode neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"configure-nav-container\"\n >\n <div\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-molecules-sidebar__link neeto-ui-border-b\"\n onClick={handleGoBack}\n {...{ ...omit([\"icon\"], otherProps) }}\n >\n {isConfigureNavLink && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-cy={`${hyphenize(label)}-go-back-button`}\n data-testid={`${label}-go-back-button`}\n >\n <Left size={16} />\n </span>\n )}\n <Typography\n component=\"span\"\n style=\"body1\"\n className={classNames(\"neeto-molecules-sidebar__link-label\", {\n \"neeto-molecules-sidebar__configure-page-header\":\n isConfigureNavLink,\n [\"pl-4\"]: isConfigureSidebar,\n })}\n >\n {label}\n </Typography>\n </div>\n {items && <Items {...{ items }} isSettingsItems />}\n </div>\n );\n};\n\nexport default SelectedLink;\n","import React from \"react\";\n\nconst Chevron = ({ style }) => (\n <svg {...{ style }} height=\"16\" viewBox=\"0 0 16 16\" width=\"16\">\n <path\n d=\"M7.07031 13.8887C7.2207 14.0391 7.40527 14.1211 7.62402 14.1211C8.06836 14.1211 8.41699 13.7725 8.41699 13.3281C8.41699 13.1094 8.32812 12.9043 8.17773 12.7539L3.37207 8.05762L8.17773 3.375C8.32812 3.21777 8.41699 3.0127 8.41699 2.80078C8.41699 2.35645 8.06836 2.00781 7.62402 2.00781C7.40527 2.00781 7.2207 2.08984 7.07031 2.24023L1.73828 7.44922C1.56055 7.62012 1.46484 7.8252 1.46484 8.06445C1.46484 8.29688 1.55371 8.49512 1.73828 8.67969L7.07031 13.8887ZM13.1748 13.8887C13.3252 14.0391 13.5098 14.1211 13.7354 14.1211C14.1797 14.1211 14.5283 13.7725 14.5283 13.3281C14.5283 13.1094 14.4395 12.9043 14.2891 12.7539L9.4834 8.05762L14.2891 3.375C14.4395 3.21777 14.5283 3.0127 14.5283 2.80078C14.5283 2.35645 14.1797 2.00781 13.7354 2.00781C13.5098 2.00781 13.3252 2.08984 13.1748 2.24023L7.84961 7.44922C7.66504 7.62012 7.57617 7.8252 7.56934 8.06445C7.56934 8.29688 7.66504 8.49512 7.84961 8.67969L13.1748 13.8887Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Chevron;\n"],"names":["CheckPointNavLinks","_ref","checkpointKey","to","children","others","_objectWithoutProperties","_excluded","_useNavigationCheckpo","useNavigationCheckpoints","checkpoint","React","createElement","NavLink","_extends","key","SUB_LINK_TYPES","SYSTEM_VIEW","SEGMENTS","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","isSubRouteActive","subRoute","location","currentBrowserUrl","URL","pathname","search","hash","window","origin","targetUrl","targetSearchParams","searchParams","targetSearchKeys","Array","from","keys","all","get","equals","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","user","globalProps","email","phoneNumber","concat","filterByPermissions","curry","permissions","isNotEmpty","is","some","includes","__","SubLink","label","_ref$type","type","count","isSectionHeader","isCountsLoading","dataCy","_ref$entity","entity","_ref$columns","columns","baseUrl","isActive","Segments","isIndependent","dataCyPrefix","hyphenate","renderCount","isSubLinkActive","Function","activeClassName","className","Typography","component","style","Items","items","_ref$isSettingsItems","isSettingsItems","filter","map","subItem","subIndex","_subItem$to","Fragment","_objectSpread","isPresent","item","path","length","SelectedLink","_ref$navLink","navLink","isConfigureNavLink","handleGoBack","isConfigureSidebar","otherProps","onClick","omit","hyphenize","Left","size","classNames","_defineProperty","Chevron","height","viewBox","width","d","fill"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAAmD;AAAA,EAAA,IAA7CC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IAAEC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;AAAKC,IAAAA,MAAM,GAAAC,4CAAA,CAAAL,IAAA,EAAAM,WAAA,CAAA,CAAA;AAClE,EAAA,IAAAC,qBAAA,GACEC,wDAAwB,CAACP,aAAa,CAAC;IADhBQ,UAAU,GAAAF,qBAAA,CAA1BN,aAAa,CAAA,CAAA;AAGtB,EAAA,oBACES,yBAAA,CAAAC,aAAA,CAACC,sBAAO,EAAAC,4BAAA,CAAA;IAACX,EAAE,EAAEO,UAAU,IAAIP,EAAAA;AAAG,GAAA,EAAKE,MAAM,EAAA;AAAEU,IAAAA,GAAG,EAAEZ,EAAAA;AAAG,GAAA,CAAA,EAChDC,QACM,CAAC,CAAA;AAEd;;ACdO,IAAMY,cAAc,GAAG;AAC5BC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,QAAQ,EAAE,UAAA;AACZ,CAAC,CAAA;AAEM,IAAMC,mCAAmC,GAAG;;ACF5C,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,QAAQ,EAAEC,QAAQ,EAAK;EACtD,IAAMC,iBAAiB,GAAG,IAAIC,GAAG,CAC/BF,QAAQ,CAACG,QAAQ,GAAGH,QAAQ,CAACI,MAAM,GAAGJ,QAAQ,CAACK,IAAI,EACnDC,MAAM,CAACN,QAAQ,CAACO,MAClB,CAAC,CAAA;AACD,EAAA,IAAMC,SAAS,GAAG,IAAIN,GAAG,CAACH,QAAQ,EAAEO,MAAM,CAACN,QAAQ,CAACO,MAAM,CAAC,CAAA;AAE3D,EAAA,IAAME,kBAAkB,GAAGD,SAAS,CAACE,YAAY,CAAA;EACjD,IAAMC,gBAAgB,GAAGC,KAAK,CAACC,IAAI,CAACJ,kBAAkB,CAACK,IAAI,EAAE,CAAC,CAAA;EAE9D,OACEC,SAAG,CACD,UAAAtB,GAAG,EAAA;AAAA,IAAA,OACDQ,iBAAiB,CAACS,YAAY,CAACM,GAAG,CAACvB,GAAG,CAAC,KAAKgB,kBAAkB,CAACO,GAAG,CAACvB,GAAG,CAAC,CAAA;AAAA,GAAA,EACzEkB,gBACF,CAAC,IAAIM,YAAM,CAAChB,iBAAiB,CAACE,QAAQ,EAAEK,SAAS,CAACL,QAAQ,CAAC,CAAA;AAE/D,CAAC,CAAA;IAEYe,8BAA8B,GAAG,SAAjCA,8BAA8BA,GAAS;EAAA,IAAAC,iBAAA,EAAAC,kBAAA,CAAA;EAClD,IAAMC,IAAI,GAAG,CAAA,CAAAF,iBAAA,GAAAG,WAAW,CAACD,IAAI,MAAAF,IAAAA,IAAAA,iBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAA,CAAkBI,KAAK,MAAA,CAAAH,kBAAA,GAAIE,WAAW,CAACD,IAAI,MAAA,IAAA,IAAAD,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBI,WAAW,CAAA,CAAA;EAErE,OAAAC,eAAAA,CAAAA,MAAA,CAAuBJ,IAAI,CAAA,CAAA;AAC7B,EAAC;IAEYK,mBAAmB,GAAGC,WAAK,CAAC,UAAAhD,IAAA,EAAqB;AAAA,EAAA,IAAlBiD,WAAW,GAAAjD,IAAA,CAAXiD,WAAW,CAAA;AACrD,EAAA,IAAIA,WAAW,IAAIC,oBAAU,CAACD,WAAW,CAAC,EAAE;AAC1C,IAAA,OAAOE,QAAE,CAAClB,KAAK,EAAEgB,WAAW,CAAC,GACzBA,WAAW,CAACG,IAAI,CAACC,cAAQ,CAACC,QAAE,EAAEX,WAAW,CAACM,WAAW,CAAC,CAAC,GACvDN,WAAW,CAACM,WAAW,CAACI,QAAQ,CAACJ,WAAW,CAAC,CAAA;AACnD,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAC;;ACxBD,IAAMM,OAAO,GAAG,SAAVA,OAAOA,CAAAvD,IAAA,EAYP;AAAA,EAAA,IAXJE,EAAE,GAAAF,IAAA,CAAFE,EAAE;IACFsD,KAAK,GAAAxD,IAAA,CAALwD,KAAK;IAAAC,SAAA,GAAAzD,IAAA,CACL0D,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAG1C,cAAc,CAACC,WAAW,GAAAyC,SAAA;IACjCE,KAAK,GAAA3D,IAAA,CAAL2D,KAAK;IACLC,eAAe,GAAA5D,IAAA,CAAf4D,eAAe;IACfC,eAAe,GAAA7D,IAAA,CAAf6D,eAAe;IACJC,MAAM,GAAA9D,IAAA,CAAjB,SAAS,CAAA;IAAA+D,WAAA,GAAA/D,IAAA,CACTgE,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IAAAE,YAAA,GAAAjE,IAAA,CACXkE,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IACZE,OAAO,GAAAnE,IAAA,CAAPmE,OAAO;IACPC,QAAQ,GAAApE,IAAA,CAARoE,QAAQ,CAAA;AAER,EAAA,IAAIV,IAAI,KAAK3C,cAAc,CAACE,QAAQ,EAAE;AACpC,IAAA,oBAAOP,yBAAA,CAAAC,aAAA,CAAC0D,6BAAQ,EAAA;AAAOF,MAAAA,OAAO,EAAPA,OAAO;AAAED,MAAAA,OAAO,EAAPA,OAAO;AAAEF,MAAAA,MAAM,EAANA,MAAM;AAAIM,MAAAA,aAAa,EAAE,KAAA;AAAM,KAAE,CAAC,CAAA;AAC7E,GAAA;AAEA,EAAA,IAAMC,YAAY,GAAGT,MAAM,IAAIU,mBAAS,CAAChB,KAAK,CAAC,CAAA;AAE/C,EAAA,IAAMiB,WAAW,GAAG,SAAdA,WAAWA,CAAGd,KAAK,EAAA;AAAA,IAAA,OAAKA,KAAK,GAAG,GAAG,GAAG,MAAM,GAAGA,KAAK,CAAA;GAAC,CAAA;AAE3D,EAAA,IAAMe,eAAe,GAAG,SAAlBA,eAAeA,GAAA;IAAA,OACnB,CAACd,eAAe,KACfT,QAAE,CAACwB,QAAQ,EAAEP,QAAQ,CAAC,GAAGA,QAAQ,EAAE,GAAGjD,gBAAgB,CAACjB,EAAE,EAAEmB,QAAQ,CAAC,CAAC,CAAA;AAAA,GAAA,CAAA;AAExE,EAAA,oBACEX,yBAAA,CAAAC,aAAA,CAACZ,kBAAkB,EAAA;AACXG,IAAAA,EAAE,EAAFA,EAAE;AACR0E,IAAAA,eAAe,EAAC,QAAQ;AACxBC,IAAAA,SAAS,EAAC,2FAA2F;IACrG,SAAA/B,EAAAA,EAAAA,CAAAA,MAAA,CAAYyB,YAAY,EAAY,WAAA,CAAA;AACpCH,IAAAA,QAAQ,EAAEM,eAAAA;AAAgB,GAAA,eAE1BhE,yBAAA,CAAAC,aAAA,CAACmE,8BAAU,EAAA;AACTD,IAAAA,SAAS,EAAC,4DAA4D;AACtEE,IAAAA,SAAS,EAAC,MAAM;IAChB,SAAAjC,EAAAA,EAAAA,CAAAA,MAAA,CAAYyB,YAAY,EAAkB,iBAAA,CAAA;AAC1CS,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAEZxB,KACS,CAAC,eACb9C,yBAAA,CAAAC,aAAA,CAACmE,8BAAU,EAAA;AACTD,IAAAA,SAAS,EAAC,gEAAgE;AAC1EE,IAAAA,SAAS,EAAC,MAAM;IAChB,SAAAjC,EAAAA,EAAAA,CAAAA,MAAA,CAAYyB,YAAY,EAAkB,iBAAA,CAAA;AAC1CS,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAEZnB,eAAe,gBACdnD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKkE,IAAAA,SAAS,EAAC,6DAAA;AAA6D,GAAE,CAAC,GAE/EJ,WAAW,CAACd,KAAK,CAET,CACM,CAAC,CAAA;AAEzB,CAAC;;;;AC3DD,IAAMsB,KAAK,GAAG,SAARA,KAAKA,CAAAjF,IAAA,EAAA;AAAA,EAAA,IAAMkF,KAAK,GAAAlF,IAAA,CAALkF,KAAK;IAAAC,oBAAA,GAAAnF,IAAA,CAAEoF,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IAAEtB,eAAe,GAAA7D,IAAA,CAAf6D,eAAe,CAAA;EAAA,oBAC9DnD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEkE,IAAAA,SAAS,EAAC,0CAA0C;IACpD,SAAQ,EAAA,0BAAA;AAA0B,GAAA,EAEjCK,KAAK,CAACG,MAAM,CAACtC,mBAAmB,CAAC,CAACuC,GAAG,CAAC,UAACC,OAAO,EAAEC,QAAQ,EAAA;AAAA,IAAA,IAAAC,WAAA,CAAA;AAAA,IAAA,oBACvD/E,yBAAA,CAAAC,aAAA,CAACD,yBAAK,CAACgF,QAAQ,EAAA;AAAC5E,MAAAA,GAAG,EAAE0E,QAAAA;AAAS,KAAA,eAC5B9E,yBAAA,CAAAC,aAAA,CAAC4C,OAAO,EAAA1C,4BAAA,CAAA,EAAA,EAAA8E,eAAA,CAAAA,eAAA,CAAA,EAAA,EACGJ,OAAO,CAAA,EAAA,EAAA,EAAA;AAAE1B,MAAAA,eAAe,EAAfA,eAAAA;AAAe,KAAA,CAAA,EAAA;MACjCO,QAAQ,EAAEmB,OAAO,CAACnB,QAAS;AAC3BR,MAAAA,eAAe,EAAEgC,mBAAS,CAACL,OAAO,CAACM,IAAI,CAAE;AACzC3F,MAAAA,EAAE,EAAAuF,CAAAA,WAAA,GAAEF,OAAO,CAACrF,EAAE,MAAAuF,IAAAA,IAAAA,WAAA,KAAAA,KAAAA,CAAAA,GAAAA,WAAA,GAAIF,OAAO,CAACO,IAAAA;KAC3B,CAAA,CAAC,EACDV,eAAe,IAAIQ,mBAAS,CAACL,OAAO,CAACL,KAAK,CAAC,iBAC1CxE,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAgF,QAAA,qBACEhF,yBAAA,CAAAC,aAAA,CAACsE,KAAK,EAAA;AAAOG,MAAAA,eAAe,EAAfA,eAAe;MAAIF,KAAK,EAAEK,OAAO,CAACL,KAAAA;AAAM,KAAE,CAAC,EACvDA,KAAK,CAACa,MAAM,GAAG,CAAC,KAAKP,QAAQ,iBAC5B9E,yBAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIkE,MAAAA,SAAS,EAAC,oCAAA;KAAsC,CAEtD,CAEU,CAAC,CAAA;AAAA,GAClB,CACE,CAAC,CAAA;AAAA;;;;;ACrBR,IAAMmB,YAAY,GAAG,SAAfA,YAAYA,CAAAhG,IAAA,EAIZ;AAAA,EAAA,IAAAiG,YAAA,GAAAjG,IAAA,CAHJkG,OAAO;IAAPA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA;AAAEzC,MAAAA,KAAK,EAAE,EAAE;AAAE0B,MAAAA,KAAK,EAAE,EAAE;AAAEiB,MAAAA,kBAAkB,EAAE,KAAA;AAAM,KAAC,GAAAF,YAAA;IAC7DG,YAAY,GAAApG,IAAA,CAAZoG,YAAY;IACZC,kBAAkB,GAAArG,IAAA,CAAlBqG,kBAAkB,CAAA;AAElB,EAAA,IAAQ7C,KAAK,GAA+C0C,OAAO,CAA3D1C,KAAK;IAAE0B,KAAK,GAAwCgB,OAAO,CAApDhB,KAAK;IAAEiB,kBAAkB,GAAoBD,OAAO,CAA7CC,kBAAkB;AAAKG,IAAAA,UAAU,GAAAjG,4CAAA,CAAK6F,OAAO,EAAA5F,SAAA,CAAA,CAAA;EAEnE,oBACEI,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEkE,IAAAA,SAAS,EAAC,kHAAkH;IAC5H,SAAQ,EAAA,yBAAA;AAAyB,GAAA,eAEjCnE,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAAE,4BAAA,CAAA;AACEgE,IAAAA,SAAS,EAAC,2GAA2G;AACrH0B,IAAAA,OAAO,EAAEH,YAAAA;AAAa,GAAA,EAAAT,aAAA,CAAA,EAAA,EACba,UAAI,CAAC,CAAC,MAAM,CAAC,EAAEF,UAAU,CAAC,CAElCH,CAAAA,EAAAA,kBAAkB,iBACjBzF,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEkE,IAAAA,SAAS,EAAC,oCAAoC;AAC9C,IAAA,SAAA,EAAA,EAAA,CAAA/B,MAAA,CAAY2D,iBAAS,CAACjD,KAAK,CAAC,EAAkB,iBAAA,CAAA;IAC9C,aAAAV,EAAAA,EAAAA,CAAAA,MAAA,CAAgBU,KAAK,EAAA,iBAAA,CAAA;AAAkB,GAAA,eAEvC9C,yBAAA,CAAAC,aAAA,CAAC+F,wBAAI,EAAA;AAACC,IAAAA,IAAI,EAAE,EAAA;AAAG,GAAE,CACb,CACP,eACDjG,yBAAA,CAAAC,aAAA,CAACmE,8BAAU,EAAA;AACTC,IAAAA,SAAS,EAAC,MAAM;AAChBC,IAAAA,KAAK,EAAC,OAAO;AACbH,IAAAA,SAAS,EAAE+B,8BAAU,CAAC,qCAAqC,EAAAC,mCAAA,CAAA;AACzD,MAAA,gDAAgD,EAC9CV,kBAAAA;KACD,EAAA,MAAM,EAAGE,kBAAkB,CAC7B,CAAA;GAEA7C,EAAAA,KACS,CACT,CAAC,EACL0B,KAAK,iBAAIxE,yBAAA,CAAAC,aAAA,CAACsE,KAAK,EAAA;AAAOC,IAAAA,KAAK,EAALA,KAAK;IAAIE,eAAe,EAAA,IAAA;AAAA,GAAE,CAC9C,CAAC,CAAA;AAEV;;;;;ACjDA,IAAM0B,OAAO,GAAG,SAAVA,OAAOA,CAAA9G,IAAA,EAAA;AAAA,EAAA,IAAMgF,KAAK,GAAAhF,IAAA,CAALgF,KAAK,CAAA;EAAA,oBACtBtE,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAWqE,IAAAA,KAAK,EAALA,KAAK;AAAI+B,IAAAA,MAAM,EAAC,IAAI;AAACC,IAAAA,OAAO,EAAC,WAAW;AAACC,IAAAA,KAAK,EAAC,IAAA;GACxDvG,eAAAA,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEuG,IAAAA,CAAC,EAAC,y5BAAy5B;AAC35BC,IAAAA,IAAI,EAAC,cAAA;AAAc,GACpB,CACE,CAAC,CAAA;AAAA;;;;;;;;;;"}
|
|
@@ -7,7 +7,7 @@ var Button = require('@bigbinary/neetoui/Button');
|
|
|
7
7
|
var ramda = require('ramda');
|
|
8
8
|
var reactI18next = require('react-i18next');
|
|
9
9
|
var reactRouterDom = require('react-router-dom');
|
|
10
|
-
var Chevron = require('./Chevron-
|
|
10
|
+
var Chevron = require('./Chevron-c10b4e16.js');
|
|
11
11
|
require('@babel/runtime/helpers/extends');
|
|
12
12
|
require('@babel/runtime/helpers/defineProperty');
|
|
13
13
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
package/dist/cjs/Sidebar.js
CHANGED
|
@@ -10,7 +10,7 @@ var Button = require('@bigbinary/neetoui/Button');
|
|
|
10
10
|
var ramda = require('ramda');
|
|
11
11
|
var reactI18next = require('react-i18next');
|
|
12
12
|
var reactRouterDom = require('react-router-dom');
|
|
13
|
-
var Chevron = require('./Chevron-
|
|
13
|
+
var Chevron = require('./Chevron-c10b4e16.js');
|
|
14
14
|
var useFetchNeetoApps = require('@bigbinary/neeto-commons-frontend/react-utils/useFetchNeetoApps');
|
|
15
15
|
var Neeto = require('@bigbinary/neeto-icons/typeface-logos/Neeto');
|
|
16
16
|
var AppIcons = require('@bigbinary/neeto-icons/typeface-logos');
|
|
@@ -21,7 +21,6 @@ var injectCss = require('./inject-css-80a5faa3.js');
|
|
|
21
21
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
22
22
|
var Tooltip = require('@bigbinary/neetoui/Tooltip');
|
|
23
23
|
var Switch = require('@bigbinary/neetoui/formik/Switch');
|
|
24
|
-
var i18next = require('i18next');
|
|
25
24
|
|
|
26
25
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
27
26
|
|
|
@@ -55,15 +54,6 @@ var useScrollIntoView = function useScrollIntoView(_ref) {
|
|
|
55
54
|
var css = ".toggle-feature-card--highlighted{border-color:rgb(var(--neeto-ui-primary-800))!important;box-shadow:0 0 0 1px rgb(var(--neeto-ui-primary-800))}";
|
|
56
55
|
injectCss.n(css,{});
|
|
57
56
|
|
|
58
|
-
var getTooltipContent = function getTooltipContent(_ref) {
|
|
59
|
-
var enabledCondition = _ref.enabledCondition,
|
|
60
|
-
tooltipProps = _ref.tooltipProps;
|
|
61
|
-
if (enabledCondition) {
|
|
62
|
-
return tooltipProps.enabledSwitchText || i18next.t("neetoMolecules.toggleFeatureCard.switchTooltip.enabled");
|
|
63
|
-
}
|
|
64
|
-
return tooltipProps.disabledSwitchText || i18next.t("neetoMolecules.toggleFeatureCard.switchTooltip.disabled");
|
|
65
|
-
};
|
|
66
|
-
|
|
67
57
|
var _excluded = ["enabledCondition", "name", "isDisabled", "switchDataCy", "tooltipProps"];
|
|
68
58
|
function ownKeys$1(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; }
|
|
69
59
|
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -77,11 +67,10 @@ var TooltipSwitch = function TooltipSwitch(_ref) {
|
|
|
77
67
|
_ref$tooltipProps = _ref.tooltipProps,
|
|
78
68
|
tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
|
|
79
69
|
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
70
|
+
var tooltipContent = enabledCondition ? tooltipProps.enabledSwitchText : tooltipProps.disabledSwitchText;
|
|
80
71
|
return /*#__PURE__*/React__default["default"].createElement(Tooltip__default["default"], _extends__default["default"]({
|
|
81
|
-
content:
|
|
82
|
-
|
|
83
|
-
tooltipProps: tooltipProps
|
|
84
|
-
}),
|
|
72
|
+
content: tooltipContent,
|
|
73
|
+
disabled: !tooltipContent,
|
|
85
74
|
position: "top"
|
|
86
75
|
}, tooltipProps), /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(Switch__default["default"], _extends__default["default"]({
|
|
87
76
|
"data-cy": switchDataCy,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleFeatureCard.js","sources":["../../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../../src/components/ToggleFeatureCard/utils.js","../../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\n","import { t } from \"i18next\";\n\nexport const getTooltipContent = ({ enabledCondition, tooltipProps }) => {\n if (enabledCondition) {\n return (\n tooltipProps.enabledSwitchText ||\n t(\"neetoMolecules.toggleFeatureCard.switchTooltip.enabled\")\n );\n }\n\n return (\n tooltipProps.disabledSwitchText ||\n t(\"neetoMolecules.toggleFeatureCard.switchTooltip.disabled\")\n );\n};\n","import React from \"react\";\n\nimport { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nimport { getTooltipContent } from \"./utils\";\n\nconst TooltipSwitch = ({\n enabledCondition,\n name = \"\",\n isDisabled = false,\n switchDataCy,\n tooltipProps = {},\n ...otherProps\n}) => (\n <Tooltip\n content={getTooltipContent({ enabledCondition, tooltipProps })}\n position=\"top\"\n {...tooltipProps}\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name, ...otherProps }}\n />\n </span>\n </Tooltip>\n);\nexport default TooltipSwitch;\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Edit, Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZES } from \"./constants\";\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps,\n switchProps = {},\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (!(submitCount >= 1 && isEmpty(errors))) return;\n setIsEditing(false);\n }, [submitCount]);\n\n useEffect(() => {\n if (isEmpty(errors)) return;\n setIsEditing(true);\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotkeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n {...{ id }}\n data-testid=\"toggle-feature-card\"\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{\n enabledCondition,\n isDisabled,\n switchDataCy,\n ...switchProps,\n }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n tooltipProps={{\n content:\n inputProps?.editButtonTooltip ||\n t(\n \"neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip\"\n ),\n position: \"right\",\n }}\n onClick={() => setIsEditing(true)}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n {...inputProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n }),\n /**\n * Can be used to add props to the switch component.\n */\n switchProps: PropTypes.shape({\n onChange: PropTypes.func,\n className: PropTypes.string,\n checked: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n enabledSwitchText: PropTypes.string,\n disabledSwitchText: PropTypes.string,\n }),\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","getTooltipContent","enabledCondition","tooltipProps","enabledSwitchText","t","disabledSwitchText","TooltipSwitch","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","_ref$tooltipProps","otherProps","_objectWithoutProperties","_excluded","React","createElement","Tooltip","_extends","content","position","FormikSwitch","disabled","_objectSpread","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","children","inputProps","_ref$switchProps","switchProps","_useTranslation","useTranslation","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotkeys","mode","ref","className","classnames","Label","Typography","component","style","weight","display","Button","editButtonDataCy","icon","Edit","size","type","editButtonTooltip","onClick","Input","autoFocus","dataCy","label","placeholder","suffix","Close"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToggleFeatureCard.js","sources":["../../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\n","import React from \"react\";\n\nimport { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nconst TooltipSwitch = ({\n enabledCondition,\n name = \"\",\n isDisabled = false,\n switchDataCy,\n tooltipProps = {},\n ...otherProps\n}) => {\n const tooltipContent = enabledCondition\n ? tooltipProps.enabledSwitchText\n : tooltipProps.disabledSwitchText;\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={!tooltipContent}\n position=\"top\"\n {...tooltipProps}\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name, ...otherProps }}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default TooltipSwitch;\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Edit, Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZES } from \"./constants\";\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps,\n switchProps = {},\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (!(submitCount >= 1 && isEmpty(errors))) return;\n setIsEditing(false);\n }, [submitCount]);\n\n useEffect(() => {\n if (isEmpty(errors)) return;\n setIsEditing(true);\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotkeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n {...{ id }}\n data-testid=\"toggle-feature-card\"\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{\n enabledCondition,\n isDisabled,\n switchDataCy,\n ...switchProps,\n }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n tooltipProps={{\n content:\n inputProps?.editButtonTooltip ||\n t(\n \"neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip\"\n ),\n position: \"right\",\n }}\n onClick={() => setIsEditing(true)}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n {...inputProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n }),\n /**\n * Can be used to add props to the switch component.\n */\n switchProps: PropTypes.shape({\n onChange: PropTypes.func,\n className: PropTypes.string,\n checked: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n enabledSwitchText: PropTypes.string,\n disabledSwitchText: PropTypes.string,\n }),\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","_ref$tooltipProps","tooltipProps","otherProps","_objectWithoutProperties","_excluded","tooltipContent","enabledSwitchText","disabledSwitchText","React","createElement","Tooltip","_extends","content","disabled","position","FormikSwitch","_objectSpread","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","children","inputProps","_ref$switchProps","switchProps","_useTranslation","useTranslation","t","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotkeys","mode","ref","className","classnames","Label","Typography","component","style","weight","display","Button","editButtonDataCy","icon","Edit","size","type","editButtonTooltip","onClick","Input","autoFocus","dataCy","label","placeholder","suffix","Close"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.5",
|
|
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>",
|
package/src/translations/en.json
CHANGED
package/types/CalendarView.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DateClickArg } from "@fullcalendar/react";
|
|
3
|
-
import {
|
|
2
|
+
import { DateClickArg, EventClickArg } from "@fullcalendar/react";
|
|
3
|
+
import { Dayjs } from "dayjs";
|
|
4
|
+
import { EventContentArg } from "@fullcalendar/core";
|
|
4
5
|
type ViewOption = {
|
|
5
6
|
label: string;
|
|
6
7
|
fullCalendarView: string;
|
|
@@ -80,9 +81,15 @@ const CalendarView: React.FC<{
|
|
|
80
81
|
events: EventObject[];
|
|
81
82
|
handleDateClick: (info: DateClickArg) => void;
|
|
82
83
|
handleEventClick: (info: EventClickArg) => void;
|
|
83
|
-
|
|
84
|
+
onDateChange?: (date: Dayjs) => void;
|
|
85
|
+
eventClassNames: string | ((arg: EventContentArg) => string);
|
|
86
|
+
eventContent?: (arg: EventContentArg) => void;
|
|
84
87
|
dayCellClassNames: string | ((arg: any) => string);
|
|
85
88
|
dayMaxEvents: number;
|
|
86
89
|
eventMaxStack: number;
|
|
90
|
+
validDates?: {
|
|
91
|
+
start: Dayjs | Date | null;
|
|
92
|
+
end: Dayjs | Date | null;
|
|
93
|
+
};
|
|
87
94
|
}>;
|
|
88
95
|
export default CalendarView;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chevron-97e8647b.js","sources":["../src/components/Sidebar/Components/Links/CheckPointNavLink.jsx","../src/components/Sidebar/constants.js","../src/components/Sidebar/utils.js","../src/components/Sidebar/Components/Links/SubLink.jsx","../src/components/Sidebar/Components/Links/Items.jsx","../src/components/Sidebar/Components/Links/SelectedLink.jsx","../src/components/Sidebar/Components/Chevron.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { useNavigationCheckpoints } from \"neetocommons/react-utils/useRegisterNavigationCheckpoint\";\nimport { NavLink } from \"react-router-dom\";\n\nconst CheckPointNavLinks = ({ checkpointKey, to, children, ...others }) => {\n const { [checkpointKey]: checkpoint } =\n useNavigationCheckpoints(checkpointKey);\n\n return (\n <NavLink to={checkpoint || to} {...others} key={to}>\n {children}\n </NavLink>\n );\n};\n\nexport default CheckPointNavLinks;\n","export const SUB_LINK_TYPES = {\n SYSTEM_VIEW: \"system_view\",\n SEGMENTS: \"segments\",\n};\n\nexport const SELECTED_NAV_LINK_ROUTE_STORAGE_KEY = \"selectedNavLinkRoute\";\n","import { isNotEmpty } from \"neetocist\";\nimport { __, all, curry, equals, includes, is } from \"ramda\";\n\nexport const isSubRouteActive = (subRoute, location) => {\n const currentBrowserUrl = new URL(\n location.pathname + location.search + location.hash,\n window.location.origin\n );\n const targetUrl = new URL(subRoute, window.location.origin);\n\n const targetSearchParams = targetUrl.searchParams;\n const targetSearchKeys = Array.from(targetSearchParams.keys());\n\n return (\n all(\n key =>\n currentBrowserUrl.searchParams.get(key) === targetSearchParams.get(key),\n targetSearchKeys\n ) && equals(currentBrowserUrl.pathname, targetUrl.pathname)\n );\n};\n\nexport const getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const filterByPermissions = curry(({ permissions }) => {\n if (permissions && isNotEmpty(permissions)) {\n return is(Array, permissions)\n ? permissions.some(includes(__, globalProps.permissions))\n : globalProps.permissions.includes(permissions);\n }\n\n return true;\n});\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Segments } from \"neetofilters\";\nimport { Typography } from \"neetoui\";\nimport { is } from \"ramda\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\n\nimport { SUB_LINK_TYPES } from \"../../constants\";\nimport { isSubRouteActive } from \"../../utils\";\n\nconst SubLink = ({\n to,\n label,\n type = SUB_LINK_TYPES.SYSTEM_VIEW,\n count,\n isSectionHeader,\n isCountsLoading,\n \"data-cy\": dataCy,\n entity = \"\",\n columns = [],\n isActive,\n}) => {\n if (type === SUB_LINK_TYPES.SEGMENTS) {\n return <Segments {...{ columns, entity }} isIndependent={false} />;\n }\n\n const dataCyPrefix = dataCy || hyphenate(label);\n\n const renderCount = count => (count > 999 ? \"999+\" : count);\n\n const isSubLinkActive = () =>\n !isSectionHeader &&\n (is(Function, isActive) ? isActive() : isSubRouteActive(to, location));\n\n return (\n <CheckPointNavLinks\n {...{ to }}\n activeClassName=\"active\"\n className=\"neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none\"\n data-cy={`${dataCyPrefix}-sub-link`}\n isActive={isSubLinkActive}\n >\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-label neeto-ui-flex-grow\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-label`}\n style=\"body2\"\n >\n {label}\n </Typography>\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-count neeto-ui-flex-shrink-0\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-count`}\n style=\"body2\"\n >\n {isCountsLoading ? (\n <div className=\"neeto-ui-rounded neeto-ui-bg-gray-200 h-4 w-4 animate-pulse\" />\n ) : (\n renderCount(count)\n )}\n </Typography>\n </CheckPointNavLinks>\n );\n};\n\nexport default SubLink;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\n\nimport SubLink from \"./SubLink\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Items = ({ items, isSettingsItems = false, isCountsLoading }) => (\n <div\n className=\"neeto-molecules-sidebar__sublink-wrapper\"\n data-cy=\"sidebar-sub-link-wrapper\"\n >\n {items.filter(filterByPermissions).map((subItem, subIndex) => (\n <React.Fragment key={subIndex}>\n <SubLink\n {...{ ...subItem, isCountsLoading }}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n />\n {isSettingsItems && isPresent(subItem.items) && (\n <>\n <Items {...{ isSettingsItems }} items={subItem.items} />\n {items.length - 1 !== subIndex && (\n <hr className=\"neeto-molecules-sidebar__separator\" />\n )}\n </>\n )}\n </React.Fragment>\n ))}\n </div>\n);\n\nexport default Items;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Left } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport Items from \"./Items\";\n\nconst SelectedLink = ({\n navLink = { label: \"\", items: [], isConfigureNavLink: false },\n handleGoBack,\n isConfigureSidebar,\n}) => {\n const { label, items, isConfigureNavLink, ...otherProps } = navLink;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__links--focus-mode neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"configure-nav-container\"\n >\n <div\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-molecules-sidebar__link neeto-ui-border-b\"\n onClick={handleGoBack}\n {...{ ...omit([\"icon\"], otherProps) }}\n >\n {isConfigureNavLink && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-cy={`${hyphenize(label)}-go-back-button`}\n data-testid={`${label}-go-back-button`}\n >\n <Left size={16} />\n </span>\n )}\n <Typography\n component=\"span\"\n style=\"body1\"\n className={classNames(\"neeto-molecules-sidebar__link-label\", {\n \"neeto-molecules-sidebar__configure-page-header\":\n isConfigureNavLink,\n [\"pl-4\"]: isConfigureSidebar,\n })}\n >\n {label}\n </Typography>\n </div>\n {items && <Items {...{ items }} isSettingsItems />}\n </div>\n );\n};\n\nexport default SelectedLink;\n","import React from \"react\";\n\nconst Chevron = ({ style }) => (\n <svg {...{ style }} height=\"16\" viewBox=\"0 0 16 16\" width=\"16\">\n <path\n d=\"M7.07031 13.8887C7.2207 14.0391 7.40527 14.1211 7.62402 14.1211C8.06836 14.1211 8.41699 13.7725 8.41699 13.3281C8.41699 13.1094 8.32812 12.9043 8.17773 12.7539L3.37207 8.05762L8.17773 3.375C8.32812 3.21777 8.41699 3.0127 8.41699 2.80078C8.41699 2.35645 8.06836 2.00781 7.62402 2.00781C7.40527 2.00781 7.2207 2.08984 7.07031 2.24023L1.73828 7.44922C1.56055 7.62012 1.46484 7.8252 1.46484 8.06445C1.46484 8.29688 1.55371 8.49512 1.73828 8.67969L7.07031 13.8887ZM13.1748 13.8887C13.3252 14.0391 13.5098 14.1211 13.7354 14.1211C14.1797 14.1211 14.5283 13.7725 14.5283 13.3281C14.5283 13.1094 14.4395 12.9043 14.2891 12.7539L9.4834 8.05762L14.2891 3.375C14.4395 3.21777 14.5283 3.0127 14.5283 2.80078C14.5283 2.35645 14.1797 2.00781 13.7354 2.00781C13.5098 2.00781 13.3252 2.08984 13.1748 2.24023L7.84961 7.44922C7.66504 7.62012 7.57617 7.8252 7.56934 8.06445C7.56934 8.29688 7.66504 8.49512 7.84961 8.67969L13.1748 13.8887Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Chevron;\n"],"names":["CheckPointNavLinks","_ref","checkpointKey","to","children","others","_objectWithoutProperties","_excluded","_useNavigationCheckpo","useNavigationCheckpoints","checkpoint","React","createElement","NavLink","_extends","key","SUB_LINK_TYPES","SYSTEM_VIEW","SEGMENTS","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","isSubRouteActive","subRoute","location","currentBrowserUrl","URL","pathname","search","hash","window","origin","targetUrl","targetSearchParams","searchParams","targetSearchKeys","Array","from","keys","all","get","equals","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","user","globalProps","email","phoneNumber","concat","filterByPermissions","curry","permissions","isNotEmpty","is","some","includes","__","SubLink","label","_ref$type","type","count","isSectionHeader","isCountsLoading","dataCy","_ref$entity","entity","_ref$columns","columns","isActive","Segments","isIndependent","dataCyPrefix","hyphenate","renderCount","isSubLinkActive","Function","activeClassName","className","Typography","component","style","Items","items","_ref$isSettingsItems","isSettingsItems","filter","map","subItem","subIndex","_subItem$to","Fragment","_objectSpread","isPresent","item","path","length","SelectedLink","_ref$navLink","navLink","isConfigureNavLink","handleGoBack","isConfigureSidebar","otherProps","onClick","omit","hyphenize","Left","size","classNames","_defineProperty","Chevron","height","viewBox","width","d","fill"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chevron-7dc6dc06.js","sources":["../../src/components/Sidebar/Components/Links/CheckPointNavLink.jsx","../../src/components/Sidebar/constants.js","../../src/components/Sidebar/utils.js","../../src/components/Sidebar/Components/Links/SubLink.jsx","../../src/components/Sidebar/Components/Links/Items.jsx","../../src/components/Sidebar/Components/Links/SelectedLink.jsx","../../src/components/Sidebar/Components/Chevron.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { useNavigationCheckpoints } from \"neetocommons/react-utils/useRegisterNavigationCheckpoint\";\nimport { NavLink } from \"react-router-dom\";\n\nconst CheckPointNavLinks = ({ checkpointKey, to, children, ...others }) => {\n const { [checkpointKey]: checkpoint } =\n useNavigationCheckpoints(checkpointKey);\n\n return (\n <NavLink to={checkpoint || to} {...others} key={to}>\n {children}\n </NavLink>\n );\n};\n\nexport default CheckPointNavLinks;\n","export const SUB_LINK_TYPES = {\n SYSTEM_VIEW: \"system_view\",\n SEGMENTS: \"segments\",\n};\n\nexport const SELECTED_NAV_LINK_ROUTE_STORAGE_KEY = \"selectedNavLinkRoute\";\n","import { isNotEmpty } from \"neetocist\";\nimport { __, all, curry, equals, includes, is } from \"ramda\";\n\nexport const isSubRouteActive = (subRoute, location) => {\n const currentBrowserUrl = new URL(\n location.pathname + location.search + location.hash,\n window.location.origin\n );\n const targetUrl = new URL(subRoute, window.location.origin);\n\n const targetSearchParams = targetUrl.searchParams;\n const targetSearchKeys = Array.from(targetSearchParams.keys());\n\n return (\n all(\n key =>\n currentBrowserUrl.searchParams.get(key) === targetSearchParams.get(key),\n targetSearchKeys\n ) && equals(currentBrowserUrl.pathname, targetUrl.pathname)\n );\n};\n\nexport const getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const filterByPermissions = curry(({ permissions }) => {\n if (permissions && isNotEmpty(permissions)) {\n return is(Array, permissions)\n ? permissions.some(includes(__, globalProps.permissions))\n : globalProps.permissions.includes(permissions);\n }\n\n return true;\n});\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Segments } from \"neetofilters\";\nimport { Typography } from \"neetoui\";\nimport { is } from \"ramda\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\n\nimport { SUB_LINK_TYPES } from \"../../constants\";\nimport { isSubRouteActive } from \"../../utils\";\n\nconst SubLink = ({\n to,\n label,\n type = SUB_LINK_TYPES.SYSTEM_VIEW,\n count,\n isSectionHeader,\n isCountsLoading,\n \"data-cy\": dataCy,\n entity = \"\",\n columns = [],\n isActive,\n}) => {\n if (type === SUB_LINK_TYPES.SEGMENTS) {\n return <Segments {...{ columns, entity }} isIndependent={false} />;\n }\n\n const dataCyPrefix = dataCy || hyphenate(label);\n\n const renderCount = count => (count > 999 ? \"999+\" : count);\n\n const isSubLinkActive = () =>\n !isSectionHeader &&\n (is(Function, isActive) ? isActive() : isSubRouteActive(to, location));\n\n return (\n <CheckPointNavLinks\n {...{ to }}\n activeClassName=\"active\"\n className=\"neeto-molecules-sidebar__sublink neeto-ui-flex neeto-ui-items-center neeto-ui-select-none\"\n data-cy={`${dataCyPrefix}-sub-link`}\n isActive={isSubLinkActive}\n >\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-label neeto-ui-flex-grow\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-label`}\n style=\"body2\"\n >\n {label}\n </Typography>\n <Typography\n className=\"neeto-molecules-sidebar__link-sub-count neeto-ui-flex-shrink-0\"\n component=\"span\"\n data-cy={`${dataCyPrefix}-sub-link-count`}\n style=\"body2\"\n >\n {isCountsLoading ? (\n <div className=\"neeto-ui-rounded neeto-ui-bg-gray-200 h-4 w-4 animate-pulse\" />\n ) : (\n renderCount(count)\n )}\n </Typography>\n </CheckPointNavLinks>\n );\n};\n\nexport default SubLink;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\n\nimport SubLink from \"./SubLink\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Items = ({ items, isSettingsItems = false, isCountsLoading }) => (\n <div\n className=\"neeto-molecules-sidebar__sublink-wrapper\"\n data-cy=\"sidebar-sub-link-wrapper\"\n >\n {items.filter(filterByPermissions).map((subItem, subIndex) => (\n <React.Fragment key={subIndex}>\n <SubLink\n {...{ ...subItem, isCountsLoading }}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n />\n {isSettingsItems && isPresent(subItem.items) && (\n <>\n <Items {...{ isSettingsItems }} items={subItem.items} />\n {items.length - 1 !== subIndex && (\n <hr className=\"neeto-molecules-sidebar__separator\" />\n )}\n </>\n )}\n </React.Fragment>\n ))}\n </div>\n);\n\nexport default Items;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Left } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport Items from \"./Items\";\n\nconst SelectedLink = ({\n navLink = { label: \"\", items: [], isConfigureNavLink: false },\n handleGoBack,\n isConfigureSidebar,\n}) => {\n const { label, items, isConfigureNavLink, ...otherProps } = navLink;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__links--focus-mode neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"configure-nav-container\"\n >\n <div\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-molecules-sidebar__link neeto-ui-border-b\"\n onClick={handleGoBack}\n {...{ ...omit([\"icon\"], otherProps) }}\n >\n {isConfigureNavLink && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-cy={`${hyphenize(label)}-go-back-button`}\n data-testid={`${label}-go-back-button`}\n >\n <Left size={16} />\n </span>\n )}\n <Typography\n component=\"span\"\n style=\"body1\"\n className={classNames(\"neeto-molecules-sidebar__link-label\", {\n \"neeto-molecules-sidebar__configure-page-header\":\n isConfigureNavLink,\n [\"pl-4\"]: isConfigureSidebar,\n })}\n >\n {label}\n </Typography>\n </div>\n {items && <Items {...{ items }} isSettingsItems />}\n </div>\n );\n};\n\nexport default SelectedLink;\n","import React from \"react\";\n\nconst Chevron = ({ style }) => (\n <svg {...{ style }} height=\"16\" viewBox=\"0 0 16 16\" width=\"16\">\n <path\n d=\"M7.07031 13.8887C7.2207 14.0391 7.40527 14.1211 7.62402 14.1211C8.06836 14.1211 8.41699 13.7725 8.41699 13.3281C8.41699 13.1094 8.32812 12.9043 8.17773 12.7539L3.37207 8.05762L8.17773 3.375C8.32812 3.21777 8.41699 3.0127 8.41699 2.80078C8.41699 2.35645 8.06836 2.00781 7.62402 2.00781C7.40527 2.00781 7.2207 2.08984 7.07031 2.24023L1.73828 7.44922C1.56055 7.62012 1.46484 7.8252 1.46484 8.06445C1.46484 8.29688 1.55371 8.49512 1.73828 8.67969L7.07031 13.8887ZM13.1748 13.8887C13.3252 14.0391 13.5098 14.1211 13.7354 14.1211C14.1797 14.1211 14.5283 13.7725 14.5283 13.3281C14.5283 13.1094 14.4395 12.9043 14.2891 12.7539L9.4834 8.05762L14.2891 3.375C14.4395 3.21777 14.5283 3.0127 14.5283 2.80078C14.5283 2.35645 14.1797 2.00781 13.7354 2.00781C13.5098 2.00781 13.3252 2.08984 13.1748 2.24023L7.84961 7.44922C7.66504 7.62012 7.57617 7.8252 7.56934 8.06445C7.56934 8.29688 7.66504 8.49512 7.84961 8.67969L13.1748 13.8887Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Chevron;\n"],"names":["CheckPointNavLinks","_ref","checkpointKey","to","children","others","_objectWithoutProperties","_excluded","_useNavigationCheckpo","useNavigationCheckpoints","checkpoint","React","createElement","NavLink","_extends","key","SUB_LINK_TYPES","SYSTEM_VIEW","SEGMENTS","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","isSubRouteActive","subRoute","location","currentBrowserUrl","URL","pathname","search","hash","window","origin","targetUrl","targetSearchParams","searchParams","targetSearchKeys","Array","from","keys","all","get","equals","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","user","globalProps","email","phoneNumber","concat","filterByPermissions","curry","permissions","isNotEmpty","is","some","includes","__","SubLink","label","_ref$type","type","count","isSectionHeader","isCountsLoading","dataCy","_ref$entity","entity","_ref$columns","columns","isActive","Segments","isIndependent","dataCyPrefix","hyphenate","renderCount","isSubLinkActive","Function","activeClassName","className","Typography","component","style","Items","items","_ref$isSettingsItems","isSettingsItems","filter","map","subItem","subIndex","_subItem$to","Fragment","_objectSpread","isPresent","item","path","length","SelectedLink","_ref$navLink","navLink","isConfigureNavLink","handleGoBack","isConfigureSidebar","otherProps","onClick","omit","hyphenize","Left","size","classNames","_defineProperty","Chevron","height","viewBox","width","d","fill"],"mappings":"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"}
|