@bigbinary/neeto-molecules 5.1.18 → 5.1.20
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/EmailForm.js +2 -0
- package/dist/EmailForm.js.map +1 -1
- package/dist/EmailPreview.js +1 -20
- package/dist/EmailPreview.js.map +1 -1
- package/dist/GoogleFontPicker.js +1 -449
- package/dist/GoogleFontPicker.js.map +1 -1
- package/dist/IconPicker.js +6 -914
- package/dist/IconPicker.js.map +1 -1
- package/dist/IpRestriction.js +2 -3175
- package/dist/IpRestriction.js.map +1 -1
- package/dist/MadeWith.js +3 -74
- package/dist/MadeWith.js.map +1 -1
- package/dist/NeetoWidget.js +3 -1958
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Onboarding.js +3 -400
- package/dist/Onboarding.js.map +1 -1
- package/dist/SendToFields.js +3 -1943
- package/dist/SendToFields.js.map +1 -1
- package/dist/ShareViaEmail.js +2 -0
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/avatar-placeholder-DEjUhVlU.js +23 -0
- package/dist/avatar-placeholder-DEjUhVlU.js.map +1 -0
- package/dist/chevron-up-B2_LTx_h.js +15 -0
- package/dist/chevron-up-B2_LTx_h.js.map +1 -0
- package/dist/cjs/EmailForm.js +2 -0
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/EmailPreview.js +2 -39
- package/dist/cjs/EmailPreview.js.map +1 -1
- package/dist/cjs/GoogleFontPicker.js +9 -457
- package/dist/cjs/GoogleFontPicker.js.map +1 -1
- package/dist/cjs/IconPicker.js +6 -914
- package/dist/cjs/IconPicker.js.map +1 -1
- package/dist/cjs/IpRestriction.js +21 -3194
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/MadeWith.js +17 -88
- package/dist/cjs/MadeWith.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +4 -1959
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/Onboarding.js +3 -400
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/SendToFields.js +4 -1944
- package/dist/cjs/SendToFields.js.map +1 -1
- package/dist/cjs/ShareViaEmail.js +2 -0
- package/dist/cjs/ShareViaEmail.js.map +1 -1
- package/dist/cjs/avatar-placeholder-CSJpe1V0.js +44 -0
- package/dist/cjs/avatar-placeholder-CSJpe1V0.js.map +1 -0
- package/dist/cjs/chevron-up-CpzhFWzM.js +17 -0
- package/dist/cjs/chevron-up-CpzhFWzM.js.map +1 -0
- package/dist/cjs/copy-CerjTcLL.js +20 -0
- package/dist/cjs/copy-CerjTcLL.js.map +1 -0
- package/dist/cjs/download-B53zeKGa.js +21 -0
- package/dist/cjs/download-B53zeKGa.js.map +1 -0
- package/dist/cjs/globe-DawgK2Dx.js +21 -0
- package/dist/cjs/globe-DawgK2Dx.js.map +1 -0
- package/dist/cjs/index-ARGXqXxG.js +78 -0
- package/dist/cjs/index-ARGXqXxG.js.map +1 -0
- package/dist/cjs/index-BeqE2JWC.js +3180 -0
- package/dist/cjs/index-BeqE2JWC.js.map +1 -0
- package/dist/cjs/index.es-Bcx0v5Pd.js +454 -0
- package/dist/cjs/index.es-Bcx0v5Pd.js.map +1 -0
- package/dist/cjs/index.esm-Bb1Vtlp2.js +919 -0
- package/dist/cjs/index.esm-Bb1Vtlp2.js.map +1 -0
- package/dist/cjs/panel-left-close-CLoRPBWH.js +21 -0
- package/dist/cjs/panel-left-close-CLoRPBWH.js.map +1 -0
- package/dist/cjs/papaparse-B5u_uWB3.js +1948 -0
- package/dist/cjs/papaparse-B5u_uWB3.js.map +1 -0
- package/dist/cjs/phone-number-Bza7WGZm.js +315 -0
- package/dist/cjs/phone-number-Bza7WGZm.js.map +1 -0
- package/dist/cjs/prism-tomorrow-BMFuJ5o1.js +1963 -0
- package/dist/cjs/prism-tomorrow-BMFuJ5o1.js.map +1 -0
- package/dist/cjs/react-confetti-DdGoyZ0y.js +405 -0
- package/dist/cjs/react-confetti-DdGoyZ0y.js.map +1 -0
- package/dist/cjs/smartphone-ChvEvl-o.js +36 -0
- package/dist/cjs/smartphone-ChvEvl-o.js.map +1 -0
- package/dist/cjs/trash-2-CotPjU5n.js +23 -0
- package/dist/cjs/trash-2-CotPjU5n.js.map +1 -0
- package/dist/cjs/triangle-alert-De-qkUXK.js +27 -0
- package/dist/cjs/triangle-alert-De-qkUXK.js.map +1 -0
- package/dist/cjs/upload-C5ZnN-d5.js +21 -0
- package/dist/cjs/upload-C5ZnN-d5.js.map +1 -0
- package/dist/cjs/v2/AuditLogs.js +4 -18
- package/dist/cjs/v2/AuditLogs.js.map +1 -1
- package/dist/cjs/v2/Builder.js +4 -18
- package/dist/cjs/v2/Builder.js.map +1 -1
- package/dist/cjs/v2/CalendarView.js +1 -0
- package/dist/cjs/v2/CalendarView.js.map +1 -1
- package/dist/cjs/v2/Codeblock.js +1 -0
- package/dist/cjs/v2/Codeblock.js.map +1 -1
- package/dist/cjs/v2/CopyToClipboardButton.js +3 -16
- package/dist/cjs/v2/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/v2/DeleteArchiveModal.js +91 -0
- package/dist/cjs/v2/DeleteArchiveModal.js.map +1 -0
- package/dist/cjs/v2/DownloadMobileAppCallout.js +43 -0
- package/dist/cjs/v2/DownloadMobileAppCallout.js.map +1 -0
- package/dist/cjs/v2/EmailForm.js +622 -0
- package/dist/cjs/v2/EmailForm.js.map +1 -0
- package/dist/cjs/v2/EmailPreview.js +138 -0
- package/dist/cjs/v2/EmailPreview.js.map +1 -0
- package/dist/cjs/v2/EmojiReactions.js +82 -0
- package/dist/cjs/v2/EmojiReactions.js.map +1 -0
- package/dist/cjs/v2/FileUpload.js +5 -19
- package/dist/cjs/v2/FileUpload.js.map +1 -1
- package/dist/cjs/v2/FinderModal.js +3 -13
- package/dist/cjs/v2/FinderModal.js.map +1 -1
- package/dist/cjs/v2/FloatingActionMenu.js +1 -0
- package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/v2/GoogleFontPicker.js +130 -0
- package/dist/cjs/v2/GoogleFontPicker.js.map +1 -0
- package/dist/cjs/v2/IconPicker.js +274 -0
- package/dist/cjs/v2/IconPicker.js.map +1 -0
- package/dist/cjs/v2/Insights.js +344 -0
- package/dist/cjs/v2/Insights.js.map +1 -0
- package/dist/cjs/v2/IntegrationCard.js +222 -0
- package/dist/cjs/v2/IntegrationCard.js.map +1 -0
- package/dist/cjs/v2/IpRestriction.js +525 -0
- package/dist/cjs/v2/IpRestriction.js.map +1 -0
- package/dist/cjs/v2/MadeWith.js +73 -0
- package/dist/cjs/v2/MadeWith.js.map +1 -0
- package/dist/cjs/v2/Metadata.js +215 -0
- package/dist/cjs/v2/Metadata.js.map +1 -0
- package/dist/cjs/v2/NavigationHeader.js +1 -0
- package/dist/cjs/v2/NavigationHeader.js.map +1 -1
- package/dist/cjs/v2/NeetoWidget.js +855 -0
- package/dist/cjs/v2/NeetoWidget.js.map +1 -0
- package/dist/cjs/v2/Onboarding.js +323 -0
- package/dist/cjs/v2/Onboarding.js.map +1 -0
- package/dist/cjs/v2/OptionFields.js +1291 -0
- package/dist/cjs/v2/OptionFields.js.map +1 -0
- package/dist/cjs/v2/PhoneNumber.js +20 -307
- package/dist/cjs/v2/PhoneNumber.js.map +1 -1
- package/dist/cjs/v2/ProductEmbed.js +1870 -0
- package/dist/cjs/v2/ProductEmbed.js.map +1 -0
- package/dist/cjs/v2/PublishBlock.js +6 -22
- package/dist/cjs/v2/PublishBlock.js.map +1 -1
- package/dist/cjs/v2/PublishYourItem.js +60 -0
- package/dist/cjs/v2/PublishYourItem.js.map +1 -0
- package/dist/cjs/v2/ResponsiveDevicePicker.js +88 -0
- package/dist/cjs/v2/ResponsiveDevicePicker.js.map +1 -0
- package/dist/cjs/v2/SendToFields.js +313 -0
- package/dist/cjs/v2/SendToFields.js.map +1 -0
- package/dist/cjs/v2/SessionEnvironment.js +479 -0
- package/dist/cjs/v2/SessionEnvironment.js.map +1 -0
- package/dist/cjs/v2/SubHeader.js +4 -18
- package/dist/cjs/v2/SubHeader.js.map +1 -1
- package/dist/copy-DhbOoOav.js +18 -0
- package/dist/copy-DhbOoOav.js.map +1 -0
- package/dist/download-CZ7Q6k7-.js +19 -0
- package/dist/download-CZ7Q6k7-.js.map +1 -0
- package/dist/globe-rBiI1CjO.js +19 -0
- package/dist/globe-rBiI1CjO.js.map +1 -0
- package/dist/index-0jnA7dx6.js +3178 -0
- package/dist/index-0jnA7dx6.js.map +1 -0
- package/dist/index-DF5MKxql.js +76 -0
- package/dist/index-DF5MKxql.js.map +1 -0
- package/dist/index.es-BQ-dr8y1.js +451 -0
- package/dist/index.es-BQ-dr8y1.js.map +1 -0
- package/dist/index.esm-DLni3-hz.js +917 -0
- package/dist/index.esm-DLni3-hz.js.map +1 -0
- package/dist/panel-left-close-37jik3GB.js +19 -0
- package/dist/panel-left-close-37jik3GB.js.map +1 -0
- package/dist/papaparse-p7fkGgWo.js +1946 -0
- package/dist/papaparse-p7fkGgWo.js.map +1 -0
- package/dist/phone-number-CGZtDB_n.js +291 -0
- package/dist/phone-number-CGZtDB_n.js.map +1 -0
- package/dist/prism-tomorrow-ZUb2Ikm9.js +1961 -0
- package/dist/prism-tomorrow-ZUb2Ikm9.js.map +1 -0
- package/dist/react-confetti-BnGq_LBE.js +403 -0
- package/dist/react-confetti-BnGq_LBE.js.map +1 -0
- package/dist/smartphone-B-jv1y8j.js +33 -0
- package/dist/smartphone-B-jv1y8j.js.map +1 -0
- package/dist/trash-2-N0F6K63L.js +21 -0
- package/dist/trash-2-N0F6K63L.js.map +1 -0
- package/dist/triangle-alert-Pkh6pc42.js +25 -0
- package/dist/triangle-alert-Pkh6pc42.js.map +1 -0
- package/dist/upload-BNvlRoRJ.js +19 -0
- package/dist/upload-BNvlRoRJ.js.map +1 -0
- package/dist/v2/AuditLogs.js +3 -17
- package/dist/v2/AuditLogs.js.map +1 -1
- package/dist/v2/Builder.js +3 -17
- package/dist/v2/Builder.js.map +1 -1
- package/dist/v2/CalendarView.js +1 -0
- package/dist/v2/CalendarView.js.map +1 -1
- package/dist/v2/Codeblock.js +1 -0
- package/dist/v2/Codeblock.js.map +1 -1
- package/dist/v2/CopyToClipboardButton.js +2 -15
- package/dist/v2/CopyToClipboardButton.js.map +1 -1
- package/dist/v2/DeleteArchiveModal.js +89 -0
- package/dist/v2/DeleteArchiveModal.js.map +1 -0
- package/dist/v2/DownloadMobileAppCallout.js +41 -0
- package/dist/v2/DownloadMobileAppCallout.js.map +1 -0
- package/dist/v2/EmailForm.js +596 -0
- package/dist/v2/EmailForm.js.map +1 -0
- package/dist/v2/EmailPreview.js +136 -0
- package/dist/v2/EmailPreview.js.map +1 -0
- package/dist/v2/EmojiReactions.js +80 -0
- package/dist/v2/EmojiReactions.js.map +1 -0
- package/dist/v2/FileUpload.js +4 -18
- package/dist/v2/FileUpload.js.map +1 -1
- package/dist/v2/FinderModal.js +2 -12
- package/dist/v2/FinderModal.js.map +1 -1
- package/dist/v2/FloatingActionMenu.js +1 -0
- package/dist/v2/FloatingActionMenu.js.map +1 -1
- package/dist/v2/GoogleFontPicker.js +128 -0
- package/dist/v2/GoogleFontPicker.js.map +1 -0
- package/dist/v2/IconPicker.js +272 -0
- package/dist/v2/IconPicker.js.map +1 -0
- package/dist/v2/Insights.js +342 -0
- package/dist/v2/Insights.js.map +1 -0
- package/dist/v2/IntegrationCard.js +220 -0
- package/dist/v2/IntegrationCard.js.map +1 -0
- package/dist/v2/IpRestriction.js +504 -0
- package/dist/v2/IpRestriction.js.map +1 -0
- package/dist/v2/MadeWith.js +52 -0
- package/dist/v2/MadeWith.js.map +1 -0
- package/dist/v2/Metadata.js +213 -0
- package/dist/v2/Metadata.js.map +1 -0
- package/dist/v2/NavigationHeader.js +1 -0
- package/dist/v2/NavigationHeader.js.map +1 -1
- package/dist/v2/NeetoWidget.js +834 -0
- package/dist/v2/NeetoWidget.js.map +1 -0
- package/dist/v2/Onboarding.js +321 -0
- package/dist/v2/Onboarding.js.map +1 -0
- package/dist/v2/OptionFields.js +1289 -0
- package/dist/v2/OptionFields.js.map +1 -0
- package/dist/v2/PhoneNumber.js +20 -287
- package/dist/v2/PhoneNumber.js.map +1 -1
- package/dist/v2/ProductEmbed.js +1868 -0
- package/dist/v2/ProductEmbed.js.map +1 -0
- package/dist/v2/PublishBlock.js +5 -21
- package/dist/v2/PublishBlock.js.map +1 -1
- package/dist/v2/PublishYourItem.js +58 -0
- package/dist/v2/PublishYourItem.js.map +1 -0
- package/dist/v2/ResponsiveDevicePicker.js +86 -0
- package/dist/v2/ResponsiveDevicePicker.js.map +1 -0
- package/dist/v2/SendToFields.js +311 -0
- package/dist/v2/SendToFields.js.map +1 -0
- package/dist/v2/SessionEnvironment.js +477 -0
- package/dist/v2/SessionEnvironment.js.map +1 -0
- package/dist/v2/SubHeader.js +3 -17
- package/dist/v2/SubHeader.js.map +1 -1
- package/package.json +5 -5
- package/types/v2/DeleteArchiveModal.d.ts +16 -0
- package/types/v2/DownloadMobileAppCallout.d.ts +7 -0
- package/types/v2/EmailForm.d.ts +88 -0
- package/types/v2/EmailFormProvider.d.ts +29 -0
- package/types/v2/EmailPreview.d.ts +16 -0
- package/types/v2/EmojiReactions.d.ts +22 -0
- package/types/v2/GoogleFontPicker.d.ts +19 -0
- package/types/v2/IconPicker.d.ts +11 -0
- package/types/v2/Insights.d.ts +69 -0
- package/types/v2/IntegrationCard.d.ts +30 -0
- package/types/v2/IpRestriction.d.ts +5 -0
- package/types/v2/MadeWith.d.ts +8 -0
- package/types/v2/Metadata.d.ts +26 -0
- package/types/v2/MobilePreviewHeader.d.ts +8 -0
- package/types/v2/NeetoWidget.d.ts +19 -0
- package/types/v2/Onboarding.d.ts +22 -0
- package/types/v2/OptionFields.d.ts +55 -0
- package/types/v2/ProductEmbed.d.ts +90 -0
- package/types/v2/PublishYourItem.d.ts +8 -0
- package/types/v2/ResponsiveDevicePicker.d.ts +11 -0
- package/types/v2/SendToFields.d.ts +25 -0
- package/types/v2/SessionEnvironment.d.ts +34 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarView.js","sources":["../../../src/v2/components/CalendarView/constants.js","../../../src/v2/components/CalendarView/utils.js","../../../src/v2/components/CalendarView/CustomDatePicker.jsx","../../../src/v2/components/CalendarView/Header.jsx","../../../src/v2/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/v2/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 { useState } from \"react\";\n\nimport { Button, DatePicker } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { ChevronDown, ChevronLeft, ChevronRight } from \"lucide-react\";\nimport { dayjs } from \"neetocommons/v2/utils\";\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}) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(false);\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(prevDate => prevDate.subtract(1, picker));\n\n const onNext = () => setSelectedDate(prevDate => prevDate.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 return (\n <div className=\"nm-calendar-view__date-picker 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 variant=\"secondary\"\n onClick={onToday}\n >\n {todayButtonLabel ?? t(\"neetoMolecules.calendarView.today\")}\n </Button>\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.dateNavigation\")}\n className=\"flex items-center\"\n role=\"group\"\n >\n <Button\n className=\"me-1\"\n data-testid=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={() => <ChevronLeft className=\"rtl:scale-x-[-1]\" size={20} />}\n variant=\"ghost\"\n aria-label={t(\"neetoMolecules.calendarView.aria.previousPeriod\", {\n period: picker,\n })}\n onClick={onPrevious}\n />\n <DatePicker\n {...{ picker }}\n align=\"start\"\n disabledDate={getDisabledDates}\n open={isOpen}\n side=\"bottom\"\n value={selectedDate}\n weekStartsOn={1}\n trigger={\n <Button\n aria-expanded={isOpen}\n aria-haspopup=\"dialog\"\n data-testid=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={showDatePickerIcon ? ChevronDown : undefined}\n iconPosition=\"right\"\n variant=\"ghost\"\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 >\n <span\n className=\"text-foreground text-base font-medium\"\n data-testid=\"neeto-molecules-calendar-view-date-picker-button-label\"\n >\n {selectedRangeStr}\n </span>\n </Button>\n }\n onChange={setSelectedDate}\n onOpenChange={setIsOpen}\n />\n <Button\n className=\"ms-1\"\n data-testid=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={() => <ChevronRight className=\"rtl:scale-x-[-1]\" size={20} />}\n variant=\"ghost\"\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 { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\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\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=\"nm-calendar-view__controls flex items-center 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 <DropdownMenu\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 variant: \"secondary\",\n }}\n >\n {values(calendarViewOptions).map((option, idx) => (\n <DropdownMenu.MenuItem\n isActive={selectedView === option}\n key={idx}\n onClick={() => handleViewSelection(option)}\n >\n {capitalize(option.label)}\n </DropdownMenu.MenuItem>\n ))}\n </DropdownMenu>\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/v2/utils\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./calendar-view.css\";\nimport { LOCALE_CONFIG, VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\nimport { mergeRefs } from \"./utils\";\n\nimport SubHeader from \"../SubHeader\";\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 = true,\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=\"nm-calendar-view flex flex-col\"\n data-testid=\"calendar-view\"\n ref={calendarWrapperRef}\n >\n {!hideHeader && (\n <SubHeader\n leftActionBlock={\n <h2 className=\"text-foreground text-xl font-semibold\">\n {selectedDate.format(\"MMMM, YYYY\")}\n </h2>\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 firstDay={1}\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 viewOptions: PropTypes.object,\n events: PropTypes.array,\n handleDateClick: PropTypes.func,\n handleEventClick: PropTypes.func,\n eventClassNames: PropTypes.string,\n dayCellClassNames: PropTypes.string,\n dayMaxEvents: PropTypes.number,\n eventMaxStack: PropTypes.number,\n onDateChange: PropTypes.func,\n validDates: PropTypes.shape({\n start: PropTypes.instanceOf(Date),\n end: PropTypes.instanceOf(Date),\n }),\n hideHeader: PropTypes.bool,\n locale: PropTypes.string,\n onTodayClick: PropTypes.func,\n todayButtonLabel: PropTypes.string,\n todayButtonClassName: PropTypes.string,\n datePickerButtonClassName: PropTypes.string,\n showDatePickerIcon: PropTypes.bool,\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","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","selectedRangeStr","start","end","isDateLessThanStart","isSameOrBefore","isDateGreaterThanEnd","isSameOrAfter","onPrevious","prevDate","subtract","onNext","add","onToday","getDisabledDates","_jsxs","className","children","_jsx","Button","variant","onClick","role","disabled","icon","ChevronLeft","size","period","DatePicker","align","disabledDate","open","side","value","weekStartsOn","trigger","ChevronDown","undefined","iconPosition","currentDate","classnames","onChange","onOpenChange","ChevronRight","Header","calendarRef","selectedView","setSelectedView","calendarViewOptions","handleViewSelection","option","calendar","changeView","navigateToSelectedDate","_calendarRef$current","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","DropdownMenu","capitalize","buttonProps","view","values","map","idx","MenuItem","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","otherProps","_objectWithoutProperties","_excluded","defaultView","find","_useState3","_useState4","localeSpecificProps","handleDateChange","newDate","calendarWrapperRef","useRef","_calendarRef$current$","calendarApi","getApi","call","wrapperElement","handleResize","updateSize","observer","ResizeObserver","observe","disconnect","SubHeader","leftActionBlock","rightActionBlock","FullCalendar","_objectSpread","expandRows","allDayText","dateClick","dayHeaderClassNames","displayEventTime","eventClick","firstDay","headerToolbar","height","initialView","plugins","dayGridPlugin","timeGridPlugin","interactionPlugin","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarView.js","sources":["../../../src/v2/components/CalendarView/constants.js","../../../src/v2/components/CalendarView/utils.js","../../../src/v2/components/CalendarView/CustomDatePicker.jsx","../../../src/v2/components/CalendarView/Header.jsx","../../../src/v2/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/v2/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 { useState } from \"react\";\n\nimport { Button, DatePicker } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { ChevronDown, ChevronLeft, ChevronRight } from \"lucide-react\";\nimport { dayjs } from \"neetocommons/v2/utils\";\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}) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(false);\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(prevDate => prevDate.subtract(1, picker));\n\n const onNext = () => setSelectedDate(prevDate => prevDate.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 return (\n <div className=\"nm-calendar-view__date-picker 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 variant=\"secondary\"\n onClick={onToday}\n >\n {todayButtonLabel ?? t(\"neetoMolecules.calendarView.today\")}\n </Button>\n <div\n aria-label={t(\"neetoMolecules.calendarView.aria.dateNavigation\")}\n className=\"flex items-center\"\n role=\"group\"\n >\n <Button\n className=\"me-1\"\n data-testid=\"neeto-molecules-calendar-view-previous-button\"\n disabled={isDateLessThanStart}\n icon={() => <ChevronLeft className=\"rtl:scale-x-[-1]\" size={20} />}\n variant=\"ghost\"\n aria-label={t(\"neetoMolecules.calendarView.aria.previousPeriod\", {\n period: picker,\n })}\n onClick={onPrevious}\n />\n <DatePicker\n {...{ picker }}\n align=\"start\"\n disabledDate={getDisabledDates}\n open={isOpen}\n side=\"bottom\"\n value={selectedDate}\n weekStartsOn={1}\n trigger={\n <Button\n aria-expanded={isOpen}\n aria-haspopup=\"dialog\"\n data-testid=\"neeto-molecules-calendar-view-date-picker-button\"\n icon={showDatePickerIcon ? ChevronDown : undefined}\n iconPosition=\"right\"\n variant=\"ghost\"\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 >\n <span\n className=\"text-foreground text-base font-medium\"\n data-testid=\"neeto-molecules-calendar-view-date-picker-button-label\"\n >\n {selectedRangeStr}\n </span>\n </Button>\n }\n onChange={setSelectedDate}\n onOpenChange={setIsOpen}\n />\n <Button\n className=\"ms-1\"\n data-testid=\"neeto-molecules-calendar-view-next-button\"\n disabled={isDateGreaterThanEnd}\n icon={() => <ChevronRight className=\"rtl:scale-x-[-1]\" size={20} />}\n variant=\"ghost\"\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 { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\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\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=\"nm-calendar-view__controls flex items-center 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 <DropdownMenu\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 variant: \"secondary\",\n }}\n >\n {values(calendarViewOptions).map((option, idx) => (\n <DropdownMenu.MenuItem\n isActive={selectedView === option}\n key={idx}\n onClick={() => handleViewSelection(option)}\n >\n {capitalize(option.label)}\n </DropdownMenu.MenuItem>\n ))}\n </DropdownMenu>\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/v2/utils\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./calendar-view.css\";\nimport { LOCALE_CONFIG, VIEW_OPTIONS } from \"./constants\";\nimport Header from \"./Header\";\nimport { mergeRefs } from \"./utils\";\n\nimport SubHeader from \"../SubHeader\";\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 = true,\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=\"nm-calendar-view flex flex-col\"\n data-testid=\"calendar-view\"\n ref={calendarWrapperRef}\n >\n {!hideHeader && (\n <SubHeader\n leftActionBlock={\n <h2 className=\"text-foreground text-xl font-semibold\">\n {selectedDate.format(\"MMMM, YYYY\")}\n </h2>\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 firstDay={1}\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 viewOptions: PropTypes.object,\n events: PropTypes.array,\n handleDateClick: PropTypes.func,\n handleEventClick: PropTypes.func,\n eventClassNames: PropTypes.string,\n dayCellClassNames: PropTypes.string,\n dayMaxEvents: PropTypes.number,\n eventMaxStack: PropTypes.number,\n onDateChange: PropTypes.func,\n validDates: PropTypes.shape({\n start: PropTypes.instanceOf(Date),\n end: PropTypes.instanceOf(Date),\n }),\n hideHeader: PropTypes.bool,\n locale: PropTypes.string,\n onTodayClick: PropTypes.func,\n todayButtonLabel: PropTypes.string,\n todayButtonClassName: PropTypes.string,\n datePickerButtonClassName: PropTypes.string,\n showDatePickerIcon: PropTypes.bool,\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","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","selectedRangeStr","start","end","isDateLessThanStart","isSameOrBefore","isDateGreaterThanEnd","isSameOrAfter","onPrevious","prevDate","subtract","onNext","add","onToday","getDisabledDates","_jsxs","className","children","_jsx","Button","variant","onClick","role","disabled","icon","ChevronLeft","size","period","DatePicker","align","disabledDate","open","side","value","weekStartsOn","trigger","ChevronDown","undefined","iconPosition","currentDate","classnames","onChange","onOpenChange","ChevronRight","Header","calendarRef","selectedView","setSelectedView","calendarViewOptions","handleViewSelection","option","calendar","changeView","navigateToSelectedDate","_calendarRef$current","gotoDate","useEffect","setTimeout","getPopupContainer","prop","Object","keys","DropdownMenu","capitalize","buttonProps","view","values","map","idx","MenuItem","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","otherProps","_objectWithoutProperties","_excluded","defaultView","find","_useState3","_useState4","localeSpecificProps","handleDateChange","newDate","calendarWrapperRef","useRef","_calendarRef$current$","calendarApi","getApi","call","wrapperElement","handleResize","updateSize","observer","ResizeObserver","observe","disconnect","SubHeader","leftActionBlock","rightActionBlock","FullCalendar","_objectSpread","expandRows","allDayText","dateClick","dayHeaderClassNames","displayEventTime","eventClick","firstDay","headerToolbar","height","initialView","plugins","dayGridPlugin","timeGridPlugin","interactionPlugin","displayName"],"mappings":"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"}
|
package/dist/cjs/v2/Codeblock.js
CHANGED
|
@@ -16,6 +16,7 @@ require('@bigbinary/neeto-commons-frontend/v2/utils/general');
|
|
|
16
16
|
require('react-i18next');
|
|
17
17
|
require('../check-VgZf0qTr.js');
|
|
18
18
|
require('../createLucideIcon-DBDhE7kE.js');
|
|
19
|
+
require('../copy-CerjTcLL.js');
|
|
19
20
|
|
|
20
21
|
var _excluded = ["label"];
|
|
21
22
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Codeblock.js","sources":["../../../src/v2/components/Codeblock.jsx"],"sourcesContent":["import useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport javascript from \"react-syntax-highlighter/dist/esm/languages/prism/javascript\";\nimport CodeBlock from \"react-syntax-highlighter/dist/esm/prism-light.js\";\nimport { dracula } from \"react-syntax-highlighter/dist/esm/styles/prism\";\n\nimport CopyToClipboardButton from \"./CopyToClipboardButton\";\n\n// `prism-light` ships no languages by default; register the one we render so\n// the code is actually syntax-highlighted (otherwise it renders as plain text).\nCodeBlock.registerLanguage(\"javascript\", javascript);\n\nconst Codeblock = ({\n code,\n showCopyButton = true,\n codeblockProps,\n copyButtonProps = {},\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const { label: copyLabel = \"Copy\", ...restCopyButtonProps } = copyButtonProps;\n\n return (\n <div className=\"relative\">\n <CodeBlock\n wrapLines\n className=\"neeto-molecules-code-block p-4 pr-12 md:pr-4\"\n codeTagProps={{ \"data-testid\": \"code-block-content\" }}\n data-testid=\"code-block\"\n language=\"javascript\"\n style={dracula}\n {...codeblockProps}\n >\n {code}\n </CodeBlock>\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"absolute top-2 right-2\"\n size=\"sm\"\n value={code}\n variant=\"secondary\"\n {...restCopyButtonProps}\n label={isLargerScreen ? copyLabel : \"\"}\n />\n )}\n </div>\n );\n};\n\nCodeblock.propTypes = {\n /**\n * The code to be displayed.\n */\n code: PropTypes.string,\n /**\n * Flag to determine whether the 'Copy' button is displayed.\n */\n showCopyButton: PropTypes.bool,\n /**\n * Additional props that can be passed on to the 'PrismLight' component from 'react-syntax-highlighter'.\n */\n codeblockProps: PropTypes.object,\n /**\n * Additional props that can be passed on to the 'CopyToClipboardButton' component from 'neeto-molecules'.\n */\n copyButtonProps: PropTypes.object,\n};\n\nexport default Codeblock;\n"],"names":["CodeBlock","registerLanguage","javascript","Codeblock","_ref","code","_ref$showCopyButton","showCopyButton","codeblockProps","_ref$copyButtonProps","copyButtonProps","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_copyButtonProps$labe","label","copyLabel","restCopyButtonProps","_objectWithoutProperties","_excluded","_jsxs","className","children","_jsx","_objectSpread","wrapLines","codeTagProps","language","style","dracula","CopyToClipboardButton","size","value","variant"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Codeblock.js","sources":["../../../src/v2/components/Codeblock.jsx"],"sourcesContent":["import useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport javascript from \"react-syntax-highlighter/dist/esm/languages/prism/javascript\";\nimport CodeBlock from \"react-syntax-highlighter/dist/esm/prism-light.js\";\nimport { dracula } from \"react-syntax-highlighter/dist/esm/styles/prism\";\n\nimport CopyToClipboardButton from \"./CopyToClipboardButton\";\n\n// `prism-light` ships no languages by default; register the one we render so\n// the code is actually syntax-highlighted (otherwise it renders as plain text).\nCodeBlock.registerLanguage(\"javascript\", javascript);\n\nconst Codeblock = ({\n code,\n showCopyButton = true,\n codeblockProps,\n copyButtonProps = {},\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const { label: copyLabel = \"Copy\", ...restCopyButtonProps } = copyButtonProps;\n\n return (\n <div className=\"relative\">\n <CodeBlock\n wrapLines\n className=\"neeto-molecules-code-block p-4 pr-12 md:pr-4\"\n codeTagProps={{ \"data-testid\": \"code-block-content\" }}\n data-testid=\"code-block\"\n language=\"javascript\"\n style={dracula}\n {...codeblockProps}\n >\n {code}\n </CodeBlock>\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"absolute top-2 right-2\"\n size=\"sm\"\n value={code}\n variant=\"secondary\"\n {...restCopyButtonProps}\n label={isLargerScreen ? copyLabel : \"\"}\n />\n )}\n </div>\n );\n};\n\nCodeblock.propTypes = {\n /**\n * The code to be displayed.\n */\n code: PropTypes.string,\n /**\n * Flag to determine whether the 'Copy' button is displayed.\n */\n showCopyButton: PropTypes.bool,\n /**\n * Additional props that can be passed on to the 'PrismLight' component from 'react-syntax-highlighter'.\n */\n codeblockProps: PropTypes.object,\n /**\n * Additional props that can be passed on to the 'CopyToClipboardButton' component from 'neeto-molecules'.\n */\n copyButtonProps: PropTypes.object,\n};\n\nexport default Codeblock;\n"],"names":["CodeBlock","registerLanguage","javascript","Codeblock","_ref","code","_ref$showCopyButton","showCopyButton","codeblockProps","_ref$copyButtonProps","copyButtonProps","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_copyButtonProps$labe","label","copyLabel","restCopyButtonProps","_objectWithoutProperties","_excluded","_jsxs","className","children","_jsx","_objectSpread","wrapLines","codeTagProps","language","style","dracula","CopyToClipboardButton","size","value","variant"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAUAA,SAAS,CAACC,gBAAgB,CAAC,YAAY,EAAEC,UAAU,CAAC;AAEpD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,mBAAA,GAAAF,IAAA,CACJG,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;IACrBE,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IAAAC,oBAAA,GAAAL,IAAA,CACdM,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;AAEpB,EAAA,IAAAE,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;AACd,EAAA,IAAMC,cAAc,GAAG,CAACD,MAAM,CAAC,QAAQ,CAAC;AAExC,EAAA,IAAAE,qBAAA,GAA8DL,eAAe,CAArEM,KAAK;AAAEC,IAAAA,SAAS,GAAAF,qBAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,qBAAA;AAAKG,IAAAA,mBAAmB,GAAAC,wBAAA,CAAKT,eAAe,EAAAU,SAAA,CAAA;AAE7E,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAAAC,IAAAA,QAAA,gBACvBC,cAAA,CAACxB,SAAS,EAAAyB,aAAA,CAAAA,aAAA,CAAA;MACRC,SAAS,EAAA,IAAA;AACTJ,MAAAA,SAAS,EAAC,8CAA8C;AACxDK,MAAAA,YAAY,EAAE;AAAE,QAAA,aAAa,EAAE;OAAuB;AACtD,MAAA,aAAA,EAAY,YAAY;AACxBC,MAAAA,QAAQ,EAAC,YAAY;AACrBC,MAAAA,KAAK,EAAEC;AAAQ,KAAA,EACXtB,cAAc,CAAA,EAAA,EAAA,EAAA;AAAAe,MAAAA,QAAA,EAEjBlB;KAAI,CACI,CAAC,EACXE,cAAc,iBACbiB,cAAA,CAACO,wBAAqB,EAAAN,aAAA,CAAAA,aAAA,CAAA;AACpBH,MAAAA,SAAS,EAAC,wBAAwB;AAClCU,MAAAA,IAAI,EAAC,IAAI;AACTC,MAAAA,KAAK,EAAE5B,IAAK;AACZ6B,MAAAA,OAAO,EAAC;AAAW,KAAA,EACfhB,mBAAmB,CAAA,EAAA,EAAA,EAAA;AACvBF,MAAAA,KAAK,EAAEF,cAAc,GAAGG,SAAS,GAAG;AAAG,KAAA,CACxC,CACF;AAAA,GACE,CAAC;AAEV;;;;"}
|
|
@@ -10,21 +10,8 @@ var general = require('@bigbinary/neeto-commons-frontend/v2/utils/general');
|
|
|
10
10
|
var reactI18next = require('react-i18next');
|
|
11
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
12
|
var check = require('../check-VgZf0qTr.js');
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @license lucide-react v1.7.0 - ISC
|
|
17
|
-
*
|
|
18
|
-
* This source code is licensed under the ISC license.
|
|
19
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const __iconNode = [
|
|
24
|
-
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
25
|
-
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
26
|
-
];
|
|
27
|
-
const Copy = createLucideIcon.createLucideIcon("copy", __iconNode);
|
|
13
|
+
var copy = require('../copy-CerjTcLL.js');
|
|
14
|
+
require('../createLucideIcon-DBDhE7kE.js');
|
|
28
15
|
|
|
29
16
|
var TIME_OUT = 2000;
|
|
30
17
|
|
|
@@ -34,7 +21,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
34
21
|
var CopyToClipboardButton = function CopyToClipboardButton(_ref) {
|
|
35
22
|
var className = _ref.className,
|
|
36
23
|
_ref$icon = _ref.icon,
|
|
37
|
-
Icon = _ref$icon === void 0 ? Copy : _ref$icon,
|
|
24
|
+
Icon = _ref$icon === void 0 ? copy.Copy : _ref$icon,
|
|
38
25
|
_ref$label = _ref.label,
|
|
39
26
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
40
27
|
successLabel = _ref.successLabel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyToClipboardButton.js","sources":["../../../
|
|
1
|
+
{"version":3,"file":"CopyToClipboardButton.js","sources":["../../../src/v2/components/CopyToClipboardButton/constants.js","../../../src/v2/components/CopyToClipboardButton/index.jsx"],"sourcesContent":["const TIME_OUT = 2000;\n\nexport { TIME_OUT };\n","import { useState, useEffect, useLayoutEffect, useRef } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Copy, Check } from \"lucide-react\";\nimport { copyToClipboard } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TIME_OUT } from \"./constants\";\n\nconst CopyToClipboardButton = ({\n className,\n icon: Icon = Copy,\n label = \"\",\n successLabel,\n tooltipContent,\n successTooltipContent,\n value,\n variant = \"outline\",\n size,\n tooltipProps,\n onClick,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const ref = useRef();\n const timerRef = useRef();\n\n const resolvedSize = size || (label ? \"default\" : \"icon\");\n\n const onHandleClick = event => {\n event.preventDefault();\n event.stopPropagation();\n\n if (onClick) onClick(event);\n else copyToClipboard(value, { showToastr: false });\n\n clearTimeout(timerRef.current);\n setIsChecked(true);\n timerRef.current = setTimeout(() => {\n setIsChecked(false);\n }, TIME_OUT);\n };\n\n useEffect(() => () => clearTimeout(timerRef.current), []);\n\n useLayoutEffect(() => {\n if (!ref.current) return;\n ref.current.style.minWidth = \"\";\n const buttonWidth = ref.current.clientWidth;\n ref.current.style.minWidth = `${buttonWidth}px`;\n }, [resolvedSize, label]);\n\n const currentTooltipContent = isChecked\n ? successTooltipContent || t(\"neetoMolecules.common.copied\")\n : tooltipContent || t(\"neetoMolecules.common.copy\");\n\n const buttonLabel =\n isChecked && label\n ? successLabel || t(\"neetoMolecules.common.copied\")\n : label;\n const ButtonIcon = isChecked ? Check : Icon;\n\n const button = (\n <Button\n {...{ ref }}\n className={classnames(isChecked && \"nv-copy-button-active\", className)}\n data-testid=\"copy-to-clipboard-button\"\n icon={ButtonIcon}\n iconPosition=\"left\"\n label={buttonLabel || undefined}\n size={resolvedSize}\n variant={isChecked ? \"default\" : variant}\n onClick={onHandleClick}\n {...otherProps}\n />\n );\n\n if (label) return button;\n\n return (\n <Tooltip content={currentTooltipContent} position=\"top\" {...tooltipProps}>\n {button}\n </Tooltip>\n );\n};\n\nCopyToClipboardButton.propTypes = {\n className: PropTypes.string,\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n successLabel: PropTypes.string,\n value: PropTypes.string,\n variant: PropTypes.string,\n size: PropTypes.string,\n tooltipContent: PropTypes.string,\n successTooltipContent: PropTypes.string,\n};\n\nexport default CopyToClipboardButton;\n"],"names":["TIME_OUT","CopyToClipboardButton","_ref","className","_ref$icon","icon","Icon","Copy","_ref$label","label","successLabel","tooltipContent","successTooltipContent","value","_ref$variant","variant","size","tooltipProps","onClick","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","ref","useRef","timerRef","resolvedSize","onHandleClick","event","preventDefault","stopPropagation","copyToClipboard","showToastr","clearTimeout","current","setTimeout","useEffect","useLayoutEffect","style","minWidth","buttonWidth","clientWidth","concat","currentTooltipContent","buttonLabel","ButtonIcon","Check","button","_jsx","Button","_objectSpread","classnames","iconPosition","undefined","Tooltip","content","position","children"],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
6
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
7
|
+
var ramda = require('ramda');
|
|
8
|
+
var reactI18next = require('react-i18next');
|
|
9
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
|
|
11
|
+
var DeleteArchiveModal = function DeleteArchiveModal(_ref) {
|
|
12
|
+
var _ref$checkboxLabel = _ref.checkboxLabel,
|
|
13
|
+
checkboxLabel = _ref$checkboxLabel === void 0 ? "" : _ref$checkboxLabel,
|
|
14
|
+
_ref$className = _ref.className,
|
|
15
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
16
|
+
_ref$description = _ref.description,
|
|
17
|
+
description = _ref$description === void 0 ? "" : _ref$description,
|
|
18
|
+
_ref$isArchiving = _ref.isArchiving,
|
|
19
|
+
isArchiving = _ref$isArchiving === void 0 ? false : _ref$isArchiving,
|
|
20
|
+
_ref$isDeleting = _ref.isDeleting,
|
|
21
|
+
isDeleting = _ref$isDeleting === void 0 ? false : _ref$isDeleting,
|
|
22
|
+
_ref$isOpen = _ref.isOpen,
|
|
23
|
+
isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
|
|
24
|
+
_ref$onArchive = _ref.onArchive,
|
|
25
|
+
onArchive = _ref$onArchive === void 0 ? neetoCist.noop : _ref$onArchive,
|
|
26
|
+
_ref$onClose = _ref.onClose,
|
|
27
|
+
onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
|
|
28
|
+
_ref$onDelete = _ref.onDelete,
|
|
29
|
+
onDelete = _ref$onDelete === void 0 ? neetoCist.noop : _ref$onDelete,
|
|
30
|
+
_ref$title = _ref.title,
|
|
31
|
+
title = _ref$title === void 0 ? "" : _ref$title;
|
|
32
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
33
|
+
t = _useTranslation.t;
|
|
34
|
+
var _useState = React.useState(false),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
isChecked = _useState2[0],
|
|
37
|
+
setIsChecked = _useState2[1];
|
|
38
|
+
var handleClose = function handleClose() {
|
|
39
|
+
setIsChecked(false);
|
|
40
|
+
onClose();
|
|
41
|
+
};
|
|
42
|
+
React.useEffect(function () {
|
|
43
|
+
if (ramda.not(isOpen)) setIsChecked(false);
|
|
44
|
+
}, [isOpen]);
|
|
45
|
+
return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog, {
|
|
46
|
+
className: className,
|
|
47
|
+
isOpen: isOpen,
|
|
48
|
+
"aria-describedby": undefined,
|
|
49
|
+
"data-testid": "alert-box",
|
|
50
|
+
onClose: handleClose,
|
|
51
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Header, {
|
|
52
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Title, {
|
|
53
|
+
"data-testid": "delete-archive-alert-title",
|
|
54
|
+
children: title
|
|
55
|
+
})
|
|
56
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog.Body, {
|
|
57
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
58
|
+
className: "leading-normal",
|
|
59
|
+
"data-testid": "delete-archive-alert-message",
|
|
60
|
+
variant: "body2",
|
|
61
|
+
children: description
|
|
62
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Checkbox, {
|
|
63
|
+
checked: isChecked,
|
|
64
|
+
className: "mt-4",
|
|
65
|
+
"data-testid": "delete-archive-alert-archive-checkbox",
|
|
66
|
+
label: checkboxLabel,
|
|
67
|
+
onCheckedChange: setIsChecked
|
|
68
|
+
})]
|
|
69
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog.Footer, {
|
|
70
|
+
className: "flex items-center justify-end gap-2",
|
|
71
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
72
|
+
"data-testid": "delete-archive-alert-archive-button",
|
|
73
|
+
disabled: ramda.not(isOpen),
|
|
74
|
+
label: t("neetoMolecules.common.actions.archive"),
|
|
75
|
+
loading: isArchiving,
|
|
76
|
+
variant: "secondary",
|
|
77
|
+
onClick: onArchive
|
|
78
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
79
|
+
"data-testid": "delete-archive-alert-delete-button",
|
|
80
|
+
disabled: ramda.not(isChecked),
|
|
81
|
+
label: t("neetoMolecules.common.actions.delete"),
|
|
82
|
+
loading: isDeleting,
|
|
83
|
+
variant: "destructive",
|
|
84
|
+
onClick: onDelete
|
|
85
|
+
})]
|
|
86
|
+
})]
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
module.exports = DeleteArchiveModal;
|
|
91
|
+
//# sourceMappingURL=DeleteArchiveModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteArchiveModal.js","sources":["../../../src/v2/components/DeleteArchiveModal/index.jsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport { Button, Checkbox, Dialog, Typography } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DeleteArchiveModal = ({\n checkboxLabel = \"\",\n className = \"\",\n description = \"\",\n isArchiving = false,\n isDeleting = false,\n isOpen = false,\n onArchive = noop,\n onClose = noop,\n onDelete = noop,\n title = \"\",\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const handleClose = () => {\n setIsChecked(false);\n onClose();\n };\n\n useEffect(() => {\n if (not(isOpen)) setIsChecked(false);\n }, [isOpen]);\n\n return (\n <Dialog\n {...{ className, isOpen }}\n aria-describedby={undefined}\n data-testid=\"alert-box\"\n onClose={handleClose}\n >\n <Dialog.Header>\n <Dialog.Title data-testid=\"delete-archive-alert-title\">\n {title}\n </Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n <Typography\n className=\"leading-normal\"\n data-testid=\"delete-archive-alert-message\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n <Checkbox\n checked={isChecked}\n className=\"mt-4\"\n data-testid=\"delete-archive-alert-archive-checkbox\"\n label={checkboxLabel}\n onCheckedChange={setIsChecked}\n />\n </Dialog.Body>\n <Dialog.Footer className=\"flex items-center justify-end gap-2\">\n <Button\n data-testid=\"delete-archive-alert-archive-button\"\n disabled={not(isOpen)}\n label={t(\"neetoMolecules.common.actions.archive\")}\n loading={isArchiving}\n variant=\"secondary\"\n onClick={onArchive}\n />\n <Button\n data-testid=\"delete-archive-alert-delete-button\"\n disabled={not(isChecked)}\n label={t(\"neetoMolecules.common.actions.delete\")}\n loading={isDeleting}\n variant=\"destructive\"\n onClick={onDelete}\n />\n </Dialog.Footer>\n </Dialog>\n );\n};\n\nDeleteArchiveModal.propTypes = {\n /**\n * To specify whether the modal should be opened or closed.\n */\n isOpen: PropTypes.bool,\n /**\n * To be passed to loading prop of the archive button\n */\n isArchiving: PropTypes.bool,\n /**\n * To be passed to loading prop of the delete button\n */\n isDeleting: PropTypes.bool,\n /**\n * Additional classes to be added to the modal\n */\n className: PropTypes.string,\n /**\n * Function to be called when the modal is closed\n */\n onClose: PropTypes.func,\n /**\n * Function to be called when the archive button is clicked\n */\n onArchive: PropTypes.func,\n /**\n * Function to be called when the delete button is clicked\n * */\n onDelete: PropTypes.func,\n /**\n * Title of the modal\n */\n title: PropTypes.string,\n /**\n * Description of the modal\n */\n description: PropTypes.string,\n /**\n * Label for the checkbox\n */\n checkboxLabel: PropTypes.string,\n};\n\nexport default DeleteArchiveModal;\n"],"names":["DeleteArchiveModal","_ref","_ref$checkboxLabel","checkboxLabel","_ref$className","className","_ref$description","description","_ref$isArchiving","isArchiving","_ref$isDeleting","isDeleting","_ref$isOpen","isOpen","_ref$onArchive","onArchive","noop","_ref$onClose","onClose","_ref$onDelete","onDelete","_ref$title","title","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","handleClose","useEffect","not","_jsxs","Dialog","undefined","children","_jsx","Header","Title","Body","Typography","variant","Checkbox","checked","label","onCheckedChange","Footer","Button","disabled","loading","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
4
|
+
var initializers = require('@bigbinary/neeto-commons-frontend/v2/initializers');
|
|
5
|
+
var reactI18next = require('react-i18next');
|
|
6
|
+
var reactRouterDom = require('react-router-dom');
|
|
7
|
+
var uaParser = require('../ua-parser-DgQ3nYoO.js');
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
|
|
10
|
+
var MOBILE_PLATFORMS = ["Android", "iOS", "Windows Phone"];
|
|
11
|
+
|
|
12
|
+
var DownloadMobileAppCallout = function DownloadMobileAppCallout(_ref) {
|
|
13
|
+
var _globalProps$appName;
|
|
14
|
+
var excludePathRegex = _ref.excludePathRegex;
|
|
15
|
+
var _useLocation = reactRouterDom.useLocation(),
|
|
16
|
+
pathname = _useLocation.pathname;
|
|
17
|
+
var parser = new uaParser.UAParser(navigator.userAgent);
|
|
18
|
+
var result = parser.getResult();
|
|
19
|
+
var isMobilePlatform = MOBILE_PLATFORMS.includes(result.os.name);
|
|
20
|
+
if (!isMobilePlatform) return null;
|
|
21
|
+
var shouldExcludePath = excludePathRegex && excludePathRegex.test(pathname);
|
|
22
|
+
if (shouldExcludePath) return null;
|
|
23
|
+
var appName = (_globalProps$appName = initializers.globalProps.appName) === null || _globalProps$appName === void 0 ? void 0 : _globalProps$appName.toLowerCase();
|
|
24
|
+
var mobileAppDownloadUrl = "https://www.neeto.com/".concat(appName, "/mobile");
|
|
25
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Callout, {
|
|
26
|
+
className: "m-4",
|
|
27
|
+
variant: "warning",
|
|
28
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
29
|
+
i18nKey: "neetoMolecules.downloadMobileAppCallout.message",
|
|
30
|
+
components: {
|
|
31
|
+
a: /*#__PURE__*/jsxRuntime.jsx("a", {
|
|
32
|
+
className: "text-primary decoration-primary/40 hover:decoration-primary underline underline-offset-4",
|
|
33
|
+
href: mobileAppDownloadUrl,
|
|
34
|
+
rel: "noreferrer",
|
|
35
|
+
target: "_blank"
|
|
36
|
+
})
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
module.exports = DownloadMobileAppCallout;
|
|
43
|
+
//# sourceMappingURL=DownloadMobileAppCallout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DownloadMobileAppCallout.js","sources":["../../../src/v2/components/DownloadMobileAppCallout/constants.js","../../../src/v2/components/DownloadMobileAppCallout/index.jsx"],"sourcesContent":["export const MOBILE_PLATFORMS = [\"Android\", \"iOS\", \"Windows Phone\"];\n","import { Callout } from \"@bigbinary/neeto-atoms\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport PropTypes from \"prop-types\";\nimport { Trans } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport { UAParser } from \"ua-parser-js\";\n\nimport { MOBILE_PLATFORMS } from \"./constants\";\n\nconst DownloadMobileAppCallout = ({ excludePathRegex }) => {\n const { pathname } = useLocation();\n\n const parser = new UAParser(navigator.userAgent);\n const result = parser.getResult();\n const isMobilePlatform = MOBILE_PLATFORMS.includes(result.os.name);\n if (!isMobilePlatform) return null;\n\n const shouldExcludePath = excludePathRegex && excludePathRegex.test(pathname);\n if (shouldExcludePath) return null;\n\n const appName = globalProps.appName?.toLowerCase();\n const mobileAppDownloadUrl = `https://www.neeto.com/${appName}/mobile`;\n\n return (\n <Callout className=\"m-4\" variant=\"warning\">\n <Trans\n i18nKey=\"neetoMolecules.downloadMobileAppCallout.message\"\n components={{\n a: (\n <a\n className=\"text-primary decoration-primary/40 hover:decoration-primary underline underline-offset-4\"\n href={mobileAppDownloadUrl}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </Callout>\n );\n};\n\nDownloadMobileAppCallout.propTypes = {\n /**\n * To exclude specific paths where download mobile app callout should be hidden.\n */\n excludePathRegex: PropTypes.instanceOf(RegExp),\n};\n\nexport default DownloadMobileAppCallout;\n"],"names":["MOBILE_PLATFORMS","DownloadMobileAppCallout","_ref","_globalProps$appName","excludePathRegex","_useLocation","useLocation","pathname","parser","UAParser","navigator","userAgent","result","getResult","isMobilePlatform","includes","os","name","shouldExcludePath","test","appName","globalProps","toLowerCase","mobileAppDownloadUrl","concat","_jsx","Callout","className","variant","children","Trans","i18nKey","components","a","href","rel","target"],"mappings":";;;;;;;;;AAAO,IAAMA,gBAAgB,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,eAAe,CAAC;;ACSnE,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA,EAA6B;AAAA,EAAA,IAAAC,oBAAA;AAAA,EAAA,IAAvBC,gBAAgB,GAAAF,IAAA,CAAhBE,gBAAgB;AAClD,EAAA,IAAAC,YAAA,GAAqBC,0BAAW,EAAE;IAA1BC,QAAQ,GAAAF,YAAA,CAARE,QAAQ;EAEhB,IAAMC,MAAM,GAAG,IAAIC,iBAAQ,CAACC,SAAS,CAACC,SAAS,CAAC;AAChD,EAAA,IAAMC,MAAM,GAAGJ,MAAM,CAACK,SAAS,EAAE;EACjC,IAAMC,gBAAgB,GAAGd,gBAAgB,CAACe,QAAQ,CAACH,MAAM,CAACI,EAAE,CAACC,IAAI,CAAC;AAClE,EAAA,IAAI,CAACH,gBAAgB,EAAE,OAAO,IAAI;EAElC,IAAMI,iBAAiB,GAAGd,gBAAgB,IAAIA,gBAAgB,CAACe,IAAI,CAACZ,QAAQ,CAAC;EAC7E,IAAIW,iBAAiB,EAAE,OAAO,IAAI;AAElC,EAAA,IAAME,OAAO,GAAA,CAAAjB,oBAAA,GAAGkB,wBAAW,CAACD,OAAO,MAAA,IAAA,IAAAjB,oBAAA,KAAA,MAAA,GAAA,MAAA,GAAnBA,oBAAA,CAAqBmB,WAAW,EAAE;AAClD,EAAA,IAAMC,oBAAoB,GAAA,wBAAA,CAAAC,MAAA,CAA4BJ,OAAO,EAAA,SAAA,CAAS;EAEtE,oBACEK,cAAA,CAACC,kBAAO,EAAA;AAACC,IAAAA,SAAS,EAAC,KAAK;AAACC,IAAAA,OAAO,EAAC,SAAS;IAAAC,QAAA,eACxCJ,cAAA,CAACK,kBAAK,EAAA;AACJC,MAAAA,OAAO,EAAC,iDAAiD;AACzDC,MAAAA,UAAU,EAAE;AACVC,QAAAA,CAAC,eACCR,cAAA,CAAA,GAAA,EAAA;AACEE,UAAAA,SAAS,EAAC,0FAA0F;AACpGO,UAAAA,IAAI,EAAEX,oBAAqB;AAC3BY,UAAAA,GAAG,EAAC,YAAY;AAChBC,UAAAA,MAAM,EAAC;SACR;AAEL;KACD;AAAC,GACK,CAAC;AAEd;;;;"}
|