@activecollab/components 2.0.254 → 2.0.256

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.
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDate.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_momentTimezone","_SelectDateTarget","_Styles","_dateUtils","_DatePicker","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","isDayInRange","day","data","fromMoment","moment","unix","from","utc","toMoment","to","repeating","year","month","date","isSameOrAfter","isSameOrBefore","SelectDate","exports","_ref","_ref$changeMode","changeMode","mode","_ref$trigger","trigger","labelType","_ref$saveButtonText","saveButtonText","_ref$cancelButtonText","cancelButtonText","_ref$clearButtonText","clearButtonText","_ref$modalHeaderText","modalHeaderText","_ref$modalDiscardMess","modalDiscardMessage","_ref$modalDiscardBtnT","modalDiscardBtnText","_ref$modalCancelBtnTe","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","_ref$required","required","dateRequired","_ref$longDateFormat","longDateFormat","_ref$defaultShowDateP","defaultShowDatePicker","_ref$firstDayOfWeek","firstDayOfWeek","selectedDays","_ref$selectionMode","selectionMode","menuClassName","targetClassName","icon","_ref$defaultLabelText","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","forceClose","defaultMonth","_ref$daysToModify","daysToModify","_ref$weekends","weekends","_ref$weekendLabel","weekendLabel","_ref$nonWorkingDaysOf","nonWorkingDaysOfWeek","_ref$nonWorkingDaysOf2","nonWorkingDaysOfWeekLabel","_ref$weekendIsSelecta","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","enableYearPicker","disableAnimations","disabledDaysAfter","onChange","labelText","useMemo","formattedEndDate","formatDate","formattedStartDate","isSame","concat","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","matchedData","find","matched","title","weekend","isWeekend","includes","nonWorkingDay","nonWorkingDays","isNonWorkingDay","day_disabled","globalDayOff","renderTargetEl","createElement","SelectDateTarget","StyledSelectDateButton","className","classnames","StyledSelectDate","DatePicker","target","instant","selected","saveLabel","cancelLabel","clearLabel","onClose","disabledDaysBefore","disabled","open","onCalendarToggle","enableConfirmModal","disableYearPicker","showControls","displayName"],"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"sourcesContent":["import React, { ElementType, FC, useMemo, CSSProperties } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\nimport { Moment } from \"moment\";\nimport moment from \"moment-timezone\";\n\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport { StyledSelectDate, StyledSelectDateButton } from \"./Styles\";\nimport { DaysToModify } from \"./types\";\nimport { formatDate } from \"../../utils/dateUtils\";\nimport {\n ChangeMode,\n DatePicker,\n TimestampDateRange,\n toMoment,\n} from \"../DatePicker/DatePicker\";\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\nconst isDayInRange = (day: Moment, data: DaysToModify): boolean => {\n const fromMoment = moment.unix(data.from).utc();\n const toMoment = moment.unix(data.to).utc();\n\n if (data.repeating) {\n const year = day.year();\n const from = moment.utc({\n year,\n month: fromMoment.month(),\n date: fromMoment.date(),\n });\n const to = moment.utc({\n year,\n month: toMoment.month(),\n date: toMoment.date(),\n });\n\n return day.isSameOrAfter(from, \"day\") && day.isSameOrBefore(to, \"day\");\n }\n\n return (\n day.isSameOrAfter(fromMoment, \"day\") && day.isSameOrBefore(toMoment, \"day\")\n );\n};\n\nexport interface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\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: Moment, modifiers: string[]) => void;\n /** Save changes callback */\n onSave?: (dates?: TimestampDateRange) => void;\n /** Changing dates callback */\n onChange?: (dates?: TimestampDateRange) => void;\n /** On cancel closes datepicker or opens discard 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 /** Force close */\n forceClose?: boolean;\n /** Set selected day or days */\n selectedDays?: TimestampDateRange;\n /** Set month */\n defaultMonth?: Moment;\n /** Set selection range */\n selectionMode?: ChangeMode;\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 first day of week */\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\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 /** Array of nonworking week days */\n nonWorkingDaysOfWeek?: number[];\n /** Nonworking week days label */\n nonWorkingDaysOfWeekLabel?: 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?: Moment;\n /** Disable days after specified date */\n disabledDaysAfter?: Moment;\n /** Enable year selector */\n enableYearPicker?: boolean;\n /** Disable aniamtions */\n disableAnimations?: boolean;\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 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,\n forceClose,\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n nonWorkingDaysOfWeek = [],\n nonWorkingDaysOfWeekLabel = \"Unavailable\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n enableYearPicker,\n disableAnimations,\n disabledDaysAfter,\n onChange,\n}) => {\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else if (!selectedDays.from && !selectedDays.to) {\n return defaultLabelText;\n } else {\n const formattedEndDate = selectedDays.to\n ? formatDate(toMoment(selectedDays.to), dateFormat, longDateFormat)\n : \"\";\n const formattedStartDate = selectedDays.from\n ? formatDate(toMoment(selectedDays?.from), dateFormat, longDateFormat)\n : \"\";\n\n if (\n selectedDays.to &&\n selectedDays.from &&\n toMoment(selectedDays.from).isSame(toMoment(selectedDays.to))\n ) {\n return formattedEndDate;\n }\n\n if (!selectedDays.to && selectedDays.from) {\n return formattedStartDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [selectedDays, dateFormat, defaultLabelText, longDateFormat]);\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 userAvailability: (day: Moment) => {\n const matchedData = userAvailabilities.find((data) =>\n isDayInRange(day, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n weekend: (day: Moment) => {\n const isWeekend = weekends.includes(day.day());\n return {\n matched: isWeekend,\n title: isWeekend ? weekendLabel : null,\n };\n },\n nonWorkingDay: (day: Moment) => {\n if (weekends.includes(day.day())) {\n return { matched: true, title: \"\" };\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n\n const matchedData = nonWorkingDays.find((data) =>\n isDayInRange(day, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n nonWorkingDaysOfWeek: (day: Moment) => {\n const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.day());\n return {\n matched: isNonWorkingDay,\n title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null,\n };\n },\n day_disabled: (day: Moment) => {\n const globalDayOff = globalDaysOff.find((data) =>\n isDayInRange(day, data)\n );\n\n return {\n matched: !!globalDayOff,\n title: null,\n };\n },\n };\n }, [\n daysToModify,\n nonWorkingDaysOfWeek,\n nonWorkingDaysOfWeekLabel,\n weekendLabel,\n weekends,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <DatePicker\n target={renderTargetEl}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n onSave={onSave}\n onChange={onChange}\n onClose={onCancel}\n modifiers={modifiers}\n modalHeaderText={modalHeaderText}\n modalDiscardMessage={modalDiscardMessage}\n modalDiscardBtnText={modalDiscardBtnText}\n modalCancelBtnText={modalCancelBtnText}\n disabledDaysBefore={disableDaysBefore}\n disabledDaysAfter={disabledDaysAfter}\n backgroundElementClass={backgroundElementClass}\n disabled={weekendIsSelectable ? [] : weekends}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n open={defaultShowDatePicker}\n onCalendarToggle={onToggleDatePicker}\n onDayClick={onDayClick}\n enableConfirmModal={mode === \"atomic\" && !dateRequired}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n forceClose={forceClose}\n />\n ) : (\n <DatePicker\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n disabledDaysBefore={disableDaysBefore}\n disabledDaysAfter={disabledDaysAfter}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n disabled={weekendIsSelectable ? [] : weekends}\n onSave={onSave}\n onChange={onChange}\n modifiers={modifiers}\n onDayClick={onDayClick}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n open\n />\n )}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectDate.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_momentTimezone","_SelectDateTarget","_Styles","_dateUtils","_DatePicker","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","isDayInRange","day","data","fromMoment","moment","unix","from","utc","toMoment","to","repeating","year","month","date","isSameOrAfter","isSameOrBefore","SelectDate","exports","_ref","_ref$changeMode","changeMode","mode","_ref$trigger","trigger","labelType","_ref$saveButtonText","saveButtonText","_ref$cancelButtonText","cancelButtonText","_ref$clearButtonText","clearButtonText","_ref$modalTitle","modalTitle","_ref$modalDescription","modalDescription","_ref$modalSaveBtnText","modalSaveBtnText","_ref$modalCancelBtnTe","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","_ref$required","required","dateRequired","_ref$longDateFormat","longDateFormat","_ref$defaultShowDateP","defaultShowDatePicker","_ref$firstDayOfWeek","firstDayOfWeek","selectedDays","_ref$selectionMode","selectionMode","menuClassName","targetClassName","icon","_ref$defaultLabelText","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","forceClose","defaultMonth","_ref$daysToModify","daysToModify","_ref$weekends","weekends","_ref$weekendLabel","weekendLabel","_ref$nonWorkingDaysOf","nonWorkingDaysOfWeek","_ref$nonWorkingDaysOf2","nonWorkingDaysOfWeekLabel","_ref$weekendIsSelecta","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","enableYearPicker","disableAnimations","disabledDaysAfter","onChange","labelText","useMemo","formattedEndDate","formatDate","formattedStartDate","isSame","concat","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","matchedData","find","matched","title","weekend","isWeekend","includes","nonWorkingDay","nonWorkingDays","isNonWorkingDay","day_disabled","globalDayOff","renderTargetEl","createElement","SelectDateTarget","StyledSelectDateButton","className","classnames","StyledSelectDate","DatePicker","target","instant","selected","saveLabel","cancelLabel","clearLabel","onClose","disabledDaysBefore","disabled","open","onCalendarToggle","enableConfirmModal","disableYearPicker","showControls","displayName"],"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"sourcesContent":["import React, { ElementType, FC, useMemo, CSSProperties } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\nimport { Moment } from \"moment\";\nimport moment from \"moment-timezone\";\n\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport { StyledSelectDate, StyledSelectDateButton } from \"./Styles\";\nimport { DaysToModify } from \"./types\";\nimport { formatDate } from \"../../utils/dateUtils\";\nimport {\n ChangeMode,\n DatePicker,\n TimestampDateRange,\n toMoment,\n} from \"../DatePicker/DatePicker\";\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\nconst isDayInRange = (day: Moment, data: DaysToModify): boolean => {\n const fromMoment = moment.unix(data.from).utc();\n const toMoment = moment.unix(data.to).utc();\n\n if (data.repeating) {\n const year = day.year();\n const from = moment.utc({\n year,\n month: fromMoment.month(),\n date: fromMoment.date(),\n });\n const to = moment.utc({\n year,\n month: toMoment.month(),\n date: toMoment.date(),\n });\n\n return day.isSameOrAfter(from, \"day\") && day.isSameOrBefore(to, \"day\");\n }\n\n return (\n day.isSameOrAfter(fromMoment, \"day\") && day.isSameOrBefore(toMoment, \"day\")\n );\n};\n\nexport interface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal title text */\n modalTitle?: string;\n /** Modal description text */\n modalDescription?: string;\n /** Modal save button text */\n modalSaveBtnText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Moment, modifiers: string[]) => void;\n /** Save changes callback */\n onSave?: (dates?: TimestampDateRange) => void;\n /** Changing dates callback */\n onChange?: (dates?: TimestampDateRange) => void;\n /** On cancel closes datepicker or opens discard 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 /** Force close */\n forceClose?: boolean;\n /** Set selected day or days */\n selectedDays?: TimestampDateRange;\n /** Set month */\n defaultMonth?: Moment;\n /** Set selection range */\n selectionMode?: ChangeMode;\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 first day of week */\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\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 /** Array of nonworking week days */\n nonWorkingDaysOfWeek?: number[];\n /** Nonworking week days label */\n nonWorkingDaysOfWeekLabel?: 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?: Moment;\n /** Disable days after specified date */\n disabledDaysAfter?: Moment;\n /** Enable year selector */\n enableYearPicker?: boolean;\n /** Disable aniamtions */\n disableAnimations?: boolean;\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 modalTitle = \"Save Changes\",\n modalDescription = \"You updated the date. Would you like to save this change?\",\n modalSaveBtnText = \"Save\",\n modalCancelBtnText = \"Discard\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = 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,\n forceClose,\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n nonWorkingDaysOfWeek = [],\n nonWorkingDaysOfWeekLabel = \"Unavailable\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n enableYearPicker,\n disableAnimations,\n disabledDaysAfter,\n onChange,\n}) => {\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else if (!selectedDays.from && !selectedDays.to) {\n return defaultLabelText;\n } else {\n const formattedEndDate = selectedDays.to\n ? formatDate(toMoment(selectedDays.to), dateFormat, longDateFormat)\n : \"\";\n const formattedStartDate = selectedDays.from\n ? formatDate(toMoment(selectedDays?.from), dateFormat, longDateFormat)\n : \"\";\n\n if (\n selectedDays.to &&\n selectedDays.from &&\n toMoment(selectedDays.from).isSame(toMoment(selectedDays.to))\n ) {\n return formattedEndDate;\n }\n\n if (!selectedDays.to && selectedDays.from) {\n return formattedStartDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [selectedDays, dateFormat, defaultLabelText, longDateFormat]);\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 userAvailability: (day: Moment) => {\n const matchedData = userAvailabilities.find((data) =>\n isDayInRange(day, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n weekend: (day: Moment) => {\n const isWeekend = weekends.includes(day.day());\n return {\n matched: isWeekend,\n title: isWeekend ? weekendLabel : null,\n };\n },\n nonWorkingDay: (day: Moment) => {\n if (weekends.includes(day.day())) {\n return { matched: true, title: \"\" };\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n\n const matchedData = nonWorkingDays.find((data) =>\n isDayInRange(day, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n nonWorkingDaysOfWeek: (day: Moment) => {\n const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.day());\n return {\n matched: isNonWorkingDay,\n title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null,\n };\n },\n day_disabled: (day: Moment) => {\n const globalDayOff = globalDaysOff.find((data) =>\n isDayInRange(day, data)\n );\n\n return {\n matched: !!globalDayOff,\n title: null,\n };\n },\n };\n }, [\n daysToModify,\n nonWorkingDaysOfWeek,\n nonWorkingDaysOfWeekLabel,\n weekendLabel,\n weekends,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <DatePicker\n target={renderTargetEl}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n onSave={onSave}\n onChange={onChange}\n onClose={onCancel}\n modifiers={modifiers}\n modalTitle={modalTitle}\n modalDescription={modalDescription}\n modalSaveBtnText={modalSaveBtnText}\n modalCancelBtnText={modalCancelBtnText}\n disabledDaysBefore={disableDaysBefore}\n disabledDaysAfter={disabledDaysAfter}\n backgroundElementClass={backgroundElementClass}\n disabled={weekendIsSelectable ? [] : weekends}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n open={defaultShowDatePicker}\n onCalendarToggle={onToggleDatePicker}\n onDayClick={onDayClick}\n enableConfirmModal={mode === \"atomic\" && !dateRequired}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n forceClose={forceClose}\n />\n ) : (\n <DatePicker\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n disabledDaysBefore={disableDaysBefore}\n disabledDaysAfter={disabledDaysAfter}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n disabled={weekendIsSelectable ? [] : weekends}\n onSave={onSave}\n onChange={onChange}\n modifiers={modifiers}\n onDayClick={onDayClick}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n open\n />\n )}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"mappings":"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"}
@@ -3,6 +3,7 @@ export interface AvatarGroupsProps {
3
3
  limit: number;
4
4
  size?: number;
5
5
  hasTooltip?: boolean;
6
+ className?: string;
6
7
  }
