@activecollab/components 2.0.149 → 2.0.151

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.
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ /**
3
+ * @component ViewDay
4
+ * @description
5
+ *
6
+ * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.
7
+ * The Icon component is
8
+ * customizable, allowing for variations in size, color, and style to fit the needs of the application.
9
+ *
10
+ *
11
+ * @example
12
+ * return (
13
+ * <ViewDayIcon className="mr-2" />
14
+ * )
15
+ *
16
+ * @see
17
+ * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons
18
+ * @see
19
+ * https://design.activecollab.com/docs/foundations/icons
20
+ */
21
+ declare const ViewDayIcon: React.ForwardRefExoticComponent<Omit<React.SVGProps<SVGSVGElement>, "ref"> & React.RefAttributes<SVGSVGElement>>;
22
+ export default ViewDayIcon;
23
+ //# sourceMappingURL=ViewDay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewDay.d.ts","sourceRoot":"","sources":["../../../../../src/components/Icons/collection/ViewDay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;;;;;;;;;;GAkBG;AAEH,QAAA,MAAM,WAAW,kHA+BhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,49 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import React from "react";
3
+
4
+ /**
5
+ * @component ViewDay
6
+ * @description
7
+ *
8
+ * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.
9
+ * The Icon component is
10
+ * customizable, allowing for variations in size, color, and style to fit the needs of the application.
11
+ *
12
+ *
13
+ * @example
14
+ * return (
15
+ * <ViewDayIcon className="mr-2" />
16
+ * )
17
+ *
18
+ * @see
19
+ * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons
20
+ * @see
21
+ * https://design.activecollab.com/docs/foundations/icons
22
+ */
23
+
24
+ const ViewDayIcon = /*#__PURE__*/React.forwardRef((props, svgRef) => /*#__PURE__*/React.createElement("svg", _extends({
25
+ width: 24,
26
+ height: 24,
27
+ viewBox: "0 0 24 24",
28
+ fill: "var(--color-theme-600)",
29
+ xmlns: "http://www.w3.org/2000/svg",
30
+ focusable: false,
31
+ ref: svgRef
32
+ }, props, {
33
+ "data-testid": "ViewDayIcon"
34
+ }), /*#__PURE__*/React.createElement("path", {
35
+ d: "M9 6C9 5.44772 9.44772 5 10 5H19C19.5523 5 20 5.44772 20 6C20 6.55228 19.5523 7 19 7H10C9.44771 7 9 6.55228 9 6Z",
36
+ fill: "#6D6D73"
37
+ }), /*#__PURE__*/React.createElement("path", {
38
+ d: "M9 12C9 11.4477 9.44772 11 10 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H10C9.44771 13 9 12.5523 9 12Z",
39
+ fill: "#6D6D73"
40
+ }), /*#__PURE__*/React.createElement("path", {
41
+ d: "M9 18C9 17.4477 9.44772 17 10 17H19C19.5523 17 20 17.4477 20 18C20 18.5523 19.5523 19 19 19H10C9.44771 19 9 18.5523 9 18Z",
42
+ fill: "#6D6D73"
43
+ }), /*#__PURE__*/React.createElement("path", {
44
+ d: "M5 4C5.55228 4 6 4.44772 6 5L6 19C6 19.5523 5.55228 20 5 20C4.44771 20 4 19.5523 4 19L4 5C4 4.44772 4.44772 4 5 4Z",
45
+ fill: "#6D6D73"
46
+ })));
47
+ ViewDayIcon.displayName = "ViewDayIcon";
48
+ export default ViewDayIcon;
49
+ //# sourceMappingURL=ViewDay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewDay.js","names":["React","ViewDayIcon","forwardRef","props","svgRef","createElement","_extends","width","height","viewBox","fill","xmlns","focusable","ref","d","displayName"],"sources":["../../../../../src/components/Icons/collection/ViewDay.tsx"],"sourcesContent":["import React from \"react\";\n\n/**\n * @component ViewDay\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <ViewDayIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\n\nconst ViewDayIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n fill=\"var(--color-theme-600)\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable={false}\n ref={svgRef}\n {...props}\n data-testid=\"ViewDayIcon\"\n >\n <path\n d=\"M9 6C9 5.44772 9.44772 5 10 5H19C19.5523 5 20 5.44772 20 6C20 6.55228 19.5523 7 19 7H10C9.44771 7 9 6.55228 9 6Z\"\n fill=\"#6D6D73\"\n />\n <path\n d=\"M9 12C9 11.4477 9.44772 11 10 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H10C9.44771 13 9 12.5523 9 12Z\"\n fill=\"#6D6D73\"\n />\n <path\n d=\"M9 18C9 17.4477 9.44772 17 10 17H19C19.5523 17 20 17.4477 20 18C20 18.5523 19.5523 19 19 19H10C9.44771 19 9 18.5523 9 18Z\"\n fill=\"#6D6D73\"\n />\n <path\n d=\"M5 4C5.55228 4 6 4.44772 6 5L6 19C6 19.5523 5.55228 20 5 20C4.44771 20 4 19.5523 4 19L4 5C4 4.44772 4.44772 4 5 4Z\"\n fill=\"#6D6D73\"\n />\n </svg>\n )\n);\nViewDayIcon.displayName = \"ViewDayIcon\";\nexport default ViewDayIcon;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,WAAW,gBAAGD,KAAK,CAACE,UAAU,CAClC,CAACC,KAAoC,EAAEC,MAAiC,kBACtEJ,KAAA,CAAAK,aAAA,QAAAC,QAAA;EACEC,KAAK,EAAE,EAAG;EACVC,MAAM,EAAE,EAAG;EACXC,OAAO,EAAC,WAAW;EACnBC,IAAI,EAAC,wBAAwB;EAC7BC,KAAK,EAAC,4BAA4B;EAClCC,SAAS,EAAE,KAAM;EACjBC,GAAG,EAAET;AAAO,GACRD,KAAK;EACT,eAAY;AAAa,iBAEzBH,KAAA,CAAAK,aAAA;EACES,CAAC,EAAC,kHAAkH;EACpHJ,IAAI,EAAC;AAAS,CACf,CAAC,eACFV,KAAA,CAAAK,aAAA;EACES,CAAC,EAAC,2HAA2H;EAC7HJ,IAAI,EAAC;AAAS,CACf,CAAC,eACFV,KAAA,CAAAK,aAAA;EACES,CAAC,EAAC,2HAA2H;EAC7HJ,IAAI,EAAC;AAAS,CACf,CAAC,eACFV,KAAA,CAAAK,aAAA;EACES,CAAC,EAAC,oHAAoH;EACtHJ,IAAI,EAAC;AAAS,CACf,CACE,CAET,CAAC;AACDT,WAAW,CAACc,WAAW,GAAG,aAAa;AACvC,eAAed,WAAW"}
@@ -30,7 +30,7 @@ export interface ISelectDateV2 {
30
30
  onDayClick?: (day: Moment, modifiers: string[]) => void;
31
31
  /** Save changes in atomic mode */
32
32
  onSave?: (dates?: TimestampDateRange) => void;
33
- /** On cancel closes datepicker or opens disard modal in atomic mode */
33
+ /** On cancel closes datepicker or opens discard modal in atomic mode */
34
34
  onCancel?: () => void;
35
35
  /** Clear dates when they are not required */
36
36
  onClear?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDateV2.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/SelectDateV2.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectDateV2.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/SelectDateV2.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import React, { useMemo } from "react";
2
2
  import classnames from "classnames";
3
- import moment from "moment-timezone";
4
3
  import { SelectDateTarget } from "./SelectDateTarget";
5
4
  import { StyledSelectDate, StyledSelectDateButton } from "./Styles";
6
5
  import { formatDate } from "../../utils/dateUtils";
7
- import { DatePickerV2 } from "../DatePicker/DatePickerV2";
6
+ import { DatePickerV2, toMoment } from "../DatePicker/DatePickerV2";
8
7
  const isDayInRange = (day, data) => {
9
8
  if (data.repeating) {
10
9
  const from = new Date(day.getFullYear(), data.from.getMonth(), data.from.getDate());
@@ -62,9 +61,9 @@ export const SelectDateV2 = _ref => {
62
61
  if (!selectedDays) {
63
62
  return defaultLabelText;
64
63
  } else {
65
- const formattedEndDate = formatDate(moment.utc(Number(selectedDays == null ? void 0 : selectedDays.to) * 1000), dateFormat, longDateFormat);
66
- const formattedStartDate = formatDate(moment.utc((selectedDays == null ? void 0 : selectedDays.from) * 1000), dateFormat, longDateFormat);
67
- if (moment.utc(selectedDays.from * 1000).isSame(moment.utc(Number(selectedDays.to) * 1000))) {
64
+ const formattedEndDate = formatDate(toMoment(selectedDays == null ? void 0 : selectedDays.to), dateFormat, longDateFormat);
65
+ const formattedStartDate = formatDate(toMoment(selectedDays == null ? void 0 : selectedDays.from), dateFormat, longDateFormat);
66
+ if (toMoment(selectedDays.from).isSame(toMoment(selectedDays.to))) {
68
67
  return formattedEndDate;
69
68
  }
70
69
  return formattedStartDate + " - " + formattedEndDate;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDateV2.js","names":["React","useMemo","classnames","moment","SelectDateTarget","StyledSelectDate","StyledSelectDateButton","formatDate","DatePickerV2","isDayInRange","day","data","repeating","from","Date","getFullYear","getMonth","getDate","to","SelectDateV2","_ref","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","defaultMonth","daysToModify","weekends","weekendLabel","nonWorkingDaysOfWeek","nonWorkingDaysOfWeekLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","enableYearPicker","disableAnimations","labelText","formattedEndDate","utc","Number","formattedStartDate","isSame","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","matchedData","find","matched","title","weekend","isWeekend","includes","getDay","nonWorkingDay","nonWorkingDays","isNonWorkingDay","renderTargetEl","createElement","className","target","month","instant","selected","saveLabel","cancelLabel","clearLabel","onClose","disabledDaysBefore","disabled","open","onCalendarToggle","enableConfirmModal","disableYearPicker","showControls","onChange","displayName"],"sources":["../../../../src/components/SelectDate/SelectDateV2.tsx"],"sourcesContent":["import React, { ElementType, FC, useMemo, CSSProperties } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\nimport { Moment } from \"moment\";\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 DatePickerV2,\n TimestampDateRange,\n} from \"../DatePicker/DatePickerV2\";\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\nexport interface ISelectDateV2 {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Moment, modifiers: string[]) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: TimestampDateRange) => void;\n /** On cancel closes datepicker or opens 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?: TimestampDateRange;\n /** Set month */\n defaultMonth?: Moment;\n /** Set selection range */\n selectionMode?: ChangeMode;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Array of nonworking week days */\n nonWorkingDaysOfWeek?: number[];\n /** Nonworking week days label */\n nonWorkingDaysOfWeekLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Moment;\n /** Enable year selector */\n enableYearPicker?: boolean;\n /** Disable aniamtions */\n disableAnimations?: boolean;\n}\n\nexport const SelectDateV2: FC<ISelectDateV2> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat,\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n nonWorkingDaysOfWeek = [],\n nonWorkingDaysOfWeekLabel = \"Unavailable\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n enableYearPicker,\n disableAnimations,\n}) => {\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const formattedEndDate = formatDate(\n moment.utc(Number(selectedDays?.to) * 1000),\n dateFormat,\n longDateFormat\n );\n const formattedStartDate = formatDate(\n moment.utc(selectedDays?.from * 1000),\n dateFormat,\n longDateFormat\n );\n\n if (\n moment\n .utc(selectedDays.from * 1000)\n .isSame(moment.utc(Number(selectedDays.to) * 1000))\n ) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [selectedDays, dateFormat, defaultLabelText, longDateFormat]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n userAvailability: (day: Date) => {\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = userAvailabilities.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n weekend: (day: Date) => {\n const isWeekend = weekends.includes(day.getDay());\n return {\n matched: isWeekend,\n title: isWeekend ? weekendLabel : null,\n };\n },\n nonWorkingDay: (day: Date) => {\n if (weekends.includes(day.getDay())) {\n return { matched: true, title: \"\" };\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = nonWorkingDays.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n nonWorkingDaysOfWeek: (day: Date) => {\n const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.getDay());\n return {\n matched: isNonWorkingDay,\n title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null,\n };\n },\n };\n }, [\n daysToModify,\n nonWorkingDaysOfWeek,\n nonWorkingDaysOfWeekLabel,\n weekendLabel,\n weekends,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <DatePickerV2\n target={renderTargetEl}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n onSave={onSave}\n onClose={onCancel}\n modifiers={modifiers}\n modalHeaderText={modalHeaderText}\n modalDiscardMessage={modalDiscardMessage}\n modalDiscardBtnText={modalDiscardBtnText}\n modalCancelBtnText={modalCancelBtnText}\n disabledDaysBefore={disableDaysBefore}\n backgroundElementClass={backgroundElementClass}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n open={defaultShowDatePicker}\n onCalendarToggle={onToggleDatePicker}\n onDayClick={onDayClick}\n enableConfirmModal={mode === \"atomic\" && !dateRequired}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n />\n ) : (\n <DatePickerV2\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n disabledDaysBefore={disableDaysBefore}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n onSave={onSave}\n onChange={onSave}\n modifiers={modifiers}\n onDayClick={onDayClick}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n />\n )}\n </StyledSelectDate>\n );\n};\n\nSelectDateV2.displayName = \"SelectDateV2\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectDateV2.js","names":["React","useMemo","classnames","SelectDateTarget","StyledSelectDate","StyledSelectDateButton","formatDate","DatePickerV2","toMoment","isDayInRange","day","data","repeating","from","Date","getFullYear","getMonth","getDate","to","SelectDateV2","_ref","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","defaultMonth","daysToModify","weekends","weekendLabel","nonWorkingDaysOfWeek","nonWorkingDaysOfWeekLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","enableYearPicker","disableAnimations","labelText","formattedEndDate","formattedStartDate","isSame","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","matchedData","find","matched","title","weekend","isWeekend","includes","getDay","nonWorkingDay","nonWorkingDays","isNonWorkingDay","renderTargetEl","createElement","className","target","month","instant","selected","saveLabel","cancelLabel","clearLabel","onClose","disabledDaysBefore","disabled","open","onCalendarToggle","enableConfirmModal","disableYearPicker","showControls","onChange","displayName"],"sources":["../../../../src/components/SelectDate/SelectDateV2.tsx"],"sourcesContent":["import React, { ElementType, FC, useMemo, CSSProperties } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\nimport { Moment } from \"moment\";\n\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport { StyledSelectDate, StyledSelectDateButton } from \"./Styles\";\nimport { DaysToModify } from \"./types\";\nimport { formatDate } from \"../../utils/dateUtils\";\nimport {\n ChangeMode,\n DatePickerV2,\n TimestampDateRange,\n toMoment,\n} from \"../DatePicker/DatePickerV2\";\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\nexport interface ISelectDateV2 {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Moment, modifiers: string[]) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: TimestampDateRange) => void;\n /** On cancel closes datepicker or opens discard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: TimestampDateRange;\n /** Set month */\n defaultMonth?: Moment;\n /** Set selection range */\n selectionMode?: ChangeMode;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Array of nonworking week days */\n nonWorkingDaysOfWeek?: number[];\n /** Nonworking week days label */\n nonWorkingDaysOfWeekLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Moment;\n /** Enable year selector */\n enableYearPicker?: boolean;\n /** Disable aniamtions */\n disableAnimations?: boolean;\n}\n\nexport const SelectDateV2: FC<ISelectDateV2> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat,\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n nonWorkingDaysOfWeek = [],\n nonWorkingDaysOfWeekLabel = \"Unavailable\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n enableYearPicker,\n disableAnimations,\n}) => {\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const formattedEndDate = formatDate(\n toMoment(selectedDays?.to),\n dateFormat,\n longDateFormat\n );\n const formattedStartDate = formatDate(\n toMoment(selectedDays?.from),\n dateFormat,\n longDateFormat\n );\n\n if (toMoment(selectedDays.from).isSame(toMoment(selectedDays.to))) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [selectedDays, dateFormat, defaultLabelText, longDateFormat]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n userAvailability: (day: Date) => {\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = userAvailabilities.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n weekend: (day: Date) => {\n const isWeekend = weekends.includes(day.getDay());\n return {\n matched: isWeekend,\n title: isWeekend ? weekendLabel : null,\n };\n },\n nonWorkingDay: (day: Date) => {\n if (weekends.includes(day.getDay())) {\n return { matched: true, title: \"\" };\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = nonWorkingDays.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n nonWorkingDaysOfWeek: (day: Date) => {\n const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.getDay());\n return {\n matched: isNonWorkingDay,\n title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null,\n };\n },\n };\n }, [\n daysToModify,\n nonWorkingDaysOfWeek,\n nonWorkingDaysOfWeekLabel,\n weekendLabel,\n weekends,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <DatePickerV2\n target={renderTargetEl}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n onSave={onSave}\n onClose={onCancel}\n modifiers={modifiers}\n modalHeaderText={modalHeaderText}\n modalDiscardMessage={modalDiscardMessage}\n modalDiscardBtnText={modalDiscardBtnText}\n modalCancelBtnText={modalCancelBtnText}\n disabledDaysBefore={disableDaysBefore}\n backgroundElementClass={backgroundElementClass}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n open={defaultShowDatePicker}\n onCalendarToggle={onToggleDatePicker}\n onDayClick={onDayClick}\n enableConfirmModal={mode === \"atomic\" && !dateRequired}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n />\n ) : (\n <DatePickerV2\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n disabledDaysBefore={disableDaysBefore}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n onSave={onSave}\n onChange={onSave}\n modifiers={modifiers}\n onDayClick={onDayClick}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n />\n )}\n </StyledSelectDate>\n );\n};\n\nSelectDateV2.displayName = \"SelectDateV2\";\n"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10712,6 +10712,18 @@
10712
10712
  })(["display:flex;justify-content:space-between;align-items:center;font-weight:bold;margin:auto;margin-bottom:4px;cursor:pointer;width:230px;"]);
10713
10713
  StyledCalendarHeader.displayName = "StyledCalendarHeader";
10714
10714
 
10715
+ var toMoment = function toMoment(date) {
10716
+ if (moment__default$1["default"].isMoment(date)) {
10717
+ return date;
10718
+ } else if (date === null) {
10719
+ return date;
10720
+ } else if (typeof date === "number") {
10721
+ return moment__default$1["default"].utc(date * 1000);
10722
+ } else if (typeof date === "string") {
10723
+ return moment__default$1["default"].utc(date);
10724
+ }
10725
+ return undefined;
10726
+ };
10715
10727
  var DatePickerV2 = function DatePickerV2(_ref) {
10716
10728
  var _selected$to4;
10717
10729
  var defaultSelected = _ref.selected,
@@ -10783,17 +10795,36 @@
10783
10795
  _useState10 = _slicedToArray(_useState9, 2),
10784
10796
  monthTransitionDirection = _useState10[0],
10785
10797
  setMonthTransitionDirection = _useState10[1];
10786
- var _useState11 = React.useState(defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.from ? moment__default$1["default"].utc((defaultSelected === null || defaultSelected === void 0 ? void 0 : defaultSelected.from) * 1000) : moment__default$1["default"].isMoment(month) ? month : moment__default$1["default"].utc(month)),
10798
+ var _useState11 = React.useState(function () {
10799
+ if (defaultSelected) {
10800
+ return toMoment(defaultSelected.from);
10801
+ }
10802
+ if (month) {
10803
+ return toMoment(month);
10804
+ }
10805
+ return moment__default$1["default"].utc();
10806
+ }),
10787
10807
  _useState12 = _slicedToArray(_useState11, 2),
10788
10808
  currentDate = _useState12[0],
10789
10809
  setCurrentDate = _useState12[1];
10790
- var _useState13 = React.useState(defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.from ? moment__default$1["default"].utc((defaultSelected === null || defaultSelected === void 0 ? void 0 : defaultSelected.from) * 1000) : moment__default$1["default"].isMoment(month) ? month : moment__default$1["default"].utc(month)),
10810
+ var _useState13 = React.useState(function () {
10811
+ if (defaultSelected) {
10812
+ return toMoment(defaultSelected.from);
10813
+ } else if (month) {
10814
+ return toMoment(month);
10815
+ }
10816
+ }),
10791
10817
  _useState14 = _slicedToArray(_useState13, 2),
10792
10818
  targetDate = _useState14[0],
10793
10819
  setTargetDate = _useState14[1];
10794
- var _useState15 = React.useState(!defaultSelected ? null : {
10795
- from: moment__default$1["default"].utc(defaultSelected.from * 1000),
10796
- to: moment__default$1["default"].utc(Number(defaultSelected.to) * 1000)
10820
+ var _useState15 = React.useState(function () {
10821
+ if (!defaultSelected) {
10822
+ return null;
10823
+ }
10824
+ return {
10825
+ from: toMoment(defaultSelected.from),
10826
+ to: toMoment(defaultSelected.to)
10827
+ };
10797
10828
  }),
10798
10829
  _useState16 = _slicedToArray(_useState15, 2),
10799
10830
  selected = _useState16[0],
@@ -10844,11 +10875,11 @@
10844
10875
  React.useEffect(function () {
10845
10876
  if (defaultSelected) {
10846
10877
  setSelected({
10847
- from: moment__default$1["default"].utc(defaultSelected.from * 1000),
10848
- to: moment__default$1["default"].utc(Number(defaultSelected.to) * 1000)
10878
+ from: toMoment(defaultSelected.from),
10879
+ to: toMoment(defaultSelected.to)
10849
10880
  });
10850
- setCurrentDate(moment__default$1["default"].utc(defaultSelected.from * 1000) || moment__default$1["default"].utc());
10851
- setTargetDate(moment__default$1["default"].utc(defaultSelected.from * 1000) || moment__default$1["default"].utc());
10881
+ setCurrentDate(toMoment(defaultSelected.from) || moment__default$1["default"].utc());
10882
+ setTargetDate(toMoment(defaultSelected.from) || moment__default$1["default"].utc());
10852
10883
  } else {
10853
10884
  setSelected(null);
10854
10885
  }
@@ -10933,6 +10964,10 @@
10933
10964
  from: date.utc(),
10934
10965
  to: null
10935
10966
  });
10967
+ onChange && onChange({
10968
+ from: date.utc().unix(),
10969
+ to: null
10970
+ });
10936
10971
  } else if (selected !== null && selected !== void 0 && selected.from.isSame(date.utc(), "day") && !required) {
10937
10972
  setSelected(null);
10938
10973
  onChange && onChange(undefined);
@@ -11224,11 +11259,11 @@
11224
11259
  if (mode === "custom" && instant && !selected && onSave) {
11225
11260
  onSave(undefined);
11226
11261
  }
11227
- setCurrentDate(defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.from ? moment__default$1["default"].utc((defaultSelected === null || defaultSelected === void 0 ? void 0 : defaultSelected.from) * 1000) : moment__default$1["default"].isMoment(month) ? month : moment__default$1["default"].utc());
11228
- setTargetDate(defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.from ? moment__default$1["default"].utc((defaultSelected === null || defaultSelected === void 0 ? void 0 : defaultSelected.from) * 1000) : moment__default$1["default"].isMoment(month) ? month : moment__default$1["default"].utc());
11262
+ setCurrentDate(defaultSelected ? toMoment(defaultSelected.from) : month ? toMoment(month) : moment__default$1["default"].utc());
11263
+ setTargetDate(defaultSelected ? toMoment(defaultSelected.from) : toMoment(month));
11229
11264
  setSelected(defaultSelected ? {
11230
- from: moment__default$1["default"].utc(defaultSelected.from * 1000),
11231
- to: moment__default$1["default"].utc(Number(defaultSelected.to) * 1000)
11265
+ from: toMoment(defaultSelected.from),
11266
+ to: toMoment(defaultSelected.to)
11232
11267
  } : null);
11233
11268
  toggleCalendar();
11234
11269
  setIsYearSelectOpen(false);
@@ -11241,7 +11276,7 @@
11241
11276
  if (!target || !enableConfirmModal || instant || required) {
11242
11277
  shouldClose = true;
11243
11278
  }
11244
- if (target && enableConfirmModal && !instant && !required && (selected && !defaultSelected || !selected && defaultSelected || selected !== null && selected !== void 0 && selected.from && defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.from && !selected.from.isSame(moment__default$1["default"].utc(defaultSelected.from * 1000)) || selected !== null && selected !== void 0 && selected.to && defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.to && !selected.to.isSame(moment__default$1["default"].utc(defaultSelected.to * 1000)))) {
11279
+ if (target && enableConfirmModal && !instant && !required && (selected && !defaultSelected || !selected && defaultSelected || selected !== null && selected !== void 0 && selected.from && defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.from && !selected.from.isSame(toMoment(defaultSelected.from)) || selected !== null && selected !== void 0 && selected.to && defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.to && !selected.to.isSame(toMoment(defaultSelected.to)))) {
11245
11280
  shouldClose = false;
11246
11281
  setShowDiscardModal(true);
11247
11282
  }
@@ -11257,8 +11292,8 @@
11257
11292
  }, []);
11258
11293
  var handleSaveDiscardModal = React.useCallback(function () {
11259
11294
  setSelected(defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.from ? {
11260
- from: moment__default$1["default"].utc(defaultSelected.from * 1000),
11261
- to: moment__default$1["default"].utc(Number(defaultSelected === null || defaultSelected === void 0 ? void 0 : defaultSelected.to) * 1000)
11295
+ from: toMoment(defaultSelected.from),
11296
+ to: toMoment(defaultSelected.to)
11262
11297
  } : null);
11263
11298
  setShowDiscardModal(false);
11264
11299
  handleClose();
@@ -17994,9 +18029,9 @@
17994
18029
  if (!selectedDays) {
17995
18030
  return defaultLabelText;
17996
18031
  } else {
17997
- var formattedEndDate = formatDate(moment__default$1["default"].utc(Number(selectedDays === null || selectedDays === void 0 ? void 0 : selectedDays.to) * 1000), dateFormat, longDateFormat);
17998
- var formattedStartDate = formatDate(moment__default$1["default"].utc((selectedDays === null || selectedDays === void 0 ? void 0 : selectedDays.from) * 1000), dateFormat, longDateFormat);
17999
- if (moment__default$1["default"].utc(selectedDays.from * 1000).isSame(moment__default$1["default"].utc(Number(selectedDays.to) * 1000))) {
18032
+ var formattedEndDate = formatDate(toMoment(selectedDays === null || selectedDays === void 0 ? void 0 : selectedDays.to), dateFormat, longDateFormat);
18033
+ var formattedStartDate = formatDate(toMoment(selectedDays === null || selectedDays === void 0 ? void 0 : selectedDays.from), dateFormat, longDateFormat);
18034
+ if (toMoment(selectedDays.from).isSame(toMoment(selectedDays.to))) {
18000
18035
  return formattedEndDate;
18001
18036
  }
18002
18037
  return "".concat(formattedStartDate, " - ").concat(formattedEndDate);
@@ -21785,6 +21820,7 @@
21785
21820
  exports.layers = layers;
21786
21821
  exports.numberWithSeparator = numberWithSeparator;
21787
21822
  exports.signifierTypes = signifierTypes;
21823
+ exports.toMoment = toMoment;
21788
21824
  exports.useEntityGroupContext = useEntityGroupContext;
21789
21825
  exports.useForkRef = useForkRef;
21790
21826
  exports.useHeight = useHeight;