@activecollab/components 2.0.156 → 2.0.157

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":"SelectDateV2.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_SelectDateTarget","_Styles","_dateUtils","_DatePickerV","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","repeating","from","Date","getFullYear","getMonth","getDate","to","SelectDateV2","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","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","labelText","useMemo","formattedEndDate","formatDate","toMoment","formattedStartDate","isSame","concat","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","matchedData","find","matched","title","weekend","isWeekend","includes","getDay","nonWorkingDay","nonWorkingDays","isNonWorkingDay","renderTargetEl","createElement","SelectDateTarget","StyledSelectDateButton","className","classnames","StyledSelectDate","DatePickerV2","target","month","instant","selected","saveLabel","cancelLabel","clearLabel","onClose","disabledDaysBefore","disabled","open","onCalendarToggle","enableConfirmModal","disableYearPicker","showControls","onChange","displayName"],"sources":["../../../../src/components/SelectDate/SelectDateV2.tsx"],"sourcesContent":["import React, { ElementType, FC, useMemo, CSSProperties } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\nimport { Moment } from \"moment\";\n\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport { StyledSelectDate, StyledSelectDateButton } from \"./Styles\";\nimport { DaysToModify } from \"./types\";\nimport { formatDate } from \"../../utils/dateUtils\";\nimport {\n ChangeMode,\n DatePickerV2,\n TimestampDateRange,\n toMoment,\n} from \"../DatePicker/DatePickerV2\";\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\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\nexport interface ISelectDateV2 {\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 in atomic mode */\n onSave?: (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 /** 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 is date required */\n defaultTimezoneAware?: 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 /** Enable year selector */\n enableYearPicker?: boolean;\n /** Disable aniamtions */\n disableAnimations?: boolean;\n}\n\nexport const SelectDateV2: FC<ISelectDateV2> = ({\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 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}) => {\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const formattedEndDate = formatDate(\n toMoment(selectedDays?.to),\n dateFormat,\n longDateFormat\n );\n const formattedStartDate = formatDate(\n toMoment(selectedDays?.from),\n dateFormat,\n longDateFormat\n );\n\n if (toMoment(selectedDays.from).isSame(toMoment(selectedDays.to))) {\n return formattedEndDate;\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: Date) => {\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = userAvailabilities.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n weekend: (day: Date) => {\n const isWeekend = weekends.includes(day.getDay());\n return {\n matched: isWeekend,\n title: isWeekend ? weekendLabel : null,\n };\n },\n nonWorkingDay: (day: Date) => {\n if (weekends.includes(day.getDay())) {\n return { matched: true, title: \"\" };\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = nonWorkingDays.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n nonWorkingDaysOfWeek: (day: Date) => {\n const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.getDay());\n return {\n matched: isNonWorkingDay,\n title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : 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 <DatePickerV2\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 onClose={onCancel}\n modifiers={modifiers}\n modalHeaderText={modalHeaderText}\n modalDiscardMessage={modalDiscardMessage}\n modalDiscardBtnText={modalDiscardBtnText}\n modalCancelBtnText={modalCancelBtnText}\n disabledDaysBefore={disableDaysBefore}\n backgroundElementClass={backgroundElementClass}\n disabled={weekendIsSelectable ? [] : [0, 6]}\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 />\n ) : (\n <DatePickerV2\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 popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n onSave={onSave}\n onChange={onSave}\n modifiers={modifiers}\n onDayClick={onDayClick}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n />\n )}\n </StyledSelectDate>\n );\n};\n\nSelectDateV2.displayName = \"SelectDateV2\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectDateV2.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_SelectDateTarget","_Styles","_dateUtils","_DatePickerV","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","repeating","from","Date","getFullYear","getMonth","getDate","to","SelectDateV2","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","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","labelText","useMemo","formattedEndDate","formatDate","toMoment","formattedStartDate","isSame","concat","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","matchedData","find","matched","title","weekend","isWeekend","includes","getDay","nonWorkingDay","nonWorkingDays","isNonWorkingDay","renderTargetEl","createElement","SelectDateTarget","StyledSelectDateButton","className","classnames","StyledSelectDate","DatePickerV2","target","month","instant","selected","saveLabel","cancelLabel","clearLabel","onClose","disabledDaysBefore","disabled","open","onCalendarToggle","enableConfirmModal","disableYearPicker","showControls","onChange","displayName"],"sources":["../../../../src/components/SelectDate/SelectDateV2.tsx"],"sourcesContent":["import React, { ElementType, FC, useMemo, CSSProperties } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\nimport { Moment } from \"moment\";\n\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport { StyledSelectDate, StyledSelectDateButton } from \"./Styles\";\nimport { DaysToModify } from \"./types\";\nimport { formatDate } from \"../../utils/dateUtils\";\nimport {\n ChangeMode,\n DatePickerV2,\n TimestampDateRange,\n toMoment,\n} from \"../DatePicker/DatePickerV2\";\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\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\nexport interface ISelectDateV2 {\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 in atomic mode */\n onSave?: (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 /** 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 is date required */\n defaultTimezoneAware?: 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 /** Enable year selector */\n enableYearPicker?: boolean;\n /** Disable aniamtions */\n disableAnimations?: boolean;\n}\n\nexport const SelectDateV2: FC<ISelectDateV2> = ({\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 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}) => {\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 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: Date) => {\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = userAvailabilities.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n weekend: (day: Date) => {\n const isWeekend = weekends.includes(day.getDay());\n return {\n matched: isWeekend,\n title: isWeekend ? weekendLabel : null,\n };\n },\n nonWorkingDay: (day: Date) => {\n if (weekends.includes(day.getDay())) {\n return { matched: true, title: \"\" };\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = nonWorkingDays.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n nonWorkingDaysOfWeek: (day: Date) => {\n const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.getDay());\n return {\n matched: isNonWorkingDay,\n title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : 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 <DatePickerV2\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 onClose={onCancel}\n modifiers={modifiers}\n modalHeaderText={modalHeaderText}\n modalDiscardMessage={modalDiscardMessage}\n modalDiscardBtnText={modalDiscardBtnText}\n modalCancelBtnText={modalCancelBtnText}\n disabledDaysBefore={disableDaysBefore}\n backgroundElementClass={backgroundElementClass}\n disabled={weekendIsSelectable ? [] : [0, 6]}\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 />\n ) : (\n <DatePickerV2\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 popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n onSave={onSave}\n onChange={onSave}\n modifiers={modifiers}\n onDayClick={onDayClick}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n open\n />\n )}\n </StyledSelectDate>\n );\n};\n\nSelectDateV2.displayName = \"SelectDateV2\";\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ export interface DateRange {
8
8
  to: Moment | null;
9
9
  }