7
8
  export declare const AvatarGroup: React.ForwardRefExoticComponent<AvatarGroupsProps & {
8
9
  children?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,WAAW;;wCA6EtB,CAAC"}
1
+ {"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW;;wCAuFvB,CAAC"}
@@ -12,6 +12,7 @@ export const AvatarGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
12
12
  size = 34,
13
13
  children,
14
14
  hasTooltip = false,
15
+ className,
15
16
  ...rest
16
17
  } = _ref;
17
18
  // always display counter with min +2 as +1 can takes space of an 1 more Avatar
@@ -32,6 +33,7 @@ export const AvatarGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
32
33
  return props.alt;
33
34
  });
34
35
  return /*#__PURE__*/React.createElement(AvatarGroupsStyles, _extends({
36
+ className: className,
35
37
  hasTooltip: hasTooltip,
36
38
  ref: ref
37
39
  }, rest), _children.map((child, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.js","names":["React","Children","cloneElement","useMemo","forwardRef","AvatarGroupsStyles","LengthCountStyles","Tooltip","Typography","AvatarGroup","_ref","ref","_Children$toArray","limit","size","children","hasTooltip","rest","minChildren","count","gap","_children","toArray","slice","handleVariant","nameArr","map","item","props","alt","createElement","_extends","child","index","tooltipText","title","disable","key","style","marginLeft","outline","_StyledTooltip","join","_StyledLengthCountStyles","role","$_css","variant","weight","displayName","_styled","withConfig","componentId","whiteSpace","lineHeight","p"],"sources":["../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import React, {\n Children,\n cloneElement,\n PropsWithChildren,\n ReactElement,\n useMemo,\n forwardRef,\n} from \"react\";\n\nimport { AvatarGroupsStyles, LengthCountStyles } from \"./Styles\";\nimport { AvatarProps } from \"../Avatar/Avatar\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Typography } from \"../Typography/Typography\";\n\nexport interface AvatarGroupsProps {\n limit: number;\n size?: number;\n hasTooltip?: boolean;\n}\n\nexport const AvatarGroup = forwardRef<\n HTMLDivElement,\n PropsWithChildren<AvatarGroupsProps>\n>(({ limit, size = 34, children, hasTooltip = false, ...rest }, ref) => {\n // always display counter with min +2 as +1 can takes space of an 1 more Avatar\n const minChildren = Children.count(children) - limit > 1 ? false : true;\n // gap between Avatars\n const gap = 8;\n\n const _children = minChildren\n ? Children.toArray(children)\n : Children.toArray(children).slice(0, limit);\n\n const handleVariant = useMemo(() => {\n if (size >= 34) return \"Caption 1\";\n return \"Caption 2\";\n }, [size]);\n\n // get all names indexed above limit number from alt tag on Avatar for counter tooltip\n const nameArr = Children.toArray(children)\n ?.slice(limit)\n .map((item) => {\n const { props } = item as ReactElement;\n return props.alt;\n });\n\n return (\n <AvatarGroupsStyles hasTooltip={hasTooltip} ref={ref} {...rest}>\n {_children.map((child, index) => {\n const item = child as ReactElement<AvatarProps>;\n const tooltipText = item.props.alt;\n const alt = `Image of ${tooltipText}`;\n return (\n <Tooltip\n title={tooltipText ? tooltipText : \"\"}\n disable={!hasTooltip}\n key={alt}\n >\n {cloneElement(item, {\n ...item.props,\n size: size,\n alt: alt,\n style: {\n // component preserves it's width\n marginLeft: `-${index === 0 ? null : gap}px`,\n outline: \"1px solid var(--page-paper-main)\",\n },\n })}\n </Tooltip>\n );\n })}\n\n {limit >= Children.count(children) || minChildren ? null : (\n <Tooltip\n title={nameArr.join(\",\\n\")}\n disable={!hasTooltip}\n css={{\n whiteSpace: \"break-spaces\",\n lineHeight: \"18px\",\n }}\n >\n <LengthCountStyles\n size={size}\n role=\"status\"\n aria-label=\"Rest of the users\"\n css={{\n marginLeft: `-${gap}px`,\n }}\n >\n <Typography variant={handleVariant} weight=\"medium\">\n +{Children.count(children) - limit}\n </Typography>\n </LengthCountStyles>\n </Tooltip>\n )}\n </AvatarGroupsStyles>\n );\n});\n\nAvatarGroup.displayName = \"AvatarGroup\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"AvatarGroup.js","names":["React","Children","cloneElement","useMemo","forwardRef","AvatarGroupsStyles","LengthCountStyles","Tooltip","Typography","AvatarGroup","_ref","ref","_Children$toArray","limit","size","children","hasTooltip","className","rest","minChildren","count","gap","_children","toArray","slice","handleVariant","nameArr","map","item","props","alt","createElement","_extends","child","index","tooltipText","title","disable","key","style","marginLeft","outline","_StyledTooltip","join","_StyledLengthCountStyles","role","$_css","variant","weight","displayName","_styled","withConfig","componentId","whiteSpace","lineHeight","p"],"sources":["../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import React, {\n Children,\n cloneElement,\n PropsWithChildren,\n ReactElement,\n useMemo,\n forwardRef,\n} from \"react\";\n\nimport { AvatarGroupsStyles, LengthCountStyles } from \"./Styles\";\nimport { AvatarProps } from \"../Avatar/Avatar\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Typography } from \"../Typography/Typography\";\n\nexport interface AvatarGroupsProps {\n limit: number;\n size?: number;\n hasTooltip?: boolean;\n className?: string;\n}\n\nexport const AvatarGroup = forwardRef<\n HTMLDivElement,\n PropsWithChildren<AvatarGroupsProps>\n>(\n (\n { limit, size = 34, children, hasTooltip = false, className, ...rest },\n ref\n ) => {\n // always display counter with min +2 as +1 can takes space of an 1 more Avatar\n const minChildren = Children.count(children) - limit > 1 ? false : true;\n // gap between Avatars\n const gap = 8;\n\n const _children = minChildren\n ? Children.toArray(children)\n : Children.toArray(children).slice(0, limit);\n\n const handleVariant = useMemo(() => {\n if (size >= 34) return \"Caption 1\";\n return \"Caption 2\";\n }, [size]);\n\n // get all names indexed above limit number from alt tag on Avatar for counter tooltip\n const nameArr = Children.toArray(children)\n ?.slice(limit)\n .map((item) => {\n const { props } = item as ReactElement;\n return props.alt;\n });\n\n return (\n <AvatarGroupsStyles\n className={className}\n hasTooltip={hasTooltip}\n ref={ref}\n {...rest}\n >\n {_children.map((child, index) => {\n const item = child as ReactElement<AvatarProps>;\n const tooltipText = item.props.alt;\n const alt = `Image of ${tooltipText}`;\n return (\n <Tooltip\n title={tooltipText ? tooltipText : \"\"}\n disable={!hasTooltip}\n key={alt}\n >\n {cloneElement(item, {\n ...item.props,\n size: size,\n alt: alt,\n style: {\n // component preserves it's width\n marginLeft: `-${index === 0 ? null : gap}px`,\n outline: \"1px solid var(--page-paper-main)\",\n },\n })}\n </Tooltip>\n );\n })}\n\n {limit >= Children.count(children) || minChildren ? null : (\n <Tooltip\n title={nameArr.join(\",\\n\")}\n disable={!hasTooltip}\n css={{\n whiteSpace: \"break-spaces\",\n lineHeight: \"18px\",\n }}\n >\n <LengthCountStyles\n size={size}\n role=\"status\"\n aria-label=\"Rest of the users\"\n css={{\n marginLeft: `-${gap}px`,\n }}\n >\n <Typography variant={handleVariant} weight=\"medium\">\n +{Children.count(children) - limit}\n </Typography>\n </LengthCountStyles>\n </Tooltip>\n )}\n </AvatarGroupsStyles>\n );\n }\n);\n\nAvatarGroup.displayName = \"AvatarGroup\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IACVC,QAAQ,EACRC,YAAY,EAGZC,OAAO,EACPC,UAAU,QACL,OAAO;AAEd,SAASC,kBAAkB,EAAEC,iBAAiB,QAAQ,UAAU;AAEhE,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,UAAU,QAAQ,0BAA0B;AASrD,OAAO,MAAMC,WAAW,gBAAGL,UAAU,CAInC,CAAAM,IAAA,EAEEC,GAAG,KACA;EAAA,IAAAC,iBAAA;EAAA,IAFH;IAAEC,KAAK;IAAEC,IAAI,GAAG,EAAE;IAAEC,QAAQ;IAAEC,UAAU,GAAG,KAAK;IAAEC,SAAS;IAAE,GAAGC;EAAK,CAAC,GAAAR,IAAA;EAGtE;EACA,MAAMS,WAAW,GAAGlB,QAAQ,CAACmB,KAAK,CAACL,QAAQ,CAAC,GAAGF,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI;EACvE;EACA,MAAMQ,GAAG,GAAG,CAAC;EAEb,MAAMC,SAAS,GAAGH,WAAW,GACzBlB,QAAQ,CAACsB,OAAO,CAACR,QAAQ,CAAC,GAC1Bd,QAAQ,CAACsB,OAAO,CAACR,QAAQ,CAAC,CAACS,KAAK,CAAC,CAAC,EAAEX,KAAK,CAAC;EAE9C,MAAMY,aAAa,GAAGtB,OAAO,CAAC,MAAM;IAClC,IAAIW,IAAI,IAAI,EAAE,EAAE,OAAO,WAAW;IAClC,OAAO,WAAW;EACpB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;;EAEV;EACA,MAAMY,OAAO,IAAAd,iBAAA,GAAGX,QAAQ,CAACsB,OAAO,CAACR,QAAQ,CAAC,qBAA1BH,iBAAA,CACZY,KAAK,CAACX,KAAK,CAAC,CACbc,GAAG,CAAEC,IAAI,IAAK;IACb,MAAM;MAAEC;IAAM,CAAC,GAAGD,IAAoB;IACtC,OAAOC,KAAK,CAACC,GAAG;EAClB,CAAC,CAAC;EAEJ,oBACE9B,KAAA,CAAA+B,aAAA,CAAC1B,kBAAkB,EAAA2B,QAAA;IACjBf,SAAS,EAAEA,SAAU;IACrBD,UAAU,EAAEA,UAAW;IACvBL,GAAG,EAAEA;EAAI,GACLO,IAAI,GAEPI,SAAS,CAACK,GAAG,CAAC,CAACM,KAAK,EAAEC,KAAK,KAAK;IAC/B,MAAMN,IAAI,GAAGK,KAAkC;IAC/C,MAAME,WAAW,GAAGP,IAAI,CAACC,KAAK,CAACC,GAAG;IAClC,MAAMA,GAAG,iBAAeK,WAAa;IACrC,oBACEnC,KAAA,CAAA+B,aAAA,CAACxB,OAAO;MACN6B,KAAK,EAAED,WAAW,GAAGA,WAAW,GAAG,EAAG;MACtCE,OAAO,EAAE,CAACrB,UAAW;MACrBsB,GAAG,EAAER;IAAI,gBAER5B,YAAY,CAAC0B,IAAI,EAAE;MAClB,GAAGA,IAAI,CAACC,KAAK;MACbf,IAAI,EAAEA,IAAI;MACVgB,GAAG,EAAEA,GAAG;MACRS,KAAK,EAAE;QACL;QACAC,UAAU,SAAMN,KAAK,KAAK,CAAC,GAAG,IAAI,GAAGb,GAAG,QAAI;QAC5CoB,OAAO,EAAE;MACX;IACF,CAAC,CACM,CAAC;EAEd,CAAC,CAAC,EAED5B,KAAK,IAAIZ,QAAQ,CAACmB,KAAK,CAACL,QAAQ,CAAC,IAAII,WAAW,GAAG,IAAI,gBACtDnB,KAAA,CAAA+B,aAAA,CAAAW,cAAA;IACEN,KAAK,EAAEV,OAAO,CAACiB,IAAI,CAAC,KAAK,CAAE;IAC3BN,OAAO,EAAE,CAACrB;EAAW,gBAMrBhB,KAAA,CAAA+B,aAAA,CAAAa,wBAAA;IACE9B,IAAI,EAAEA,IAAK;IACX+B,IAAI,EAAC,QAAQ;IACb,cAAW,mBAAmB;IAAAC,KAAA,QAEZzB,GAAG;EAAA,gBAGrBrB,KAAA,CAAA+B,aAAA,CAACvB,UAAU;IAACuC,OAAO,EAAEtB,aAAc;IAACuB,MAAM,EAAC;EAAQ,GAAC,GACjD,EAAC/C,QAAQ,CAACmB,KAAK,CAACL,QAAQ,CAAC,GAAGF,KACnB,CACK,CACZ,CAEO,CAAC;AAEzB,CACF,CAAC;AAEDJ,WAAW,CAACwC,WAAW,GAAG,aAAa;AAAC,IAAAP,cAAA,GAAAQ,OAAA,CAAA3C,OAAA,EAAA4C,UAAA;EAAAF,WAAA;EAAAG,WAAA;AAAA,GAxBvB;EACHC,UAAU,EAAE,cAAc;EAC1BC,UAAU,EAAE;AACd,CAAC;AAAA,IAAAV,wBAAA,GAAAM,OAAA,CAAA5C,iBAAA,EAAA6C,UAAA;EAAAF,WAAA;EAAAG,WAAA;AAAA,GAAAG,CAAA,KAMM;EACHf,UAAU,EAAAe,CAAA,CAAAT;AACZ,CAAC"}
@@ -45,14 +45,14 @@ export interface DatePickerProps {
45
45
  /** Menu classes */
46
46
  menuClassName?: string;
47
47
  enableConfirmModal?: boolean;
48
- /** Modal header text */
49
- modalHeaderText?: string;
48
+ /** Modal title text */
49
+ modalTitle?: string;
50
+ /** Modal description text */
51
+ modalDescription?: string;
52
+ /** Modal save button text */
53
+ modalSaveBtnText?: string;
50
54
  /** Modal cancel button text */
51
55
  modalCancelBtnText?: string;
52
- /** Modal discard button text */
53
- modalDiscardBtnText?: string;
54
- /** Modal discard message text */
55
- modalDiscardMessage?: string;
56
56
  /** Popper Tooltip style */
57
57
  popperTooltipStyle?: CSSProperties;
58
58
  /** Popper Tooltip class name*/
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
@@ -43,10 +43,10 @@ export const DatePicker = _ref => {
43
43
  menuClassName,
44
44
  popperClassName,
45
45
  enableConfirmModal = false,
46
- modalHeaderText = "Discard changes?",
47
- modalDiscardMessage = "All unsaved changes will be lost.",
48
- modalDiscardBtnText = "OK",
49
- modalCancelBtnText = "Cancel",
46
+ modalTitle = "Save Changes",
47
+ modalDescription = "You updated the date. Would you like to save this change?",
48
+ modalSaveBtnText = "Save",
49
+ modalCancelBtnText = "Discard",
50
50
  backgroundElementClass,
51
51
  popperTooltipClassName,
52
52
  popperTooltipStyle,
@@ -551,17 +551,41 @@ export const DatePicker = _ref => {
551
551
  const handleCaptionClick = useCallback(() => {
552
552
  isMonthSelectOpen && !disableYearPicker ? toggleYearSelect() : toggleMonthSelect();
553
553
  }, [disableYearPicker, isMonthSelectOpen, toggleMonthSelect, toggleYearSelect]);
554
- const handleCloseDiscardModal = useCallback(() => {
555
- setShowDiscardModal(false);
556
- }, []);
557
554
  const handleSaveDiscardModal = useCallback(() => {
555
+ if (selected) {
556
+ if (onChange) {
557
+ onChange({
558
+ from: moment.utc(selected == null ? void 0 : selected.from).unix(),
559
+ to: selected != null && selected.to ? moment.utc(selected == null ? void 0 : selected.to).unix() : moment.utc(selected == null ? void 0 : selected.from).unix()
560
+ });
561
+ }
562
+ if (onSave) {
563
+ onSave({
564
+ from: moment.utc(selected == null ? void 0 : selected.from).unix(),
565
+ to: selected != null && selected.to ? moment.utc(selected == null ? void 0 : selected.to).unix() : moment.utc(selected == null ? void 0 : selected.from).unix()
566
+ });
567
+ }
568
+ } else {
569
+ if (onChange) onChange(undefined);
570
+ if (onSave) onSave(undefined);
571
+ }
572
+ setShowDiscardModal(false);
573
+ if (target) {
574
+ setIsOpen(false);
575
+ if (onCalendarToggle) onCalendarToggle(false);
576
+ }
577
+ }, [selected, target, onChange, onSave, onCalendarToggle]);
578
+ const handleDiscardModal = useCallback(() => {
558
579
  setSelected(defaultSelected != null && defaultSelected.from ? {
559
580
  from: toMoment(defaultSelected.from),
560
581
  to: defaultSelected.to ? toMoment(defaultSelected.to) : null
561
582
  } : null);
562
583
  setShowDiscardModal(false);
563
- handleClose();
564
- }, [defaultSelected, handleClose]);
584
+ if (target) {
585
+ setIsOpen(false);
586
+ if (onCalendarToggle) onCalendarToggle(false);
587
+ }
588
+ }, [defaultSelected == null ? void 0 : defaultSelected.from, defaultSelected == null ? void 0 : defaultSelected.to, onCalendarToggle, target]);
565
589
  const wrapperProps = target ? {
566
590
  className: "c-date-picker--calendar",
567
591
  target,
@@ -655,12 +679,12 @@ export const DatePicker = _ref => {
655
679
  }, clearLabel)) : null))), !instant && target && !required && enableConfirmModal ? /*#__PURE__*/React.createElement(StyledConfirmDialog, {
656
680
  className: "modal-select-date",
657
681
  open: showDiscardModal,
658
- onCancel: handleCloseDiscardModal,
682
+ onCancel: handleDiscardModal,
659
683
  onConfirm: handleSaveDiscardModal,
660
- dialogTitle: modalHeaderText,
661
- dialogContent: modalDiscardMessage,
684
+ dialogTitle: modalTitle,
685
+ dialogContent: modalDescription,
662
686
  cancelBtnText: modalCancelBtnText,
663
- confirmBtnText: modalDiscardBtnText
687
+ confirmBtnText: modalSaveBtnText
664
688
  }) : null);
665
689
  };
666
690
  //# sourceMappingURL=DatePicker.js.map