@activecollab/components 2.0.211 → 2.0.213

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/cjs/components/DatePicker/DatePicker.js +678 -301
  2. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  3. package/dist/cjs/components/DatePicker/Styles.js +91 -37
  4. package/dist/cjs/components/DatePicker/Styles.js.map +1 -1
  5. package/dist/cjs/components/DatePicker/index.js +0 -11
  6. package/dist/cjs/components/DatePicker/index.js.map +1 -1
  7. package/dist/cjs/components/EditableContent/EditableContent.js +4 -2
  8. package/dist/cjs/components/EditableContent/EditableContent.js.map +1 -1
  9. package/dist/cjs/components/EditableContent/Styles.js +8 -2
  10. package/dist/cjs/components/EditableContent/Styles.js.map +1 -1
  11. package/dist/cjs/components/EditableCurrency/EditableCurrency.js +3 -1
  12. package/dist/cjs/components/EditableCurrency/EditableCurrency.js.map +1 -1
  13. package/dist/cjs/components/SelectDate/SelectDate.js +126 -280
  14. package/dist/cjs/components/SelectDate/SelectDate.js.map +1 -1
  15. package/dist/cjs/components/SelectDate/index.js +0 -11
  16. package/dist/cjs/components/SelectDate/index.js.map +1 -1
  17. package/dist/cjs/components/Steppers/DateStepper/DateStepper.js +94 -100
  18. package/dist/cjs/components/Steppers/DateStepper/DateStepper.js.map +1 -1
  19. package/dist/cjs/components/Steppers/DateStepper/index.js +0 -11
  20. package/dist/cjs/components/Steppers/DateStepper/index.js.map +1 -1
  21. package/dist/cjs/components/index.js +0 -11
  22. package/dist/cjs/components/index.js.map +1 -1
  23. package/dist/esm/components/DatePicker/DatePicker.d.ts +64 -26
  24. package/dist/esm/components/DatePicker/DatePicker.d.ts.map +1 -1
  25. package/dist/esm/components/DatePicker/DatePicker.js +619 -278
  26. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  27. package/dist/esm/components/DatePicker/Styles.d.ts +21 -9
  28. package/dist/esm/components/DatePicker/Styles.d.ts.map +1 -1
  29. package/dist/esm/components/DatePicker/Styles.js +89 -30
  30. package/dist/esm/components/DatePicker/Styles.js.map +1 -1
  31. package/dist/esm/components/DatePicker/index.d.ts +0 -1
  32. package/dist/esm/components/DatePicker/index.d.ts.map +1 -1
  33. package/dist/esm/components/DatePicker/index.js +0 -1
  34. package/dist/esm/components/DatePicker/index.js.map +1 -1
  35. package/dist/esm/components/EditableContent/EditableContent.d.ts +1 -0
  36. package/dist/esm/components/EditableContent/EditableContent.d.ts.map +1 -1
  37. package/dist/esm/components/EditableContent/EditableContent.js +3 -1
  38. package/dist/esm/components/EditableContent/EditableContent.js.map +1 -1
  39. package/dist/esm/components/EditableContent/Styles.d.ts.map +1 -1
  40. package/dist/esm/components/EditableContent/Styles.js +12 -2
  41. package/dist/esm/components/EditableContent/Styles.js.map +1 -1
  42. package/dist/esm/components/EditableCurrency/EditableCurrency.d.ts.map +1 -1
  43. package/dist/esm/components/EditableCurrency/EditableCurrency.js +2 -0
  44. package/dist/esm/components/EditableCurrency/EditableCurrency.js.map +1 -1
  45. package/dist/esm/components/SelectDate/SelectDate.d.ts +20 -19
  46. package/dist/esm/components/SelectDate/SelectDate.d.ts.map +1 -1
  47. package/dist/esm/components/SelectDate/SelectDate.js +124 -246
  48. package/dist/esm/components/SelectDate/SelectDate.js.map +1 -1
  49. package/dist/esm/components/SelectDate/index.d.ts +0 -1
  50. package/dist/esm/components/SelectDate/index.d.ts.map +1 -1
  51. package/dist/esm/components/SelectDate/index.js +0 -1
  52. package/dist/esm/components/SelectDate/index.js.map +1 -1
  53. package/dist/esm/components/Steppers/DateStepper/DateStepper.d.ts +10 -7
  54. package/dist/esm/components/Steppers/DateStepper/DateStepper.d.ts.map +1 -1
  55. package/dist/esm/components/Steppers/DateStepper/DateStepper.js +88 -97
  56. package/dist/esm/components/Steppers/DateStepper/DateStepper.js.map +1 -1
  57. package/dist/esm/components/Steppers/DateStepper/index.d.ts +0 -1
  58. package/dist/esm/components/Steppers/DateStepper/index.d.ts.map +1 -1
  59. package/dist/esm/components/Steppers/DateStepper/index.js +0 -1
  60. package/dist/esm/components/Steppers/DateStepper/index.js.map +1 -1
  61. package/dist/esm/components/index.d.ts +0 -1
  62. package/dist/esm/components/index.d.ts.map +1 -1
  63. package/dist/esm/components/index.js +0 -1
  64. package/dist/esm/components/index.js.map +1 -1
  65. package/dist/index.js +229 -1568
  66. package/dist/index.js.map +1 -1
  67. package/dist/index.min.js +1 -1
  68. package/dist/index.min.js.map +1 -1
  69. package/package.json +1 -3
  70. package/dist/cjs/components/DatePicker/CustomNavBarElement.js +0 -41
  71. package/dist/cjs/components/DatePicker/CustomNavBarElement.js.map +0 -1
  72. package/dist/cjs/components/DatePicker/DatePickerV2.js +0 -734
  73. package/dist/cjs/components/DatePicker/DatePickerV2.js.map +0 -1
  74. package/dist/cjs/components/DatePicker/StylesV2.js +0 -100
  75. package/dist/cjs/components/DatePicker/StylesV2.js.map +0 -1
  76. package/dist/cjs/components/Pickers/NavBarElement.js +0 -52
  77. package/dist/cjs/components/Pickers/NavBarElement.js.map +0 -1
  78. package/dist/cjs/components/Pickers/Styles.js +0 -76
  79. package/dist/cjs/components/Pickers/Styles.js.map +0 -1
  80. package/dist/cjs/components/Pickers/YearMonthPicker.js +0 -80
  81. package/dist/cjs/components/Pickers/YearMonthPicker.js.map +0 -1
  82. package/dist/cjs/components/Pickers/index.js +0 -28
  83. package/dist/cjs/components/Pickers/index.js.map +0 -1
  84. package/dist/cjs/components/SelectDate/DatePickerForm.js +0 -94
  85. package/dist/cjs/components/SelectDate/DatePickerForm.js.map +0 -1
  86. package/dist/cjs/components/SelectDate/SelectDateV2.js +0 -263
  87. package/dist/cjs/components/SelectDate/SelectDateV2.js.map +0 -1
  88. package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js +0 -276
  89. package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js.map +0 -1
  90. package/dist/esm/components/DatePicker/CustomNavBarElement.d.ts +0 -12
  91. package/dist/esm/components/DatePicker/CustomNavBarElement.d.ts.map +0 -1
  92. package/dist/esm/components/DatePicker/CustomNavBarElement.js +0 -34
  93. package/dist/esm/components/DatePicker/CustomNavBarElement.js.map +0 -1
  94. package/dist/esm/components/DatePicker/DatePickerV2.d.ts +0 -68
  95. package/dist/esm/components/DatePicker/DatePickerV2.d.ts.map +0 -1
  96. package/dist/esm/components/DatePicker/DatePickerV2.js +0 -649
  97. package/dist/esm/components/DatePicker/DatePickerV2.js.map +0 -1
  98. package/dist/esm/components/DatePicker/StylesV2.d.ts +0 -22
  99. package/dist/esm/components/DatePicker/StylesV2.d.ts.map +0 -1
  100. package/dist/esm/components/DatePicker/StylesV2.js +0 -93
  101. package/dist/esm/components/DatePicker/StylesV2.js.map +0 -1
  102. package/dist/esm/components/Pickers/NavBarElement.d.ts +0 -9
  103. package/dist/esm/components/Pickers/NavBarElement.d.ts.map +0 -1
  104. package/dist/esm/components/Pickers/NavBarElement.js +0 -45
  105. package/dist/esm/components/Pickers/NavBarElement.js.map +0 -1
  106. package/dist/esm/components/Pickers/Styles.d.ts +0 -18
  107. package/dist/esm/components/Pickers/Styles.d.ts.map +0 -1
  108. package/dist/esm/components/Pickers/Styles.js +0 -56
  109. package/dist/esm/components/Pickers/Styles.js.map +0 -1
  110. package/dist/esm/components/Pickers/YearMonthPicker.d.ts +0 -17
  111. package/dist/esm/components/Pickers/YearMonthPicker.d.ts.map +0 -1
  112. package/dist/esm/components/Pickers/YearMonthPicker.js +0 -59
  113. package/dist/esm/components/Pickers/YearMonthPicker.js.map +0 -1
  114. package/dist/esm/components/Pickers/index.d.ts +0 -3
  115. package/dist/esm/components/Pickers/index.d.ts.map +0 -1
  116. package/dist/esm/components/Pickers/index.js +0 -3
  117. package/dist/esm/components/Pickers/index.js.map +0 -1
  118. package/dist/esm/components/SelectDate/DatePickerForm.d.ts +0 -39
  119. package/dist/esm/components/SelectDate/DatePickerForm.d.ts.map +0 -1
  120. package/dist/esm/components/SelectDate/DatePickerForm.js +0 -80
  121. package/dist/esm/components/SelectDate/DatePickerForm.js.map +0 -1
  122. package/dist/esm/components/SelectDate/SelectDateV2.d.ts +0 -102
  123. package/dist/esm/components/SelectDate/SelectDateV2.d.ts.map +0 -1
  124. package/dist/esm/components/SelectDate/SelectDateV2.js +0 -223
  125. package/dist/esm/components/SelectDate/SelectDateV2.js.map +0 -1
  126. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts +0 -45
  127. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts.map +0 -1
  128. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js +0 -241
  129. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDate.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_moment","_DatePickerForm","_SelectDateTarget","_Styles","_dateUtils","_Localization","_Menu","_Tooltip","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","getUtcTimestampFromDate","date","moment","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","Date","to","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$defaultTimezoneA","defaultTimezoneAware","_ref$longDateFormat","longDateFormat","_ref$defaultShowDateP","defaultShowDatePicker","_ref$firstDayOfWeek","firstDayOfWeek","selectedDays","_ref$selectionMode","selectionMode","menuClassName","targetClassName","icon","_ref$defaultLabelText","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","passedDateFormat","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","_useState","useState","_useState2","timezoneAware","setTimezoneAware","localization","useLocalization","labelText","useMemo","endDate","local","startDate","formattedEndDate","formatDate","formattedStartDate","concat","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","useCallback","selectedDates","undefined","getDefaultMonth","_useState3","_useState4","month","setMonth","handleMonthChange","_useState5","_useState6","newDates","setNewDates","_useState7","_useState8","showDiscardModal","setShowDiscardModal","_useState9","_useState10","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","getDay","nonWorkingDay","nonWorkingDays","day_disabled","toJSON","dayOfWeek","renderDay","props","titles","includes","forEach","title","child","createElement","className","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","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 { DaysToModifyV1 } 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: DaysToModifyV1): 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?: DaysToModifyV1[];\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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"}
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","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 /** 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 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 />\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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"}
@@ -14,15 +14,4 @@ Object.keys(_SelectDate).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
- var _SelectDateV = require("./SelectDateV2");
18
- Object.keys(_SelectDateV).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _SelectDateV[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function get() {
24
- return _SelectDateV[key];
25
- }
26
- });
27
- });
28
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_SelectDate","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_SelectDateV"],"sources":["../../../../src/components/SelectDate/index.ts"],"sourcesContent":["export * from \"./SelectDate\";\nexport * from \"./SelectDateV2\";\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,YAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_SelectDate","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/components/SelectDate/index.ts"],"sourcesContent":["export * from \"./SelectDate\";\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.DateStepper = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
- var _moment = _interopRequireDefault(require("moment"));
9
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
10
10
  var _Styles = require("./Styles");
11
- var _DatePicker = require("../../DatePicker");
11
+ var _DatePicker = require("../../DatePicker/DatePicker");
12
12
  var _Icons = require("../../Icons");
13
13
  var _ArrowLeft = _interopRequireDefault(require("../../Icons/collection/ArrowLeft"));
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -38,32 +38,24 @@ var DateStepper = exports.DateStepper = function DateStepper(_ref) {
38
38
  className = _ref.className,
39
39
  _ref$period = _ref.period,
40
40
  period = _ref$period === void 0 ? "week" : _ref$period,
41
- datePickerClass = _ref.datePickerClass,
42
41
  _ref$withDatePicker = _ref.withDatePicker,
43
42
  withDatePicker = _ref$withDatePicker === void 0 ? true : _ref$withDatePicker,
44
43
  _ref$defaultMonth = _ref.defaultMonth,
45
- defaultMonth = _ref$defaultMonth === void 0 ? new Date() : _ref$defaultMonth,
46
- popperClassName = _ref.popperClassName,
44
+ defaultMonth = _ref$defaultMonth === void 0 ? (0, _momentTimezone.default)() : _ref$defaultMonth,
45
+ enableYearPicker = _ref.enableYearPicker,
47
46
  _ref$position = _ref.position,
48
- position = _ref$position === void 0 ? "bottom" : _ref$position;
49
- var _useState = (0, _react.useState)((0, _moment.default)(from)),
47
+ position = _ref$position === void 0 ? "bottom" : _ref$position,
48
+ popperClassName = _ref.popperClassName;
49
+ var _useState = (0, _react.useState)(_momentTimezone.default.utc(from)),
50
50
  _useState2 = _slicedToArray(_useState, 2),
51
51
  fromDate = _useState2[0],
52
52
  setFromDate = _useState2[1];
53
- var _useState3 = (0, _react.useState)((0, _moment.default)(to)),
53
+ var _useState3 = (0, _react.useState)(_momentTimezone.default.utc(to)),
54
54
  _useState4 = _slicedToArray(_useState3, 2),
55
55
  toDate = _useState4[0],
56
56
  setToDate = _useState4[1];
57
- var _useState5 = (0, _react.useState)(false),
58
- _useState6 = _slicedToArray(_useState5, 2),
59
- showDatePicker = _useState6[0],
60
- setShowDatePicker = _useState6[1];
61
- var _useState7 = (0, _react.useState)(defaultMonth),
62
- _useState8 = _slicedToArray(_useState7, 2),
63
- month = _useState8[0],
64
- setMonth = _useState8[1];
65
57
  var getDatesByPeriod = (0, _react.useCallback)(function (interval) {
66
- var date = fromDate ? fromDate : (0, _moment.default)();
58
+ var date = fromDate ? fromDate : (0, _momentTimezone.default)();
67
59
  if (step === "daily") {
68
60
  date.add(interval, "days");
69
61
  return [date, date.clone()];
@@ -84,73 +76,67 @@ var DateStepper = exports.DateStepper = function DateStepper(_ref) {
84
76
  }, [fromDate, period, step]);
85
77
  var getDateFormatted = (0, _react.useMemo)(function () {
86
78
  if (formatCallback) {
87
- return formatCallback(fromDate.toDate(), toDate.toDate());
79
+ return formatCallback(fromDate, toDate);
88
80
  }
89
- var actualYear = (0, _moment.default)().year();
81
+ var actualYear = (0, _momentTimezone.default)().year();
90
82
  var showWeekOrCustomDateFormat = function showWeekOrCustomDateFormat(start, end) {
91
83
  if (start.year() === actualYear && end.year() === actualYear) {
92
- return start.format("MMM DD") + " - " + end.format("MMM DD");
84
+ return start.utc().format("MMM DD") + " - " + end.utc().format("MMM DD");
93
85
  } else {
94
- return start.format("MMM DD YYYY") + " - " + end.format("MMM DD YYYY");
86
+ return start.utc().format("MMM DD YYYY") + " - " + end.utc().format("MMM DD YYYY");
95
87
  }
96
88
  };
97
89
  if (step === "daily") {
98
90
  if (fromDate.year() === actualYear) {
99
- return fromDate.format("MMM DD");
91
+ return fromDate.utc().format("MMM DD");
100
92
  }
101
- return fromDate.format("MMM DD YYYY");
93
+ return fromDate.utc().format("MMM DD YYYY");
102
94
  } else if (step === "weekly") {
103
- var startDate = fromDate.clone().startOf(period);
104
- var endDate = startDate.clone().endOf(period);
95
+ var startDate = fromDate.clone().utc().startOf(period);
96
+ var endDate = startDate.clone().utc().endOf(period);
105
97
  return showWeekOrCustomDateFormat(startDate, endDate);
106
98
  } else if (step === "monthly") {
107
- return fromDate.format("MMM YYYY");
99
+ return fromDate.utc().format("MMM YYYY");
108
100
  } else if (step === "quarterly") {
109
- return "Q".concat(fromDate.quarter(), "/").concat(fromDate.format("YYYY"));
101
+ return "Q".concat(fromDate.utc().quarter(), "/").concat(fromDate.utc().format("YYYY"));
110
102
  } else if (step === "yearly") {
111
- return fromDate.format("YYYY");
112
- } else if (step === "custom") {
103
+ return fromDate.utc().format("YYYY");
104
+ } else if (step === "range") {
113
105
  return showWeekOrCustomDateFormat(fromDate, toDate);
114
106
  }
115
107
  return "";
116
- }, [fromDate, step, toDate, formatCallback, period]);
117
- var onChangeCallback = (0, _react.useCallback)(function (amount) {
118
- var _getDatesByPeriod = getDatesByPeriod(amount),
119
- _getDatesByPeriod2 = _slicedToArray(_getDatesByPeriod, 2),
120
- newFrom = _getDatesByPeriod2[0],
121
- newTo = _getDatesByPeriod2[1];
122
- setFromDate((0, _moment.default)(newFrom));
123
- setToDate((0, _moment.default)(newTo));
124
- if (onChange) {
125
- onChange(newFrom.toDate(), newTo.toDate());
126
- }
127
- }, [onChange, getDatesByPeriod]);
108
+ }, [fromDate, toDate, step, formatCallback, period]);
109
+ var datePickerMode = (0, _react.useMemo)(function () {
110
+ if (step === "range") return "custom";
111
+ if (step === "yearly") return "custom";
112
+ return step;
113
+ }, [step]);
128
114
  var onDatePickerChange = (0, _react.useCallback)(function (dates) {
129
- var fromDateTemp = dates === null || dates === void 0 ? void 0 : dates.from;
130
- var toDateTemp = dates === null || dates === void 0 ? void 0 : dates.to;
131
- setFromDate((0, _moment.default)(fromDateTemp));
132
- setToDate((0, _moment.default)(toDateTemp));
133
- if (onChange && fromDateTemp instanceof Date && toDateTemp instanceof Date) {
134
- onChange(fromDateTemp, toDateTemp);
115
+ var fromDateTemp = _momentTimezone.default.utc(Number(dates === null || dates === void 0 ? void 0 : dates.from) * 1000);
116
+ var toDateTemp = _momentTimezone.default.utc(Number(dates === null || dates === void 0 ? void 0 : dates.to) * 1000);
117
+ setFromDate(fromDateTemp);
118
+ setToDate(toDateTemp);
119
+ if (onChange && _momentTimezone.default.isMoment(fromDateTemp) && _momentTimezone.default.isMoment(toDateTemp)) {
120
+ onChange(fromDateTemp.toDate(), toDateTemp.toDate());
135
121
  }
136
122
  }, [onChange, setFromDate, setToDate]);
137
123
  var isAfterMaxDate = (0, _react.useMemo)(function () {
138
- return maxValue instanceof Date && (0, _moment.default)((0, _moment.default)(maxValue).format("YYYY-MM-DD")).isSameOrBefore(toDate.format("YYYY-MM-DD"));
124
+ return _momentTimezone.default.isMoment(maxValue) && (0, _momentTimezone.default)(_momentTimezone.default.utc(maxValue).format("YYYY-MM-DD")).isSameOrBefore(toDate.utc().format("YYYY-MM-DD"));
139
125
  }, [maxValue, toDate]);
140
126
  var isBeforeMinDate = (0, _react.useMemo)(function () {
141
- return minValue instanceof Date && (0, _moment.default)((0, _moment.default)(minValue).format("YYYY-MM-DD")).isSameOrAfter(toDate.format("YYYY-MM-DD"));
127
+ return _momentTimezone.default.isMoment(minValue) && _momentTimezone.default.utc(_momentTimezone.default.utc(minValue).format("YYYY-MM-DD")).isSameOrAfter(toDate.utc().format("YYYY-MM-DD"));
142
128
  }, [minValue, toDate]);
143
129
  (0, _react.useEffect)(function () {
144
130
  if (isBeforeMinDate) {
145
131
  if (step === "daily") {
146
- setFromDate((0, _moment.default)(minValue));
147
- setToDate((0, _moment.default)(minValue));
132
+ setFromDate(_momentTimezone.default.utc(minValue));
133
+ setToDate(_momentTimezone.default.utc(minValue));
148
134
  }
149
135
  }
150
136
  if (isAfterMaxDate) {
151
137
  if (step === "daily") {
152
- setFromDate((0, _moment.default)(maxValue));
153
- setToDate((0, _moment.default)(maxValue));
138
+ setFromDate(_momentTimezone.default.utc(maxValue));
139
+ setToDate(_momentTimezone.default.utc(maxValue));
154
140
  }
155
141
  }
156
142
  }, [step, minValue, maxValue, isBeforeMinDate, isAfterMaxDate]);
@@ -158,41 +144,45 @@ var DateStepper = exports.DateStepper = function DateStepper(_ref) {
158
144
  if (isAfterMaxDate) {
159
145
  return;
160
146
  }
161
- onChangeCallback(1);
147
+ var _getDatesByPeriod = getDatesByPeriod(1),
148
+ _getDatesByPeriod2 = _slicedToArray(_getDatesByPeriod, 2),
149
+ newFrom = _getDatesByPeriod2[0],
150
+ newTo = _getDatesByPeriod2[1];
151
+ setFromDate(_momentTimezone.default.utc(newFrom));
152
+ setToDate(_momentTimezone.default.utc(newTo));
153
+ if (onChange) {
154
+ onChange(_momentTimezone.default.utc(newFrom), _momentTimezone.default.utc(newTo));
155
+ }
162
156
  if (onForward) {
163
- onForward(fromDate.toDate(), toDate.toDate());
157
+ onForward(_momentTimezone.default.utc(newFrom).toDate(), _momentTimezone.default.utc(newTo).toDate());
164
158
  }
165
- }, [isAfterMaxDate, onChangeCallback, onForward, fromDate, toDate]);
159
+ }, [isAfterMaxDate, getDatesByPeriod, onChange, onForward]);
166
160
  var onLeftClickHandler = (0, _react.useCallback)(function () {
167
161
  if (isBeforeMinDate) {
168
162
  return;
169
163
  }
170
- onChangeCallback(-1);
164
+ var _getDatesByPeriod3 = getDatesByPeriod(-1),
165
+ _getDatesByPeriod4 = _slicedToArray(_getDatesByPeriod3, 2),
166
+ newFrom = _getDatesByPeriod4[0],
167
+ newTo = _getDatesByPeriod4[1];
168
+ setFromDate(_momentTimezone.default.utc(newFrom));
169
+ setToDate(_momentTimezone.default.utc(newTo));
170
+ if (onChange) {
171
+ onChange(_momentTimezone.default.utc(newFrom), _momentTimezone.default.utc(newTo));
172
+ }
171
173
  if (onBack) {
172
- onBack(fromDate.toDate(), toDate.toDate());
174
+ onBack(_momentTimezone.default.utc(newFrom).toDate(), _momentTimezone.default.utc(newTo).toDate());
173
175
  }
174
- }, [isBeforeMinDate, onChangeCallback, onBack, fromDate, toDate]);
176
+ }, [isBeforeMinDate, getDatesByPeriod, onChange, onBack]);
175
177
  var renderLeftRightButtons = (0, _react.useMemo)(function () {
176
- return step !== "custom";
178
+ return step !== "range";
177
179
  }, [step]);
178
- var handleShow = (0, _react.useCallback)(function () {
179
- setShowDatePicker(!showDatePicker);
180
- if (fromDate) {
181
- setMonth(fromDate.toDate());
182
- }
183
- }, [setShowDatePicker, showDatePicker, fromDate]);
184
- var closeMenu = (0, _react.useCallback)(function () {
185
- setShowDatePicker(false);
186
- }, []);
187
- var onMonthChange = (0, _react.useCallback)(function (m) {
188
- setMonth(m);
189
- }, [setMonth]);
190
180
  (0, _react.useEffect)(function () {
191
- setFromDate((0, _moment.default)(from));
192
- setToDate((0, _moment.default)(to));
181
+ setFromDate(_momentTimezone.default.utc(from));
182
+ setToDate(_momentTimezone.default.utc(to));
193
183
  }, [from, to]);
194
184
  var dateStepperWidth = function dateStepperWidth(fromDay, toDay, range) {
195
- if (fromDay.year() !== (0, _moment.default)().year() || toDay.year() !== (0, _moment.default)().year()) {
185
+ if (fromDay.utc().year() !== _momentTimezone.default.utc().year() || toDay.utc().year() !== _momentTimezone.default.utc().year()) {
196
186
  switch (range) {
197
187
  case "daily":
198
188
  case "monthly":
@@ -222,18 +212,24 @@ var DateStepper = exports.DateStepper = function DateStepper(_ref) {
222
212
  };
223
213
  };
224
214
  var isDisabled = (0, _react.useCallback)(function (day) {
225
- var dayFormat = (0, _moment.default)(day).format("YYYY-MM-DD");
226
- var isBefore = maxValue instanceof Date && (0, _moment.default)((0, _moment.default)(maxValue).format("YYYY-MM-DD")).isBefore(dayFormat);
227
- var isAfter = minValue instanceof Date && (0, _moment.default)((0, _moment.default)(minValue).format("YYYY-MM-DD")).isAfter(dayFormat);
215
+ var dayFormat = _momentTimezone.default.utc(day).format("YYYY-MM-DD");
216
+ var isBefore = _momentTimezone.default.isMoment(maxValue) && (0, _momentTimezone.default)(_momentTimezone.default.utc(maxValue).format("YYYY-MM-DD")).isBefore(dayFormat);
217
+ var isAfter = _momentTimezone.default.isMoment(minValue) && (0, _momentTimezone.default)(_momentTimezone.default.utc(minValue).format("YYYY-MM-DD")).isAfter(dayFormat);
228
218
  return isBefore || isAfter;
229
219
  }, [maxValue, minValue]);
230
220
  var modifiers = (0, _react.useMemo)(function () {
231
221
  return {
232
- day_disabled: function day_disabled(day) {
233
- return isDisabled(day);
222
+ disabled: function disabled(day) {
223
+ return {
224
+ matched: isDisabled(day),
225
+ title: null
226
+ };
234
227
  },
235
228
  nonWorkingDay: function nonWorkingDay(day) {
236
- return isDisabled(day);
229
+ return {
230
+ matched: isDisabled(day),
231
+ title: null
232
+ };
237
233
  }
238
234
  };
239
235
  }, [isDisabled]);
@@ -246,32 +242,30 @@ var DateStepper = exports.DateStepper = function DateStepper(_ref) {
246
242
  disabled: isBeforeMinDate
247
243
  }, /*#__PURE__*/_react.default.createElement(_ArrowLeft.default, null)) : null, /*#__PURE__*/_react.default.createElement(_Styles.StyledDiv, {
248
244
  $isTargetable: step === "yearly" || !withDatePicker,
249
- $isRounded: step === "custom",
245
+ $isRounded: step === "range",
250
246
  style: dateStepperWidth(fromDate, toDate, step)
251
- }, withDatePicker ? /*#__PURE__*/_react.default.createElement(_Styles.StyledMenu, {
247
+ }, withDatePicker && step !== "yearly" ? /*#__PURE__*/_react.default.createElement(_DatePicker.DatePicker, {
248
+ month: defaultMonth,
252
249
  target: /*#__PURE__*/_react.default.createElement(_Styles.StyledButton, {
253
250
  type: "button"
254
- }, /*#__PURE__*/_react.default.createElement("span", null, getDateFormatted)),
255
- open: showDatePicker,
256
- onOpen: handleShow,
257
- onClose: closeMenu,
258
- popperClassName: popperClassName,
259
- position: position
260
- }, /*#__PURE__*/_react.default.createElement(_DatePicker.DatePicker, {
261
- month: month,
262
- selectionMode: step,
263
- className: datePickerClass,
264
- selectedDays: {
265
- from: fromDate.toDate(),
266
- to: toDate.toDate()
251
+ }, getDateFormatted),
252
+ mode: datePickerMode,
253
+ selected: {
254
+ from: _momentTimezone.default.utc(fromDate).unix(),
255
+ to: _momentTimezone.default.utc(toDate).unix()
267
256
  },
268
257
  onChange: onDatePickerChange,
269
- onMonthChange: onMonthChange,
270
258
  firstDayOfWeek: period === "week" ? 0 : 1,
271
259
  modifiers: modifiers,
272
- dateRequired: true,
273
- fixedWeeks: true
274
- })) : /*#__PURE__*/_react.default.createElement(_Styles.StyledSpan, null, getDateFormatted)), renderLeftRightButtons ? /*#__PURE__*/_react.default.createElement(_Styles.StyledControl, {
260
+ disabledDaysAfter: maxValue,
261
+ disabledDaysBefore: minValue,
262
+ disableYearPicker: !enableYearPicker,
263
+ popperClassName: popperClassName,
264
+ position: position,
265
+ key: datePickerMode,
266
+ instant: true,
267
+ required: true
268
+ }) : /*#__PURE__*/_react.default.createElement(_Styles.StyledSpan, null, getDateFormatted)), renderLeftRightButtons ? /*#__PURE__*/_react.default.createElement(_Styles.StyledControl, {
275
269
  type: "button",
276
270
  variant: "secondary",
277
271
  onClick: onRightClickHandler,