@bigbinary/neeto-molecules 4.1.72 → 4.1.74
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/Builder.js +34 -11
- package/dist/Builder.js.map +1 -1
- package/dist/CalendarView.js +38 -8
- package/dist/CalendarView.js.map +1 -1
- package/dist/{ConfigureView-DOotR_-0.js → ConfigureView-B0UvLoJe.js} +2 -2
- package/dist/{ConfigureView-DOotR_-0.js.map → ConfigureView-B0UvLoJe.js.map} +1 -1
- package/dist/cjs/Builder.js +34 -11
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/CalendarView.js +38 -8
- package/dist/cjs/CalendarView.js.map +1 -1
- package/dist/cjs/{ConfigureView-DtQRvPmE.js → ConfigureView-Coy1ViRc.js} +3 -3
- package/dist/cjs/{ConfigureView-DtQRvPmE.js.map → ConfigureView-Coy1ViRc.js.map} +1 -1
- package/dist/cjs/v2/ConfigurePageSidebar.js +2 -2
- package/dist/cjs/v2/FloatingActionMenu.js +3 -3
- package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/v2/Sidebar.js +2 -2
- package/dist/cjs/v2/SubHeader.js +2 -2
- package/dist/cjs/v2/SubHeader.js.map +1 -1
- package/dist/v2/ConfigurePageSidebar.js +2 -2
- package/dist/v2/FloatingActionMenu.js +1 -1
- package/dist/v2/Sidebar.js +2 -2
- package/dist/v2/SubHeader.js +2 -2
- package/dist/v2/SubHeader.js.map +1 -1
- package/package.json +17 -17
- package/types/Builder.d.ts +3 -0
- package/types/CalendarView.d.ts +6 -0
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\nexport const LOCALE_CONFIG = {\n ja: {\n dayCellContent: arg => arg.date.getDate(),\n dayHeaderFormat: { weekday: \"long\" },\n },\n};\n","import { dayjs } from \"neetocommons/utils\";\n\nconst getWeekString = ({\n date,\n isStartOfWeek = true,\n showMonth = false,\n showYear = false,\n}) =>\n `${showMonth || isStartOfWeek ? date.format(\"MMM\") : \"\"} ${date.date()} ${\n showYear || !isStartOfWeek ? date.format(\"YYYY\") : \"\"\n }`;\n\nexport const getStartOfWeek = date => dayjs(date).startOf(\"week\");\n\nexport const getEndOfWeek = date => dayjs(date).endOf(\"week\");\n\nexport const getFormattedMonthStr = date => date.format(\"MMM YYYY\");\n\nexport const getFormattedWeekRangeStr = date => {\n const startOfWeek = getStartOfWeek(date);\n const endOfWeek = getEndOfWeek(date);\n\n const shouldShowMonthsSeparately = startOfWeek.month() !== endOfWeek.month();\n const shouldShowYearsSeparately = startOfWeek.year() !== endOfWeek.year();\n\n const startOfWeekStr = getWeekString({\n date: startOfWeek,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n const endOfWeekStr = getWeekString({\n date: endOfWeek,\n isStartOfWeek: false,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n return `${startOfWeekStr} - ${endOfWeekStr}`;\n};\n\nexport const getFormattedDayStr = date => date.format(\"DD MMM YYYY\");\n\nexport const getFormattedRangeStr = (date, picker) => {\n const formatFunctions = {\n month: getFormattedMonthStr,\n week: getFormattedWeekRangeStr,\n day: getFormattedDayStr,\n };\n const selectedFormatter = formatFunctions[picker];\n\n return selectedFormatter(date);\n};\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { useRef, useState } from \"react\";\n\nimport { dayjs } from \"neetocommons/utils\";\nimport { Down, Left, Right } from \"neetoicons\";\nimport { Typography, Button, DatePicker } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(false);\n\n const datePickerRef = useRef(null);\n const buttonRef = useRef(null);\n\n const selectedRangeStr = getFormattedRangeStr(selectedDate, picker);\n\n const { start, end } = validDates;\n\n const isDateLessThanStart =\n start && selectedDate.isSameOrBefore(dayjs(start), picker);\n\n const isDateGreaterThanEnd =\n end && selectedDate.isSameOrAfter(dayjs(end), picker);\n\n const onPrevious = () =>\n setSelectedDate(selectedDate => selectedDate.subtract(1, picker));\n\n const onNext = () =>\n setSelectedDate(selectedDate => selectedDate.add(1, picker));\n\n const onToday = () => setSelectedDate(dayjs());\n\n const getDisabledDates = date => {\n if (!date) return false;\n\n return (start && date <= start) || (end && date >= end);\n };\n\n const handleButtonMouseDown = e => {\n if (!(buttonRef.current && buttonRef.current.contains(e.target))) return;\n e.stopPropagation();\n if (isOpen) datePickerRef.current.focus();\n };\n\n return (\n <div className=\"flex items-center justify-start gap-x-4\">\n <Button\n aria-label={t(\"neetoMolecules.calendarView.aria.goToToday\")}\n data-testid=\"neeto-molecules-calendar-view-today-button\"\n label={t(\"neetoMolecules.calendarView.today\")}\n style=\"secondary\"\n onClick={onToday}\n />\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.dateNavigation\")}\n className=\"flex\"\n role=\"group\"\n >\n <Button\n className=\"me-1\"\n data-testid=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={() => <Left className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.previousPeriod\", {\n period: picker,\n })}\n onClick={onPrevious}\n />\n <Button\n aria-expanded={isOpen}\n aria-haspopup=\"dialog\"\n className=\"min-w-52 justify-center\"\n data-testid=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={Down}\n ref={buttonRef}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.selectDate\", {\n currentDate: selectedRangeStr,\n })}\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-testid=\"neeto-molecules-calendar-view-date-picker-button-label\"\n style=\"h5\"\n >\n {selectedRangeStr}\n </Typography>\n </Button>\n <DatePicker\n className=\"invisible w-0 px-0\"\n defaultValue={selectedDate}\n disabledDate={getDisabledDates}\n open={isOpen}\n placement=\"topRight\"\n ref={datePickerRef}\n value={selectedDate}\n onChange={setSelectedDate}\n onOpenChange={setIsOpen}\n {...{ picker, ...otherProps }}\n />\n <Button\n className=\"ms-1\"\n data-testid=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={() => <Right className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.nextPeriod\", {\n period: picker,\n })}\n onClick={onNext}\n />\n </div>\n </div>\n );\n};\n\nexport default CustomDatePicker;\n","import { useEffect } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { prop, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CustomDatePicker from \"./CustomDatePicker\";\n\nconst Header = ({\n calendarRef,\n selectedView,\n setSelectedView,\n setSelectedDate,\n selectedDate,\n calendarViewOptions,\n validDates,\n}) => {\n const { t } = useTranslation();\n const { Menu, MenuItem } = Dropdown;\n\n const handleViewSelection = option => {\n setSelectedView(option);\n calendarRef.current.calendar.changeView(option.fullCalendarView);\n };\n\n const navigateToSelectedDate = () =>\n calendarRef?.current?.calendar?.gotoDate(selectedDate.format(\"YYYY-MM-DD\"));\n\n useEffect(() => {\n setTimeout(navigateToSelectedDate);\n }, [selectedDate]);\n\n return (\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.calendarControls\")}\n className=\"flex gap-x-4\"\n role=\"group\"\n >\n <CustomDatePicker\n {...{ selectedDate, setSelectedDate, validDates }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\n buttonProps={{\n \"data-testid\": \"calendar-view-dropdown\",\n \"aria-label\": t(\"neetoMolecules.calendarView.aria.viewSelector\", {\n view: capitalize(selectedView.label),\n }),\n }}\n >\n <Menu>\n {values(calendarViewOptions).map((option, idx) => (\n <MenuItem.Button\n isActive={selectedView === option}\n key={idx}\n onClick={() => handleViewSelection(option)}\n >\n {capitalize(option.label)}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n )}\n </div>\n );\n};\n\nexport default Header;\n","import { forwardRef, useRef, useState, useEffect } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\nimport i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SubHeader from \"components/SubHeader\";\n\nimport \"./calendar-view.scss\";\nimport { LOCALE_CONFIG, VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\nimport { mergeRefs } from \"./utils\";\n\nconst direction = i18next.dir() || \"ltr\";\n\nconst CalendarView = forwardRef(\n (\n {\n viewOptions = VIEW_OPTIONS,\n events = [],\n handleDateClick = noop,\n handleEventClick = noop,\n eventClassNames = \"\",\n dayCellClassNames = \"\",\n validDates = { start: null, end: null },\n onDateChange = noop,\n dayMaxEvents,\n eventMaxStack,\n hideHeader = false,\n locale,\n ...otherProps\n },\n ref\n ) => {\n const calendarViewOptions = viewOptions || VIEW_OPTIONS;\n\n const defaultView =\n Object.values(calendarViewOptions).find(prop(\"default\")) ||\n calendarViewOptions[Object.keys(calendarViewOptions)[0]];\n\n const [selectedView, setSelectedView] = useState(defaultView);\n\n const [selectedDate, setSelectedDate] = useState(dayjs());\n\n const { t } = useTranslation();\n\n const localeSpecificProps = LOCALE_CONFIG[locale] || {};\n\n const handleDateChange = date => {\n setSelectedDate(prevDate => {\n const newDate = typeof date === \"function\" ? date(prevDate) : date;\n onDateChange(newDate);\n\n return newDate;\n });\n };\n const calendarWrapperRef = useRef(null);\n const calendarRef = useRef();\n\n useEffect(() => {\n const calendarApi = calendarRef.current?.getApi?.();\n const wrapperElement = calendarWrapperRef.current;\n\n if (!calendarApi || !wrapperElement) return undefined;\n\n const handleResize = () => {\n calendarApi.updateSize();\n };\n\n const observer = new ResizeObserver(handleResize);\n\n observer.observe(wrapperElement);\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return (\n <div\n className=\"flex-col\"\n data-testid=\"calendar-view\"\n ref={calendarWrapperRef}\n >\n {!hideHeader && (\n <SubHeader\n leftActionBlock={\n <Typography style=\"h2\">\n {selectedDate.format(\"MMMM, YYYY\")}\n </Typography>\n }\n rightActionBlock={\n <Header\n {...{\n calendarRef,\n calendarViewOptions,\n selectedDate,\n selectedView,\n setSelectedDate,\n setSelectedView,\n validDates,\n }}\n setSelectedDate={handleDateChange}\n />\n }\n />\n )}\n <FullCalendar\n expandRows\n allDayText={t(\"neetoMolecules.calendarView.allDay\")}\n dateClick={handleDateClick}\n dayHeaderClassNames=\"p-2\"\n displayEventTime={false}\n eventClick={handleEventClick}\n headerToolbar={false}\n height=\"auto\"\n initialView={selectedView.fullCalendarView}\n plugins={[dayGridPlugin, timeGridPlugin, interactionPlugin]}\n ref={mergeRefs(ref, calendarRef)}\n {...{\n dayCellClassNames,\n dayMaxEvents,\n direction,\n eventClassNames,\n eventMaxStack,\n events,\n locale,\n ...localeSpecificProps,\n ...otherProps,\n }}\n />\n </div>\n );\n }\n);\n\nCalendarView.displayName = \"CalendarView\";\n\nCalendarView.propTypes = {\n /**\n * Views to be listed in the dropdown. The default selected view can be set by adding `default: true` to the required view.\n */\n viewOptions: PropTypes.object,\n /**\n * An array of event objects that will be displayed on the calendar.\n */\n events: PropTypes.array,\n /**\n * Function to be triggered when the user clicks on a date or a time.\n */\n handleDateClick: PropTypes.func,\n /**\n * Function to be triggered when the user clicks an event.\n */\n handleEventClick: PropTypes.func,\n /**\n * A className input for adding classNames to the outermost event element.\n */\n eventClassNames: PropTypes.string,\n /**\n * A className input for adding classNames to the <td> cell.\n */\n dayCellClassNames: PropTypes.string,\n /**\n * In dayGrid view, the max number of events within a given day, not counting the +more link.\n */\n dayMaxEvents: PropTypes.number,\n /**\n * For timeline view, the maximum number of events that stack top-to-bottom. For timeGrid view, the maximum number of events that stack left-to-right.\n */\n eventMaxStack: PropTypes.number,\n /**\n * This function will be triggered with the new selected date passed as argument\n */\n onDateChange: PropTypes.func,\n /**\n * An object containing the start and end dates in which the range given is the valid range of selectable dates.\n */\n validDates: PropTypes.shape({\n start: PropTypes.instanceOf(Date),\n end: PropTypes.instanceOf(Date),\n }),\n /**\n * This prop can be used to hide the header\n */\n hideHeader: PropTypes.bool,\n /**\n * The locale to be used for the calendar.\n */\n locale: PropTypes.string,\n};\n\nexport default CalendarView;\n"],"names":["WEEKLY_VIEW","t","MONTHLY_VIEW","DAILY_VIEW","VIEW_OPTIONS","_defineProperty","label","fullCalendarView","picker","LOCALE_CONFIG","ja","dayCellContent","arg","date","getDate","dayHeaderFormat","weekday","getWeekString","_ref","_ref$isStartOfWeek","isStartOfWeek","_ref$showMonth","showMonth","_ref$showYear","showYear","concat","format","getStartOfWeek","dayjs","startOf","getEndOfWeek","endOf","getFormattedMonthStr","getFormattedWeekRangeStr","startOfWeek","endOfWeek","shouldShowMonthsSeparately","month","shouldShowYearsSeparately","year","startOfWeekStr","endOfWeekStr","getFormattedDayStr","getFormattedRangeStr","formatFunctions","week","day","selectedFormatter","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","CustomDatePicker","selectedDate","setSelectedDate","validDates","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","datePickerRef","useRef","buttonRef","selectedRangeStr","start","end","isDateLessThanStart","isSameOrBefore","isDateGreaterThanEnd","isSameOrAfter","onPrevious","subtract","onNext","add","onToday","getDisabledDates","handleButtonMouseDown","e","contains","target","stopPropagation","focus","_jsxs","className","children","_jsx","Button","style","onClick","role","disabled","icon","Left","size","period","Down","currentDate","onMouseDown","Typography","DatePicker","_objectSpread","defaultValue","disabledDate","open","placement","value","onChange","onOpenChange","Right","Header","calendarRef","selectedView","setSelectedView","calendarViewOptions","Menu","Dropdown","MenuItem","handleViewSelection","option","calendar","changeView","navigateToSelectedDate","_calendarRef$current","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","buttonStyle","capitalize","buttonProps","view","values","map","idx","isActive","direction","i18next","dir","CalendarView","forwardRef","_ref$viewOptions","viewOptions","_ref$events","events","_ref$handleDateClick","handleDateClick","noop","_ref$handleEventClick","handleEventClick","_ref$eventClassNames","eventClassNames","_ref$dayCellClassName","dayCellClassNames","_ref$validDates","_ref$onDateChange","onDateChange","dayMaxEvents","eventMaxStack","_ref$hideHeader","hideHeader","locale","defaultView","find","_useState3","_useState4","localeSpecificProps","handleDateChange","prevDate","newDate","calendarWrapperRef","_calendarRef$current$","calendarApi","getApi","call","wrapperElement","undefined","handleResize","updateSize","observer","ResizeObserver","observe","disconnect","SubHeader","leftActionBlock","rightActionBlock","FullCalendar","expandRows","allDayText","dateClick","dayHeaderClassNames","displayEventTime","eventClick","headerToolbar","height","initialView","plugins","dayGridPlugin","timeGridPlugin","interactionPlugin","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarView.js","sources":["../src/components/CalendarView/constants.js","../src/components/CalendarView/utils.js","../src/components/CalendarView/CustomDatePicker.jsx","../src/components/CalendarView/Header.jsx","../src/components/CalendarView/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nconst WEEKLY_VIEW = t(\"neetoMolecules.calendarView.weekly\");\nconst MONTHLY_VIEW = t(\"neetoMolecules.calendarView.monthly\");\nconst DAILY_VIEW = t(\"neetoMolecules.calendarView.daily\");\n\nexport const VIEW_OPTIONS = {\n [DAILY_VIEW]: {\n label: DAILY_VIEW,\n fullCalendarView: \"timeGridDay\",\n picker: \"day\",\n },\n [WEEKLY_VIEW]: {\n label: WEEKLY_VIEW,\n fullCalendarView: \"timeGridWeek\",\n picker: \"week\",\n },\n [MONTHLY_VIEW]: {\n label: MONTHLY_VIEW,\n fullCalendarView: \"dayGridMonth\",\n picker: \"month\",\n },\n};\n\nexport const LOCALE_CONFIG = {\n ja: {\n dayCellContent: arg => arg.date.getDate(),\n dayHeaderFormat: { weekday: \"long\" },\n },\n};\n","import { dayjs } from \"neetocommons/utils\";\n\nconst getWeekString = ({\n date,\n isStartOfWeek = true,\n showMonth = false,\n showYear = false,\n}) =>\n `${showMonth || isStartOfWeek ? date.format(\"MMM\") : \"\"} ${date.date()} ${\n showYear || !isStartOfWeek ? date.format(\"YYYY\") : \"\"\n }`;\n\nexport const getStartOfWeek = date => dayjs(date).startOf(\"week\");\n\nexport const getEndOfWeek = date => dayjs(date).endOf(\"week\");\n\nexport const getFormattedMonthStr = date => date.format(\"MMM YYYY\");\n\nexport const getFormattedWeekRangeStr = date => {\n const startOfWeek = getStartOfWeek(date);\n const endOfWeek = getEndOfWeek(date);\n\n const shouldShowMonthsSeparately = startOfWeek.month() !== endOfWeek.month();\n const shouldShowYearsSeparately = startOfWeek.year() !== endOfWeek.year();\n\n const startOfWeekStr = getWeekString({\n date: startOfWeek,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n const endOfWeekStr = getWeekString({\n date: endOfWeek,\n isStartOfWeek: false,\n showMonth: shouldShowMonthsSeparately,\n showYear: shouldShowYearsSeparately,\n });\n\n return `${startOfWeekStr} - ${endOfWeekStr}`;\n};\n\nexport const getFormattedDayStr = date => date.format(\"DD MMM YYYY\");\n\nexport const getFormattedRangeStr = (date, picker) => {\n const formatFunctions = {\n month: getFormattedMonthStr,\n week: getFormattedWeekRangeStr,\n day: getFormattedDayStr,\n };\n const selectedFormatter = formatFunctions[picker];\n\n return selectedFormatter(date);\n};\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Down, Left, Right } from \"neetoicons\";\nimport { Typography, Button, DatePicker } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFormattedRangeStr } from \"./utils\";\n\nconst CustomDatePicker = ({\n selectedDate,\n setSelectedDate,\n picker,\n validDates,\n onTodayClick,\n todayButtonLabel,\n todayButtonClassName,\n datePickerButtonClassName,\n showDatePickerIcon = true,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(false);\n\n const datePickerRef = useRef(null);\n const buttonRef = useRef(null);\n\n const selectedRangeStr = getFormattedRangeStr(selectedDate, picker);\n\n const { start, end } = validDates;\n\n const isDateLessThanStart =\n start && selectedDate.isSameOrBefore(dayjs(start), picker);\n\n const isDateGreaterThanEnd =\n end && selectedDate.isSameOrAfter(dayjs(end), picker);\n\n const onPrevious = () =>\n setSelectedDate(selectedDate => selectedDate.subtract(1, picker));\n\n const onNext = () =>\n setSelectedDate(selectedDate => selectedDate.add(1, picker));\n\n const onToday = () => {\n setSelectedDate(dayjs());\n onTodayClick?.();\n };\n\n const getDisabledDates = date => {\n if (!date) return false;\n\n return (start && date <= start) || (end && date >= end);\n };\n\n const handleButtonMouseDown = e => {\n if (!(buttonRef.current && buttonRef.current.contains(e.target))) return;\n e.stopPropagation();\n if (isOpen) datePickerRef.current.focus();\n };\n\n return (\n <div className=\"flex items-center justify-start gap-x-4\">\n <Button\n aria-label={t(\"neetoMolecules.calendarView.aria.goToToday\")}\n className={todayButtonClassName}\n data-testid=\"neeto-molecules-calendar-view-today-button\"\n label={todayButtonLabel ?? t(\"neetoMolecules.calendarView.today\")}\n style=\"secondary\"\n onClick={onToday}\n />\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.dateNavigation\")}\n className=\"flex\"\n role=\"group\"\n >\n <Button\n className=\"me-1\"\n data-testid=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={() => <Left className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.previousPeriod\", {\n period: picker,\n })}\n onClick={onPrevious}\n />\n <Button\n aria-expanded={isOpen}\n aria-haspopup=\"dialog\"\n data-testid=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={showDatePickerIcon ? Down : undefined}\n ref={buttonRef}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.selectDate\", {\n currentDate: selectedRangeStr,\n })}\n className={classNames(\n \"justify-center\",\n datePickerButtonClassName ?? \"min-w-52\"\n )}\n onClick={() => setIsOpen(isOpen => !isOpen)}\n onMouseDown={handleButtonMouseDown}\n >\n <Typography\n data-testid=\"neeto-molecules-calendar-view-date-picker-button-label\"\n style=\"h5\"\n >\n {selectedRangeStr}\n </Typography>\n </Button>\n <DatePicker\n className=\"invisible w-0 px-0\"\n defaultValue={selectedDate}\n disabledDate={getDisabledDates}\n open={isOpen}\n placement=\"topRight\"\n ref={datePickerRef}\n value={selectedDate}\n onChange={setSelectedDate}\n onOpenChange={setIsOpen}\n {...{ picker, ...otherProps }}\n />\n <Button\n className=\"ms-1\"\n data-testid=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={() => <Right className=\"rtl:scale-x-[-1]\" size={20} />}\n style=\"text\"\n aria-label={t(\"neetoMolecules.calendarView.aria.nextPeriod\", {\n period: picker,\n })}\n onClick={onNext}\n />\n </div>\n </div>\n );\n};\n\nexport default CustomDatePicker;\n","import { useEffect } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { prop, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CustomDatePicker from \"./CustomDatePicker\";\n\nconst Header = ({\n calendarRef,\n selectedView,\n setSelectedView,\n setSelectedDate,\n selectedDate,\n calendarViewOptions,\n validDates,\n onTodayClick,\n todayButtonLabel,\n todayButtonClassName,\n datePickerButtonClassName,\n showDatePickerIcon,\n}) => {\n const { t } = useTranslation();\n const { Menu, MenuItem } = Dropdown;\n\n const handleViewSelection = option => {\n setSelectedView(option);\n calendarRef.current.calendar.changeView(option.fullCalendarView);\n };\n\n const navigateToSelectedDate = () =>\n calendarRef?.current?.calendar?.gotoDate(selectedDate.format(\"YYYY-MM-DD\"));\n\n useEffect(() => {\n setTimeout(navigateToSelectedDate);\n }, [selectedDate]);\n\n return (\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.calendarControls\")}\n className=\"flex gap-x-4\"\n role=\"group\"\n >\n <CustomDatePicker\n {...{\n datePickerButtonClassName,\n onTodayClick,\n selectedDate,\n setSelectedDate,\n showDatePickerIcon,\n todayButtonClassName,\n todayButtonLabel,\n validDates,\n }}\n getPopupContainer={prop(\"parentNode\")}\n picker={selectedView.picker}\n />\n {Object.keys(calendarViewOptions).length > 1 && (\n <Dropdown\n buttonStyle=\"secondary\"\n label={capitalize(selectedView.label)}\n buttonProps={{\n \"data-testid\": \"calendar-view-dropdown\",\n \"aria-label\": t(\"neetoMolecules.calendarView.aria.viewSelector\", {\n view: capitalize(selectedView.label),\n }),\n }}\n >\n <Menu>\n {values(calendarViewOptions).map((option, idx) => (\n <MenuItem.Button\n isActive={selectedView === option}\n key={idx}\n onClick={() => handleViewSelection(option)}\n >\n {capitalize(option.label)}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n )}\n </div>\n );\n};\n\nexport default Header;\n","import { forwardRef, useRef, useState, useEffect } from \"react\";\n\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\nimport interactionPlugin from \"@fullcalendar/interaction\";\nimport FullCalendar from \"@fullcalendar/react\";\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\nimport i18next from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SubHeader from \"components/SubHeader\";\n\nimport \"./calendar-view.scss\";\nimport { LOCALE_CONFIG, VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\nimport { mergeRefs } from \"./utils\";\n\nconst direction = i18next.dir() || \"ltr\";\n\nconst CalendarView = forwardRef(\n (\n {\n viewOptions = VIEW_OPTIONS,\n events = [],\n handleDateClick = noop,\n handleEventClick = noop,\n eventClassNames = \"\",\n dayCellClassNames = \"\",\n validDates = { start: null, end: null },\n onDateChange = noop,\n dayMaxEvents,\n eventMaxStack,\n hideHeader = false,\n locale,\n onTodayClick,\n todayButtonLabel,\n todayButtonClassName,\n datePickerButtonClassName,\n showDatePickerIcon,\n subheaderClassName,\n ...otherProps\n },\n ref\n ) => {\n const calendarViewOptions = viewOptions || VIEW_OPTIONS;\n\n const defaultView =\n Object.values(calendarViewOptions).find(prop(\"default\")) ||\n calendarViewOptions[Object.keys(calendarViewOptions)[0]];\n\n const [selectedView, setSelectedView] = useState(defaultView);\n\n const [selectedDate, setSelectedDate] = useState(dayjs());\n\n const { t } = useTranslation();\n\n const localeSpecificProps = LOCALE_CONFIG[locale] || {};\n\n const handleDateChange = date => {\n setSelectedDate(prevDate => {\n const newDate = typeof date === \"function\" ? date(prevDate) : date;\n onDateChange(newDate);\n\n return newDate;\n });\n };\n const calendarWrapperRef = useRef(null);\n const calendarRef = useRef();\n\n useEffect(() => {\n const calendarApi = calendarRef.current?.getApi?.();\n const wrapperElement = calendarWrapperRef.current;\n\n if (!calendarApi || !wrapperElement) return undefined;\n\n const handleResize = () => {\n calendarApi.updateSize();\n };\n\n const observer = new ResizeObserver(handleResize);\n\n observer.observe(wrapperElement);\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return (\n <div\n className=\"flex-col\"\n data-testid=\"calendar-view\"\n ref={calendarWrapperRef}\n >\n {!hideHeader && (\n <SubHeader\n className={subheaderClassName}\n leftActionBlock={\n <Typography style=\"h2\">\n {selectedDate.format(\"MMMM, YYYY\")}\n </Typography>\n }\n rightActionBlock={\n <Header\n {...{\n calendarRef,\n calendarViewOptions,\n datePickerButtonClassName,\n onTodayClick,\n selectedDate,\n selectedView,\n setSelectedDate,\n setSelectedView,\n showDatePickerIcon,\n todayButtonClassName,\n todayButtonLabel,\n validDates,\n }}\n setSelectedDate={handleDateChange}\n />\n }\n />\n )}\n <FullCalendar\n expandRows\n allDayText={t(\"neetoMolecules.calendarView.allDay\")}\n dateClick={handleDateClick}\n dayHeaderClassNames=\"p-2\"\n displayEventTime={false}\n eventClick={handleEventClick}\n headerToolbar={false}\n height=\"auto\"\n initialView={selectedView.fullCalendarView}\n plugins={[dayGridPlugin, timeGridPlugin, interactionPlugin]}\n ref={mergeRefs(ref, calendarRef)}\n {...{\n dayCellClassNames,\n dayMaxEvents,\n direction,\n eventClassNames,\n eventMaxStack,\n events,\n locale,\n ...localeSpecificProps,\n ...otherProps,\n }}\n />\n </div>\n );\n }\n);\n\nCalendarView.displayName = \"CalendarView\";\n\nCalendarView.propTypes = {\n /**\n * Views to be listed in the dropdown. The default selected view can be set by adding `default: true` to the required view.\n */\n viewOptions: PropTypes.object,\n /**\n * An array of event objects that will be displayed on the calendar.\n */\n events: PropTypes.array,\n /**\n * Function to be triggered when the user clicks on a date or a time.\n */\n handleDateClick: PropTypes.func,\n /**\n * Function to be triggered when the user clicks an event.\n */\n handleEventClick: PropTypes.func,\n /**\n * A className input for adding classNames to the outermost event element.\n */\n eventClassNames: PropTypes.string,\n /**\n * A className input for adding classNames to the <td> cell.\n */\n dayCellClassNames: PropTypes.string,\n /**\n * In dayGrid view, the max number of events within a given day, not counting the +more link.\n */\n dayMaxEvents: PropTypes.number,\n /**\n * For timeline view, the maximum number of events that stack top-to-bottom. For timeGrid view, the maximum number of events that stack left-to-right.\n */\n eventMaxStack: PropTypes.number,\n /**\n * This function will be triggered with the new selected date passed as argument\n */\n onDateChange: PropTypes.func,\n /**\n * An object containing the start and end dates in which the range given is the valid range of selectable dates.\n */\n validDates: PropTypes.shape({\n start: PropTypes.instanceOf(Date),\n end: PropTypes.instanceOf(Date),\n }),\n /**\n * This prop can be used to hide the header\n */\n hideHeader: PropTypes.bool,\n /**\n * The locale to be used for the calendar.\n */\n locale: PropTypes.string,\n /**\n * Callback fired after the today button navigates to today's date.\n */\n onTodayClick: PropTypes.func,\n /**\n * Custom label for the today button. Defaults to the i18n \"Today\" translation.\n */\n todayButtonLabel: PropTypes.string,\n /**\n * className override for the today button.\n */\n todayButtonClassName: PropTypes.string,\n /**\n * className override for the date picker trigger button. Defaults to \"min-w-52\".\n */\n datePickerButtonClassName: PropTypes.string,\n /**\n * Show or hide the dropdown chevron icon on the date picker button.\n */\n showDatePickerIcon: PropTypes.bool,\n /**\n * className override for the SubHeader wrapper.\n */\n subheaderClassName: PropTypes.string,\n};\n\nexport default CalendarView;\n"],"names":["WEEKLY_VIEW","t","MONTHLY_VIEW","DAILY_VIEW","VIEW_OPTIONS","_defineProperty","label","fullCalendarView","picker","LOCALE_CONFIG","ja","dayCellContent","arg","date","getDate","dayHeaderFormat","weekday","getWeekString","_ref","_ref$isStartOfWeek","isStartOfWeek","_ref$showMonth","showMonth","_ref$showYear","showYear","concat","format","getStartOfWeek","dayjs","startOf","getEndOfWeek","endOf","getFormattedMonthStr","getFormattedWeekRangeStr","startOfWeek","endOfWeek","shouldShowMonthsSeparately","month","shouldShowYearsSeparately","year","startOfWeekStr","endOfWeekStr","getFormattedDayStr","getFormattedRangeStr","formatFunctions","week","day","selectedFormatter","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","CustomDatePicker","selectedDate","setSelectedDate","validDates","onTodayClick","todayButtonLabel","todayButtonClassName","datePickerButtonClassName","_ref$showDatePickerIc","showDatePickerIcon","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","datePickerRef","useRef","buttonRef","selectedRangeStr","start","end","isDateLessThanStart","isSameOrBefore","isDateGreaterThanEnd","isSameOrAfter","onPrevious","subtract","onNext","add","onToday","getDisabledDates","handleButtonMouseDown","e","contains","target","stopPropagation","focus","_jsxs","className","children","_jsx","Button","style","onClick","role","disabled","icon","Left","size","period","Down","undefined","currentDate","classNames","onMouseDown","Typography","DatePicker","_objectSpread","defaultValue","disabledDate","open","placement","value","onChange","onOpenChange","Right","Header","calendarRef","selectedView","setSelectedView","calendarViewOptions","Menu","Dropdown","MenuItem","handleViewSelection","option","calendar","changeView","navigateToSelectedDate","_calendarRef$current","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","buttonStyle","capitalize","buttonProps","view","values","map","idx","isActive","direction","i18next","dir","CalendarView","forwardRef","_ref$viewOptions","viewOptions","_ref$events","events","_ref$handleDateClick","handleDateClick","noop","_ref$handleEventClick","handleEventClick","_ref$eventClassNames","eventClassNames","_ref$dayCellClassName","dayCellClassNames","_ref$validDates","_ref$onDateChange","onDateChange","dayMaxEvents","eventMaxStack","_ref$hideHeader","hideHeader","locale","subheaderClassName","defaultView","find","_useState3","_useState4","localeSpecificProps","handleDateChange","prevDate","newDate","calendarWrapperRef","_calendarRef$current$","calendarApi","getApi","call","wrapperElement","handleResize","updateSize","observer","ResizeObserver","observe","disconnect","SubHeader","leftActionBlock","rightActionBlock","FullCalendar","expandRows","allDayText","dateClick","dayHeaderClassNames","displayEventTime","eventClick","headerToolbar","height","initialView","plugins","dayGridPlugin","timeGridPlugin","interactionPlugin","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,WAAW,GAAGC,CAAC,CAAC,oCAAoC,CAAC;AAC3D,IAAMC,YAAY,GAAGD,CAAC,CAAC,qCAAqC,CAAC;AAC7D,IAAME,UAAU,GAAGF,CAAC,CAAC,mCAAmC,CAAC;AAElD,IAAMG,YAAY,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACtBF,UAAU,EAAG;AACZG,EAAAA,KAAK,EAAEH,UAAU;AACjBI,EAAAA,gBAAgB,EAAE,aAAa;AAC/BC,EAAAA,MAAM,EAAE;AACV,CAAC,CAAA,EACAR,WAAW,EAAG;AACbM,EAAAA,KAAK,EAAEN,WAAW;AAClBO,EAAAA,gBAAgB,EAAE,cAAc;AAChCC,EAAAA,MAAM,EAAE;AACV,CAAC,CAAA,EACAN,YAAY,EAAG;AACdI,EAAAA,KAAK,EAAEJ,YAAY;AACnBK,EAAAA,gBAAgB,EAAE,cAAc;AAChCC,EAAAA,MAAM,EAAE;AACV,CAAC,CACF;AAEM,IAAMC,aAAa,GAAG;AAC3BC,EAAAA,EAAE,EAAE;AACFC,IAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAEC,GAAG,EAAA;AAAA,MAAA,OAAIA,GAAG,CAACC,IAAI,CAACC,OAAO,EAAE;AAAA,IAAA,CAAA;AACzCC,IAAAA,eAAe,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAO;AACrC;AACF,CAAC;;AC3BD,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACjBL,IAAI,GAAAK,IAAA,CAAJL,IAAI;IAAAM,kBAAA,GAAAD,IAAA,CACJE,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,kBAAA;IAAAE,cAAA,GAAAH,IAAA,CACpBI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;IAAAE,aAAA,GAAAL,IAAA,CACjBM,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;AAAA,EAAA,OAAA,EAAA,CAAAE,MAAA,CAEbH,SAAS,IAAIF,aAAa,GAAGP,IAAI,CAACa,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAA,GAAA,CAAA,CAAAD,MAAA,CAAIZ,IAAI,CAACA,IAAI,EAAE,EAAA,GAAA,CAAA,CAAAY,MAAA,CACpED,QAAQ,IAAI,CAACJ,aAAa,GAAGP,IAAI,CAACa,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;AAAA,CACrD;AAEG,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGd,IAAI,EAAA;EAAA,OAAIe,KAAK,CAACf,IAAI,CAAC,CAACgB,OAAO,CAAC,MAAM,CAAC;AAAA,CAAA;AAE1D,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAGjB,IAAI,EAAA;EAAA,OAAIe,KAAK,CAACf,IAAI,CAAC,CAACkB,KAAK,CAAC,MAAM,CAAC;AAAA,CAAA;AAEtD,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGnB,IAAI,EAAA;AAAA,EAAA,OAAIA,IAAI,CAACa,MAAM,CAAC,UAAU,CAAC;AAAA,CAAA;AAE5D,IAAMO,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGpB,IAAI,EAAI;AAC9C,EAAA,IAAMqB,WAAW,GAAGP,cAAc,CAACd,IAAI,CAAC;AACxC,EAAA,IAAMsB,SAAS,GAAGL,YAAY,CAACjB,IAAI,CAAC;AAEpC,EAAA,IAAMuB,0BAA0B,GAAGF,WAAW,CAACG,KAAK,EAAE,KAAKF,SAAS,CAACE,KAAK,EAAE;AAC5E,EAAA,IAAMC,yBAAyB,GAAGJ,WAAW,CAACK,IAAI,EAAE,KAAKJ,SAAS,CAACI,IAAI,EAAE;EAEzE,IAAMC,cAAc,GAAGvB,aAAa,CAAC;AACnCJ,IAAAA,IAAI,EAAEqB,WAAW;AACjBZ,IAAAA,SAAS,EAAEc,0BAA0B;AACrCZ,IAAAA,QAAQ,EAAEc;AACZ,GAAC,CAAC;EAEF,IAAMG,YAAY,GAAGxB,aAAa,CAAC;AACjCJ,IAAAA,IAAI,EAAEsB,SAAS;AACff,IAAAA,aAAa,EAAE,KAAK;AACpBE,IAAAA,SAAS,EAAEc,0BAA0B;AACrCZ,IAAAA,QAAQ,EAAEc;AACZ,GAAC,CAAC;AAEF,EAAA,OAAA,EAAA,CAAAb,MAAA,CAAUe,cAAc,EAAA,KAAA,CAAA,CAAAf,MAAA,CAAMgB,YAAY,CAAA;AAC5C,CAAC;AAEM,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAG7B,IAAI,EAAA;AAAA,EAAA,OAAIA,IAAI,CAACa,MAAM,CAAC,aAAa,CAAC;AAAA,CAAA;AAE7D,IAAMiB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAI9B,IAAI,EAAEL,MAAM,EAAK;AACpD,EAAA,IAAMoC,eAAe,GAAG;AACtBP,IAAAA,KAAK,EAAEL,oBAAoB;AAC3Ba,IAAAA,IAAI,EAAEZ,wBAAwB;AAC9Ba,IAAAA,GAAG,EAAEJ;GACN;AACD,EAAA,IAAMK,iBAAiB,GAAGH,eAAe,CAACpC,MAAM,CAAC;EAEjD,OAAOuC,iBAAiB,CAAClC,IAAI,CAAC;AAChC,CAAC;AAEM,IAAMmC,SAAS,GACpB,SADWA,SAASA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAChBC,IAAI,GAAA,IAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,CAAA,GAAAJ,SAAA,CAAAI,IAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OACR,UAAAC,IAAI,EAAA;IAAA,OACFH,IAAI,CACDI,MAAM,CAACC,OAAO,CAAC,CACfC,OAAO,CAAC,UAAAC,GAAG,EAAA;AAAA,MAAA,OACV,OAAOA,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACJ,IAAI,CAAC,GAAII,GAAG,CAACC,OAAO,GAAGL,IAAK;AAAA,IAAA,CAC9D,CAAC;AAAA,EAAA,CAAA;AAAA,CAAA;;;;;ACnDP,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA3C,IAAA,EAWhB;AAAA,EAAA,IAVJ4C,YAAY,GAAA5C,IAAA,CAAZ4C,YAAY;IACZC,eAAe,GAAA7C,IAAA,CAAf6C,eAAe;IACfvD,MAAM,GAAAU,IAAA,CAANV,MAAM;IACNwD,UAAU,GAAA9C,IAAA,CAAV8C,UAAU;IACVC,YAAY,GAAA/C,IAAA,CAAZ+C,YAAY;IACZC,gBAAgB,GAAAhD,IAAA,CAAhBgD,gBAAgB;IAChBC,oBAAoB,GAAAjD,IAAA,CAApBiD,oBAAoB;IACpBC,yBAAyB,GAAAlD,IAAA,CAAzBkD,yBAAyB;IAAAC,qBAAA,GAAAnD,IAAA,CACzBoD,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;AACtBE,IAAAA,UAAU,GAAAC,wBAAA,CAAAtD,IAAA,EAAAuD,WAAA,CAAA;AAEb,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtB1E,CAAC,GAAAyE,eAAA,CAADzE,CAAC;AACT,EAAA,IAAA2E,SAAA,GAA4BC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCI,IAAAA,MAAM,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,SAAS,GAAAH,UAAA,CAAA,CAAA,CAAA;AAExB,EAAA,IAAMI,aAAa,GAAGC,MAAM,CAAC,IAAI,CAAC;AAClC,EAAA,IAAMC,SAAS,GAAGD,MAAM,CAAC,IAAI,CAAC;AAE9B,EAAA,IAAME,gBAAgB,GAAG1C,oBAAoB,CAACmB,YAAY,EAAEtD,MAAM,CAAC;AAEnE,EAAA,IAAQ8E,KAAK,GAAUtB,UAAU,CAAzBsB,KAAK;IAAEC,GAAG,GAAKvB,UAAU,CAAlBuB,GAAG;AAElB,EAAA,IAAMC,mBAAmB,GACvBF,KAAK,IAAIxB,YAAY,CAAC2B,cAAc,CAAC7D,KAAK,CAAC0D,KAAK,CAAC,EAAE9E,MAAM,CAAC;AAE5D,EAAA,IAAMkF,oBAAoB,GACxBH,GAAG,IAAIzB,YAAY,CAAC6B,aAAa,CAAC/D,KAAK,CAAC2D,GAAG,CAAC,EAAE/E,MAAM,CAAC;AAEvD,EAAA,IAAMoF,UAAU,GAAG,SAAbA,UAAUA,GAAA;IAAA,OACd7B,eAAe,CAAC,UAAAD,YAAY,EAAA;AAAA,MAAA,OAAIA,YAAY,CAAC+B,QAAQ,CAAC,CAAC,EAAErF,MAAM,CAAC;IAAA,CAAA,CAAC;AAAA,EAAA,CAAA;AAEnE,EAAA,IAAMsF,MAAM,GAAG,SAATA,MAAMA,GAAA;IAAA,OACV/B,eAAe,CAAC,UAAAD,YAAY,EAAA;AAAA,MAAA,OAAIA,YAAY,CAACiC,GAAG,CAAC,CAAC,EAAEvF,MAAM,CAAC;IAAA,CAAA,CAAC;AAAA,EAAA,CAAA;AAE9D,EAAA,IAAMwF,OAAO,GAAG,SAAVA,OAAOA,GAAS;AACpBjC,IAAAA,eAAe,CAACnC,KAAK,EAAE,CAAC;AACxBqC,IAAAA,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,IAAZA,YAAY,EAAI;EAClB,CAAC;AAED,EAAA,IAAMgC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGpF,IAAI,EAAI;AAC/B,IAAA,IAAI,CAACA,IAAI,EAAE,OAAO,KAAK;IAEvB,OAAQyE,KAAK,IAAIzE,IAAI,IAAIyE,KAAK,IAAMC,GAAG,IAAI1E,IAAI,IAAI0E,GAAI;EACzD,CAAC;AAED,EAAA,IAAMW,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,CAAC,EAAI;AACjC,IAAA,IAAI,EAAEf,SAAS,CAACxB,OAAO,IAAIwB,SAAS,CAACxB,OAAO,CAACwC,QAAQ,CAACD,CAAC,CAACE,MAAM,CAAC,CAAC,EAAE;IAClEF,CAAC,CAACG,eAAe,EAAE;IACnB,IAAItB,MAAM,EAAEE,aAAa,CAACtB,OAAO,CAAC2C,KAAK,EAAE;EAC3C,CAAC;AAED,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yCAAyC;IAAAC,QAAA,EAAA,cACtDC,GAAA,CAACC,MAAM,EAAA;MACL,YAAA,EAAY3G,CAAC,CAAC,4CAA4C,CAAE;AAC5DwG,MAAAA,SAAS,EAAEtC,oBAAqB;AAChC,MAAA,aAAA,EAAY,4CAA4C;MACxD7D,KAAK,EAAE4D,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAhBA,gBAAgB,GAAIjE,CAAC,CAAC,mCAAmC,CAAE;AAClE4G,MAAAA,KAAK,EAAC,WAAW;AACjBC,MAAAA,OAAO,EAAEd;KACV,CAAC,eACFQ,IAAA,CAAA,KAAA,EAAA;MACE,YAAA,EAAYvG,CAAC,CAAC,iDAAiD,CAAE;AACjEwG,MAAAA,SAAS,EAAC,MAAM;AAChBM,MAAAA,IAAI,EAAC,OAAO;MAAAL,QAAA,EAAA,cAEZC,GAAA,CAACC,MAAM,EAAA;AACLH,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,aAAA,EAAY,+CAA+C;AAC3DO,QAAAA,QAAQ,EAAExB,mBAAoB;QAC9ByB,IAAI,EAAE,SAANA,IAAIA,GAAA;UAAA,oBAAQN,GAAA,CAACO,IAAI,EAAA;AAACT,YAAAA,SAAS,EAAC,kBAAkB;AAACU,YAAAA,IAAI,EAAE;AAAG,WAAE,CAAC;QAAA,CAAC;AAC5DN,QAAAA,KAAK,EAAC,MAAM;QACZ,YAAA,EAAY5G,CAAC,CAAC,iDAAiD,EAAE;AAC/DmH,UAAAA,MAAM,EAAE5G;AACV,SAAC,CAAE;AACHsG,QAAAA,OAAO,EAAElB;AAAW,OACrB,CAAC,eACFe,GAAA,CAACC,MAAM,EAAA;AACL,QAAA,eAAA,EAAe5B,MAAO;AACtB,QAAA,eAAA,EAAc,QAAQ;AACtB,QAAA,aAAA,EAAY,kDAAkD;AAC9DiC,QAAAA,IAAI,EAAE3C,kBAAkB,GAAG+C,IAAI,GAAGC,SAAU;AAC5C3D,QAAAA,GAAG,EAAEyB,SAAU;AACfyB,QAAAA,KAAK,EAAC,MAAM;QACZ,YAAA,EAAY5G,CAAC,CAAC,6CAA6C,EAAE;AAC3DsH,UAAAA,WAAW,EAAElC;AACf,SAAC,CAAE;AACHoB,QAAAA,SAAS,EAAEe,UAAU,CACnB,gBAAgB,EAChBpD,yBAAyB,KAAA,IAAA,IAAzBA,yBAAyB,KAAA,MAAA,GAAzBA,yBAAyB,GAAI,UAC/B,CAAE;QACF0C,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQ7B,SAAS,CAAC,UAAAD,MAAM,EAAA;AAAA,YAAA,OAAI,CAACA,MAAM;UAAA,CAAA,CAAC;QAAA,CAAC;AAC5CyC,QAAAA,WAAW,EAAEvB,qBAAsB;QAAAQ,QAAA,eAEnCC,GAAA,CAACe,UAAU,EAAA;AACT,UAAA,aAAA,EAAY,wDAAwD;AACpEb,UAAAA,KAAK,EAAC,IAAI;AAAAH,UAAAA,QAAA,EAETrB;SACS;AAAC,OACP,CAAC,eACTsB,GAAA,CAACgB,UAAU,EAAAC,eAAA,CAAA;AACTnB,QAAAA,SAAS,EAAC,oBAAoB;AAC9BoB,QAAAA,YAAY,EAAE/D,YAAa;AAC3BgE,QAAAA,YAAY,EAAE7B,gBAAiB;AAC/B8B,QAAAA,IAAI,EAAE/C,MAAO;AACbgD,QAAAA,SAAS,EAAC,UAAU;AACpBrE,QAAAA,GAAG,EAAEuB,aAAc;AACnB+C,QAAAA,KAAK,EAAEnE,YAAa;AACpBoE,QAAAA,QAAQ,EAAEnE,eAAgB;AAC1BoE,QAAAA,YAAY,EAAElD;AAAU,OAAA,EAAA2C,eAAA,CAAA;AAClBpH,QAAAA,MAAM,EAANA;AAAM,OAAA,EAAK+D,UAAU,CAAA,CAC5B,CAAC,eACFoC,GAAA,CAACC,MAAM,EAAA;AACLH,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,aAAA,EAAY,2CAA2C;AACvDO,QAAAA,QAAQ,EAAEtB,oBAAqB;QAC/BuB,IAAI,EAAE,SAANA,IAAIA,GAAA;UAAA,oBAAQN,GAAA,CAACyB,KAAK,EAAA;AAAC3B,YAAAA,SAAS,EAAC,kBAAkB;AAACU,YAAAA,IAAI,EAAE;AAAG,WAAE,CAAC;QAAA,CAAC;AAC7DN,QAAAA,KAAK,EAAC,MAAM;QACZ,YAAA,EAAY5G,CAAC,CAAC,6CAA6C,EAAE;AAC3DmH,UAAAA,MAAM,EAAE5G;AACV,SAAC,CAAE;AACHsG,QAAAA,OAAO,EAAEhB;AAAO,OACjB,CAAC;AAAA,KACC,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;AChID,IAAMuC,MAAM,GAAG,SAATA,MAAMA,CAAAnH,IAAA,EAaN;AAAA,EAAA,IAZJoH,WAAW,GAAApH,IAAA,CAAXoH,WAAW;IACXC,YAAY,GAAArH,IAAA,CAAZqH,YAAY;IACZC,eAAe,GAAAtH,IAAA,CAAfsH,eAAe;IACfzE,eAAe,GAAA7C,IAAA,CAAf6C,eAAe;IACfD,YAAY,GAAA5C,IAAA,CAAZ4C,YAAY;IACZ2E,mBAAmB,GAAAvH,IAAA,CAAnBuH,mBAAmB;IACnBzE,UAAU,GAAA9C,IAAA,CAAV8C,UAAU;IACVC,YAAY,GAAA/C,IAAA,CAAZ+C,YAAY;IACZC,gBAAgB,GAAAhD,IAAA,CAAhBgD,gBAAgB;IAChBC,oBAAoB,GAAAjD,IAAA,CAApBiD,oBAAoB;IACpBC,yBAAyB,GAAAlD,IAAA,CAAzBkD,yBAAyB;IACzBE,kBAAkB,GAAApD,IAAA,CAAlBoD,kBAAkB;AAElB,EAAA,IAAAI,eAAA,GAAcC,cAAc,EAAE;IAAtB1E,CAAC,GAAAyE,eAAA,CAADzE,CAAC;AACT,EAAA,IAAQyI,IAAI,GAAeC,QAAQ,CAA3BD,IAAI;IAAEE,QAAQ,GAAKD,QAAQ,CAArBC,QAAQ;AAEtB,EAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,MAAM,EAAI;IACpCN,eAAe,CAACM,MAAM,CAAC;IACvBR,WAAW,CAAC1E,OAAO,CAACmF,QAAQ,CAACC,UAAU,CAACF,MAAM,CAACvI,gBAAgB,CAAC;EAClE,CAAC;AAED,EAAA,IAAM0I,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAA;AAAA,IAAA,IAAAC,oBAAA;AAAA,IAAA,OAC1BZ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAA,CAAAY,oBAAA,GAAXZ,WAAW,CAAE1E,OAAO,MAAA,IAAA,IAAAsF,oBAAA,KAAA,MAAA,IAAA,CAAAA,oBAAA,GAApBA,oBAAA,CAAsBH,QAAQ,MAAA,IAAA,IAAAG,oBAAA,KAAA,MAAA,GAAA,MAAA,GAA9BA,oBAAA,CAAgCC,QAAQ,CAACrF,YAAY,CAACpC,MAAM,CAAC,YAAY,CAAC,CAAC;AAAA,EAAA,CAAA;AAE7E0H,EAAAA,SAAS,CAAC,YAAM;IACdC,UAAU,CAACJ,sBAAsB,CAAC;AACpC,EAAA,CAAC,EAAE,CAACnF,YAAY,CAAC,CAAC;AAElB,EAAA,oBACE0C,IAAA,CAAA,KAAA,EAAA;IACE,YAAA,EAAYvG,CAAC,CAAC,mDAAmD,CAAE;AACnEwG,IAAAA,SAAS,EAAC,cAAc;AACxBM,IAAAA,IAAI,EAAC,OAAO;IAAAL,QAAA,EAAA,cAEZC,GAAA,CAAC9C,gBAAgB,EAAA;AAEbO,MAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBH,MAAAA,YAAY,EAAZA,YAAY;AACZH,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,eAAe,EAAfA,eAAe;AACfO,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBH,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBD,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBF,MAAAA,UAAU,EAAVA,UAAU;AAEZsF,MAAAA,iBAAiB,EAAEC,IAAI,CAAC,YAAY,CAAE;MACtC/I,MAAM,EAAE+H,YAAY,CAAC/H;AAAO,KAC7B,CAAC,EACDgJ,MAAM,CAACC,IAAI,CAAChB,mBAAmB,CAAC,CAACtF,MAAM,GAAG,CAAC,iBAC1CwD,GAAA,CAACgC,QAAQ,EAAA;AACPe,MAAAA,WAAW,EAAC,WAAW;AACvBpJ,MAAAA,KAAK,EAAEqJ,UAAU,CAACpB,YAAY,CAACjI,KAAK,CAAE;AACtCsJ,MAAAA,WAAW,EAAE;AACX,QAAA,aAAa,EAAE,wBAAwB;AACvC,QAAA,YAAY,EAAE3J,CAAC,CAAC,+CAA+C,EAAE;AAC/D4J,UAAAA,IAAI,EAAEF,UAAU,CAACpB,YAAY,CAACjI,KAAK;SACpC;OACD;MAAAoG,QAAA,eAEFC,GAAA,CAAC+B,IAAI,EAAA;QAAAhC,QAAA,EACFoD,MAAM,CAACrB,mBAAmB,CAAC,CAACsB,GAAG,CAAC,UAACjB,MAAM,EAAEkB,GAAG,EAAA;AAAA,UAAA,oBAC3CrD,GAAA,CAACiC,QAAQ,CAAChC,MAAM,EAAA;YACdqD,QAAQ,EAAE1B,YAAY,KAAKO,MAAO;YAElChC,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQ+B,mBAAmB,CAACC,MAAM,CAAC;YAAA,CAAC;AAAApC,YAAAA,QAAA,EAE1CiD,UAAU,CAACb,MAAM,CAACxI,KAAK;AAAC,WAAA,EAHpB0J,GAIU,CAAC;QAAA,CACnB;OACG;AAAC,KACC,CACX;AAAA,GACE,CAAC;AAEV,CAAC;;;;;AC/DD,IAAME,SAAS,GAAGC,OAAO,CAACC,GAAG,EAAE,IAAI,KAAK;AAExC,IAAMC,YAAY,gBAAGC,UAAU,CAC7B,UAAApJ,IAAA,EAsBEyC,GAAG,EACA;AAAA,EAAA,IAAA4G,gBAAA,GAAArJ,IAAA,CArBDsJ,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAGnK,YAAY,GAAAmK,gBAAA;IAAAE,WAAA,GAAAvJ,IAAA,CAC1BwJ,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,WAAA;IAAAE,oBAAA,GAAAzJ,IAAA,CACX0J,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAGE,IAAI,GAAAF,oBAAA;IAAAG,qBAAA,GAAA5J,IAAA,CACtB6J,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAGD,IAAI,GAAAC,qBAAA;IAAAE,oBAAA,GAAA9J,IAAA,CACvB+J,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAAAhK,IAAA,CACpBiK,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,eAAA,GAAAlK,IAAA,CACtB8C,UAAU;IAAVA,UAAU,GAAAoH,eAAA,KAAA,MAAA,GAAG;AAAE9F,MAAAA,KAAK,EAAE,IAAI;AAAEC,MAAAA,GAAG,EAAE;AAAK,KAAC,GAAA6F,eAAA;IAAAC,iBAAA,GAAAnK,IAAA,CACvCoK,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAGR,IAAI,GAAAQ,iBAAA;IACnBE,YAAY,GAAArK,IAAA,CAAZqK,YAAY;IACZC,aAAa,GAAAtK,IAAA,CAAbsK,aAAa;IAAAC,eAAA,GAAAvK,IAAA,CACbwK,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAClBE,MAAM,GAAAzK,IAAA,CAANyK,MAAM;IACN1H,YAAY,GAAA/C,IAAA,CAAZ+C,YAAY;IACZC,gBAAgB,GAAAhD,IAAA,CAAhBgD,gBAAgB;IAChBC,oBAAoB,GAAAjD,IAAA,CAApBiD,oBAAoB;IACpBC,yBAAyB,GAAAlD,IAAA,CAAzBkD,yBAAyB;IACzBE,kBAAkB,GAAApD,IAAA,CAAlBoD,kBAAkB;IAClBsH,kBAAkB,GAAA1K,IAAA,CAAlB0K,kBAAkB;AACfrH,IAAAA,UAAU,GAAAC,wBAAA,CAAAtD,IAAA,EAAAuD,SAAA,CAAA;AAIf,EAAA,IAAMgE,mBAAmB,GAAG+B,WAAW,IAAIpK,YAAY;AAEvD,EAAA,IAAMyL,WAAW,GACfrC,MAAM,CAACM,MAAM,CAACrB,mBAAmB,CAAC,CAACqD,IAAI,CAACvC,IAAI,CAAC,SAAS,CAAC,CAAC,IACxDd,mBAAmB,CAACe,MAAM,CAACC,IAAI,CAAChB,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D,EAAA,IAAA7D,SAAA,GAAwCC,QAAQ,CAACgH,WAAW,CAAC;IAAA/G,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtD2D,IAAAA,YAAY,GAAAzD,UAAA,CAAA,CAAA,CAAA;AAAE0D,IAAAA,eAAe,GAAA1D,UAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAiH,UAAA,GAAwClH,QAAQ,CAACjD,KAAK,EAAE,CAAC;IAAAoK,UAAA,GAAAjH,cAAA,CAAAgH,UAAA,EAAA,CAAA,CAAA;AAAlDjI,IAAAA,YAAY,GAAAkI,UAAA,CAAA,CAAA,CAAA;AAAEjI,IAAAA,eAAe,GAAAiI,UAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAtH,eAAA,GAAcC,cAAc,EAAE;IAAtB1E,CAAC,GAAAyE,eAAA,CAADzE,CAAC;EAET,IAAMgM,mBAAmB,GAAGxL,aAAa,CAACkL,MAAM,CAAC,IAAI,EAAE;AAEvD,EAAA,IAAMO,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGrL,IAAI,EAAI;IAC/BkD,eAAe,CAAC,UAAAoI,QAAQ,EAAI;AAC1B,MAAA,IAAMC,OAAO,GAAG,OAAOvL,IAAI,KAAK,UAAU,GAAGA,IAAI,CAACsL,QAAQ,CAAC,GAAGtL,IAAI;MAClEyK,YAAY,CAACc,OAAO,CAAC;AAErB,MAAA,OAAOA,OAAO;AAChB,IAAA,CAAC,CAAC;EACJ,CAAC;AACD,EAAA,IAAMC,kBAAkB,GAAGlH,MAAM,CAAC,IAAI,CAAC;AACvC,EAAA,IAAMmD,WAAW,GAAGnD,MAAM,EAAE;AAE5BiE,EAAAA,SAAS,CAAC,YAAM;IAAA,IAAAF,oBAAA,EAAAoD,qBAAA;IACd,IAAMC,WAAW,IAAArD,oBAAA,GAAGZ,WAAW,CAAC1E,OAAO,MAAA,IAAA,IAAAsF,oBAAA,KAAA,MAAA,IAAA,CAAAoD,qBAAA,GAAnBpD,oBAAA,CAAqBsD,MAAM,MAAA,IAAA,IAAAF,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA3BA,qBAAA,CAAAG,IAAA,CAAAvD,oBAA8B,CAAC;AACnD,IAAA,IAAMwD,cAAc,GAAGL,kBAAkB,CAACzI,OAAO;AAEjD,IAAA,IAAI,CAAC2I,WAAW,IAAI,CAACG,cAAc,EAAE,OAAOpF,SAAS;AAErD,IAAA,IAAMqF,YAAY,GAAG,SAAfA,YAAYA,GAAS;MACzBJ,WAAW,CAACK,UAAU,EAAE;IAC1B,CAAC;AAED,IAAA,IAAMC,QAAQ,GAAG,IAAIC,cAAc,CAACH,YAAY,CAAC;AAEjDE,IAAAA,QAAQ,CAACE,OAAO,CAACL,cAAc,CAAC;AAEhC,IAAA,OAAO,YAAM;MACXG,QAAQ,CAACG,UAAU,EAAE;IACvB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,oBACExG,IAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,UAAU;AACpB,IAAA,aAAA,EAAY,eAAe;AAC3B9C,IAAAA,GAAG,EAAE0I,kBAAmB;AAAA3F,IAAAA,QAAA,GAEvB,CAACgF,UAAU,iBACV/E,GAAA,CAACsG,SAAS,EAAA;AACRxG,MAAAA,SAAS,EAAEmF,kBAAmB;MAC9BsB,eAAe,eACbvG,GAAA,CAACe,UAAU,EAAA;AAACb,QAAAA,KAAK,EAAC,IAAI;AAAAH,QAAAA,QAAA,EACnB5C,YAAY,CAACpC,MAAM,CAAC,YAAY;AAAC,OACxB,CACb;AACDyL,MAAAA,gBAAgB,eACdxG,GAAA,CAAC0B,MAAM,EAAAhI,eAAA,CAAA;AAEHiI,QAAAA,WAAW,EAAXA,WAAW;AACXG,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBrE,QAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBH,QAAAA,YAAY,EAAZA,YAAY;AACZH,QAAAA,YAAY,EAAZA,YAAY;AACZyE,QAAAA,YAAY,EAAZA,YAAY;AACZxE,QAAAA,eAAe,EAAfA,eAAe;AACfyE,QAAAA,eAAe,EAAfA,eAAe;AACflE,QAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBH,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBD,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBF,QAAAA,UAAU,EAAVA;AAAU,OAAA,EAAA,iBAAA,EAEKkI,gBAAgB,CAClC;AACF,KACF,CACF,eACDvF,GAAA,CAACyG,YAAY,EAAAxF,aAAA,CAAA;MACXyF,UAAU,EAAA,IAAA;AACVC,MAAAA,UAAU,EAAErN,CAAC,CAAC,oCAAoC,CAAE;AACpDsN,MAAAA,SAAS,EAAE3C,eAAgB;AAC3B4C,MAAAA,mBAAmB,EAAC,KAAK;AACzBC,MAAAA,gBAAgB,EAAE,KAAM;AACxBC,MAAAA,UAAU,EAAE3C,gBAAiB;AAC7B4C,MAAAA,aAAa,EAAE,KAAM;AACrBC,MAAAA,MAAM,EAAC,MAAM;MACbC,WAAW,EAAEtF,YAAY,CAAChI,gBAAiB;AAC3CuN,MAAAA,OAAO,EAAE,CAACC,aAAa,EAAEC,cAAc,EAAEC,iBAAiB,CAAE;AAC5DtK,MAAAA,GAAG,EAAEX,SAAS,CAACW,GAAG,EAAE2E,WAAW;KAAE,EAAAV,aAAA,CAAAA,aAAA,CAAA;AAE/BuD,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBI,MAAAA,YAAY,EAAZA,YAAY;AACZrB,MAAAA,SAAS,EAATA,SAAS;AACTe,MAAAA,eAAe,EAAfA,eAAe;AACfO,MAAAA,aAAa,EAAbA,aAAa;AACbd,MAAAA,MAAM,EAANA,MAAM;AACNiB,MAAAA,MAAM,EAANA;AAAM,KAAA,EACHM,mBAAmB,CAAA,EACnB1H,UAAU,CAAA,CAEhB,CAAC;AAAA,GACC,CAAC;AAEV,CACF;AAEA8F,YAAY,CAAC6D,WAAW,GAAG,cAAc;;;;"}
|
|
@@ -10,7 +10,7 @@ import { NavLink, useLocation } from 'react-router-dom';
|
|
|
10
10
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
11
11
|
import { Badge } from '@bigbinary/neeto-atoms';
|
|
12
12
|
import classnames from 'classnames';
|
|
13
|
-
import
|
|
13
|
+
import Segments from '@bigbinary/neeto-filters-frontend/v2/Segments';
|
|
14
14
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
15
15
|
import { c as createLucideIcon } from './createLucideIcon-mNMhCCpf.js';
|
|
16
16
|
|
|
@@ -232,4 +232,4 @@ var ConfigureView = function ConfigureView(_ref) {
|
|
|
232
232
|
};
|
|
233
233
|
|
|
234
234
|
export { ConfigureView as C, DEFAULT_HOME_PATH as D, MIN_SIDEBAR_WIDTH as M, PINNED_MORE_NAV_LINKS_KEY as P, SPECIAL_APP_NAMES as S, CheckPointNavLinks as a, SubLinkItem as b, SIDEBAR_WIDTH_KEY as c, DEFAULT_SIDEBAR_WIDTH as d, SELECTED_NAV_LINK_ROUTE_STORAGE_KEY as e, filterByPermissions as f, getSidebarStateLocalStorageKey as g, getActiveConfigurePageLink as h, MAX_SIDEBAR_WIDTH as i };
|
|
235
|
-
//# sourceMappingURL=ConfigureView-
|
|
235
|
+
//# sourceMappingURL=ConfigureView-B0UvLoJe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigureView-DOotR_-0.js","sources":["../node_modules/lucide-react/dist/esm/icons/chevron-left.js","../src/v2/components/Sidebar/Components/CheckPointNavLink.jsx","../src/v2/components/Sidebar/constants.js","../src/v2/components/Sidebar/utils.js","../src/v2/components/Sidebar/Components/SubLinkItem.jsx","../src/v2/components/Sidebar/Components/ConfigureView.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m15 18-6-6 6-6\", key: \"1wnfg3\" }]];\nconst ChevronLeft = createLucideIcon(\"chevron-left\", __iconNode);\n\nexport { __iconNode, ChevronLeft as default };\n//# sourceMappingURL=chevron-left.js.map\n","import { useNavigationCheckpoints } from \"neetocommons/react-utils/useRegisterNavigationCheckpoint\";\nimport { NavLink } from \"react-router-dom\";\n\nconst CheckPointNavLinks = ({\n checkpointKey,\n to,\n href,\n children,\n ...others\n}) => {\n const { [checkpointKey]: checkpoint } =\n useNavigationCheckpoints(checkpointKey);\n\n const LinkElement = href ? \"a\" : NavLink;\n const linkProps = href\n ? { href, key: href, ...others }\n : { to: checkpoint || to, key: to, ...others };\n\n return <LinkElement {...linkProps}>{children}</LinkElement>;\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\nexport const DEFAULT_HOME_PATH = \"/admin\";\n\nexport const SIDEBAR_WIDTH_KEY = \"neeto-molecules-sidebar-width\";\nexport const MIN_SIDEBAR_WIDTH = 12.5 * 16;\nexport const MAX_SIDEBAR_WIDTH = 20 * 16;\nexport const DEFAULT_SIDEBAR_WIDTH = 15 * 16;\n\nexport const PINNED_MORE_NAV_LINKS_KEY = \"pinnedMoreNavLinks\";\n\nexport const SPECIAL_APP_NAMES = { bugwatch: \"BugWatch\" };\n","import { isPresent, 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\nexport const getActiveConfigurePageLink = ({ navLinks, location }) =>\n navLinks.find(link => {\n const [linkPathname] = link.to?.split(\"?\") || [];\n\n return (\n isPresent(link.isConfigureNavLink) &&\n link.isConfigureNavLink &&\n location.pathname.startsWith(linkPathname)\n );\n });\n","import { Badge } from \"@bigbinary/neeto-atoms\";\nimport {\n SidebarMenuSubItem,\n SidebarMenuSubButton,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Segments } from \"neetofilters/v2\";\nimport { is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\n\nimport { SUB_LINK_TYPES } from \"../constants\";\nimport { isSubRouteActive } from \"../utils\";\n\nconst SubLinkItem = ({\n to,\n href,\n onClick,\n label,\n className,\n type = SUB_LINK_TYPES.SYSTEM_VIEW,\n count,\n isSectionHeader,\n isCountsLoading,\n \"data-testid\": dataTestid,\n entity = \"\",\n columns = [],\n baseUrl,\n isActive,\n tag,\n}) => {\n const location = useLocation();\n\n if (type === SUB_LINK_TYPES.SEGMENTS) {\n return <Segments {...{ baseUrl, columns, entity }} isIndependent={false} />;\n }\n\n const dataTestidPrefix = dataTestid || 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 <SidebarMenuSubItem>\n <SidebarMenuSubButton\n asChild\n isActive={isSubLinkActive()}\n size=\"md\"\n className={classnames(\n \"h-auto overflow-visible py-1.5 whitespace-normal\",\n className\n )}\n >\n <CheckPointNavLinks\n {...{ href, onClick, to }}\n activeClassName=\"active\"\n data-testid={`${dataTestidPrefix}-sub-link`}\n isActive={isSubLinkActive}\n >\n <span\n className=\"flex flex-grow items-center gap-2\"\n data-testid={`${dataTestidPrefix}-sub-link-label`}\n >\n {label}\n {tag && <Badge {...tag} />}\n </span>\n <span\n className=\"text-sidebar-foreground/70 flex-shrink-0 text-xs\"\n data-testid={`${dataTestidPrefix}-sub-link-count`}\n >\n {isCountsLoading ? (\n <div className=\"bg-sidebar-accent h-4 w-4 animate-pulse rounded\" />\n ) : (\n renderCount(count)\n )}\n </span>\n </CheckPointNavLinks>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n};\n\nexport default SubLinkItem;\n","import { Fragment } from \"react\";\n\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { ChevronLeft } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { omit } from \"ramda\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport SubLinkItem from \"./SubLinkItem\";\n\nimport { filterByPermissions } from \"../utils\";\n\nconst ConfigureView = ({\n navLink = { label: \"\", items: [], isConfigureNavLink: false },\n handleGoBack,\n isConfigureSidebar: _isConfigureSidebar,\n}) => {\n const { label, items, ...otherProps } = navLink;\n\n const renderItems = itemList => (\n <SidebarMenu className=\"gap-1\">\n {itemList.filter(filterByPermissions).map((subItem, subIndex) => (\n <Fragment key={subIndex}>\n {isPresent(subItem.items) ? (\n <SidebarMenuItem>\n <SidebarMenuButton asChild className=\"font-medium\">\n <CheckPointNavLinks\n href={subItem.href}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n >\n {subItem.label}\n </CheckPointNavLinks>\n </SidebarMenuButton>\n <SidebarMenuSub>\n {subItem.items\n .filter(filterByPermissions)\n .map((nestedItem, nestedIndex) => (\n <SubLinkItem\n key={nestedIndex}\n {...{ ...nestedItem }}\n href={nestedItem.href}\n isActive={nestedItem.isActive}\n to={nestedItem.to ?? nestedItem.path}\n onClick={nestedItem.onClick}\n />\n ))}\n </SidebarMenuSub>\n </SidebarMenuItem>\n ) : (\n <SubLinkItem\n {...{ ...subItem }}\n href={subItem.href}\n isActive={subItem.isActive}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n />\n )}\n </Fragment>\n ))}\n </SidebarMenu>\n );\n\n return (\n <SidebarGroup data-testid=\"configure-nav-container\">\n <SidebarMenuButton\n className=\"mb-4 text-base font-semibold [&>svg]:size-5\"\n data-testid={`${hyphenize(label)}-go-back-button`}\n onClick={handleGoBack}\n {...{ ...omit([\"icon\", \"isConfigureNavLink\"], otherProps) }}\n >\n <ChevronLeft />\n <span>{label}</span>\n </SidebarMenuButton>\n <SidebarGroupContent>{items && renderItems(items)}</SidebarGroupContent>\n </SidebarGroup>\n );\n};\n\nexport default ConfigureView;\n"],"names":["CheckPointNavLinks","_ref","checkpointKey","to","href","children","others","_objectWithoutProperties","_excluded","_useNavigationCheckpo","useNavigationCheckpoints","checkpoint","LinkElement","NavLink","linkProps","_objectSpread","key","_jsx","SUB_LINK_TYPES","SYSTEM_VIEW","SEGMENTS","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","DEFAULT_HOME_PATH","SIDEBAR_WIDTH_KEY","MIN_SIDEBAR_WIDTH","MAX_SIDEBAR_WIDTH","DEFAULT_SIDEBAR_WIDTH","PINNED_MORE_NAV_LINKS_KEY","SPECIAL_APP_NAMES","bugwatch","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","__","getActiveConfigurePageLink","_ref2","navLinks","find","link","_link$to","_ref3","split","_ref4","_slicedToArray","linkPathname","isPresent","isConfigureNavLink","startsWith","SubLinkItem","onClick","label","className","_ref$type","type","count","isSectionHeader","isCountsLoading","dataTestid","_ref$entity","entity","_ref$columns","columns","baseUrl","isActive","tag","useLocation","Segments","isIndependent","dataTestidPrefix","hyphenate","renderCount","isSubLinkActive","Function","SidebarMenuSubItem","SidebarMenuSubButton","asChild","size","classnames","_jsxs","activeClassName","Badge","ConfigureView","_ref$navLink","navLink","items","handleGoBack","isConfigureSidebar","otherProps","renderItems","itemList","SidebarMenu","filter","map","subItem","subIndex","_subItem$to","_subItem$to2","Fragment","SidebarMenuItem","SidebarMenuButton","path","SidebarMenuSub","nestedItem","nestedIndex","_nestedItem$to","SidebarGroup","hyphenize","omit","ChevronLeft","SidebarGroupContent"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"ConfigureView-B0UvLoJe.js","sources":["../node_modules/lucide-react/dist/esm/icons/chevron-left.js","../src/v2/components/Sidebar/Components/CheckPointNavLink.jsx","../src/v2/components/Sidebar/constants.js","../src/v2/components/Sidebar/utils.js","../src/v2/components/Sidebar/Components/SubLinkItem.jsx","../src/v2/components/Sidebar/Components/ConfigureView.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m15 18-6-6 6-6\", key: \"1wnfg3\" }]];\nconst ChevronLeft = createLucideIcon(\"chevron-left\", __iconNode);\n\nexport { __iconNode, ChevronLeft as default };\n//# sourceMappingURL=chevron-left.js.map\n","import { useNavigationCheckpoints } from \"neetocommons/react-utils/useRegisterNavigationCheckpoint\";\nimport { NavLink } from \"react-router-dom\";\n\nconst CheckPointNavLinks = ({\n checkpointKey,\n to,\n href,\n children,\n ...others\n}) => {\n const { [checkpointKey]: checkpoint } =\n useNavigationCheckpoints(checkpointKey);\n\n const LinkElement = href ? \"a\" : NavLink;\n const linkProps = href\n ? { href, key: href, ...others }\n : { to: checkpoint || to, key: to, ...others };\n\n return <LinkElement {...linkProps}>{children}</LinkElement>;\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\nexport const DEFAULT_HOME_PATH = \"/admin\";\n\nexport const SIDEBAR_WIDTH_KEY = \"neeto-molecules-sidebar-width\";\nexport const MIN_SIDEBAR_WIDTH = 12.5 * 16;\nexport const MAX_SIDEBAR_WIDTH = 20 * 16;\nexport const DEFAULT_SIDEBAR_WIDTH = 15 * 16;\n\nexport const PINNED_MORE_NAV_LINKS_KEY = \"pinnedMoreNavLinks\";\n\nexport const SPECIAL_APP_NAMES = { bugwatch: \"BugWatch\" };\n","import { isPresent, 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\nexport const getActiveConfigurePageLink = ({ navLinks, location }) =>\n navLinks.find(link => {\n const [linkPathname] = link.to?.split(\"?\") || [];\n\n return (\n isPresent(link.isConfigureNavLink) &&\n link.isConfigureNavLink &&\n location.pathname.startsWith(linkPathname)\n );\n });\n","import { Badge } from \"@bigbinary/neeto-atoms\";\nimport {\n SidebarMenuSubItem,\n SidebarMenuSubButton,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Segments } from \"neetofilters/v2\";\nimport { is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\n\nimport { SUB_LINK_TYPES } from \"../constants\";\nimport { isSubRouteActive } from \"../utils\";\n\nconst SubLinkItem = ({\n to,\n href,\n onClick,\n label,\n className,\n type = SUB_LINK_TYPES.SYSTEM_VIEW,\n count,\n isSectionHeader,\n isCountsLoading,\n \"data-testid\": dataTestid,\n entity = \"\",\n columns = [],\n baseUrl,\n isActive,\n tag,\n}) => {\n const location = useLocation();\n\n if (type === SUB_LINK_TYPES.SEGMENTS) {\n return <Segments {...{ baseUrl, columns, entity }} isIndependent={false} />;\n }\n\n const dataTestidPrefix = dataTestid || 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 <SidebarMenuSubItem>\n <SidebarMenuSubButton\n asChild\n isActive={isSubLinkActive()}\n size=\"md\"\n className={classnames(\n \"h-auto overflow-visible py-1.5 whitespace-normal\",\n className\n )}\n >\n <CheckPointNavLinks\n {...{ href, onClick, to }}\n activeClassName=\"active\"\n data-testid={`${dataTestidPrefix}-sub-link`}\n isActive={isSubLinkActive}\n >\n <span\n className=\"flex flex-grow items-center gap-2\"\n data-testid={`${dataTestidPrefix}-sub-link-label`}\n >\n {label}\n {tag && <Badge {...tag} />}\n </span>\n <span\n className=\"text-sidebar-foreground/70 flex-shrink-0 text-xs\"\n data-testid={`${dataTestidPrefix}-sub-link-count`}\n >\n {isCountsLoading ? (\n <div className=\"bg-sidebar-accent h-4 w-4 animate-pulse rounded\" />\n ) : (\n renderCount(count)\n )}\n </span>\n </CheckPointNavLinks>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n};\n\nexport default SubLinkItem;\n","import { Fragment } from \"react\";\n\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { ChevronLeft } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { omit } from \"ramda\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport SubLinkItem from \"./SubLinkItem\";\n\nimport { filterByPermissions } from \"../utils\";\n\nconst ConfigureView = ({\n navLink = { label: \"\", items: [], isConfigureNavLink: false },\n handleGoBack,\n isConfigureSidebar: _isConfigureSidebar,\n}) => {\n const { label, items, ...otherProps } = navLink;\n\n const renderItems = itemList => (\n <SidebarMenu className=\"gap-1\">\n {itemList.filter(filterByPermissions).map((subItem, subIndex) => (\n <Fragment key={subIndex}>\n {isPresent(subItem.items) ? (\n <SidebarMenuItem>\n <SidebarMenuButton asChild className=\"font-medium\">\n <CheckPointNavLinks\n href={subItem.href}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n >\n {subItem.label}\n </CheckPointNavLinks>\n </SidebarMenuButton>\n <SidebarMenuSub>\n {subItem.items\n .filter(filterByPermissions)\n .map((nestedItem, nestedIndex) => (\n <SubLinkItem\n key={nestedIndex}\n {...{ ...nestedItem }}\n href={nestedItem.href}\n isActive={nestedItem.isActive}\n to={nestedItem.to ?? nestedItem.path}\n onClick={nestedItem.onClick}\n />\n ))}\n </SidebarMenuSub>\n </SidebarMenuItem>\n ) : (\n <SubLinkItem\n {...{ ...subItem }}\n href={subItem.href}\n isActive={subItem.isActive}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n />\n )}\n </Fragment>\n ))}\n </SidebarMenu>\n );\n\n return (\n <SidebarGroup data-testid=\"configure-nav-container\">\n <SidebarMenuButton\n className=\"mb-4 text-base font-semibold [&>svg]:size-5\"\n data-testid={`${hyphenize(label)}-go-back-button`}\n onClick={handleGoBack}\n {...{ ...omit([\"icon\", \"isConfigureNavLink\"], otherProps) }}\n >\n <ChevronLeft />\n <span>{label}</span>\n </SidebarMenuButton>\n <SidebarGroupContent>{items && renderItems(items)}</SidebarGroupContent>\n </SidebarGroup>\n );\n};\n\nexport default ConfigureView;\n"],"names":["CheckPointNavLinks","_ref","checkpointKey","to","href","children","others","_objectWithoutProperties","_excluded","_useNavigationCheckpo","useNavigationCheckpoints","checkpoint","LinkElement","NavLink","linkProps","_objectSpread","key","_jsx","SUB_LINK_TYPES","SYSTEM_VIEW","SEGMENTS","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","DEFAULT_HOME_PATH","SIDEBAR_WIDTH_KEY","MIN_SIDEBAR_WIDTH","MAX_SIDEBAR_WIDTH","DEFAULT_SIDEBAR_WIDTH","PINNED_MORE_NAV_LINKS_KEY","SPECIAL_APP_NAMES","bugwatch","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","__","getActiveConfigurePageLink","_ref2","navLinks","find","link","_link$to","_ref3","split","_ref4","_slicedToArray","linkPathname","isPresent","isConfigureNavLink","startsWith","SubLinkItem","onClick","label","className","_ref$type","type","count","isSectionHeader","isCountsLoading","dataTestid","_ref$entity","entity","_ref$columns","columns","baseUrl","isActive","tag","useLocation","Segments","isIndependent","dataTestidPrefix","hyphenate","renderCount","isSubLinkActive","Function","SidebarMenuSubItem","SidebarMenuSubButton","asChild","size","classnames","_jsxs","activeClassName","Badge","ConfigureView","_ref$navLink","navLink","items","handleGoBack","isConfigureSidebar","otherProps","renderItems","itemList","SidebarMenu","filter","map","subItem","subIndex","_subItem$to","_subItem$to2","Fragment","SidebarMenuItem","SidebarMenuButton","path","SidebarMenuSub","nestedItem","nestedIndex","_nestedItem$to","SidebarGroup","hyphenize","omit","ChevronLeft","SidebarGroupContent"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/cjs/Builder.js
CHANGED
|
@@ -71,6 +71,8 @@ var NoResults = /*#__PURE__*/React.memo(NoResults$1);
|
|
|
71
71
|
|
|
72
72
|
var Element = function Element(_ref) {
|
|
73
73
|
var label = _ref.label,
|
|
74
|
+
description = _ref.description,
|
|
75
|
+
tooltip = _ref.tooltip,
|
|
74
76
|
Icon = _ref.icon,
|
|
75
77
|
_ref$isCreatable = _ref.isCreatable,
|
|
76
78
|
isCreatable = _ref$isCreatable === void 0 ? true : _ref$isCreatable,
|
|
@@ -88,17 +90,19 @@ var Element = function Element(_ref) {
|
|
|
88
90
|
}
|
|
89
91
|
onClick(event);
|
|
90
92
|
};
|
|
93
|
+
var tooltipContent = isCreatable ? tooltip : disabledElementTooltip === null || disabledElementTooltip === void 0 ? void 0 : disabledElementTooltip(label);
|
|
91
94
|
return /*#__PURE__*/jsxRuntime.jsx(Tooltip, {
|
|
92
|
-
content:
|
|
93
|
-
disabled:
|
|
95
|
+
content: tooltipContent,
|
|
96
|
+
disabled: isDraggingOver || !tooltipContent,
|
|
94
97
|
position: "top",
|
|
95
98
|
touch: ["hold", 500],
|
|
96
99
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
97
100
|
"data-testid": "add-".concat(general.joinHyphenCase(label), "-element"),
|
|
98
|
-
className: classnames("neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative mb-2 flex
|
|
101
|
+
className: classnames("neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative mb-2 flex items-center gap-2 border p-3 transition-all duration-300 ease-in-out", {
|
|
99
102
|
"neeto-ui-bg-gray-300 cursor-not-allowed": !isCreatable,
|
|
100
103
|
"cursor-pointer": isCreatable,
|
|
101
|
-
"opacity-50": isPlaceholder
|
|
104
|
+
"opacity-50": isPlaceholder,
|
|
105
|
+
"h-10": !description
|
|
102
106
|
}),
|
|
103
107
|
onClick: handleClick,
|
|
104
108
|
children: [!isDragDisabled && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
@@ -112,10 +116,18 @@ var Element = function Element(_ref) {
|
|
|
112
116
|
className: "flex flex-grow items-center gap-2",
|
|
113
117
|
children: [Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
|
|
114
118
|
"data-testid": "form-icon"
|
|
115
|
-
}), /*#__PURE__*/jsxRuntime.
|
|
116
|
-
className: "
|
|
117
|
-
|
|
118
|
-
|
|
119
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
120
|
+
className: "flex min-w-0 flex-col",
|
|
121
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
122
|
+
className: "leading-4",
|
|
123
|
+
style: "body2",
|
|
124
|
+
children: label
|
|
125
|
+
}), description && /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
126
|
+
className: "neeto-ui-text-gray-600 mt-0.5",
|
|
127
|
+
"data-testid": "element-description",
|
|
128
|
+
style: "body3",
|
|
129
|
+
children: description
|
|
130
|
+
})]
|
|
119
131
|
})]
|
|
120
132
|
})]
|
|
121
133
|
})
|
|
@@ -308,11 +320,22 @@ var ElementList = function ElementList(_ref) {
|
|
|
308
320
|
setSearchString = _useState2[1];
|
|
309
321
|
var filteredSections = React.useMemo(function () {
|
|
310
322
|
var elementIndex = 0;
|
|
323
|
+
var query = searchString.toLowerCase();
|
|
324
|
+
var matchesSearch = function matchesSearch(element) {
|
|
325
|
+
var _element$label$toLowe, _element$label, _element$description$, _element$description, _element$aliases;
|
|
326
|
+
if (!query) return true;
|
|
327
|
+
var label = (_element$label$toLowe = (_element$label = element.label) === null || _element$label === void 0 ? void 0 : _element$label.toLowerCase()) !== null && _element$label$toLowe !== void 0 ? _element$label$toLowe : "";
|
|
328
|
+
var description = (_element$description$ = (_element$description = element.description) === null || _element$description === void 0 ? void 0 : _element$description.toLowerCase()) !== null && _element$description$ !== void 0 ? _element$description$ : "";
|
|
329
|
+
var aliases = ((_element$aliases = element.aliases) !== null && _element$aliases !== void 0 ? _element$aliases : []).map(function (alias) {
|
|
330
|
+
return alias.toLowerCase();
|
|
331
|
+
});
|
|
332
|
+
return label.includes(query) || description.includes(query) || aliases.some(function (alias) {
|
|
333
|
+
return alias.includes(query);
|
|
334
|
+
});
|
|
335
|
+
};
|
|
311
336
|
return elementSections.map(function (section) {
|
|
312
337
|
return _objectSpread$2(_objectSpread$2({}, section), {}, {
|
|
313
|
-
elements: section.elements.filter(function (element) {
|
|
314
|
-
return element.label.toLowerCase().includes(searchString.toLowerCase());
|
|
315
|
-
}).map(function (element) {
|
|
338
|
+
elements: section.elements.filter(matchesSearch).map(function (element) {
|
|
316
339
|
return ramda.assoc("elementIndex", elementIndex++, element);
|
|
317
340
|
})
|
|
318
341
|
});
|