@bigbinary/neeto-molecules 4.1.71 → 4.1.73
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 +30 -9
- package/dist/Builder.js.map +1 -1
- package/dist/CalendarView.js +38 -8
- package/dist/CalendarView.js.map +1 -1
- package/dist/cjs/Builder.js +30 -9
- 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/v2/MoreDropdown.js.map +1 -1
- package/dist/v2/MoreDropdown.js.map +1 -1
- package/package.json +19 -19
- package/types/Builder.d.ts +2 -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":"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"}
|
package/dist/cjs/Builder.js
CHANGED
|
@@ -71,6 +71,7 @@ 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,
|
|
74
75
|
Icon = _ref.icon,
|
|
75
76
|
_ref$isCreatable = _ref.isCreatable,
|
|
76
77
|
isCreatable = _ref$isCreatable === void 0 ? true : _ref$isCreatable,
|
|
@@ -95,10 +96,11 @@ var Element = function Element(_ref) {
|
|
|
95
96
|
touch: ["hold", 500],
|
|
96
97
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
97
98
|
"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
|
|
99
|
+
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
100
|
"neeto-ui-bg-gray-300 cursor-not-allowed": !isCreatable,
|
|
100
101
|
"cursor-pointer": isCreatable,
|
|
101
|
-
"opacity-50": isPlaceholder
|
|
102
|
+
"opacity-50": isPlaceholder,
|
|
103
|
+
"h-10": !description
|
|
102
104
|
}),
|
|
103
105
|
onClick: handleClick,
|
|
104
106
|
children: [!isDragDisabled && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
@@ -112,10 +114,18 @@ var Element = function Element(_ref) {
|
|
|
112
114
|
className: "flex flex-grow items-center gap-2",
|
|
113
115
|
children: [Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
|
|
114
116
|
"data-testid": "form-icon"
|
|
115
|
-
}), /*#__PURE__*/jsxRuntime.
|
|
116
|
-
className: "
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
118
|
+
className: "flex min-w-0 flex-col",
|
|
119
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
120
|
+
className: "leading-4",
|
|
121
|
+
style: "body2",
|
|
122
|
+
children: label
|
|
123
|
+
}), description && /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
124
|
+
className: "neeto-ui-text-gray-600 mt-0.5",
|
|
125
|
+
"data-testid": "element-description",
|
|
126
|
+
style: "body3",
|
|
127
|
+
children: description
|
|
128
|
+
})]
|
|
119
129
|
})]
|
|
120
130
|
})]
|
|
121
131
|
})
|
|
@@ -308,11 +318,22 @@ var ElementList = function ElementList(_ref) {
|
|
|
308
318
|
setSearchString = _useState2[1];
|
|
309
319
|
var filteredSections = React.useMemo(function () {
|
|
310
320
|
var elementIndex = 0;
|
|
321
|
+
var query = searchString.toLowerCase();
|
|
322
|
+
var matchesSearch = function matchesSearch(element) {
|
|
323
|
+
var _element$label$toLowe, _element$label, _element$description$, _element$description, _element$aliases;
|
|
324
|
+
if (!query) return true;
|
|
325
|
+
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 : "";
|
|
326
|
+
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$ : "";
|
|
327
|
+
var aliases = ((_element$aliases = element.aliases) !== null && _element$aliases !== void 0 ? _element$aliases : []).map(function (alias) {
|
|
328
|
+
return alias.toLowerCase();
|
|
329
|
+
});
|
|
330
|
+
return label.includes(query) || description.includes(query) || aliases.some(function (alias) {
|
|
331
|
+
return alias.includes(query);
|
|
332
|
+
});
|
|
333
|
+
};
|
|
311
334
|
return elementSections.map(function (section) {
|
|
312
335
|
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) {
|
|
336
|
+
elements: section.elements.filter(matchesSearch).map(function (element) {
|
|
316
337
|
return ramda.assoc("elementIndex", elementIndex++, element);
|
|
317
338
|
})
|
|
318
339
|
});
|
package/dist/cjs/Builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.js","sources":["../../src/components/Builder/constants.js","../../src/components/Builder/Body.jsx","../../src/components/Builder/ElementsPanel/ElementsList/NoResults.jsx","../../src/components/Builder/ElementsPanel/ElementsList/Element.jsx","../../src/components/Builder/ElementsPanel/ElementsList/ElementContainer.jsx","../../src/components/Builder/ElementsPanel/ElementsList/Section.jsx","../../src/components/Builder/ElementsPanel/ElementsList/SectionsContainer.jsx","../../src/components/Builder/ElementsPanel/ElementsList/TitleBar.jsx","../../src/components/Builder/ElementsPanel/ElementsList/index.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/SelectedElement.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/TitleBar.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/index.jsx","../../src/components/Builder/ElementsPanel/index.jsx","../../src/components/Builder/PropertiesPanel/EmptyProperty.jsx","../../src/components/Builder/PropertiesPanel/Skeleton.jsx","../../src/components/Builder/PropertiesPanel/index.jsx"],"sourcesContent":["export const PANEL_TYPES = { SUMMARY: \"summary\", ELEMENTS: \"elements\" };\n\nexport const SELECTED_ELEMENTS_LIST_DROPPABLE_ID =\n \"droppable-selected-element-container\";\n\nexport const ELEMENTS_LIST_DROPPABLE_ID = \"droppable-element-container\";\n\nexport const PREVIEW_CONTAINER_DROPPABLE_ID =\n \"droppable-form-preview-container\";\n\nexport const DROPPABLE_TYPES = {\n ELEMENT: \"element\",\n SELECTED_ELEMENT: \"selected_element\",\n};\n","import classnames from \"classnames\";\n\nimport \"./styles.scss\";\n\nconst Body = ({ size, ...props }) => (\n <div\n {...props}\n className={classnames(\n \"neeto-molecules-builder-questions-list-panel__scroll\",\n {\n \"neeto-molecules-builder-questions-list-panel__scroll--small\":\n size === \"small\",\n }\n )}\n />\n);\n\nexport default Body;\n","import { memo } from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nconst NoResults = withT(({ t }) => (\n <Typography\n className=\"neeto-ui-text-gray-800 text-md flex h-full items-center justify-center\"\n weight=\"bold\"\n >\n {t(\"neetoMolecules.builderSidebar.noElements\")}\n </Typography>\n));\n\nexport default memo(NoResults);\n","import classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Drag } from \"neetoicons\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nconst Element = ({\n label,\n icon: Icon,\n isCreatable = true,\n onClick,\n isDragDisabled = false,\n disabledElementTooltip,\n isPlaceholder,\n isDraggingOver,\n isAddingNewElement,\n}) => {\n const handleClick = event => {\n if (!isCreatable || isAddingNewElement) {\n event.preventDefault();\n\n return;\n }\n\n onClick(event);\n };\n\n return (\n <Tooltip\n content={disabledElementTooltip?.(label)}\n disabled={!disabledElementTooltip || isCreatable || isDraggingOver}\n position=\"top\"\n touch={[\"hold\", 500]}\n >\n <div\n data-testid={`add-${joinHyphenCase(label)}-element`}\n className={classnames(\n \"neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative mb-2 flex h-10 items-center gap-2 border p-3 transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-bg-gray-300 cursor-not-allowed\": !isCreatable,\n \"cursor-pointer\": isCreatable,\n \"opacity-50\": isPlaceholder,\n }\n )}\n onClick={handleClick}\n >\n {!isDragDisabled && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <Drag\n className=\"neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div className=\"flex flex-grow items-center gap-2\">\n {Icon && <Icon data-testid=\"form-icon\" />}\n <Typography className=\"leading-4\" style=\"body2\">\n {label}\n </Typography>\n </div>\n </div>\n </Tooltip>\n );\n};\n\nexport default Element;\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { noop } from \"neetocist\";\n\nimport Element from \"./Element\";\n\nconst ElementContainer = ({\n index,\n isDragDisabled,\n element,\n disabledElementTooltip,\n isCreatable,\n onSelect,\n isDraggingOver,\n isAddingNewElement,\n setVisiblePanel,\n}) => {\n const isCreatableElement = isCreatable(element.value);\n\n if (isDragDisabled) {\n return (\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n );\n }\n\n return (\n <Draggable\n {...{ index }}\n draggableId={element.value}\n key={element.label}\n isDragDisabled={\n isDragDisabled || !isCreatableElement || isAddingNewElement\n }\n >\n {(provided, snapshot) => (\n <>\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={{\n ...provided.draggableProps.style,\n ...(!snapshot.isDragging && { transform: \"none\" }),\n }}\n >\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n isDraggingOver,\n setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n </div>\n {snapshot.isDragging && (\n <Element\n disabledElementTooltip={null}\n {...{ ...element, isAddingNewElement, setVisiblePanel }}\n isCreatable={false}\n onClick={noop}\n />\n )}\n </>\n )}\n </Draggable>\n );\n};\n\nexport default ElementContainer;\n","import { Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport ElementContainer from \"./ElementContainer\";\n\nconst Section = ({\n title,\n elements,\n onSelect,\n isCreatable,\n disabledElementTooltip,\n isDragElementsDisabled: isDragDisabled,\n isDraggingOver,\n isAddingNewElement,\n setVisiblePanel,\n}) => {\n if (isEmpty(elements)) {\n return null;\n }\n\n return (\n <>\n {title && <Typography className=\"mb-3 mt-1\">{title}</Typography>}\n {elements.map(element => (\n <ElementContainer\n {...{\n disabledElementTooltip,\n element,\n isAddingNewElement,\n isCreatable,\n isDragDisabled,\n isDraggingOver,\n onSelect,\n setVisiblePanel,\n }}\n index={element.elementIndex}\n key={element.label}\n />\n ))}\n </>\n );\n};\n\nexport default Section;\n","import { Droppable } from \"@hello-pangea/dnd\";\nimport { isEmpty } from \"ramda\";\n\nimport NoResults from \"./NoResults\";\nimport Section from \"./Section\";\n\nimport { DROPPABLE_TYPES, ELEMENTS_LIST_DROPPABLE_ID } from \"../../constants\";\n\nconst SectionsContainer = ({\n isDragElementsDisabled,\n filteredSections,\n isAddingNewElement,\n onSelect,\n setVisiblePanel,\n}) => {\n if (isEmpty(filteredSections)) {\n return <NoResults />;\n }\n\n if (isDragElementsDisabled) {\n return (\n <>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n ...section,\n }}\n key={section.key}\n />\n ))}\n </>\n );\n }\n\n return (\n <Droppable\n droppableId={ELEMENTS_LIST_DROPPABLE_ID}\n type={DROPPABLE_TYPES.ELEMENT}\n >\n {(provided, snapshot) => (\n <div ref={provided.innerRef}>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n ...section,\n }}\n isDraggingOver={snapshot.isDraggingOver}\n key={section.key}\n />\n ))}\n </div>\n )}\n </Droppable>\n );\n};\n\nexport default SectionsContainer;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(({ t, setVisiblePanel }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"elements-panel-title\"\n >\n <Typography\n data-testid=\"elements-list-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.addNewElement\")}\n </Typography>\n <Button\n data-testid=\"cancel-button\"\n icon={Close}\n size=\"medium\"\n style=\"text\"\n onClick={() => setVisiblePanel(PANEL_TYPES.SUMMARY)}\n />\n </div>\n));\n\nexport default TitleBar;\n","import { useMemo, useState } from \"react\";\n\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Body from \"components/Builder/Body\";\n\nimport SectionsContainer from \"./SectionsContainer\";\nimport TitleBar from \"./TitleBar\";\n\nconst ElementList = ({\n setVisiblePanel,\n elementSections = [],\n onSelect,\n isDragElementsDisabled,\n isAddingNewElement,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(() => {\n let elementIndex = 0;\n\n return elementSections\n .map(section => ({\n ...section,\n elements: section.elements\n .filter(element =>\n element.label.toLowerCase().includes(searchString.toLowerCase())\n )\n .map(element => assoc(\"elementIndex\", elementIndex++, element)),\n }))\n .filter(section =>\n isPresent(searchString) ? isNotEmpty(section.elements) : true\n );\n }, [searchString, elementSections]);\n\n return (\n <>\n <TitleBar {...{ setVisiblePanel }} />\n <div className=\"mb-1 px-6\">\n <Typography className=\"mb-3\" style=\"body3\">\n {t(\"neetoMolecules.builderSidebar.addNewElementDescription\")}\n </Typography>\n <Input\n autoFocus\n data-testid=\"elements-panel-search-field\"\n placeholder={t(\"neetoMolecules.builderSidebar.searchElements\")}\n prefix={<Search />}\n type=\"search\"\n value={searchString}\n onChange={withEventTargetValue(setSearchString)}\n />\n </div>\n <Body data-testid=\"elements-container\" size=\"small\">\n <SectionsContainer\n {...{\n filteredSections,\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n }}\n />\n </Body>\n </>\n );\n};\n\nexport default ElementList;\n","import { memo, useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop, findById, isNotEmpty, hyphenate, isPresent } from \"neetocist\";\nimport { Drag } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { mergeRight } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst SelectedElement = ({\n element,\n isActive,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n handleSelectElement,\n isSelectable = true,\n errors = [],\n actions = [],\n isDraggable = false,\n ...props\n}) => {\n const Icon = element.icon;\n const rootElementRef = useRef();\n\n const onClick = () => handleSelectElement(element);\n\n const shouldShowDropdown = isNotEmpty(actions);\n\n const menuItems =\n typeof actions === \"function\"\n ? actions(element)\n : actions.map(action =>\n mergeRight(action, {\n onClick: () => {\n action.onClick(element);\n },\n })\n );\n\n useEffect(() => {\n const rootElement = rootElementRef.current;\n\n if (\n !rootElement ||\n !isActive ||\n typeof rootElement?.scrollIntoView !== \"function\"\n ) {\n return;\n }\n rootElement.scrollIntoView({ behavior: \"smooth\", block: \"nearest\" });\n }, [isActive, rootElementRef]);\n\n const error = findById(element.id, errors);\n\n return (\n <div\n data-testid={props[\"data-testid\"]}\n ref={rootElementRef}\n className={classnames(\n \"neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative mb-2 flex h-10 cursor-pointer items-center gap-2 border py-3 ps-4 pe-3 transition-all duration-300 ease-in-out\",\n { \"neeto-molecules-builder-element--active\": isActive },\n { \"hover:neeto-ui-bg-error-100 neeto-ui-bg-error-100\": error }\n )}\n onClick={isSelectable ? onClick : noop}\n >\n {isDraggable && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <Drag\n className=\"neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-testid=\"new-element-field\"\n >\n {Icon && (\n <div className=\"flex-shrink-0\">\n <Icon />\n </div>\n )}\n <Typography\n className=\"truncate leading-snug\"\n data-testid={`${hyphenate(element.label, \"new-element\")}-label`}\n style=\"body2\"\n >\n {element.label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n isDisabled={element.isPending || isSelectedElementActionsDisabled}\n dropdownButtonProps={{\n onClick: e => e.stopPropagation(),\n className: \"min-h-0 flex-shrink-0\",\n \"data-testid\": `${hyphenate(element.label)}-more-dropdown`,\n loading: element.isPending,\n ...(isPresent(selectedElementActionsTooltipProps) && {\n tooltipProps: selectedElementActionsTooltipProps,\n }),\n }}\n />\n )}\n </div>\n );\n};\n\nexport default memo(SelectedElement);\n","import { PLURAL } from \"neetocommons/constants\";\nimport { Flash, Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = ({\n setVisiblePanel,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n}) => {\n const { t } = useTranslation();\n\n const handleAddNewElementClick = () => {\n if (typeof addNewElement === \"function\") addNewElement();\n else setVisiblePanel(PANEL_TYPES.ELEMENTS);\n };\n\n return (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"selected-elements-title\"\n >\n <Typography\n data-testid=\"elements-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.element\", PLURAL)}\n </Typography>\n <div className=\"flex items-center justify-between gap-x-2\">\n <Button\n data-testid=\"add-element-button\"\n disabled={isLoading}\n icon={Plus}\n iconPosition=\"left\"\n loading={isAddingNewElement}\n size=\"small\"\n style=\"link\"\n label={\n addNewElementLabel ||\n t(\"neetoMolecules.builderSidebar.addNewElement\")\n }\n onClick={handleAddNewElementClick}\n />\n {showElementsFillButton && (\n <Button\n data-testid=\"add-all-elements-button\"\n disabled={isAddingAllElements}\n icon={Flash}\n loading={isAddingAllElements}\n size=\"small\"\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.builderSidebar.addAllElements\"),\n touch: [\"hold\", 500],\n }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import { Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Body from \"components/Builder/Body\";\n\nimport SelectedElement from \"./SelectedElement\";\nimport TitleBar from \"./TitleBar\";\n\nimport {\n DROPPABLE_TYPES,\n SELECTED_ELEMENTS_LIST_DROPPABLE_ID,\n} from \"../../constants\";\n\nconst SelectedElementsList = ({\n handleSelectElement,\n isReorderDisabled,\n isElementVisible,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n fixedLastElement,\n fixedFirstElement,\n anchoredElementIds,\n selectedElementActions,\n addAllElements,\n isAddingAllElements,\n showElementsFillButton,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n renderElementsCount,\n}) => {\n const renderSelectedElement = (element, index = 0) => (\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n index,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={element.actions}\n isActive={selectedElementId === element.id}\n key={element.id || index}\n data-testid={`welcome-element${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n />\n );\n\n const { t } = useTranslation();\n\n const checkIsVisible = element => isElementVisible?.(element) ?? true;\n const visibleCount =\n typeof renderElementsCount === \"function\"\n ? (selectedElements ?? []).filter(checkIsVisible).length\n : 0;\n\n return (\n <>\n <TitleBar\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n isAddingAllElements,\n isAddingNewElement,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\n <Typography className=\"mb-3\" style=\"body3\">\n {t(\"neetoMolecules.builderSidebar.elementsReorderDescription\")}\n </Typography>\n {typeof renderElementsCount === \"function\" &&\n renderElementsCount(visibleCount)}\n {Array.isArray(fixedFirstElement)\n ? isNotEmpty(fixedFirstElement) &&\n fixedFirstElement.map(renderSelectedElement)\n : isPresent(fixedFirstElement) &&\n renderSelectedElement(fixedFirstElement)}\n <Droppable\n droppableId={SELECTED_ELEMENTS_LIST_DROPPABLE_ID}\n type={DROPPABLE_TYPES.SELECTED_ELEMENT}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div\n ref={innerRef}\n {...droppableProps}\n data-testid=\"selected-elements-droppable-container\"\n >\n {selectedElements?.map((element, index) => {\n const isVisible = checkIsVisible(element);\n\n if (!isVisible) return null;\n\n const isAnchoredElement = anchoredElementIds.includes(\n element.id\n );\n\n const isDragDisabled = isReorderDisabled || isAnchoredElement;\n\n const key =\n element.id ?? `element-${joinHyphenCase(element.label)}`;\n\n return (\n <Draggable\n {...{ index, isDragDisabled }}\n draggableId={element.id ?? `element-${index}`}\n key={key}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={selectedElementActions}\n isActive={selectedElementId === element.id}\n isDraggable={!isDragDisabled}\n key={element.id ?? index}\n />\n </div>\n )}\n </Draggable>\n );\n })}\n {placeholder}\n </div>\n )}\n </Droppable>\n {isPresent(fixedLastElement) && (\n <SelectedElement\n {...{\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={fixedLastElement.actions}\n data-testid=\"submit-button-element\"\n element={fixedLastElement}\n isActive={selectedElementId === fixedLastElement.id}\n />\n )}\n </Body>\n </>\n );\n};\n\nexport default SelectedElementsList;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Collapse } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport ElementList from \"./ElementsList\";\nimport SelectedElementsList from \"./SelectedElementsList\";\n\nimport { PANEL_TYPES } from \"../constants\";\nimport \"../styles.scss\";\n\nconst ElementsPanel = ({\n elementSections,\n selectedElements = [],\n handleAddElement,\n isElementVisible,\n fixedFirstElement,\n fixedLastElement,\n anchoredElementIds = [],\n isReorderDisabled = true,\n isDragElementsDisabled = true,\n handleSelectElement,\n selectedElementId,\n selectedElementActions,\n addAllElements = noop,\n isAddingAllElements = false,\n showElementsFillButton = false,\n isAddingNewElement = false,\n addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled = false,\n selectedElementActionsTooltipProps = {},\n renderElementsCount,\n}) => {\n const [visiblePanel, setVisiblePanel] = useState(PANEL_TYPES.SUMMARY);\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"neeto-molecules-builder-panel__backdrop\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-elements-list-panel__wrapper\",\n {\n \"neeto-molecules-builder-elements-list-panel__wrapper--collapsed\":\n isElementsPanelCollapsed,\n }\n )}\n >\n <div className=\"neeto-molecules-builder-elements-list-panel__container\">\n <div\n className={classnames(\n \"neeto-molecules-builder-elements-list-panel\",\n {\n \"neeto-ui-bg-white\": visiblePanel === PANEL_TYPES.SUMMARY,\n \"neeto-ui-bg-gray-50\": visiblePanel !== PANEL_TYPES.SUMMARY,\n }\n )}\n onClick={event => event.stopPropagation()}\n >\n {visiblePanel === PANEL_TYPES.SUMMARY ? (\n <SelectedElementsList\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n anchoredElementIds,\n fixedFirstElement,\n fixedLastElement,\n handleSelectElement,\n isAddingAllElements,\n isAddingNewElement,\n isElementVisible,\n isReorderDisabled,\n isSelectedElementActionsDisabled,\n renderElementsCount,\n selectedElementActions,\n selectedElementActionsTooltipProps,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isAddingNewElement,\n isDragElementsDisabled,\n setVisiblePanel,\n }}\n onSelect={handleAddElement}\n />\n )}\n </div>\n </div>\n <Button\n className=\"neeto-molecules-builder-elements-list-panel__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nElementsPanel.propTypes = {\n /**\n * List of supported elements to be rendered in the ElementsList panel.\n */\n elementSections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n elements: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n icon: PropTypes.elementType,\n })\n ),\n key: PropTypes.string,\n isCreatable: PropTypes.func,\n disabledElementTooltip: PropTypes.func,\n })\n ),\n /**\n * List of selected elements.\n */\n selectedElements: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n isPending: PropTypes.bool,\n label: PropTypes.string,\n icon: PropTypes.elementType,\n })\n ),\n /**\n * Callback that will be triggered when an element is clicked from the elements list.\n */\n handleAddElement: PropTypes.func,\n /**\n * Function that will be used to check whether the element is visible.\n * The callback will be triggered with element info at the time of render.\n */\n isElementVisible: PropTypes.func,\n /**\n * The record that's to be rendered as first record.\n * This won't be draggable.\n */\n fixedFirstElement: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n })\n ),\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n }),\n ]),\n /**\n * The record that's to be rendered as the last record.\n * This won't be draggable.\n */\n fixedLastElement: PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n }),\n /**\n * List of ids of elements that cannot be dragged.\n * Some specific elements can be dragged and dropped over them.\n */\n anchoredElementIds: PropTypes.arrayOf(PropTypes.string),\n /**\n * Boolean to mention that the drag and order selected elements feature should be disabled.\n */\n isReorderDisabled: PropTypes.bool,\n /**\n * Boolean to mention that the drag and drop elements to the preview container is enabled.\n */\n isDragElementsDisabled: PropTypes.bool,\n /**\n * The callback that will be triggered when an element is clicked from the elements list.\n */\n handleSelectElement: PropTypes.func,\n /**\n * Id of the current selected element.\n */\n selectedElementId: PropTypes.string,\n /**\n * Actions to be rendered on the selected elements.\n */\n selectedElementActions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n\n /**\n * Function that will be called when clicked on the add all elements button.\n */\n addAllElements: PropTypes.func,\n /**\n * Boolean to notate whether all elements are being added.\n */\n isAddingAllElements: PropTypes.bool,\n /**\n * Boolean to control the visibility of add all elements button.\n */\n showElementsFillButton: PropTypes.bool,\n /**\n * Boolean to notate whether an element is being added.\n */\n isAddingNewElement: PropTypes.bool,\n /**\n * Prop to customize the label of the \"Add new element\" button.\n */\n addNewElementLabel: PropTypes.string,\n /**\n * Function that will be called when clicking on add new element button. If not provided, will default to showing the elements panel.\n */\n addNewElement: PropTypes.func,\n /**\n * Boolean to disable the selected element actions.\n */\n isSelectedElementActionsDisabled: PropTypes.bool,\n /**\n * Props to be passed to the tooltip component for selected element actions.\n */\n selectedElementActionsTooltipProps: PropTypes.object,\n /**\n * Render prop called with the visible elements count. When provided, its return value is rendered\n * below the reorder description (e.g. (count) => <Typography>{t('key', { count })}</Typography>).\n */\n renderElementsCount: PropTypes.func,\n};\n\nexport default ElementsPanel;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { Typography } from \"neetoui\";\n\nconst EmptyProperty = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center gap-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-testid=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.noQuestionProperties\")}\n </Typography>\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default EmptyProperty;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { DownArrow } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nconst Skeleton = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-12 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center gap-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-testid=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.emptyQuestionProperties\")}\n </Typography>\n <DownArrow />\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default Skeleton;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nimport EmptyProperty from \"./EmptyProperty\";\nimport Skeleton from \"./Skeleton\";\n\nimport \"../styles.scss\";\n\nconst PropertiesPanel = ({ id, children, onClose }) => {\n const { isSize } = useBreakpoints(window => ({\n largeDesktop: window.innerWidth >= 1280,\n }));\n const isLargerScreen = isSize(\"largeDesktop\");\n const [isPropertiesPanelCollapsed, setIsPropertiesPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsPropertiesPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n useEffect(() => {\n if (!id) return;\n setIsPropertiesPanelCollapsed(false);\n }, [id]);\n\n const handleCollapsePanel = () => {\n setIsPropertiesPanelCollapsed(!isPropertiesPanelCollapsed);\n onClose?.(id);\n };\n\n return (\n <>\n {!isPropertiesPanelCollapsed && (\n <div\n className=\"neeto-molecules-builder-panel__backdrop neeto-molecules-builder-panel__backdrop--extended\"\n onClick={handleCollapsePanel}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-element-properties-panel__wrapper\",\n {\n \"neeto-molecules-builder-element-properties-panel__wrapper--collapsed\":\n isPropertiesPanelCollapsed,\n }\n )}\n >\n <div\n className=\"neeto-molecules-builder-element-properties-panel neeto-ui-bg-white\"\n data-testid=\"properties-panel\"\n >\n {children ?? <Skeleton />}\n </div>\n {!isPropertiesPanelCollapsed && (\n <Button\n className=\"neeto-molecules-builder-properties-panel__close\"\n icon={Close}\n style=\"secondary\"\n onClick={handleCollapsePanel}\n />\n )}\n </div>\n </>\n );\n};\n\nPropertiesPanel.EmptyProperty = EmptyProperty;\n\nexport default PropertiesPanel;\n"],"names":["PANEL_TYPES","SUMMARY","ELEMENTS","SELECTED_ELEMENTS_LIST_DROPPABLE_ID","ELEMENTS_LIST_DROPPABLE_ID","PREVIEW_CONTAINER_DROPPABLE_ID","DROPPABLE_TYPES","ELEMENT","SELECTED_ELEMENT","Body","_ref","size","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","classnames","NoResults","withT","t","Typography","weight","children","memo","Element","label","Icon","icon","_ref$isCreatable","isCreatable","onClick","_ref$isDragDisabled","isDragDisabled","disabledElementTooltip","isPlaceholder","isDraggingOver","isAddingNewElement","handleClick","event","preventDefault","Tooltip","content","disabled","position","touch","_jsxs","concat","joinHyphenCase","Drag","style","ElementContainer","index","element","onSelect","setVisiblePanel","isCreatableElement","value","_createElement","Draggable","draggableId","key","provided","snapshot","_Fragment","ref","innerRef","draggableProps","dragHandleProps","isDragging","transform","noop","Section","title","elements","isDragElementsDisabled","isEmpty","map","elementIndex","SectionsContainer","filteredSections","section","Droppable","droppableId","type","TitleBar","lineHeight","Button","Close","ElementList","_ref$elementSections","elementSections","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","useMemo","filter","toLowerCase","includes","assoc","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","isSelectedElementActionsDisabled","selectedElementActionsTooltipProps","handleSelectElement","_ref$isSelectable","isSelectable","_ref$errors","errors","_ref$actions","actions","_ref$isDraggable","isDraggable","rootElementRef","useRef","shouldShowDropdown","menuItems","action","mergeRight","useEffect","rootElement","current","scrollIntoView","behavior","block","error","findById","id","hyphenate","MoreDropdown","isDisabled","isPending","dropdownButtonProps","e","stopPropagation","loading","tooltipProps","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","addNewElement","addNewElementLabel","handleAddNewElementClick","PLURAL","Plus","iconPosition","Flash","SelectedElementsList","isReorderDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","anchoredElementIds","selectedElementActions","renderElementsCount","renderSelectedElement","arguments","length","undefined","Array","isArray","checkIsVisible","_isElementVisible","visibleCount","_ref2","droppableProps","_element$id","_element$id2","isVisible","isAnchoredElement","_ref3","_element$id3","ElementsPanel","_ref$selectedElements","handleAddElement","_ref$anchoredElementI","_ref$isReorderDisable","_ref$isDragElementsDi","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","_ref$isSelectedElemen","_ref$selectedElementA","visiblePanel","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","Collapse","EmptyProperty","Skeleton","DownArrow","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Builder.js","sources":["../../src/components/Builder/constants.js","../../src/components/Builder/Body.jsx","../../src/components/Builder/ElementsPanel/ElementsList/NoResults.jsx","../../src/components/Builder/ElementsPanel/ElementsList/Element.jsx","../../src/components/Builder/ElementsPanel/ElementsList/ElementContainer.jsx","../../src/components/Builder/ElementsPanel/ElementsList/Section.jsx","../../src/components/Builder/ElementsPanel/ElementsList/SectionsContainer.jsx","../../src/components/Builder/ElementsPanel/ElementsList/TitleBar.jsx","../../src/components/Builder/ElementsPanel/ElementsList/index.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/SelectedElement.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/TitleBar.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/index.jsx","../../src/components/Builder/ElementsPanel/index.jsx","../../src/components/Builder/PropertiesPanel/EmptyProperty.jsx","../../src/components/Builder/PropertiesPanel/Skeleton.jsx","../../src/components/Builder/PropertiesPanel/index.jsx"],"sourcesContent":["export const PANEL_TYPES = { SUMMARY: \"summary\", ELEMENTS: \"elements\" };\n\nexport const SELECTED_ELEMENTS_LIST_DROPPABLE_ID =\n \"droppable-selected-element-container\";\n\nexport const ELEMENTS_LIST_DROPPABLE_ID = \"droppable-element-container\";\n\nexport const PREVIEW_CONTAINER_DROPPABLE_ID =\n \"droppable-form-preview-container\";\n\nexport const DROPPABLE_TYPES = {\n ELEMENT: \"element\",\n SELECTED_ELEMENT: \"selected_element\",\n};\n","import classnames from \"classnames\";\n\nimport \"./styles.scss\";\n\nconst Body = ({ size, ...props }) => (\n <div\n {...props}\n className={classnames(\n \"neeto-molecules-builder-questions-list-panel__scroll\",\n {\n \"neeto-molecules-builder-questions-list-panel__scroll--small\":\n size === \"small\",\n }\n )}\n />\n);\n\nexport default Body;\n","import { memo } from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nconst NoResults = withT(({ t }) => (\n <Typography\n className=\"neeto-ui-text-gray-800 text-md flex h-full items-center justify-center\"\n weight=\"bold\"\n >\n {t(\"neetoMolecules.builderSidebar.noElements\")}\n </Typography>\n));\n\nexport default memo(NoResults);\n","import classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Drag } from \"neetoicons\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nconst Element = ({\n label,\n description,\n icon: Icon,\n isCreatable = true,\n onClick,\n isDragDisabled = false,\n disabledElementTooltip,\n isPlaceholder,\n isDraggingOver,\n isAddingNewElement,\n}) => {\n const handleClick = event => {\n if (!isCreatable || isAddingNewElement) {\n event.preventDefault();\n\n return;\n }\n\n onClick(event);\n };\n\n return (\n <Tooltip\n content={disabledElementTooltip?.(label)}\n disabled={!disabledElementTooltip || isCreatable || isDraggingOver}\n position=\"top\"\n touch={[\"hold\", 500]}\n >\n <div\n data-testid={`add-${joinHyphenCase(label)}-element`}\n className={classnames(\n \"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\",\n {\n \"neeto-ui-bg-gray-300 cursor-not-allowed\": !isCreatable,\n \"cursor-pointer\": isCreatable,\n \"opacity-50\": isPlaceholder,\n \"h-10\": !description,\n }\n )}\n onClick={handleClick}\n >\n {!isDragDisabled && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <Drag\n className=\"neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div className=\"flex flex-grow items-center gap-2\">\n {Icon && <Icon data-testid=\"form-icon\" />}\n <div className=\"flex min-w-0 flex-col\">\n <Typography className=\"leading-4\" style=\"body2\">\n {label}\n </Typography>\n {description && (\n <Typography\n className=\"neeto-ui-text-gray-600 mt-0.5\"\n data-testid=\"element-description\"\n style=\"body3\"\n >\n {description}\n </Typography>\n )}\n </div>\n </div>\n </div>\n </Tooltip>\n );\n};\n\nexport default Element;\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { noop } from \"neetocist\";\n\nimport Element from \"./Element\";\n\nconst ElementContainer = ({\n index,\n isDragDisabled,\n element,\n disabledElementTooltip,\n isCreatable,\n onSelect,\n isDraggingOver,\n isAddingNewElement,\n setVisiblePanel,\n}) => {\n const isCreatableElement = isCreatable(element.value);\n\n if (isDragDisabled) {\n return (\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n );\n }\n\n return (\n <Draggable\n {...{ index }}\n draggableId={element.value}\n key={element.label}\n isDragDisabled={\n isDragDisabled || !isCreatableElement || isAddingNewElement\n }\n >\n {(provided, snapshot) => (\n <>\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={{\n ...provided.draggableProps.style,\n ...(!snapshot.isDragging && { transform: \"none\" }),\n }}\n >\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n isDraggingOver,\n setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n </div>\n {snapshot.isDragging && (\n <Element\n disabledElementTooltip={null}\n {...{ ...element, isAddingNewElement, setVisiblePanel }}\n isCreatable={false}\n onClick={noop}\n />\n )}\n </>\n )}\n </Draggable>\n );\n};\n\nexport default ElementContainer;\n","import { Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport ElementContainer from \"./ElementContainer\";\n\nconst Section = ({\n title,\n elements,\n onSelect,\n isCreatable,\n disabledElementTooltip,\n isDragElementsDisabled: isDragDisabled,\n isDraggingOver,\n isAddingNewElement,\n setVisiblePanel,\n}) => {\n if (isEmpty(elements)) {\n return null;\n }\n\n return (\n <>\n {title && <Typography className=\"mb-3 mt-1\">{title}</Typography>}\n {elements.map(element => (\n <ElementContainer\n {...{\n disabledElementTooltip,\n element,\n isAddingNewElement,\n isCreatable,\n isDragDisabled,\n isDraggingOver,\n onSelect,\n setVisiblePanel,\n }}\n index={element.elementIndex}\n key={element.label}\n />\n ))}\n </>\n );\n};\n\nexport default Section;\n","import { Droppable } from \"@hello-pangea/dnd\";\nimport { isEmpty } from \"ramda\";\n\nimport NoResults from \"./NoResults\";\nimport Section from \"./Section\";\n\nimport { DROPPABLE_TYPES, ELEMENTS_LIST_DROPPABLE_ID } from \"../../constants\";\n\nconst SectionsContainer = ({\n isDragElementsDisabled,\n filteredSections,\n isAddingNewElement,\n onSelect,\n setVisiblePanel,\n}) => {\n if (isEmpty(filteredSections)) {\n return <NoResults />;\n }\n\n if (isDragElementsDisabled) {\n return (\n <>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n ...section,\n }}\n key={section.key}\n />\n ))}\n </>\n );\n }\n\n return (\n <Droppable\n droppableId={ELEMENTS_LIST_DROPPABLE_ID}\n type={DROPPABLE_TYPES.ELEMENT}\n >\n {(provided, snapshot) => (\n <div ref={provided.innerRef}>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n ...section,\n }}\n isDraggingOver={snapshot.isDraggingOver}\n key={section.key}\n />\n ))}\n </div>\n )}\n </Droppable>\n );\n};\n\nexport default SectionsContainer;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(({ t, setVisiblePanel }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"elements-panel-title\"\n >\n <Typography\n data-testid=\"elements-list-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.addNewElement\")}\n </Typography>\n <Button\n data-testid=\"cancel-button\"\n icon={Close}\n size=\"medium\"\n style=\"text\"\n onClick={() => setVisiblePanel(PANEL_TYPES.SUMMARY)}\n />\n </div>\n));\n\nexport default TitleBar;\n","import { useMemo, useState } from \"react\";\n\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Body from \"components/Builder/Body\";\n\nimport SectionsContainer from \"./SectionsContainer\";\nimport TitleBar from \"./TitleBar\";\n\nconst ElementList = ({\n setVisiblePanel,\n elementSections = [],\n onSelect,\n isDragElementsDisabled,\n isAddingNewElement,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(() => {\n let elementIndex = 0;\n const query = searchString.toLowerCase();\n\n const matchesSearch = element => {\n if (!query) return true;\n\n const label = element.label?.toLowerCase() ?? \"\";\n const description = element.description?.toLowerCase() ?? \"\";\n const aliases = (element.aliases ?? []).map(alias => alias.toLowerCase());\n\n return (\n label.includes(query) ||\n description.includes(query) ||\n aliases.some(alias => alias.includes(query))\n );\n };\n\n return elementSections\n .map(section => ({\n ...section,\n elements: section.elements\n .filter(matchesSearch)\n .map(element => assoc(\"elementIndex\", elementIndex++, element)),\n }))\n .filter(section =>\n isPresent(searchString) ? isNotEmpty(section.elements) : true\n );\n }, [searchString, elementSections]);\n\n return (\n <>\n <TitleBar {...{ setVisiblePanel }} />\n <div className=\"mb-1 px-6\">\n <Typography className=\"mb-3\" style=\"body3\">\n {t(\"neetoMolecules.builderSidebar.addNewElementDescription\")}\n </Typography>\n <Input\n autoFocus\n data-testid=\"elements-panel-search-field\"\n placeholder={t(\"neetoMolecules.builderSidebar.searchElements\")}\n prefix={<Search />}\n type=\"search\"\n value={searchString}\n onChange={withEventTargetValue(setSearchString)}\n />\n </div>\n <Body data-testid=\"elements-container\" size=\"small\">\n <SectionsContainer\n {...{\n filteredSections,\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n }}\n />\n </Body>\n </>\n );\n};\n\nexport default ElementList;\n","import { memo, useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop, findById, isNotEmpty, hyphenate, isPresent } from \"neetocist\";\nimport { Drag } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { mergeRight } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst SelectedElement = ({\n element,\n isActive,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n handleSelectElement,\n isSelectable = true,\n errors = [],\n actions = [],\n isDraggable = false,\n ...props\n}) => {\n const Icon = element.icon;\n const rootElementRef = useRef();\n\n const onClick = () => handleSelectElement(element);\n\n const shouldShowDropdown = isNotEmpty(actions);\n\n const menuItems =\n typeof actions === \"function\"\n ? actions(element)\n : actions.map(action =>\n mergeRight(action, {\n onClick: () => {\n action.onClick(element);\n },\n })\n );\n\n useEffect(() => {\n const rootElement = rootElementRef.current;\n\n if (\n !rootElement ||\n !isActive ||\n typeof rootElement?.scrollIntoView !== \"function\"\n ) {\n return;\n }\n rootElement.scrollIntoView({ behavior: \"smooth\", block: \"nearest\" });\n }, [isActive, rootElementRef]);\n\n const error = findById(element.id, errors);\n\n return (\n <div\n data-testid={props[\"data-testid\"]}\n ref={rootElementRef}\n className={classnames(\n \"neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative mb-2 flex h-10 cursor-pointer items-center gap-2 border py-3 ps-4 pe-3 transition-all duration-300 ease-in-out\",\n { \"neeto-molecules-builder-element--active\": isActive },\n { \"hover:neeto-ui-bg-error-100 neeto-ui-bg-error-100\": error }\n )}\n onClick={isSelectable ? onClick : noop}\n >\n {isDraggable && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <Drag\n className=\"neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-testid=\"new-element-field\"\n >\n {Icon && (\n <div className=\"flex-shrink-0\">\n <Icon />\n </div>\n )}\n <Typography\n className=\"truncate leading-snug\"\n data-testid={`${hyphenate(element.label, \"new-element\")}-label`}\n style=\"body2\"\n >\n {element.label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n isDisabled={element.isPending || isSelectedElementActionsDisabled}\n dropdownButtonProps={{\n onClick: e => e.stopPropagation(),\n className: \"min-h-0 flex-shrink-0\",\n \"data-testid\": `${hyphenate(element.label)}-more-dropdown`,\n loading: element.isPending,\n ...(isPresent(selectedElementActionsTooltipProps) && {\n tooltipProps: selectedElementActionsTooltipProps,\n }),\n }}\n />\n )}\n </div>\n );\n};\n\nexport default memo(SelectedElement);\n","import { PLURAL } from \"neetocommons/constants\";\nimport { Flash, Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = ({\n setVisiblePanel,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n}) => {\n const { t } = useTranslation();\n\n const handleAddNewElementClick = () => {\n if (typeof addNewElement === \"function\") addNewElement();\n else setVisiblePanel(PANEL_TYPES.ELEMENTS);\n };\n\n return (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"selected-elements-title\"\n >\n <Typography\n data-testid=\"elements-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.element\", PLURAL)}\n </Typography>\n <div className=\"flex items-center justify-between gap-x-2\">\n <Button\n data-testid=\"add-element-button\"\n disabled={isLoading}\n icon={Plus}\n iconPosition=\"left\"\n loading={isAddingNewElement}\n size=\"small\"\n style=\"link\"\n label={\n addNewElementLabel ||\n t(\"neetoMolecules.builderSidebar.addNewElement\")\n }\n onClick={handleAddNewElementClick}\n />\n {showElementsFillButton && (\n <Button\n data-testid=\"add-all-elements-button\"\n disabled={isAddingAllElements}\n icon={Flash}\n loading={isAddingAllElements}\n size=\"small\"\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.builderSidebar.addAllElements\"),\n touch: [\"hold\", 500],\n }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import { Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Body from \"components/Builder/Body\";\n\nimport SelectedElement from \"./SelectedElement\";\nimport TitleBar from \"./TitleBar\";\n\nimport {\n DROPPABLE_TYPES,\n SELECTED_ELEMENTS_LIST_DROPPABLE_ID,\n} from \"../../constants\";\n\nconst SelectedElementsList = ({\n handleSelectElement,\n isReorderDisabled,\n isElementVisible,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n fixedLastElement,\n fixedFirstElement,\n anchoredElementIds,\n selectedElementActions,\n addAllElements,\n isAddingAllElements,\n showElementsFillButton,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n renderElementsCount,\n}) => {\n const renderSelectedElement = (element, index = 0) => (\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n index,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={element.actions}\n isActive={selectedElementId === element.id}\n key={element.id || index}\n data-testid={`welcome-element${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n />\n );\n\n const { t } = useTranslation();\n\n const checkIsVisible = element => isElementVisible?.(element) ?? true;\n const visibleCount =\n typeof renderElementsCount === \"function\"\n ? (selectedElements ?? []).filter(checkIsVisible).length\n : 0;\n\n return (\n <>\n <TitleBar\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n isAddingAllElements,\n isAddingNewElement,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\n <Typography className=\"mb-3\" style=\"body3\">\n {t(\"neetoMolecules.builderSidebar.elementsReorderDescription\")}\n </Typography>\n {typeof renderElementsCount === \"function\" &&\n renderElementsCount(visibleCount)}\n {Array.isArray(fixedFirstElement)\n ? isNotEmpty(fixedFirstElement) &&\n fixedFirstElement.map(renderSelectedElement)\n : isPresent(fixedFirstElement) &&\n renderSelectedElement(fixedFirstElement)}\n <Droppable\n droppableId={SELECTED_ELEMENTS_LIST_DROPPABLE_ID}\n type={DROPPABLE_TYPES.SELECTED_ELEMENT}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div\n ref={innerRef}\n {...droppableProps}\n data-testid=\"selected-elements-droppable-container\"\n >\n {selectedElements?.map((element, index) => {\n const isVisible = checkIsVisible(element);\n\n if (!isVisible) return null;\n\n const isAnchoredElement = anchoredElementIds.includes(\n element.id\n );\n\n const isDragDisabled = isReorderDisabled || isAnchoredElement;\n\n const key =\n element.id ?? `element-${joinHyphenCase(element.label)}`;\n\n return (\n <Draggable\n {...{ index, isDragDisabled }}\n draggableId={element.id ?? `element-${index}`}\n key={key}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={selectedElementActions}\n isActive={selectedElementId === element.id}\n isDraggable={!isDragDisabled}\n key={element.id ?? index}\n />\n </div>\n )}\n </Draggable>\n );\n })}\n {placeholder}\n </div>\n )}\n </Droppable>\n {isPresent(fixedLastElement) && (\n <SelectedElement\n {...{\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={fixedLastElement.actions}\n data-testid=\"submit-button-element\"\n element={fixedLastElement}\n isActive={selectedElementId === fixedLastElement.id}\n />\n )}\n </Body>\n </>\n );\n};\n\nexport default SelectedElementsList;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Collapse } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport ElementList from \"./ElementsList\";\nimport SelectedElementsList from \"./SelectedElementsList\";\n\nimport { PANEL_TYPES } from \"../constants\";\nimport \"../styles.scss\";\n\nconst ElementsPanel = ({\n elementSections,\n selectedElements = [],\n handleAddElement,\n isElementVisible,\n fixedFirstElement,\n fixedLastElement,\n anchoredElementIds = [],\n isReorderDisabled = true,\n isDragElementsDisabled = true,\n handleSelectElement,\n selectedElementId,\n selectedElementActions,\n addAllElements = noop,\n isAddingAllElements = false,\n showElementsFillButton = false,\n isAddingNewElement = false,\n addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled = false,\n selectedElementActionsTooltipProps = {},\n renderElementsCount,\n}) => {\n const [visiblePanel, setVisiblePanel] = useState(PANEL_TYPES.SUMMARY);\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"neeto-molecules-builder-panel__backdrop\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-elements-list-panel__wrapper\",\n {\n \"neeto-molecules-builder-elements-list-panel__wrapper--collapsed\":\n isElementsPanelCollapsed,\n }\n )}\n >\n <div className=\"neeto-molecules-builder-elements-list-panel__container\">\n <div\n className={classnames(\n \"neeto-molecules-builder-elements-list-panel\",\n {\n \"neeto-ui-bg-white\": visiblePanel === PANEL_TYPES.SUMMARY,\n \"neeto-ui-bg-gray-50\": visiblePanel !== PANEL_TYPES.SUMMARY,\n }\n )}\n onClick={event => event.stopPropagation()}\n >\n {visiblePanel === PANEL_TYPES.SUMMARY ? (\n <SelectedElementsList\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n anchoredElementIds,\n fixedFirstElement,\n fixedLastElement,\n handleSelectElement,\n isAddingAllElements,\n isAddingNewElement,\n isElementVisible,\n isReorderDisabled,\n isSelectedElementActionsDisabled,\n renderElementsCount,\n selectedElementActions,\n selectedElementActionsTooltipProps,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isAddingNewElement,\n isDragElementsDisabled,\n setVisiblePanel,\n }}\n onSelect={handleAddElement}\n />\n )}\n </div>\n </div>\n <Button\n className=\"neeto-molecules-builder-elements-list-panel__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nElementsPanel.propTypes = {\n /**\n * List of supported elements to be rendered in the ElementsList panel.\n */\n elementSections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n elements: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n icon: PropTypes.elementType,\n /**\n * Optional inline description rendered below the element label.\n * Also considered by the elements-panel search filter.\n */\n description: PropTypes.string,\n /**\n * Optional search aliases. The elements-panel search filter\n * matches these in addition to the label and description, so\n * legacy terms (e.g. \"paragraph\" for an element now called\n * \"Instructions\") continue to surface the correct element.\n */\n aliases: PropTypes.arrayOf(PropTypes.string),\n })\n ),\n key: PropTypes.string,\n isCreatable: PropTypes.func,\n disabledElementTooltip: PropTypes.func,\n })\n ),\n /**\n * List of selected elements.\n */\n selectedElements: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n isPending: PropTypes.bool,\n label: PropTypes.string,\n icon: PropTypes.elementType,\n })\n ),\n /**\n * Callback that will be triggered when an element is clicked from the elements list.\n */\n handleAddElement: PropTypes.func,\n /**\n * Function that will be used to check whether the element is visible.\n * The callback will be triggered with element info at the time of render.\n */\n isElementVisible: PropTypes.func,\n /**\n * The record that's to be rendered as first record.\n * This won't be draggable.\n */\n fixedFirstElement: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n })\n ),\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n }),\n ]),\n /**\n * The record that's to be rendered as the last record.\n * This won't be draggable.\n */\n fixedLastElement: PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n }),\n /**\n * List of ids of elements that cannot be dragged.\n * Some specific elements can be dragged and dropped over them.\n */\n anchoredElementIds: PropTypes.arrayOf(PropTypes.string),\n /**\n * Boolean to mention that the drag and order selected elements feature should be disabled.\n */\n isReorderDisabled: PropTypes.bool,\n /**\n * Boolean to mention that the drag and drop elements to the preview container is enabled.\n */\n isDragElementsDisabled: PropTypes.bool,\n /**\n * The callback that will be triggered when an element is clicked from the elements list.\n */\n handleSelectElement: PropTypes.func,\n /**\n * Id of the current selected element.\n */\n selectedElementId: PropTypes.string,\n /**\n * Actions to be rendered on the selected elements.\n */\n selectedElementActions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n\n /**\n * Function that will be called when clicked on the add all elements button.\n */\n addAllElements: PropTypes.func,\n /**\n * Boolean to notate whether all elements are being added.\n */\n isAddingAllElements: PropTypes.bool,\n /**\n * Boolean to control the visibility of add all elements button.\n */\n showElementsFillButton: PropTypes.bool,\n /**\n * Boolean to notate whether an element is being added.\n */\n isAddingNewElement: PropTypes.bool,\n /**\n * Prop to customize the label of the \"Add new element\" button.\n */\n addNewElementLabel: PropTypes.string,\n /**\n * Function that will be called when clicking on add new element button. If not provided, will default to showing the elements panel.\n */\n addNewElement: PropTypes.func,\n /**\n * Boolean to disable the selected element actions.\n */\n isSelectedElementActionsDisabled: PropTypes.bool,\n /**\n * Props to be passed to the tooltip component for selected element actions.\n */\n selectedElementActionsTooltipProps: PropTypes.object,\n /**\n * Render prop called with the visible elements count. When provided, its return value is rendered\n * below the reorder description (e.g. (count) => <Typography>{t('key', { count })}</Typography>).\n */\n renderElementsCount: PropTypes.func,\n};\n\nexport default ElementsPanel;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { Typography } from \"neetoui\";\n\nconst EmptyProperty = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center gap-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-testid=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.noQuestionProperties\")}\n </Typography>\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default EmptyProperty;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { DownArrow } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nconst Skeleton = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-12 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center gap-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-testid=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.emptyQuestionProperties\")}\n </Typography>\n <DownArrow />\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default Skeleton;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nimport EmptyProperty from \"./EmptyProperty\";\nimport Skeleton from \"./Skeleton\";\n\nimport \"../styles.scss\";\n\nconst PropertiesPanel = ({ id, children, onClose }) => {\n const { isSize } = useBreakpoints(window => ({\n largeDesktop: window.innerWidth >= 1280,\n }));\n const isLargerScreen = isSize(\"largeDesktop\");\n const [isPropertiesPanelCollapsed, setIsPropertiesPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsPropertiesPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n useEffect(() => {\n if (!id) return;\n setIsPropertiesPanelCollapsed(false);\n }, [id]);\n\n const handleCollapsePanel = () => {\n setIsPropertiesPanelCollapsed(!isPropertiesPanelCollapsed);\n onClose?.(id);\n };\n\n return (\n <>\n {!isPropertiesPanelCollapsed && (\n <div\n className=\"neeto-molecules-builder-panel__backdrop neeto-molecules-builder-panel__backdrop--extended\"\n onClick={handleCollapsePanel}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-element-properties-panel__wrapper\",\n {\n \"neeto-molecules-builder-element-properties-panel__wrapper--collapsed\":\n isPropertiesPanelCollapsed,\n }\n )}\n >\n <div\n className=\"neeto-molecules-builder-element-properties-panel neeto-ui-bg-white\"\n data-testid=\"properties-panel\"\n >\n {children ?? <Skeleton />}\n </div>\n {!isPropertiesPanelCollapsed && (\n <Button\n className=\"neeto-molecules-builder-properties-panel__close\"\n icon={Close}\n style=\"secondary\"\n onClick={handleCollapsePanel}\n />\n )}\n </div>\n </>\n );\n};\n\nPropertiesPanel.EmptyProperty = EmptyProperty;\n\nexport default PropertiesPanel;\n"],"names":["PANEL_TYPES","SUMMARY","ELEMENTS","SELECTED_ELEMENTS_LIST_DROPPABLE_ID","ELEMENTS_LIST_DROPPABLE_ID","PREVIEW_CONTAINER_DROPPABLE_ID","DROPPABLE_TYPES","ELEMENT","SELECTED_ELEMENT","Body","_ref","size","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","classnames","NoResults","withT","t","Typography","weight","children","memo","Element","label","description","Icon","icon","_ref$isCreatable","isCreatable","onClick","_ref$isDragDisabled","isDragDisabled","disabledElementTooltip","isPlaceholder","isDraggingOver","isAddingNewElement","handleClick","event","preventDefault","Tooltip","content","disabled","position","touch","_jsxs","concat","joinHyphenCase","Drag","style","ElementContainer","index","element","onSelect","setVisiblePanel","isCreatableElement","value","_createElement","Draggable","draggableId","key","provided","snapshot","_Fragment","ref","innerRef","draggableProps","dragHandleProps","isDragging","transform","noop","Section","title","elements","isDragElementsDisabled","isEmpty","map","elementIndex","SectionsContainer","filteredSections","section","Droppable","droppableId","type","TitleBar","lineHeight","Button","Close","ElementList","_ref$elementSections","elementSections","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","useMemo","query","toLowerCase","matchesSearch","_element$label$toLowe","_element$label","_element$description$","_element$description","_element$aliases","aliases","alias","includes","some","filter","assoc","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","isSelectedElementActionsDisabled","selectedElementActionsTooltipProps","handleSelectElement","_ref$isSelectable","isSelectable","_ref$errors","errors","_ref$actions","actions","_ref$isDraggable","isDraggable","rootElementRef","useRef","shouldShowDropdown","menuItems","action","mergeRight","useEffect","rootElement","current","scrollIntoView","behavior","block","error","findById","id","hyphenate","MoreDropdown","isDisabled","isPending","dropdownButtonProps","e","stopPropagation","loading","tooltipProps","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","addNewElement","addNewElementLabel","handleAddNewElementClick","PLURAL","Plus","iconPosition","Flash","SelectedElementsList","isReorderDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","anchoredElementIds","selectedElementActions","renderElementsCount","renderSelectedElement","arguments","length","undefined","Array","isArray","checkIsVisible","_isElementVisible","visibleCount","_ref2","droppableProps","_element$id","_element$id2","isVisible","isAnchoredElement","_ref3","_element$id3","ElementsPanel","_ref$selectedElements","handleAddElement","_ref$anchoredElementI","_ref$isReorderDisable","_ref$isDragElementsDi","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","_ref$isSelectedElemen","_ref$selectedElementA","visiblePanel","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","Collapse","EmptyProperty","Skeleton","DownArrow","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel"],"mappings":"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"}
|