@activecollab/components 2.0.51 → 2.0.53

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","_moment","_DatePickerForm","_SelectDateTarget","_Styles","_dateUtils","_Localization","_Menu","_Tooltip","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","getUtcTimestampFromDate","date","moment","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","_ref","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","passedDateFormat","defaultMonth","daysToModify","weekends","weekendLabel","nonWorkingDaysOfWeek","nonWorkingDaysOfWeekLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","timezoneAware","setTimezoneAware","useState","localization","useLocalization","labelText","useMemo","endDate","local","startDate","formattedEndDate","formatDate","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","useCallback","selectedDates","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","useEffect","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","format","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","day_disabled","toJSON","slice","dayOfWeek","renderDay","props","titles","push","includes","forEach","title","child","createElement","className","length","key","map","index","Tooltip","renderDatePickerForm","DatePickerForm","onMonthChange","onChange","onClear","renderTargetEl","SelectDateTarget","forceHideTooltip","active","StyledSelectDateButton","classnames","StyledSelectDate","Menu","target","open","onOpen","onBeforeClose","onClose","StyledConfirmDialog","onConfirm","dialogTitle","dialogContent","cancelBtnText","confirmBtnText","exports","displayName"],"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n CSSProperties,\n} from \"react\";\nimport { DayModifiers, DayProps } from \"react-day-picker\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\nimport moment from \"moment\";\n\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\nimport { DaysToModify } from \"./types\";\nimport { formatDate } from \"../../utils/dateUtils\";\nimport { useLocalization } from \"../Localization\";\nimport { Menu } from \"../Menu/Menu\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\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\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\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: 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?: 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?: 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: passedDateFormat,\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}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n const localization = useLocalization();\n const dateFormat = passedDateFormat\n ? passedDateFormat\n : localization.dateFormat;\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 formattedEndDate = formatDate(endDate, dateFormat, longDateFormat);\n const formattedStartDate = formatDate(\n startDate,\n dateFormat,\n longDateFormat\n );\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 return {\n 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 weekend: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n 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 day_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 nonWorkingDaysOfWeek: {\n dayOfWeek: nonWorkingDaysOfWeek,\n },\n };\n }, [\n daysToModify,\n nonWorkingDaysOfWeek,\n weekends,\n disableDaysBefore,\n weekendIsSelectable,\n ]);\n\n const renderDay = useCallback(\n (props: DayProps): JSX.Element | null => {\n const titles: string[] = [];\n if (weekends.some((value) => props.date.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n if (nonWorkingDaysOfWeek.includes(props.date.getDay())) {\n titles.push(nonWorkingDaysOfWeekLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n props.date.getFullYear(),\n props.date.getMonth(),\n props.date.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{props.date.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${props.date.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 weekends,\n nonWorkingDaysOfWeek,\n daysToModify,\n weekendLabel,\n nonWorkingDaysOfWeekLabel,\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 const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\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 }\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 showDatePicker,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={renderTargetEl}\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"],"mappings":"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"}
1
+ {"version":3,"file":"SelectDate.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_moment","_DatePickerForm","_SelectDateTarget","_Styles","_dateUtils","_Localization","_Menu","_Tooltip","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","getUtcTimestampFromDate","date","moment","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","_ref","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","passedDateFormat","defaultMonth","daysToModify","weekends","weekendLabel","nonWorkingDaysOfWeek","nonWorkingDaysOfWeekLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","timezoneAware","setTimezoneAware","useState","localization","useLocalization","labelText","useMemo","endDate","local","startDate","formattedEndDate","formatDate","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","useCallback","selectedDates","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","useEffect","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","format","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","day_disabled","toJSON","slice","dayOfWeek","renderDay","props","titles","push","includes","forEach","title","child","createElement","className","length","key","map","index","Tooltip","renderDatePickerForm","DatePickerForm","onMonthChange","onChange","onClear","renderTargetEl","SelectDateTarget","forceHideTooltip","active","StyledSelectDateButton","classnames","StyledSelectDate","Menu","target","open","onOpen","onBeforeClose","onClose","StyledConfirmDialog","onConfirm","dialogTitle","dialogContent","cancelBtnText","confirmBtnText","exports","displayName"],"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n CSSProperties,\n} from \"react\";\nimport { DayModifiers, DayProps } from \"react-day-picker\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\nimport moment from \"moment\";\n\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\nimport { DaysToModify } from \"./types\";\nimport { formatDate } from \"../../utils/dateUtils\";\nimport { useLocalization } from \"../Localization\";\nimport { Menu } from \"../Menu/Menu\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\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\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\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: 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?: 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?: 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: passedDateFormat,\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}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n const localization = useLocalization();\n const dateFormat = passedDateFormat\n ? passedDateFormat\n : localization.dateFormat;\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 formattedEndDate = formatDate(endDate, dateFormat, longDateFormat);\n const formattedStartDate = formatDate(\n startDate,\n dateFormat,\n longDateFormat\n );\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 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 return {\n 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 weekend: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n 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 day_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 nonWorkingDaysOfWeek: {\n dayOfWeek: nonWorkingDaysOfWeek,\n },\n };\n }, [\n daysToModify,\n nonWorkingDaysOfWeek,\n weekends,\n disableDaysBefore,\n weekendIsSelectable,\n ]);\n\n const renderDay = useCallback(\n (props: DayProps): JSX.Element | null => {\n const titles: string[] = [];\n if (weekends.some((value) => props.date.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n if (nonWorkingDaysOfWeek.includes(props.date.getDay())) {\n titles.push(nonWorkingDaysOfWeekLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n props.date.getFullYear(),\n props.date.getMonth(),\n props.date.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{props.date.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${props.date.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 weekends,\n nonWorkingDaysOfWeek,\n daysToModify,\n weekendLabel,\n nonWorkingDaysOfWeekLabel,\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 const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\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 }\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 showDatePicker,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={renderTargetEl}\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"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13510,6 +13510,14 @@
13510
13510
  React.useEffect(function () {
13511
13511
  setShowText(show);
13512
13512
  }, [show]);
13513
+ if (validation !== null && validation !== void 0 && validation.levels && validation !== null && validation !== void 0 && validation.getStrength && typeof (validation === null || validation === void 0 ? void 0 : validation.getStrength) === "function") {
13514
+ if (validation.levels.length !== 5) {
13515
+ console.warn("Levels length must be exactly 5.");
13516
+ }
13517
+ if (typeof validation.getStrength("test") !== "number") {
13518
+ console.warn("getStrength must be a function that accepts a string and returns a number.");
13519
+ }
13520
+ }
13513
13521
  return /*#__PURE__*/React__default["default"].createElement(StyledInputPasswordWrapper, null, /*#__PURE__*/React__default["default"].createElement(Input, _extends({}, rest, {
13514
13522
  ref: handleRef,
13515
13523
  size: size,
@@ -15357,7 +15365,7 @@
15357
15365
  setShowDatePicker(defaultShowDatePicker);
15358
15366
  }, [defaultShowDatePicker]);
15359
15367
  React.useEffect(function () {
15360
- modifiedDates && setNewDates(modifiedDates);
15368
+ setNewDates(modifiedDates);
15361
15369
  }, [modifiedDates]);
15362
15370
  React.useEffect(function () {
15363
15371
  typeof onToggleDatePicker === "function" && onToggleDatePicker(showDatePicker);