@activecollab/components 1.0.14 → 1.0.18

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.
Files changed (27) hide show
  1. package/dist/cjs/components/SelectDate/SelectDate.js +1 -1
  2. package/dist/cjs/components/SelectDate/SelectDate.js.map +1 -1
  3. package/dist/cjs/components/Transitions/Slide/Slide.js +14 -9
  4. package/dist/cjs/components/Transitions/Slide/Slide.js.map +1 -1
  5. package/dist/cjs/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.js +18 -45
  6. package/dist/cjs/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.js.map +1 -1
  7. package/dist/cjs/components/Transitions/SlideLeftRightTransition/Styles.js +16 -0
  8. package/dist/cjs/components/Transitions/SlideLeftRightTransition/Styles.js.map +1 -0
  9. package/dist/esm/components/SelectDate/SelectDate.d.ts.map +1 -1
  10. package/dist/esm/components/SelectDate/SelectDate.js +1 -1
  11. package/dist/esm/components/SelectDate/SelectDate.js.map +1 -1
  12. package/dist/esm/components/Transitions/Slide/Slide.d.ts.map +1 -1
  13. package/dist/esm/components/Transitions/Slide/Slide.js +8 -9
  14. package/dist/esm/components/Transitions/Slide/Slide.js.map +1 -1
  15. package/dist/esm/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.d.ts +0 -1
  16. package/dist/esm/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.d.ts.map +1 -1
  17. package/dist/esm/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.js +15 -39
  18. package/dist/esm/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.js.map +1 -1
  19. package/dist/esm/components/Transitions/SlideLeftRightTransition/Styles.d.ts +4 -0
  20. package/dist/esm/components/Transitions/SlideLeftRightTransition/Styles.d.ts.map +1 -0
  21. package/dist/esm/components/Transitions/SlideLeftRightTransition/Styles.js +7 -0
  22. package/dist/esm/components/Transitions/SlideLeftRightTransition/Styles.js.map +1 -0
  23. package/dist/index.js +127 -149
  24. package/dist/index.js.map +1 -1
  25. package/dist/index.min.js +1 -1
  26. package/dist/index.min.js.map +1 -1
  27. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"names":["React","useCallback","useEffect","useMemo","useState","moment","classnames","Menu","DatePickerForm","customClassNames","Tooltip","SelectDateTarget","StyledConfirmDialog","StyledSelectDate","StyledSelectDateButton","getUtcTimestampFromDate","date","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","defaultTimezoneAware","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","defaultMonth","daysToModify","weekends","weekendLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","timezoneAware","setTimezoneAware","labelText","endDate","local","startDate","currentYear","year","formattedEndDate","format","replace","trim","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","selectedDates","Object","prototype","hasOwnProperty","call","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","disabled","toJSON","slice","renderDay","titles","push","forEach","title","child","length","map","index","renderDatePickerForm","displayName"],"mappings":"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","sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n ReactNode,\n CSSProperties,\n} from \"react\";\nimport moment from \"moment\";\nimport classnames from \"classnames\";\nimport { DayModifiers } from \"react-day-picker\";\nimport { Placement } from \"@popperjs/core\";\nimport { Menu } from \"../Menu/Menu\";\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { customClassNames } from \"../DatePicker/ClassNames\";\nimport { DaysToModify } from \"./types\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ninterface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, or inline */\n trigger?: \"text\" | \"icon\" | \"inline\";\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n defaultTimezoneAware = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat = \"DD MM. YYYY\",\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const currentYear = moment.utc().year();\n\n const formattedEndDate =\n !longDateFormat && endDate.year() === currentYear\n ? endDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : endDate.format(dateFormat);\n const formattedStartDate =\n !longDateFormat && startDate.year() === currentYear\n ? startDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : startDate.format(dateFormat);\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n setMonth(month);\n },\n [setMonth]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n modifiedDates && setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n [customClassNames.userAvailability]: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n [customClassNames.weekend]: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n [customClassNames.disabled]: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n };\n }, [daysToModify, weekends, disableDaysBefore, weekendIsSelectable]);\n\n const renderDay = useCallback(\n (day: Date): ReactNode => {\n const titles: string[] = [];\n\n if (weekends.some((value) => day.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{day.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${day.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekendLabel,\n weekends,\n daysToModify,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={\n labelType === \"icon\" && icon ? (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\n />\n ) : (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\n \"c-simple-menu__trigger date-picker-target\",\n targetClassName\n )}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n )\n }\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"file":"SelectDate.js"}