10
10
  export interface TimestampDateRange {
11
- from: number | string | Moment;
11
+ from: number | string | Moment | null;
12
12
  to: number | string | Moment | null;
13
13
  }
14
14
  export interface DatePickerProps {
@@ -63,6 +63,6 @@ export interface DatePickerProps {
63
63
  onDayClick?: (day: Moment, modifiers: string[]) => void;
64
64
  showControls?: boolean;
65
65
  }
66
- export declare const toMoment: (date?: string | number | Moment | null) => any;
66
+ export declare const toMoment: (date?: string | number | Moment) => any;
67
67
  export declare const DatePickerV2: React.FC<DatePickerProps>;
68
68
  //# sourceMappingURL=DatePickerV2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerV2.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/DatePickerV2.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerV2.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/DatePickerV2.tsx"],"names":[],"mappings":"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"}
@@ -9,17 +9,14 @@ import { Tooltip } from "../Tooltip";
9
9
  export const toMoment = date => {
10
10
  if (moment.isMoment(date)) {
11
11
  return date;
12
- } else if (date === null) {
13
- return date;
14
12
  } else if (typeof date === "number") {
15
13
  return moment.utc(date * 1000);
16
14
  } else if (typeof date === "string") {
17
15
  return moment.utc(date);
18
16
  }
19
- return undefined;
17
+ return null;
20
18
  };
21
19
  export const DatePickerV2 = _ref => {
22
- var _selected$to4;
23
20
  let {
24
21
  selected: defaultSelected,
25
22
  onChange,
@@ -64,7 +61,7 @@ export const DatePickerV2 = _ref => {
64
61
  const [isMonthSelectOpen, setIsMonthSelectOpen] = useState(mode === "monthly" || mode === "quarterly");
65
62
  const [monthTransitionDirection, setMonthTransitionDirection] = useState(null);
66
63
  const [currentDate, setCurrentDate] = useState(() => {
67
- if (defaultSelected) {
64
+ if (defaultSelected && defaultSelected.from) {
68
65
  return toMoment(defaultSelected.from);
69
66
  }
70
67
  if (month) {
@@ -73,19 +70,23 @@ export const DatePickerV2 = _ref => {
73
70
  return moment.utc();
74
71
  });
75
72
  const [targetDate, setTargetDate] = useState(() => {
76
- if (defaultSelected) {
73
+ if (defaultSelected && defaultSelected.from) {
77
74
  return toMoment(defaultSelected.from);
78
75
  } else if (month) {
79
76
  return toMoment(month);
80
77
  }
78
+ return moment.utc();
81
79
  });
82
80
  const [selected, setSelected] = useState(() => {
83
81
  if (!defaultSelected) {
84
82
  return null;
85
83
  }
84
+ if (!defaultSelected.from) {
85
+ return null;
86
+ }
86
87
  return {
87
88
  from: toMoment(defaultSelected.from),
88
- to: toMoment(defaultSelected.to)
89
+ to: defaultSelected.to ? toMoment(defaultSelected.to) : null
89
90
  };
90
91
  });
91
92
  const [hoveredDate, setHoveredDate] = useState(null);
@@ -129,10 +130,10 @@ export const DatePickerV2 = _ref => {
129
130
  }
130
131
  }, [isMonthSelectOpen, mode]);
131
132
  useEffect(() => {
132
- if (defaultSelected) {
133
+ if (defaultSelected && defaultSelected.from) {
133
134
  setSelected({
134
135
  from: toMoment(defaultSelected.from),
135
- to: toMoment(defaultSelected.to)
136
+ to: defaultSelected.to ? toMoment(defaultSelected.to) : null
136
137
  });
137
138
  setCurrentDate(toMoment(defaultSelected.from) || moment.utc());
138
139
  setTargetDate(toMoment(defaultSelected.from) || moment.utc());
@@ -224,9 +225,18 @@ export const DatePickerV2 = _ref => {
224
225
  from: date.utc().unix(),
225
226
  to: null
226
227
  });
227
- } else if (selected != null && selected.from.isSame(date.utc(), "day") && !required) {
228
+ } else if (moment.isMoment(selected == null ? void 0 : selected.from) && selected != null && selected.from.isSame(date.utc(), "day") && !required) {
228
229
  setSelected(null);
229
230
  onChange && onChange(undefined);
231
+ } else if (selected.from === null && selected.to === null) {
232
+ setSelected({
233
+ from: date.utc(),
234
+ to: null
235
+ });
236
+ onChange && onChange({
237
+ from: date.utc().unix(),
238
+ to: date.utc().unix()
239
+ });
230
240
  }
231
241
  };
232
242
  const handleSave = () => {
@@ -255,12 +265,22 @@ export const DatePickerV2 = _ref => {
255
265
  const handleMonthChange = useCallback(direction => {
256
266
  setMonthTransitionDirection(direction);
257
267
  if (isMonthSelectOpen) {
258
- setTargetDate(prevDate => direction === "prev" ? prevDate.clone().subtract(1, "year") : prevDate.clone().add(1, "year"));
268
+ setTargetDate(prevDate => {
269
+ if (prevDate) {
270
+ return direction === "prev" ? prevDate.clone().subtract(1, "year") : prevDate.clone().add(1, "year");
271
+ }
272
+ return prevDate;
273
+ });
259
274
  if (disableAnimations) {
260
275
  setCurrentDate(prevDate => direction === "prev" ? prevDate.clone().subtract(1, "year") : prevDate.clone().add(1, "year"));
261
276
  }
262
277
  } else {
263
- setTargetDate(prevDate => direction === "prev" ? prevDate.clone().subtract(1, "month") : prevDate.clone().add(1, "month"));
278
+ setTargetDate(prevDate => {
279
+ if (prevDate) {
280
+ return direction === "prev" ? prevDate.clone().subtract(1, "month") : prevDate.clone().add(1, "month");
281
+ }
282
+ return prevDate;
283
+ });
264
284
  if (disableAnimations) {
265
285
  setCurrentDate(prevDate => direction === "prev" ? prevDate.clone().subtract(1, "month") : prevDate.clone().add(1, "month"));
266
286
  }
@@ -485,11 +505,11 @@ export const DatePickerV2 = _ref => {
485
505
  if (mode === "custom" && instant && !selected && onSave) {
486
506
  onSave(undefined);
487
507
  }
488
- setCurrentDate(defaultSelected ? toMoment(defaultSelected.from) : month ? toMoment(month) : moment.utc());
489
- setTargetDate(defaultSelected ? toMoment(defaultSelected.from) : toMoment(month));
490
- setSelected(defaultSelected ? {
508
+ setCurrentDate(defaultSelected != null && defaultSelected.from ? toMoment(defaultSelected.from) : month ? toMoment(month) : moment.utc());
509
+ setTargetDate(defaultSelected != null && defaultSelected.from ? toMoment(defaultSelected.from) : month ? toMoment(month) : moment.utc());
510
+ setSelected(defaultSelected != null && defaultSelected.from ? {
491
511
  from: toMoment(defaultSelected.from),
492
- to: toMoment(defaultSelected.to)
512
+ to: defaultSelected.to ? toMoment(defaultSelected.to) : null
493
513
  } : null);
494
514
  toggleCalendar();
495
515
  setIsYearSelectOpen(false);
@@ -519,7 +539,7 @@ export const DatePickerV2 = _ref => {
519
539
  const handleSaveDiscardModal = useCallback(() => {
520
540
  setSelected(defaultSelected != null && defaultSelected.from ? {
521
541
  from: toMoment(defaultSelected.from),
522
- to: toMoment(defaultSelected.to)
542
+ to: defaultSelected.to ? toMoment(defaultSelected.to) : null
523
543
  } : null);
524
544
  setShowDiscardModal(false);
525
545
  handleClose();
@@ -546,11 +566,22 @@ export const DatePickerV2 = _ref => {
546
566
  handleMonthChange("prev");
547
567
  }
548
568
  };
549
- window.addEventListener("keydown", handleKeyDown);
569
+ if (isOpen) {
570
+ window.addEventListener("keydown", handleKeyDown);
571
+ }
550
572
  return () => {
551
573
  window.removeEventListener("keydown", handleKeyDown);
552
574
  };
553
- }, [handleMonthChange]);
575
+ }, [isOpen, handleMonthChange]);
576
+ const saveIsDisabled = () => {
577
+ if (!defaultSelected && !selected) {
578
+ return true;
579
+ }
580
+ if (defaultSelected && selected && defaultSelected.from && selected.from.isSame(toMoment(defaultSelected.from)) && defaultSelected.to && selected.to && selected.to.isSame(toMoment(defaultSelected.to))) {
581
+ return true;
582
+ }
583
+ return false;
584
+ };
554
585
  return /*#__PURE__*/React.createElement(StyledDatePickerWrapper, {
555
586
  ref: datePickerRef
556
587
  }, /*#__PURE__*/React.createElement(Wrapper, wrapperProps, /*#__PURE__*/React.createElement(StyledDatePickerContainerInner, null, /*#__PURE__*/React.createElement(StyledCalendarHeader, null, isYearSelectOpen ? null : /*#__PURE__*/React.createElement(IconButton, {
@@ -577,7 +608,7 @@ export const DatePickerV2 = _ref => {
577
608
  size: "small",
578
609
  variant: "primary",
579
610
  onClick: handleSave,
580
- disabled: (selected == null ? void 0 : selected.from.isSame(moment.utc(Number(defaultSelected == null ? void 0 : defaultSelected.from) * 1000))) && (selected == null || (_selected$to4 = selected.to) == null ? void 0 : _selected$to4.isSame(moment.utc(Number(defaultSelected == null ? void 0 : defaultSelected.to) * 1000))) || !defaultSelected && !selected
611
+ disabled: saveIsDisabled()
581
612
  }, saveLabel), /*#__PURE__*/React.createElement(Tooltip, {
582
613
  title: cancelLabel,
583
614
  popperTooltipStyle: {