1
+ {"version":3,"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"names":["React","useCallback","useEffect","useMemo","useState","moment","classnames","Menu","DatePickerForm","customClassNames","Tooltip","SelectDateTarget","StyledConfirmDialog","StyledSelectDate","StyledSelectDateButton","getUtcTimestampFromDate","date","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","defaultTimezoneAware","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","defaultMonth","daysToModify","weekends","weekendLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","timezoneAware","setTimezoneAware","labelText","endDate","local","startDate","currentYear","year","formattedEndDate","format","replace","trim","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","selectedDates","Object","prototype","hasOwnProperty","call","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","disabled","toJSON","slice","renderDay","titles","push","forEach","title","child","length","map","index","renderDatePickerForm","displayName"],"mappings":"AAAA,OAAOA,KAAP,IAGEC,WAHF,EAIEC,SAJF,EAKEC,OALF,EAMEC,QANF,QASO,OATP;AAUA,OAAOC,MAAP,MAAmB,QAAnB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAGA,SAASC,IAAT,QAAqB,cAArB;AACA,SAASC,cAAT,QAA+B,kBAA/B;AACA,SAASC,gBAAT,QAAiC,0BAAjC;AAEA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SACEC,mBADF,EAEEC,gBAFF,EAGEC,sBAHF,QAIO,UAJP;;AAMA,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,IAAD,EAAwB;AACtD,SAAOX,MAAM,CACVY,GADI,CACA,CAACD,IAAI,CAACE,WAAL,EAAD,EAAqBF,IAAI,CAACG,QAAL,EAArB,EAAsCH,IAAI,CAACI,OAAL,EAAtC,CADA,EAEJC,IAFI,EAAP;AAGD,CAJD;;AAMA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAYC,IAAZ,EAA4C;AAC/D,MAAIA,IAAI,CAACC,SAAT,EAAoB;AAClB,QAAMC,IAAI,GAAG,IAAIC,IAAJ,CACXJ,GAAG,CAACL,WAAJ,EADW,EAEXM,IAAI,CAACE,IAAL,CAAUP,QAAV,EAFW,EAGXK,IAAI,CAACE,IAAL,CAAUN,OAAV,EAHW,CAAb;AAKA,QAAMQ,EAAE,GAAG,IAAID,IAAJ,CACTJ,GAAG,CAACL,WAAJ,EADS,EAETM,IAAI,CAACI,EAAL,CAAQT,QAAR,EAFS,EAGTK,IAAI,CAACI,EAAL,CAAQR,OAAR,EAHS,CAAX;AAKA,WAAOG,GAAG,IAAIG,IAAP,IAAeH,GAAG,IAAIK,EAA7B;AACD;;AAED,SAAOL,GAAG,IAAIC,IAAI,CAACE,IAAZ,IAAoBH,GAAG,IAAIC,IAAI,CAACI,EAAvC;AACD,CAhBD;;AAqGA,OAAO,IAAMC,UAA2B,GAAG,SAA9BA,UAA8B,OAwCrC;AAAA,6BAvCJC,UAuCI;AAAA,MAvCQC,IAuCR,gCAvCe,SAuCf;AAAA,0BAtCJC,OAsCI;AAAA,MAtCKC,SAsCL,6BAtCiB,MAsCjB;AAAA,iCArCJC,cAqCI;AAAA,MArCJA,cAqCI,oCArCa,MAqCb;AAAA,mCApCJC,gBAoCI;AAAA,MApCJA,gBAoCI,sCApCe,QAoCf;AAAA,kCAnCJC,eAmCI;AAAA,MAnCJA,eAmCI,qCAnCc,OAmCd;AAAA,kCAlCJC,eAkCI;AAAA,MAlCJA,eAkCI,qCAlCc,kBAkCd;AAAA,mCAjCJC,mBAiCI;AAAA,MAjCJA,mBAiCI,sCAjCkB,mCAiClB;AAAA,mCAhCJC,mBAgCI;AAAA,MAhCJA,mBAgCI,sCAhCkB,IAgClB;AAAA,mCA/BJC,kBA+BI;AAAA,MA/BJA,kBA+BI,sCA/BiB,QA+BjB;AAAA,MA9BJC,UA8BI,QA9BJA,UA8BI;AAAA,MA7BJC,MA6BI,QA7BJA,MA6BI;AAAA,MA5BJC,QA4BI,QA5BJA,QA4BI;AAAA,MA3BJC,kBA2BI,QA3BJA,kBA2BI;AAAA,2BA1BJC,QA0BI;AAAA,MA1BMC,YA0BN,8BA1BqB,KA0BrB;AAAA,mCAzBJC,oBAyBI;AAAA,MAzBJA,oBAyBI,sCAzBmB,KAyBnB;AAAA,iCAxBJC,cAwBI;AAAA,MAxBJA,cAwBI,oCAxBa,KAwBb;AAAA,mCAvBJC,qBAuBI;AAAA,MAvBJA,qBAuBI,sCAvBoB,KAuBpB;AAAA,iCAtBJC,cAsBI;AAAA,MAtBJA,cAsBI,oCAtBa,CAsBb;AAAA,MArBJC,YAqBI,QArBJA,YAqBI;AAAA,gCApBJC,aAoBI;AAAA,MApBJA,aAoBI,mCApBY,QAoBZ;AAAA,MAnBJC,aAmBI,QAnBJA,aAmBI;AAAA,MAlBJC,eAkBI,QAlBJA,eAkBI;AAAA,MAjBJC,IAiBI,QAjBJA,IAiBI;AAAA,mCAhBJC,gBAgBI;AAAA,MAhBJA,gBAgBI,sCAhBe,QAgBf;AAAA,MAfJC,mBAeI,QAfJA,mBAeI;AAAA,MAdJC,mBAcI,QAdJA,mBAcI;AAAA,MAbJC,sBAaI,QAbJA,sBAaI;AAAA,6BAZJC,UAYI;AAAA,MAZJA,UAYI,gCAZS,aAYT;AAAA,MAXJC,YAWI,QAXJA,YAWI;AAAA,+BAVJC,YAUI;AAAA,MAVJA,YAUI,kCAVW,EAUX;AAAA,2BATJC,QASI;AAAA,MATJA,QASI,8BATO,EASP;AAAA,+BARJC,YAQI;AAAA,MARJA,YAQI,kCARW,SAQX;AAAA,mCAPJC,mBAOI;AAAA,MAPJA,mBAOI,sCAPkB,KAOlB;AAAA,MANJC,WAMI,QANJA,WAMI;AAAA,MALJC,sBAKI,QALJA,sBAKI;AAAA,MAJJC,eAII,QAJJA,eAII;AAAA,MAHJC,kBAGI,QAHJA,kBAGI;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADJC,iBACI,QADJA,iBACI;;AACJ,kBAA0CnE,QAAQ,CAAC2C,oBAAD,CAAlD;AAAA,MAAOyB,aAAP;AAAA,MAAsBC,gBAAtB;;AAEA,MAAMC,SAAS,GAAGvE,OAAO,CAAC,YAAM;AAC9B,QAAI,CAACgD,YAAL,EAAmB;AACjB,aAAOK,gBAAP;AACD,KAFD,MAEO;AACL,UAAMmB,OAAO,GAAGH,aAAa,GACzBnE,MAAM,CAACgB,IAAP,CAAY8B,YAAY,CAACvB,EAAzB,EAA6BgD,KAA7B,EADyB,GAEzBvE,MAAM,CAACgB,IAAP,CAAY8B,YAAY,CAACvB,EAAzB,EAA6BX,GAA7B,EAFJ;AAIA,UAAM4D,SAAS,GAAGL,aAAa,GAC3BnE,MAAM,CAACgB,IAAP,CAAY8B,YAAY,CAACzB,IAAzB,EAA+BkD,KAA/B,EAD2B,GAE3BvE,MAAM,CAACgB,IAAP,CAAY8B,YAAY,CAACzB,IAAzB,EAA+BT,GAA/B,EAFJ;AAIA,UAAM6D,WAAW,GAAGzE,MAAM,CAACY,GAAP,GAAa8D,IAAb,EAApB;AAEA,UAAMC,gBAAgB,GACpB,CAAChC,cAAD,IAAmB2B,OAAO,CAACI,IAAR,OAAmBD,WAAtC,GACIH,OAAO,CAACM,MAAR,CAAerB,UAAU,CAACsB,OAAX,CAAmB,QAAnB,MAAiCC,IAAjC,EAAf,CADJ,GAEIR,OAAO,CAACM,MAAR,CAAerB,UAAf,CAHN;AAIA,UAAMwB,kBAAkB,GACtB,CAACpC,cAAD,IAAmB6B,SAAS,CAACE,IAAV,OAAqBD,WAAxC,GACID,SAAS,CAACI,MAAV,CAAiBrB,UAAU,CAACsB,OAAX,CAAmB,QAAnB,MAAiCC,IAAjC,EAAjB,CADJ,GAEIN,SAAS,CAACI,MAAV,CAAiBrB,UAAjB,CAHN;;AAKA,UAAIT,YAAY,CAACzB,IAAb,KAAsByB,YAAY,CAACvB,EAAvC,EAA2C;AACzC,eAAOoD,gBAAP;AACD;;AAED,aAAUI,kBAAV,WAAkCJ,gBAAlC;AACD;AACF,GA7BwB,EA6BtB,CACD7B,YADC,EAEDS,UAFC,EAGDY,aAHC,EAIDhB,gBAJC,EAKDR,cALC,CA7BsB,CAAzB;AAqCA,MAAMqC,aAAa,GAAGlF,OAAO,CAAC,YAAM;AAClC,QACE,OAAOgD,YAAP,KAAwB,QAAxB,IACA,CAAC,CAACA,YAAY,CAACzB,IADf,IAEA,CAAC,CAACyB,YAAY,CAACvB,EAHjB,EAIE;AACA,UAAI4C,aAAJ,EAAmB;AACjB,eAAO;AACL9C,UAAAA,IAAI,EAAErB,MAAM,CAACgB,IAAP,CAAY8B,YAAY,CAACzB,IAAzB,EAA+B4D,MAA/B,EADD;AAEL1D,UAAAA,EAAE,EAAEvB,MAAM,CAACgB,IAAP,CAAY8B,YAAY,CAACvB,EAAzB,EAA6B0D,MAA7B;AAFC,SAAP;AAID;;AACD,UAAMC,UAAU,GAAGlF,MAAM,CAACgB,IAAP,CAAY8B,YAAY,CAACzB,IAAzB,EAA+B8D,SAA/B,KAA6C,EAAhE;AACA,UAAMC,QAAQ,GAAGpF,MAAM,CAACgB,IAAP,CAAY8B,YAAY,CAACvB,EAAzB,EAA6B4D,SAA7B,KAA2C,EAA5D;AACA,aAAO;AACL9D,QAAAA,IAAI,EAAE,IAAIC,IAAJ,CAAS,CAACwB,YAAY,CAACzB,IAAb,GAAoB6D,UAArB,IAAmC,IAA5C,CADD;AAEL3D,QAAAA,EAAE,EAAE,IAAID,IAAJ,CAAS,CAACwB,YAAY,CAACvB,EAAb,GAAkB6D,QAAnB,IAA+B,IAAxC;AAFC,OAAP;AAID;AACF,GAnB4B,EAmB1B,CAACtC,YAAD,EAAeqB,aAAf,CAnB0B,CAA7B;AAqBA,MAAMkB,kBAAkB,GAAGzF,WAAW,CACpC,UAAC0F,aAAD,EAAmB;AACjBlB,IAAAA,gBAAgB,CAAC,KAAD,CAAhB;;AACA,QAAI,OAAO/B,MAAP,KAAkB,UAAtB,EAAkC;AAChC,UACE,OAAOiD,aAAP,KAAyB,QAAzB,IACAC,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCJ,aAArC,EAAoD,MAApD,CADA,IAEAC,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCJ,aAArC,EAAoD,IAApD,CAHF,EAIE;AACAjD,QAAAA,MAAM,CAAC;AACLhB,UAAAA,IAAI,EAAEX,uBAAuB,CAAC4E,aAAa,CAACjE,IAAf,CADxB;AAELE,UAAAA,EAAE,EAAEb,uBAAuB,CAAC4E,aAAa,CAAC/D,EAAf;AAFtB,SAAD,CAAN;AAID,OATD,MASO;AACLc,QAAAA,MAAM,CAACsD,SAAD,CAAN;AACD;AACF;AACF,GAjBmC,EAkBpC,CAACtD,MAAD,CAlBoC,CAAtC;AAqBA,MAAMuD,eAAe,GAAGhG,WAAW,CAAC,YAAM;AACxC,QAAIe,IAAI,GAAG,IAAIW,IAAJ,EAAX;;AAEA,QAAI,OAAOwB,YAAP,KAAwB,QAAxB,IAAoC,CAAC,CAACA,YAAY,CAACzB,IAAvD,EAA6D;AAC3DV,MAAAA,IAAI,GAAGwD,aAAa,GAChB,IAAI7C,IAAJ,CAASwB,YAAY,CAACzB,IAAb,GAAoB,IAA7B,CADgB,GAEhB,IAAIC,IAAJ,CACE,CAACwB,YAAY,CAACzB,IAAb,GACCrB,MAAM,CAACgB,IAAP,CAAY8B,YAAY,CAACzB,IAAzB,EAA+B8D,SAA/B,KAA6C,EAD/C,IAEE,IAHJ,CAFJ;AAOD,KARD,MAQO,IAAI3B,YAAJ,EAAkB;AACvB7C,MAAAA,IAAI,GAAG6C,YAAP;AACD,KAbuC,CAexC;;;AACA,WAAO,IAAIlC,IAAJ,CAASX,IAAI,CAACE,WAAL,EAAT,EAA6BF,IAAI,CAACG,QAAL,EAA7B,EAA8C,CAA9C,CAAP;AACD,GAjBkC,EAiBhC,CAAC0C,YAAD,EAAeV,YAAf,EAA6BqB,aAA7B,CAjBgC,CAAnC;;AAmBA,mBAA0BpE,QAAQ,CAAC6F,eAAD,CAAlC;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AAEA,MAAMC,iBAAiB,GAAGnG,WAAW,CACnC,UAACiG,KAAD,EAAW;AACTC,IAAAA,QAAQ,CAACD,KAAD,CAAR;AACD,GAHkC,EAInC,CAACC,QAAD,CAJmC,CAArC;;AAOA,mBAAgC/F,QAAQ,CAACiF,aAAD,CAAxC;AAAA,MAAOgB,QAAP;AAAA,MAAiBC,WAAjB;;AACA,mBAAgDlG,QAAQ,CAAC,KAAD,CAAxD;AAAA,MAAOmG,gBAAP;AAAA,MAAyBC,mBAAzB;;AACA,mBAA4CpG,QAAQ,CAAC6C,qBAAD,CAApD;AAAA,MAAOwD,cAAP;AAAA,MAAuBC,iBAAvB;;AAEA,MAAMC,kBAAkB,GAAGxG,OAAO,CAAC,YAAM;AACvC,WACE,CAAAkF,aAAa,QAAb,YAAAA,aAAa,CAAE3D,IAAf,OAAwB2E,QAAxB,oBAAwBA,QAAQ,CAAE3E,IAAlC,KACA,CAAA2D,aAAa,QAAb,YAAAA,aAAa,CAAEzD,EAAf,OAAsByE,QAAtB,oBAAsBA,QAAQ,CAAEzE,EAAhC,CAFF;AAID,GALiC,EAK/B,CAACyD,aAAD,EAAgBgB,QAAhB,CAL+B,CAAlC;AAOAnG,EAAAA,SAAS,CAAC,YAAM;AACdwG,IAAAA,iBAAiB,CAACzD,qBAAD,CAAjB;AACD,GAFQ,EAEN,CAACA,qBAAD,CAFM,CAAT;AAIA/C,EAAAA,SAAS,CAAC,YAAM;AACdmF,IAAAA,aAAa,IAAIiB,WAAW,CAACjB,aAAD,CAA5B;AACD,GAFQ,EAEN,CAACA,aAAD,CAFM,CAAT;AAIAnF,EAAAA,SAAS,CAAC,YAAM;AACd,WAAO0C,kBAAP,KAA8B,UAA9B,IACEA,kBAAkB,CAAC6D,cAAD,CADpB;AAED,GAHQ,EAGN,CAACA,cAAD,EAAiB7D,kBAAjB,CAHM,CAAT;AAKA1C,EAAAA,SAAS,CAAC,YAAM;AACd,QAAI,CAACuG,cAAL,EAAqB;AACnBN,MAAAA,QAAQ,CAACF,eAAe,EAAhB,CAAR;AACD;AACF,GAJQ,EAIN,CAACQ,cAAD,EAAiBR,eAAjB,CAJM,CAAT;AAMA,MAAMW,UAAU,GAAG3G,WAAW,CAAC,YAAM;AACnCyF,IAAAA,kBAAkB,CAACW,QAAD,CAAlB;AACAK,IAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,GAH6B,EAG3B,CAACL,QAAD,EAAWX,kBAAX,CAH2B,CAA9B;AAKA,MAAMmB,YAAY,GAAG5G,WAAW,CAC9B,UAAC6G,KAAD,EAAW;AACT,QAAI/E,IAAI,KAAK,QAAb,EAAuB;AACrB2D,MAAAA,kBAAkB,CAACoB,KAAD,CAAlB;AACD;;AACDR,IAAAA,WAAW,CAACQ,KAAD,CAAX;AACD,GAN6B,EAO9B,CAAC/E,IAAD,EAAO2D,kBAAP,CAP8B,CAAhC;AAUA,MAAMqB,qBAAqB,GAAG9G,WAAW,CAAC,YAAM;AAC9C,QAAI+G,MAAM,GAAG,IAAb;;AAEA,QAAK3B,aAAa,IAAI,CAACgB,QAAnB,IAAiC,CAAChB,aAAD,IAAkBgB,QAAvD,EAAkE;AAChEW,MAAAA,MAAM,GAAG,KAAT;AACD;;AAED,QAAMC,gBAAgB,GAAG5B,aAAH,oBAAGA,aAAa,CAAE3D,IAAxC;AACA,QAAMwF,cAAc,GAAG7B,aAAH,oBAAGA,aAAa,CAAEzD,EAAtC;AACA,QAAMuF,YAAY,GAAGd,QAAH,oBAAGA,QAAQ,CAAE3E,IAA/B;AACA,QAAM0F,UAAU,GAAGf,QAAH,oBAAGA,QAAQ,CAAEzE,EAA7B;;AAEA,QACEqF,gBAAgB,IAChBE,YADA,IAEAD,cAFA,IAGAE,UAHA,KAIC/G,MAAM,CAAC4G,gBAAD,CAAN,CAAyBhC,MAAzB,CAAgC,YAAhC,MACC5E,MAAM,CAAC8G,YAAD,CAAN,CAAqBlC,MAArB,CAA4B,YAA5B,CADD,IAEC5E,MAAM,CAAC6G,cAAD,CAAN,CAAuBjC,MAAvB,CAA8B,YAA9B,MACE5E,MAAM,CAAC+G,UAAD,CAAN,CAAmBnC,MAAnB,CAA0B,YAA1B,CAPJ,CADF,EASE;AACA+B,MAAAA,MAAM,GAAG,KAAT;AACD;;AAED,QAAI,CAACA,MAAL,EAAa;AACXR,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;;AAED,WAAOQ,MAAP;AACD,GA9BwC,EA8BtC,CAAC3B,aAAD,EAAgBgB,QAAhB,CA9BsC,CAAzC;AAgCA,MAAMgB,WAAW,GAAGpH,WAAW,CAAC,YAAM;AACpC,QAAI8B,IAAI,KAAK,QAAT,IAAqBgF,qBAAqB,EAA9C,EAAkD;AAChD,aAAOpE,QAAP,KAAoB,UAApB,IAAkCA,QAAQ,EAA1C;AACA+D,MAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD;AACF,GAL8B,EAK5B,CAAC3E,IAAD,EAAOY,QAAP,EAAiBoE,qBAAjB,CAL4B,CAA/B;AAOA,MAAMO,YAAY,GAAGrH,WAAW,CAC9B,UAACsH,KAAD,EAAW;AACTA,IAAAA,KAAK,IAAIA,KAAK,CAACC,cAAN,EAAT;AACA,WAAOH,WAAW,EAAlB;AACD,GAJ6B,EAK9B,CAACA,WAAD,CAL8B,CAAhC;AAQA,MAAMI,oBAAoB,GAAGxH,WAAW,CAAC,YAAM;AAC7CyG,IAAAA,iBAAiB,CAAC,CAACD,cAAF,CAAjB;AACD,GAFuC,EAErC,CAACA,cAAD,CAFqC,CAAxC;AAIA,MAAMiB,uBAAuB,GAAGzH,WAAW,CAAC,YAAM;AAChDuG,IAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACD,GAF0C,EAExC,EAFwC,CAA3C;AAIA,MAAMmB,WAAW,GAAG1H,WAAW,CAAC,YAAM;AACpC,QAAI,CAAC6C,YAAL,EAAmB;AACjBwD,MAAAA,WAAW,CAACN,SAAD,CAAX;;AACA,UAAIjE,IAAI,KAAK,SAAb,EAAwB;AACtB2D,QAAAA,kBAAkB,CAACM,SAAD,CAAlB;AACD;AACF;AACF,GAP8B,EAO5B,CAACjE,IAAD,EAAOe,YAAP,EAAqB4C,kBAArB,CAP4B,CAA/B;AASA,MAAMkC,sBAAsB,GAAG3H,WAAW,CAAC,YAAM;AAC/CqG,IAAAA,WAAW,CAACjB,aAAD,CAAX;AACAmB,IAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACAE,IAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,GAJyC,EAIvC,CAACrB,aAAD,CAJuC,CAA1C;AAMA,MAAMwC,SAAS,GAAG1H,OAAO,CAAC,YAAM;AAAA;;AAC9B,QAAM2H,kBAAkB,GAAGhE,YAAY,CAACiE,MAAb,CACzB,UAACvG,IAAD;AAAA,aAAUA,IAAI,CAACwG,IAAL,KAAc,cAAxB;AAAA,KADyB,CAA3B;AAGA,QAAMC,aAAa,GAAGnE,YAAY,CAACiE,MAAb,CACpB,UAACvG,IAAD;AAAA,aAAUA,IAAI,CAACwG,IAAL,KAAc,gBAAxB;AAAA,KADoB,CAAtB;AAGA,QAAME,uBAAuB,GAAGpE,YAAY,CAACiE,MAAb,CAC9B,UAACvG,IAAD;AAAA,aAAUA,IAAI,CAACwG,IAAL,KAAc,2BAAxB;AAAA,KAD8B,CAAhC;AAIA,6BACGvH,gBAAgB,CAAC0H,gBADpB,IACuC,UAAC5G,GAAD,EAAwB;AAC3D;AACA,UAAM6G,UAAU,GAAG,IAAIzG,IAAJ,CACjBJ,GAAG,CAACL,WAAJ,EADiB,EAEjBK,GAAG,CAACJ,QAAJ,EAFiB,EAGjBI,GAAG,CAACH,OAAJ,EAHiB,CAAnB;AAKA,aAAO0G,kBAAkB,CAACO,IAAnB,CAAwB,UAAC7G,IAAD;AAAA,eAC7BF,YAAY,CAAC8G,UAAD,EAAa5G,IAAb,CADiB;AAAA,OAAxB,CAAP;AAGD,KAXH,QAYGf,gBAAgB,CAAC6H,OAZpB,IAY8B,UAAC/G,GAAD,EAAwB;AAClD,aAAOwC,QAAQ,CAACsE,IAAT,CAAc,UAACE,KAAD;AAAA,eAAWhH,GAAG,CAACiH,MAAJ,OAAiBD,KAA5B;AAAA,OAAd,CAAP;AACD,KAdH,QAeG9H,gBAAgB,CAACgI,aAfpB,IAeoC,UAAClH,GAAD,EAAwB;AACxD;AACA,UAAIwC,QAAQ,CAACsE,IAAT,CAAc,UAACE,KAAD;AAAA,eAAWA,KAAK,KAAKhH,GAAG,CAACiH,MAAJ,EAArB;AAAA,OAAd,CAAJ,EAAsD;AACpD,eAAO,IAAP;AACD;;AACD,UAAME,cAAc,aAAOR,uBAAP,EAAmCD,aAAnC,CAApB;AACA,UAAMG,UAAU,GAAG,IAAIzG,IAAJ,CACjBJ,GAAG,CAACL,WAAJ,EADiB,EAEjBK,GAAG,CAACJ,QAAJ,EAFiB,EAGjBI,GAAG,CAACH,OAAJ,EAHiB,CAAnB;AAKA,aAAOsH,cAAc,CAACL,IAAf,CAAoB,UAAC7G,IAAD;AAAA,eAAUF,YAAY,CAAC8G,UAAD,EAAa5G,IAAb,CAAtB;AAAA,OAApB,CAAP;AACD,KA3BH,QA4BGf,gBAAgB,CAACkI,QA5BpB,IA4B+B,UAACpH,GAAD,EAAwB;AACnD,UAAIgD,iBAAJ,EAAuB;AACrB,YACEhD,GAAG,CAACqH,MAAJ,GAAaC,KAAb,CAAmB,CAAnB,EAAsB,EAAtB,IAA4BtE,iBAAiB,CAACqE,MAAlB,GAA2BC,KAA3B,CAAiC,CAAjC,EAAoC,EAApC,CAD9B,EAEE;AACA,iBAAO,IAAP;AACD;AACF,OAPkD,CAQnD;;;AACA,UACE,CAAC5E,mBAAD,IACAF,QAAQ,CAACsE,IAAT,CAAc,UAACE,KAAD;AAAA,eAAWA,KAAK,KAAKhH,GAAG,CAACiH,MAAJ,EAArB;AAAA,OAAd,CAFF,EAGE;AACA,eAAO,IAAP;AACD,OAdkD,CAenD;;;AACA,UAAMJ,UAAU,GAAG,IAAIzG,IAAJ,CACjBJ,GAAG,CAACL,WAAJ,EADiB,EAEjBK,GAAG,CAACJ,QAAJ,EAFiB,EAGjBI,GAAG,CAACH,OAAJ,EAHiB,CAAnB;AAKA,aAAO6G,aAAa,CAACI,IAAd,CAAmB,UAAC7G,IAAD;AAAA,eAAUF,YAAY,CAAC8G,UAAD,EAAa5G,IAAb,CAAtB;AAAA,OAAnB,CAAP;AACD,KAlDH;AAoDD,GA/DwB,EA+DtB,CAACsC,YAAD,EAAeC,QAAf,EAAyBQ,iBAAzB,EAA4CN,mBAA5C,CA/DsB,CAAzB;AAiEA,MAAM6E,SAAS,GAAG7I,WAAW,CAC3B,UAACsB,GAAD,EAA0B;AACxB,QAAMwH,MAAgB,GAAG,EAAzB;;AAEA,QAAIhF,QAAQ,CAACsE,IAAT,CAAc,UAACE,KAAD;AAAA,aAAWhH,GAAG,CAACiH,MAAJ,OAAiBD,KAA5B;AAAA,KAAd,CAAJ,EAAsD;AACpDQ,MAAAA,MAAM,CAACC,IAAP,CAAYhF,YAAZ;AACD,KALuB,CAOxB;;;AACA,QAAMoE,UAAU,GAAG,IAAIzG,IAAJ,CACjBJ,GAAG,CAACL,WAAJ,EADiB,EAEjBK,GAAG,CAACJ,QAAJ,EAFiB,EAGjBI,GAAG,CAACH,OAAJ,EAHiB,CAAnB;AAMA0C,IAAAA,YAAY,CAACmF,OAAb,CAAqB,UAACzH,IAAD,EAAU;AAC7B,UAAIF,YAAY,CAAC8G,UAAD,EAAa5G,IAAb,CAAhB,EAAoC;AAClCuH,QAAAA,MAAM,CAACC,IAAP,CAAYxH,IAAI,CAAC0H,KAAjB;AACD;AACF,KAJD;AAMA,QAAMC,KAAK,gBACT;AAAK,MAAA,SAAS,EAAC;AAAf,OAAyC5H,GAAG,CAACH,OAAJ,EAAzC,CADF;;AAIA,QAAI2H,MAAM,CAACK,MAAX,EAAmB;AACjB,UAAMF,KAAK,gBACT;AAAK,QAAA,GAAG,qBAAmB3H,GAAG,CAACH,OAAJ;AAA3B,SACG2H,MAAM,CAACM,GAAP,CAAW,UAACH,KAAD,EAAgBI,KAAhB;AAAA,4BACV;AAAK,UAAA,GAAG,kBAAgBA;AAAxB,WAAkCJ,KAAlC,CADU;AAAA,OAAX,CADH,CADF;AAQA,0BACE,oBAAC,OAAD;AACE,QAAA,KAAK,EAAEA,KADT;AAEE,QAAA,sBAAsB,EAAE/E,sBAF1B;AAGE,QAAA,kBAAkB,EAAEE;AAHtB,SAKG8E,KALH,CADF;AASD;;AAED,WAAOA,KAAP;AACD,GA9C0B,EA+C3B,CACEnF,YADF,EAEED,QAFF,EAGED,YAHF,EAIEK,sBAJF,EAKEE,kBALF,CA/C2B,CAA7B;AAwDA,MAAMkF,oBAAoB,GAAGtJ,WAAW,CAAC,YAAmB;AAC1D,wBACE,oBAAC,cAAD;AACE,MAAA,aAAa,EAAEmG,iBADjB;AAEE,MAAA,KAAK,EAAEF,KAFT;AAGE,MAAA,IAAI,EAAEnE,IAHR;AAIE,MAAA,aAAa,EAAEqB,aAJjB;AAKE,MAAA,YAAY,EAAEN,YALhB;AAME,MAAA,YAAY,EAAEuD,QANhB;AAOE,MAAA,cAAc,EAAEnD,cAPlB;AAQE,MAAA,cAAc,EAAEhB,cARlB;AASE,MAAA,gBAAgB,EAAEC,gBATpB;AAUE,MAAA,eAAe,EAAEC,eAVnB;AAWE,MAAA,UAAU,EAAEK,UAXd;AAYE,MAAA,MAAM,EAAEmE,UAZV;AAaE,MAAA,QAAQ,EAAEC,YAbZ;AAcE,MAAA,QAAQ,EAAES,YAdZ;AAeE,MAAA,OAAO,EAAEK,WAfX;AAgBE,MAAA,kBAAkB,EAAEhB,kBAhBtB;AAiBE,MAAA,SAAS,EAAEkB,SAjBb;AAkBE,MAAA,SAAS,EAAEiB;AAlBb,MADF;AAsBD,GAvBuC,EAuBrC,CACD1C,iBADC,EAEDF,KAFC,EAGDnE,IAHC,EAIDqB,aAJC,EAKDN,YALC,EAMDuD,QANC,EAODnD,cAPC,EAQDhB,cARC,EASDC,gBATC,EAUDC,eAVC,EAWDK,UAXC,EAYDmE,UAZC,EAaDC,YAbC,EAcDS,YAdC,EAeDK,WAfC,EAgBDhB,kBAhBC,EAiBDkB,SAjBC,EAkBDiB,SAlBC,CAvBqC,CAAxC;AA4CA,sBACE,oBAAC,gBAAD;AAAkB,IAAA,SAAS,EAAC;AAA5B,KACG7G,SAAS,KAAK,QAAd,gBACC,oBAAC,IAAD;AACE,IAAA,MAAM,EACJA,SAAS,KAAK,MAAd,IAAwBsB,IAAxB,gBACE,oBAAC,gBAAD;AACE,MAAA,IAAI,EAAEA,IADR;AAEE,MAAA,KAAK,EAAEW,WAFT;AAGE,MAAA,mBAAmB,EAAER,mBAHvB;AAIE,MAAA,gBAAgB,EAAE+C,cAJpB;AAKE,MAAA,sBAAsB,EAAEtC,sBAL1B;AAME,MAAA,kBAAkB,EAAEE,kBANtB;AAOE,MAAA,MAAM,EAAEoC;AAPV,MADF,gBAWE,oBAAC,sBAAD;AACE,MAAA,IAAI,EAAC,QADP;AAEE,MAAA,SAAS,EAAEnG,UAAU,CAAC,oBAAD,EAAuBgD,eAAvB;AAFvB,oBAIE;AAAM,MAAA,SAAS,EAAEG;AAAjB,OAAuCiB,SAAvC,CAJF,CAbN;AAqBE,IAAA,IAAI,EAAE+B,cArBR;AAsBE,IAAA,MAAM,EAAEgB,oBAtBV;AAuBE,IAAA,aAAa,EAAEV,qBAvBjB;AAwBE,IAAA,OAAO,EAAEM,WAxBX;AAyBE,IAAA,QAAQ,EAAE/C,QAzBZ;AA0BE,IAAA,aAAa,EAAEjB,aA1BjB;AA2BE,IAAA,eAAe,EAAEe,eA3BnB;AA4BE,IAAA,sBAAsB,EAAET;AA5B1B,KA8BG4F,oBAAoB,EA9BvB,CADD,GAkCCA,oBAAoB,EAnCxB,EAqCGxH,IAAI,KAAK,QAAT,gBACC,oBAAC,mBAAD;AACE,IAAA,SAAS,EAAC,mBADZ;AAEE,IAAA,IAAI,EAAEwE,gBAFR;AAGE,IAAA,QAAQ,EAAEmB,uBAHZ;AAIE,IAAA,SAAS,EAAEE,sBAJb;AAKE,IAAA,WAAW,EAAEvF,eALf;AAME,IAAA,aAAa,EAAEC,mBANjB;AAOE,IAAA,aAAa,EAAEE,kBAPjB;AAQE,IAAA,cAAc,EAAED;AARlB,IADD,GAWG,IAhDN,CADF;AAoDD,CAleM;AAoePV,UAAU,CAAC2H,WAAX,GAAyB,YAAzB","sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n ReactNode,\n CSSProperties,\n} from \"react\";\nimport moment from \"moment\";\nimport classnames from \"classnames\";\nimport { DayModifiers } from \"react-day-picker\";\nimport { Placement } from \"@popperjs/core\";\nimport { Menu } from \"../Menu/Menu\";\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { customClassNames } from \"../DatePicker/ClassNames\";\nimport { DaysToModify } from \"./types\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ninterface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, or inline */\n trigger?: \"text\" | \"icon\" | \"inline\";\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n defaultTimezoneAware = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat = \"DD MM. YYYY\",\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const currentYear = moment.utc().year();\n\n const formattedEndDate =\n !longDateFormat && endDate.year() === currentYear\n ? endDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : endDate.format(dateFormat);\n const formattedStartDate =\n !longDateFormat && startDate.year() === currentYear\n ? startDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : startDate.format(dateFormat);\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n setMonth(month);\n },\n [setMonth]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n modifiedDates && setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n [customClassNames.userAvailability]: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n [customClassNames.weekend]: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n [customClassNames.disabled]: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n };\n }, [daysToModify, weekends, disableDaysBefore, weekendIsSelectable]);\n\n const renderDay = useCallback(\n (day: Date): ReactNode => {\n const titles: string[] = [];\n\n if (weekends.some((value) => day.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{day.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${day.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekendLabel,\n weekends,\n daysToModify,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={\n labelType === \"icon\" && icon ? (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\n />\n ) : (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n )\n }\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"file":"SelectDate.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"Slide.d.ts","sourceRoot":"","sources":["../../../../../src/components/Transitions/Slide/Slide.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,YAAY,EAAgB,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,UAAU,MAAO,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;IACvD,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,MAAM,CAiE5B,CAAC"}
1
+ {"version":3,"file":"Slide.d.ts","sourceRoot":"","sources":["../../../../../src/components/Transitions/Slide/Slide.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,YAAY,EAAgB,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,UAAU,MAAO,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;IACvD,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,MAAM,CA0D5B,CAAC"}
@@ -1,17 +1,19 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ var _excluded = ["in", "children", "style", "timeout", "initialDirection"];
2
4
  import React, { cloneElement } from "react";
3
5
  import { Transition } from "react-transition-group";
4
6
  export var Slide = function Slide(_ref) {
5
7
  var _ref$in = _ref.in,
6
8
  inProp = _ref$in === void 0 ? false : _ref$in,
7
- onEnter = _ref.onEnter,
8
- onExited = _ref.onExited,
9
9
  children = _ref.children,
10
10
  style = _ref.style,
11
11
  _ref$timeout = _ref.timeout,
12
12
  timeout = _ref$timeout === void 0 ? 300 : _ref$timeout,
13
13
  _ref$initialDirection = _ref.initialDirection,
14
- initialDirection = _ref$initialDirection === void 0 ? "left" : _ref$initialDirection;
14
+ initialDirection = _ref$initialDirection === void 0 ? "left" : _ref$initialDirection,
15
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
16
+
15
17
  var directionSign;
16
18
 
17
19
  switch (initialDirection) {
@@ -51,13 +53,10 @@ export var Slide = function Slide(_ref) {
51
53
  transform: "translate(" + directionSign + ")"
52
54
  }
53
55
  };
54
- return /*#__PURE__*/React.createElement(Transition, {
55
- appear: true,
56
+ return /*#__PURE__*/React.createElement(Transition, _extends({
56
57
  in: inProp,
57
- timeout: timeout,
58
- onEnter: onEnter,
59
- onExited: onExited
60
- }, function (state) {
58
+ timeout: timeout
59
+ }, rest), function (state) {
61
60
  return /*#__PURE__*/cloneElement(children, {
62
61
  style: _extends({
63
62
  visibility: state === "exited" && !inProp ? "hidden" : undefined
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Transitions/Slide/Slide.tsx"],"names":["React","cloneElement","Transition","Slide","in","inProp","onEnter","onExited","children","style","timeout","initialDirection","directionSign","defaultStyle","transition","transitionStyles","entering","transform","entered","exiting","exited","state","visibility","undefined","props","displayName"],"mappings":";AAAA,OAAOA,KAAP,IAAkCC,YAAlC,QAAsD,OAAtD;AACA,SAASC,UAAT,QAA2B,wBAA3B;AASA,OAAO,IAAMC,KAAiB,GAAG,SAApBA,KAAoB,OAQ3B;AAAA,qBAPJC,EAOI;AAAA,MAPAC,MAOA,wBAPS,KAOT;AAAA,MANJC,OAMI,QANJA,OAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,MAHJC,KAGI,QAHJA,KAGI;AAAA,0BAFJC,OAEI;AAAA,MAFJA,OAEI,6BAFM,GAEN;AAAA,mCADJC,gBACI;AAAA,MADJA,gBACI,sCADe,MACf;AACJ,MAAIC,aAAJ;;AAEA,UAAQD,gBAAR;AACE,SAAK,OAAL;AACEC,MAAAA,aAAa,GAAG,SAAhB;AACA;;AACF,SAAK,KAAL;AACEA,MAAAA,aAAa,GAAG,UAAhB;AACA;;AACF,SAAK,QAAL;AACEA,MAAAA,aAAa,GAAG,SAAhB;AACA;;AACF;AACEA,MAAAA,aAAa,GAAG,UAAhB;AAXJ;;AAcA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAACH,OAAD;AAAA,WAAuD;AAC1EI,MAAAA,UAAU,WAASJ,OAAT;AADgE,KAAvD;AAAA,GAArB;;AAIA,MAAMK,gBAAgB,GAAG;AACvBC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,SAAS;AADD,KADa;AAIvBC,IAAAA,OAAO,EAAE;AACPD,MAAAA,SAAS;AADF,KAJc;AAOvBE,IAAAA,OAAO,EAAE;AACPF,MAAAA,SAAS,iBAAeL,aAAf;AADF,KAPc;AAUvBQ,IAAAA,MAAM,EAAE;AACNH,MAAAA,SAAS,iBAAeL,aAAf;AADH;AAVe,GAAzB;AAeA,sBACE,oBAAC,UAAD;AACE,IAAA,MAAM,MADR;AAEE,IAAA,EAAE,EAAEP,MAFN;AAGE,IAAA,OAAO,EAAEK,OAHX;AAIE,IAAA,OAAO,EAAEJ,OAJX;AAKE,IAAA,QAAQ,EAAEC;AALZ,KAOG,UAACc,KAAD,EAAyB;AACxB,wBAAOpB,YAAY,CAACO,QAAD,EAAW;AAC5BC,MAAAA,KAAK;AACHa,QAAAA,UAAU,EAAED,KAAK,KAAK,QAAV,IAAsB,CAAChB,MAAvB,GAAgC,QAAhC,GAA2CkB;AADpD,SAEAV,YAAY,CAACH,OAAD,CAFZ,EAGAK,gBAAgB,CAACM,KAAD,CAHhB,EAIAZ,KAJA,EAKAD,QAAQ,CAACgB,KAAT,CAAef,KALf;AADuB,KAAX,CAAnB;AASD,GAjBH,CADF;AAqBD,CAjEM;AAmEPN,KAAK,CAACsB,WAAN,GAAoB,OAApB","sourcesContent":["import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface ISlide extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n initialDirection?: string;\n}\n\nexport const Slide: FC<ISlide> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 300,\n initialDirection = \"left\",\n}) => {\n let directionSign: string;\n\n switch (initialDirection) {\n case \"right\":\n directionSign = \"100%, 0\";\n break;\n case \"top\":\n directionSign = \"0, -100%\";\n break;\n case \"bottom\":\n directionSign = \"0, 100%\";\n break;\n default:\n directionSign = \"-100%, 0\";\n }\n\n const defaultStyle = (timeout: number): Partial<{ transition: string }> => ({\n transition: `all ${timeout}ms ease`,\n });\n\n const transitionStyles = {\n entering: {\n transform: `translate(0,0)`,\n },\n entered: {\n transform: `translate(0,0)`,\n },\n exiting: {\n transform: `translate(${directionSign})`,\n },\n exited: {\n transform: `translate(${directionSign})`,\n },\n };\n\n return (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={onEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle(timeout),\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nSlide.displayName = \"Slide\";\n"],"file":"Slide.js"}
1
+ {"version":3,"sources":["../../../../../src/components/Transitions/Slide/Slide.tsx"],"names":["React","cloneElement","Transition","Slide","in","inProp","children","style","timeout","initialDirection","rest","directionSign","defaultStyle","transition","transitionStyles","entering","transform","entered","exiting","exited","state","visibility","undefined","props","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAAkCC,YAAlC,QAAsD,OAAtD;AACA,SAASC,UAAT,QAA2B,wBAA3B;AASA,OAAO,IAAMC,KAAiB,GAAG,SAApBA,KAAoB,OAO3B;AAAA,qBANJC,EAMI;AAAA,MANAC,MAMA,wBANS,KAMT;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,KAII,QAJJA,KAII;AAAA,0BAHJC,OAGI;AAAA,MAHJA,OAGI,6BAHM,GAGN;AAAA,mCAFJC,gBAEI;AAAA,MAFJA,gBAEI,sCAFe,MAEf;AAAA,MADDC,IACC;;AACJ,MAAIC,aAAJ;;AAEA,UAAQF,gBAAR;AACE,SAAK,OAAL;AACEE,MAAAA,aAAa,GAAG,SAAhB;AACA;;AACF,SAAK,KAAL;AACEA,MAAAA,aAAa,GAAG,UAAhB;AACA;;AACF,SAAK,QAAL;AACEA,MAAAA,aAAa,GAAG,SAAhB;AACA;;AACF;AACEA,MAAAA,aAAa,GAAG,UAAhB;AAXJ;;AAcA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAACJ,OAAD;AAAA,WAAuD;AAC1EK,MAAAA,UAAU,WAASL,OAAT;AADgE,KAAvD;AAAA,GAArB;;AAIA,MAAMM,gBAAgB,GAAG;AACvBC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,SAAS;AADD,KADa;AAIvBC,IAAAA,OAAO,EAAE;AACPD,MAAAA,SAAS;AADF,KAJc;AAOvBE,IAAAA,OAAO,EAAE;AACPF,MAAAA,SAAS,iBAAeL,aAAf;AADF,KAPc;AAUvBQ,IAAAA,MAAM,EAAE;AACNH,MAAAA,SAAS,iBAAeL,aAAf;AADH;AAVe,GAAzB;AAeA,sBACE,oBAAC,UAAD;AAAY,IAAA,EAAE,EAAEN,MAAhB;AAAwB,IAAA,OAAO,EAAEG;AAAjC,KAA8CE,IAA9C,GACG,UAACU,KAAD,EAAyB;AACxB,wBAAOnB,YAAY,CAACK,QAAD,EAAW;AAC5BC,MAAAA,KAAK;AACHc,QAAAA,UAAU,EAAED,KAAK,KAAK,QAAV,IAAsB,CAACf,MAAvB,GAAgC,QAAhC,GAA2CiB;AADpD,SAEAV,YAAY,CAACJ,OAAD,CAFZ,EAGAM,gBAAgB,CAACM,KAAD,CAHhB,EAIAb,KAJA,EAKAD,QAAQ,CAACiB,KAAT,CAAehB,KALf;AADuB,KAAX,CAAnB;AASD,GAXH,CADF;AAeD,CA1DM;AA4DPJ,KAAK,CAACqB,WAAN,GAAoB,OAApB","sourcesContent":["import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { TransitionProps } from \"../types\";\n\ninterface ISlide extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n initialDirection?: string;\n}\n\nexport const Slide: FC<ISlide> = ({\n in: inProp = false,\n children,\n style,\n timeout = 300,\n initialDirection = \"left\",\n ...rest\n}) => {\n let directionSign: string;\n\n switch (initialDirection) {\n case \"right\":\n directionSign = \"100%, 0\";\n break;\n case \"top\":\n directionSign = \"0, -100%\";\n break;\n case \"bottom\":\n directionSign = \"0, 100%\";\n break;\n default:\n directionSign = \"-100%, 0\";\n }\n\n const defaultStyle = (timeout: number): Partial<{ transition: string }> => ({\n transition: `all ${timeout}ms ease`,\n });\n\n const transitionStyles = {\n entering: {\n transform: `translate(0,0)`,\n },\n entered: {\n transform: `translate(0,0)`,\n },\n exiting: {\n transform: `translate(${directionSign})`,\n },\n exited: {\n transform: `translate(${directionSign})`,\n },\n };\n\n return (\n <Transition in={inProp} timeout={timeout} {...rest}>\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle(timeout),\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nSlide.displayName = \"Slide\";\n"],"file":"Slide.js"}
@@ -2,7 +2,6 @@ import { FC, ReactElement } from "react";
2
2
  import { TransitionProps } from "../types";
3
3
  interface ISlideLeftRightTransition extends TransitionProps {
4
4
  children: ReactElement;
5
- timeout?: number;
6
5
  direction?: "left" | "right";
7
6
  }
8
7
  export declare const SlideLeftRightTransition: FC<ISlideLeftRightTransition>;
@@ -1 +1 @@
1
- {"version":3,"file":"SlideLeftRightTransition.d.ts","sourceRoot":"","sources":["../../../../../src/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,YAAY,EAAgB,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,UAAU,yBAA0B,SAAQ,eAAe;IACzD,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,wBAAwB,EAAE,EAAE,CAAC,yBAAyB,CAyClE,CAAC"}
1
+ {"version":3,"file":"SlideLeftRightTransition.d.ts","sourceRoot":"","sources":["../../../../../src/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI3C,UAAU,yBAA0B,SAAQ,eAAe;IACzD,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,wBAAwB,EAAE,EAAE,CAAC,yBAAyB,CAalE,CAAC"}
@@ -1,46 +1,22 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import React, { cloneElement } from "react";
3
- import { Transition } from "react-transition-group";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ var _excluded = ["children", "direction"];
4
+ import React from "react";
5
+ import { CSSTransition } from "react-transition-group";
6
+ import { StyledSlideLeftRight } from "./Styles";
4
7
  export var SlideLeftRightTransition = function SlideLeftRightTransition(_ref) {
5
- var _ref$in = _ref.in,
6
- inProp = _ref$in === void 0 ? false : _ref$in,
8
+ var children = _ref.children,
7
9
  _ref$direction = _ref.direction,
8
10
  direction = _ref$direction === void 0 ? "left" : _ref$direction,
9
- onEnter = _ref.onEnter,
10
- onExited = _ref.onExited,
11
- _ref$timeout = _ref.timeout,
12
- timeout = _ref$timeout === void 0 ? 200 : _ref$timeout,
13
- children = _ref.children,
14
- style = _ref.style;
15
- var transitionStyles = {
16
- entering: {
17
- position: "absolute",
18
- transform: direction === "left" ? "translateX(100%)" : "translateX(-100%)"
19
- },
20
- entered: {
21
- transform: "translateX(0%)",
22
- transition: "all " + timeout + "ms ease"
23
- },
24
- exiting: {
25
- position: "absolute"
26
- },
27
- exited: {
28
- transform: direction === "left" ? "translateX(-100%)" : "translateX(100%)",
29
- transition: "all " + timeout + "ms ease"
30
- }
31
- };
32
- return /*#__PURE__*/React.createElement(Transition, {
33
- in: inProp,
34
- timeout: 0,
35
- onEnter: onEnter,
36
- onExited: onExited
37
- }, function (state) {
38
- return /*#__PURE__*/cloneElement(children, {
39
- style: _extends({
40
- visibility: state === "exited" && !inProp ? "hidden" : undefined
41
- }, transitionStyles[state], style, children.props.style)
42
- });
43
- });
11
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
12
+
13
+ return /*#__PURE__*/React.createElement(CSSTransition, _extends({
14
+ timeout: 200,
15
+ classNames: "c-slide",
16
+ unmountOnExit: true
17
+ }, props), /*#__PURE__*/React.createElement(React.Fragment, null, children, /*#__PURE__*/React.createElement(StyledSlideLeftRight, {
18
+ $direction: direction
19
+ })));
44
20
  };
45
21
  SlideLeftRightTransition.displayName = "SlideLeftRightTransition";
46
22
  //# sourceMappingURL=SlideLeftRightTransition.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.tsx"],"names":["React","cloneElement","Transition","SlideLeftRightTransition","in","inProp","direction","onEnter","onExited","timeout","children","style","transitionStyles","entering","position","transform","entered","transition","exiting","exited","state","visibility","undefined","props","displayName"],"mappings":";AAAA,OAAOA,KAAP,IAAkCC,YAAlC,QAAsD,OAAtD;AAEA,SAASC,UAAT,QAA2B,wBAA3B;AAQA,OAAO,IAAMC,wBAAuD,GAAG,SAA1DA,wBAA0D,OAQjE;AAAA,qBAPJC,EAOI;AAAA,MAPAC,MAOA,wBAPS,KAOT;AAAA,4BANJC,SAMI;AAAA,MANJA,SAMI,+BANQ,MAMR;AAAA,MALJC,OAKI,QALJA,OAKI;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,0BAHJC,OAGI;AAAA,MAHJA,OAGI,6BAHM,GAGN;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,MADJC,KACI,QADJA,KACI;AACJ,MAAMC,gBAAgB,GAAG;AACvBC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,QAAQ,EAAE,UADF;AAERC,MAAAA,SAAS,EACPT,SAAS,KAAK,MAAd,GAAuB,kBAAvB,GAA4C;AAHtC,KADa;AAMvBU,IAAAA,OAAO,EAAE;AACPD,MAAAA,SAAS,EAAE,gBADJ;AAEPE,MAAAA,UAAU,WAASR,OAAT;AAFH,KANc;AAUvBS,IAAAA,OAAO,EAAE;AAAEJ,MAAAA,QAAQ,EAAE;AAAZ,KAVc;AAWvBK,IAAAA,MAAM,EAAE;AACNJ,MAAAA,SAAS,EACPT,SAAS,KAAK,MAAd,GAAuB,mBAAvB,GAA6C,kBAFzC;AAGNW,MAAAA,UAAU,WAASR,OAAT;AAHJ;AAXe,GAAzB;AAkBA,sBACE,oBAAC,UAAD;AAAY,IAAA,EAAE,EAAEJ,MAAhB;AAAwB,IAAA,OAAO,EAAE,CAAjC;AAAoC,IAAA,OAAO,EAAEE,OAA7C;AAAsD,IAAA,QAAQ,EAAEC;AAAhE,KACG,UAACY,KAAD,EAAyB;AACxB,wBAAOnB,YAAY,CAACS,QAAD,EAAW;AAC5BC,MAAAA,KAAK;AACHU,QAAAA,UAAU,EAAED,KAAK,KAAK,QAAV,IAAsB,CAACf,MAAvB,GAAgC,QAAhC,GAA2CiB;AADpD,SAEAV,gBAAgB,CAACQ,KAAD,CAFhB,EAGAT,KAHA,EAIAD,QAAQ,CAACa,KAAT,CAAeZ,KAJf;AADuB,KAAX,CAAnB;AAQD,GAVH,CADF;AAcD,CAzCM;AA2CPR,wBAAwB,CAACqB,WAAzB,GAAuC,0BAAvC","sourcesContent":["import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { TransitionProps } from \"../types\";\nimport { Transition } from \"react-transition-group\";\n\ninterface ISlideLeftRightTransition extends TransitionProps {\n children: ReactElement;\n timeout?: number;\n direction?: \"left\" | \"right\";\n}\n\nexport const SlideLeftRightTransition: FC<ISlideLeftRightTransition> = ({\n in: inProp = false,\n direction = \"left\",\n onEnter,\n onExited,\n timeout = 200,\n children,\n style,\n}) => {\n const transitionStyles = {\n entering: {\n position: \"absolute\",\n transform:\n direction === \"left\" ? \"translateX(100%)\" : \"translateX(-100%)\",\n },\n entered: {\n transform: \"translateX(0%)\",\n transition: `all ${timeout}ms ease`,\n },\n exiting: { position: \"absolute\" },\n exited: {\n transform:\n direction === \"left\" ? \"translateX(-100%)\" : \"translateX(100%)\",\n transition: `all ${timeout}ms ease`,\n },\n };\n\n return (\n <Transition in={inProp} timeout={0} onEnter={onEnter} onExited={onExited}>\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nSlideLeftRightTransition.displayName = \"SlideLeftRightTransition\";\n"],"file":"SlideLeftRightTransition.js"}
1
+ {"version":3,"sources":["../../../../../src/components/Transitions/SlideLeftRightTransition/SlideLeftRightTransition.tsx"],"names":["React","CSSTransition","StyledSlideLeftRight","SlideLeftRightTransition","children","direction","props","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,MAAwC,OAAxC;AAEA,SAASC,aAAT,QAA8B,wBAA9B;AACA,SAASC,oBAAT,QAAqC,UAArC;AAOA,OAAO,IAAMC,wBAAuD,GAAG,SAA1DA,wBAA0D,OAIjE;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,4BAFJC,SAEI;AAAA,MAFJA,SAEI,+BAFQ,MAER;AAAA,MADDC,KACC;;AACJ,sBACE,oBAAC,aAAD;AAAe,IAAA,OAAO,EAAE,GAAxB;AAA6B,IAAA,UAAU,EAAC,SAAxC;AAAkD,IAAA,aAAa;AAA/D,KAAoEA,KAApE,gBACE,0CACGF,QADH,eAEE,oBAAC,oBAAD;AAAsB,IAAA,UAAU,EAAEC;AAAlC,IAFF,CADF,CADF;AAQD,CAbM;AAePF,wBAAwB,CAACI,WAAzB,GAAuC,0BAAvC","sourcesContent":["import React, { FC, ReactElement } from \"react\";\nimport { TransitionProps } from \"../types\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { StyledSlideLeftRight } from \"./Styles\";\n\ninterface ISlideLeftRightTransition extends TransitionProps {\n children: ReactElement;\n direction?: \"left\" | \"right\";\n}\n\nexport const SlideLeftRightTransition: FC<ISlideLeftRightTransition> = ({\n children,\n direction = \"left\",\n ...props\n}) => {\n return (\n <CSSTransition timeout={200} classNames=\"c-slide\" unmountOnExit {...props}>\n <>\n {children}\n <StyledSlideLeftRight $direction={direction} />\n </>\n </CSSTransition>\n );\n};\n\nSlideLeftRightTransition.displayName = \"SlideLeftRightTransition\";\n"],"file":"SlideLeftRightTransition.js"}
@@ -0,0 +1,4 @@
1
+ export declare const StyledSlideLeftRight: import("styled-components").GlobalStyleComponent<{
2
+ $direction: "left" | "right";
3
+ }, import("styled-components").DefaultTheme>;
4
+ //# sourceMappingURL=Styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Transitions/SlideLeftRightTransition/Styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB;gBACnB,MAAM,GAAG,OAAO;4CA6C7B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { createGlobalStyle, css } from "styled-components";
2
+ export var StyledSlideLeftRight = createGlobalStyle(["", " ", ""], function (props) {
3
+ return props.$direction === "left" && css(["&.c-slide-enter{position:absolute;transform:translateX(100%);}&.c-slide-enter-active{transform:translateX(0%);transition:all 200ms ease;}&.c-slide-exit{position:absolute;}&.c-slide-exit-active{transform:translateX(-100%);transition:all 200ms ease;}"]);
4
+ }, function (props) {
5
+ return props.$direction === "right" && css(["&.c-slide-enter{position:absolute;transform:translateX(-100%);}&.c-slide-enter-active{transform:translateX(0%);transition:all 200ms ease;}&.c-slide-exit{position:absolute;}&.c-slide-exit-active{transform:translateX(100%);transition:all 200ms ease;}"]);
6
+ });
7
+ //# sourceMappingURL=Styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Transitions/SlideLeftRightTransition/Styles.ts"],"names":["createGlobalStyle","css","StyledSlideLeftRight","props","$direction"],"mappings":"AAAA,SAASA,iBAAT,EAA4BC,GAA5B,QAAuC,mBAAvC;AAEA,OAAO,IAAMC,oBAAoB,GAAGF,iBAAH,gBAI/B,UAACG,KAAD;AAAA,SACAA,KAAK,CAACC,UAAN,KAAqB,MAArB,IACAH,GADA,8PADA;AAAA,CAJ+B,EAwB7B,UAACE,KAAD;AAAA,SACAA,KAAK,CAACC,UAAN,KAAqB,OAArB,IACAH,GADA,8PADA;AAAA,CAxB6B,CAA1B","sourcesContent":["import { createGlobalStyle, css } from \"styled-components\";\n\nexport const StyledSlideLeftRight = createGlobalStyle<{\n $direction: \"left\" | \"right\";\n}>`\n\n${(props) =>\n props.$direction === \"left\" &&\n css`\n &.c-slide-enter {\n position: absolute;\n transform: translateX(100%);\n }\n &.c-slide-enter-active {\n transform: translateX(0%);\n transition: all 200ms ease;\n }\n &.c-slide-exit {\n position: absolute;\n }\n &.c-slide-exit-active {\n transform: translateX(-100%);\n transition: all 200ms ease;\n }\n `}\n\n ${(props) =>\n props.$direction === \"right\" &&\n css`\n &.c-slide-enter {\n position: absolute;\n transform: translateX(-100%);\n }\n &.c-slide-enter-active {\n transform: translateX(0%);\n transition: all 200ms ease;\n }\n\n &.c-slide-exit {\n position: absolute;\n }\n\n &.c-slide-exit-active {\n transform: translateX(100%);\n transition: all 200ms ease;\n }\n `}\n\n`;\n"],"file":"Styles.js"}