@bigbinary/neeto-molecules 3.3.24 → 3.4.0

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.
@@ -20,9 +20,7 @@ import { n } from './inject-css-c86de496.js';
20
20
  import { dynamicArray, noop } from '@bigbinary/neeto-cist';
21
21
  import Pane from '@bigbinary/neetoui/Pane';
22
22
  import Switch from '@bigbinary/neetoui/Switch';
23
- import dayjs from 'dayjs';
24
- import timezone from 'dayjs/plugin/timezone';
25
- import utc from 'dayjs/plugin/utc';
23
+ import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
26
24
  import { Profile } from '@bigbinary/neeto-team-members-frontend';
27
25
  import DatePicker from '@bigbinary/neetoui/DatePicker';
28
26
  import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
@@ -83,8 +81,6 @@ var getDefaultDate = function getDefaultDate() {
83
81
  return dayjs(currDate);
84
82
  };
85
83
 
86
- dayjs.extend(utc);
87
- dayjs.extend(timezone);
88
84
  var Form = function Form(_ref) {
89
85
  var datetimeValue = _ref.datetimeValue,
90
86
  setDatetimeValue = _ref.setDatetimeValue,
@@ -1 +1 @@
1
- {"version":3,"file":"PublishBlock.js","sources":["../src/components/PublishBlock/AlertBlock.jsx","../src/components/PublishBlock/PublishSettings/constants.js","../src/components/PublishBlock/PublishSettings/utils.js","../src/components/PublishBlock/PublishSettings/Form.jsx","../src/components/PublishBlock/PublishSettings/PublishLater.jsx","../src/components/PublishBlock/PublishSettings/index.jsx","../src/components/PublishBlock/index.jsx"],"sourcesContent":["import { withT } from \"neetocommons/react-utils\";\nimport { Alert } from \"neetoui\";\n\nconst AlertBlock = withT(({ t, ...props }) => (\n <Alert\n data-cy=\"reset-alert\"\n data-testid=\"reset-alert\"\n submitButtonLabel={t(\"neetoMolecules.common.actions.reset\")}\n {...props}\n />\n));\n\nexport default AlertBlock;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const TIME_FORMAT = \"h a\";\n\nexport const DATE_FORMAT = globalProps.user?.dateFormat || \"DD/MM/YYYY\";\n","import dayjs from \"dayjs\";\nimport { dynamicArray } from \"neetocist\";\n\nexport const disabledDate = current =>\n current && current < dayjs().startOf(\"day\");\n\nexport const disabledTime = selectedDate => {\n const current = dayjs(selectedDate).startOf(\"day\");\n const today = dayjs().startOf(\"day\");\n\n if (current.isBefore(today)) {\n return { disabledHours: () => dynamicArray(24, i => i) };\n }\n\n if (current.isSame(today)) {\n const currentTime = dayjs();\n\n return {\n disabledHours: () => dynamicArray(currentTime.hour() + 1, i => i),\n };\n }\n\n return {};\n};\n\nexport const getDefaultDate = () => {\n const currDate = new Date();\n\n currDate.setHours(currDate.getHours() + 1);\n if (currDate.getMinutes() > 30) {\n currDate.setHours(currDate.getHours() + 1);\n }\n\n return dayjs(currDate);\n};\n","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { Profile } from \"neetoteam\";\nimport { Button, DatePicker, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT, TIME_FORMAT } from \"./constants\";\nimport { disabledDate, disabledTime } from \"./utils\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nconst Form = ({ datetimeValue, setDatetimeValue, onClose }) => {\n const { t } = useTranslation();\n const [_, setIsProfilePaneOpen] = Profile.usePaneState();\n\n return (\n <div className=\"space-y-1\">\n <DatePicker\n {...{ disabledDate }}\n required\n showTime\n allowClear={false}\n data-cy=\"publish-later-datepicker-input-field\"\n data-testid=\"publish-later-datepicker-input-field\"\n dateFormat={DATE_FORMAT}\n label={t(\"neetoMolecules.publishBlock.dateTime\")}\n timeFormat={TIME_FORMAT}\n value={datetimeValue}\n timePickerProps={{\n \"data-cy\": \"publish-later-timepicker-input-field\",\n \"data-testid\": \"publish-later-timepicker-input-field\",\n clearIcon: false,\n disabledTime,\n }}\n onChange={date => {\n setDatetimeValue(dayjs(date).startOf(\"hour\"));\n }}\n />\n <Typography style=\"body3\">\n <Trans\n i18nKey=\"neetoMolecules.publishBlock.timezoneDescription\"\n values={{ timezone: dayjs.tz.guess() }}\n components={{\n button: (\n <Button\n size=\"small\"\n style=\"link\"\n onClick={() => {\n onClose();\n setIsProfilePaneOpen(true);\n }}\n />\n ),\n }}\n />\n </Typography>\n </div>\n );\n};\nexport default Form;\n","import { Switch, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Form from \"./Form\";\nimport { getDefaultDate } from \"./utils\";\n\nconst PublishLater = ({\n setDatetimeValue,\n datetimeValue,\n onClose,\n isPublishLaterChecked,\n setIsPublishLaterChecked,\n}) => {\n const { t } = useTranslation();\n\n const handleChangeSwitch = event => {\n const { checked } = event.target;\n setDatetimeValue(checked ? getDefaultDate() : \"\");\n setIsPublishLaterChecked(checked);\n };\n\n return (\n <>\n <div className=\"mb-6\">\n <div className=\"flex w-full items-center space-x-2 py-1\">\n <Switch\n checked={isPublishLaterChecked}\n data-cy=\"publish-later-switch\"\n data-testid=\"publish-later-switch\"\n onChange={handleChangeSwitch}\n />\n <Typography style=\"h4\" weight=\"medium\">\n {t(\"neetoMolecules.publishBlock.publishLater\")}\n </Typography>\n </div>\n <Typography className=\"mb-6\" style=\"body3\" weight=\"medium\">\n {t(\"neetoMolecules.publishBlock.helperText\")}\n </Typography>\n </div>\n {isPublishLaterChecked && (\n <Form {...{ datetimeValue, onClose, setDatetimeValue }} />\n )}\n </>\n );\n};\n\nexport default PublishLater;\n","import { noop } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography, Button, Pane } from \"neetoui\";\n\nimport PublishLater from \"./PublishLater\";\n\nconst PublishSettings = withT(\n ({\n t,\n isSettingsPaneOpen,\n onClose,\n isSubmitting = false,\n onPublish = noop,\n datetimeValue,\n setDatetimeValue,\n onCancel = noop,\n isPublishLaterChecked,\n setIsPublishLaterChecked,\n }) => (\n <Pane isOpen={isSettingsPaneOpen} onClose={() => onCancel({ onClose })}>\n <Pane.Header>\n <Typography\n data-cy=\"publish-pane-heading\"\n data-testid=\"publish-pane-heading\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.publishBlock.publishSettings\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-1\">\n <PublishLater\n {...{\n datetimeValue,\n isPublishLaterChecked,\n onClose,\n setDatetimeValue,\n setIsPublishLaterChecked,\n }}\n />\n </div>\n </Pane.Body>\n <Pane.Footer className=\"space-x-2\">\n <Button\n data-cy=\"publish-submit-button\"\n data-testid=\"publish-submit-button\"\n disabled={isSubmitting}\n loading={isSubmitting}\n label={\n isPublishLaterChecked\n ? t(\"neetoMolecules.publishBlock.publishLater\")\n : t(\"neetoMolecules.publishBlock.publishNow\")\n }\n onClick={() =>\n onPublish({ isPublishLaterChecked, datetimeValue, onClose })\n }\n />\n <Button\n data-cy=\"publish-cancel-button\"\n data-testid=\"publish-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={() => onCancel({ onClose })}\n />\n </Pane.Footer>\n </Pane>\n )\n);\n\nexport default PublishSettings;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { ExternalLink, Undo } from \"neetoicons\";\nimport { Button, Tooltip, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AlertBlock from \"./AlertBlock\";\nimport \"./publish-block.scss\";\nimport PublishSettings from \"./PublishSettings\";\n\nconst ViewDraftButton = withT(({ t, ...props }) => (\n <Button\n data-cy=\"view-draft-button\"\n data-testid=\"view-draft-button\"\n icon={ExternalLink}\n style=\"secondary\"\n target=\"_blank\"\n tooltipProps={{\n content: t(\"neetoMolecules.publishBlock.viewDraftVersion\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n {...props}\n />\n));\n\nconst ResetDraftButton = withT(({ t, ...props }) => (\n <Button\n data-cy=\"draft-button\"\n data-testid=\"draft-button\"\n icon={Undo}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.publishBlock.deleteDraftVersion\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n {...props}\n />\n));\n\nconst PublishButton = ({\n tooltipProps,\n showTooltipWhenDisabled = false,\n disabled = false,\n publishPaneProps = {},\n onClick,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { onPublish, onCancel, isSubmitting, datetime } = publishPaneProps;\n const isPublishLaterDisabled = isEmpty(publishPaneProps);\n\n const [isSettingsPaneOpen, setIsSettingsPaneOpen] = useState(false);\n const [datetimeValue, setDatetimeValue] = useState(datetime);\n const [isPublishLaterChecked, setIsPublishLaterChecked] = useState(\n !!datetime\n );\n\n const handleClick = async () => {\n isPublishLaterDisabled\n ? await onClick?.()\n : await onClick?.({ setIsSettingsPaneOpen });\n\n if (isPublishLaterDisabled) return;\n\n setDatetimeValue(datetime || \"\");\n setIsPublishLaterChecked(!!datetime);\n };\n\n useEffect(() => {\n setDatetimeValue(datetime);\n }, [datetime]);\n\n return (\n <>\n <Tooltip\n {...tooltipProps}\n disabled={!tooltipProps || (!showTooltipWhenDisabled && disabled)}\n >\n <div>\n <Button\n data-cy=\"publish-button\"\n data-testid=\"publish-button\"\n label={t(\"neetoMolecules.common.actions.publish\")}\n onClick={handleClick}\n {...{ disabled, ...props }}\n />\n </div>\n </Tooltip>\n <PublishSettings\n {...{\n datetimeValue,\n isPublishLaterChecked,\n isSettingsPaneOpen,\n isSubmitting,\n onCancel,\n onPublish,\n setDatetimeValue,\n setIsPublishLaterChecked,\n }}\n onClose={() => setIsSettingsPaneOpen(false)}\n />\n </>\n );\n};\n\nconst PublishPreviewButton = withT(({ t, ...props }) => (\n <Button\n data-cy=\"publish-preview-button\"\n data-testid=\"publish-preview-button\"\n icon={ExternalLink}\n target=\"_blank\"\n className={classnames(\n { \"pointer-events-none\": props.disabled },\n props.className\n )}\n tooltipProps={{\n content: t(\"neetoMolecules.publishBlock.viewPublishedVersion\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n {...props}\n />\n));\n\nconst PublishBlock = ({ renderDraftButtons, renderPublishButtons }) => {\n const { t } = useTranslation();\n\n const draftBlockButtons = renderDraftButtons({\n ViewDraftButton,\n ResetDraftButton,\n });\n\n return (\n <div\n className=\"neeto-molecules-publish-block\"\n data-cy=\"neeto-molecules-publish-block\"\n data-testid=\"neeto-molecules-publish-block\"\n >\n {draftBlockButtons && (\n <>\n <div className=\"flex items-center gap-2\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"publish-block-draft-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.common.actions.draft\")}\n </Typography>\n <div className=\"flex items-center gap-1\">{draftBlockButtons}</div>\n </div>\n <div className=\"neeto-ui-bg-gray-300 h-full w-px\" />\n </>\n )}\n <div className=\"neeto-molecules-publish-block__action-btn\">\n {renderPublishButtons({ PublishButton, PublishPreviewButton })}\n </div>\n </div>\n );\n};\n\nPublishBlock.Alert = AlertBlock;\n\nPublishBlock.propTypes = {\n /**\n * The function to render the draft buttons. It provides the `ViewDraftButton` and `ResetDraftButton` components as arguments.\n */\n renderDraftButtons: PropTypes.func,\n /**\n * The function to render the publish buttons. It provides the `PublishButton` and `PublishPreviewButton` components as arguments.\n */\n renderPublishButtons: PropTypes.func,\n};\nexport default PublishBlock;\n"],"names":["AlertBlock","withT","_ref","t","props","_objectWithoutProperties","_excluded","_jsx","Alert","_objectSpread","submitButtonLabel","TIME_FORMAT","DATE_FORMAT","_globalProps$user","globalProps","user","dateFormat","disabledDate","current","dayjs","startOf","disabledTime","selectedDate","today","isBefore","disabledHours","dynamicArray","i","isSame","currentTime","hour","getDefaultDate","currDate","Date","setHours","getHours","getMinutes","extend","utc","timezone","Form","datetimeValue","setDatetimeValue","onClose","_useTranslation","useTranslation","_Profile$usePaneState","Profile","usePaneState","_Profile$usePaneState2","_slicedToArray","_","setIsProfilePaneOpen","_jsxs","className","children","DatePicker","required","showTime","allowClear","label","timeFormat","value","timePickerProps","clearIcon","onChange","date","Typography","style","Trans","i18nKey","values","tz","guess","components","button","Button","size","onClick","PublishLater","isPublishLaterChecked","setIsPublishLaterChecked","handleChangeSwitch","event","checked","target","_Fragment","Switch","weight","PublishSettings","isSettingsPaneOpen","_ref$isSubmitting","isSubmitting","_ref$onPublish","onPublish","noop","_ref$onCancel","onCancel","Pane","isOpen","Header","lineHeight","Body","Footer","disabled","loading","ViewDraftButton","icon","ExternalLink","tooltipProps","content","position","touch","ResetDraftButton","_ref2","_excluded2","Undo","PublishButton","_ref3","_ref3$showTooltipWhen","showTooltipWhenDisabled","_ref3$disabled","_ref3$publishPaneProp","publishPaneProps","_excluded3","datetime","isPublishLaterDisabled","isEmpty","_useState","useState","_useState2","setIsSettingsPaneOpen","_useState3","_useState4","_useState5","_useState6","handleClick","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","stop","apply","arguments","useEffect","Tooltip","PublishPreviewButton","_ref5","_excluded4","classnames","PublishBlock","_ref6","renderDraftButtons","renderPublishButtons","_useTranslation2","draftBlockButtons"],"mappings":"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"}
1
+ {"version":3,"file":"PublishBlock.js","sources":["../src/components/PublishBlock/AlertBlock.jsx","../src/components/PublishBlock/PublishSettings/constants.js","../src/components/PublishBlock/PublishSettings/utils.js","../src/components/PublishBlock/PublishSettings/Form.jsx","../src/components/PublishBlock/PublishSettings/PublishLater.jsx","../src/components/PublishBlock/PublishSettings/index.jsx","../src/components/PublishBlock/index.jsx"],"sourcesContent":["import { withT } from \"neetocommons/react-utils\";\nimport { Alert } from \"neetoui\";\n\nconst AlertBlock = withT(({ t, ...props }) => (\n <Alert\n data-cy=\"reset-alert\"\n data-testid=\"reset-alert\"\n submitButtonLabel={t(\"neetoMolecules.common.actions.reset\")}\n {...props}\n />\n));\n\nexport default AlertBlock;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const TIME_FORMAT = \"h a\";\n\nexport const DATE_FORMAT = globalProps.user?.dateFormat || \"DD/MM/YYYY\";\n","import { dynamicArray } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\n\nexport const disabledDate = current =>\n current && current < dayjs().startOf(\"day\");\n\nexport const disabledTime = selectedDate => {\n const current = dayjs(selectedDate).startOf(\"day\");\n const today = dayjs().startOf(\"day\");\n\n if (current.isBefore(today)) {\n return { disabledHours: () => dynamicArray(24, i => i) };\n }\n\n if (current.isSame(today)) {\n const currentTime = dayjs();\n\n return {\n disabledHours: () => dynamicArray(currentTime.hour() + 1, i => i),\n };\n }\n\n return {};\n};\n\nexport const getDefaultDate = () => {\n const currDate = new Date();\n\n currDate.setHours(currDate.getHours() + 1);\n if (currDate.getMinutes() > 30) {\n currDate.setHours(currDate.getHours() + 1);\n }\n\n return dayjs(currDate);\n};\n","import { dayjs } from \"neetocommons/utils\";\nimport { Profile } from \"neetoteam\";\nimport { Button, DatePicker, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT, TIME_FORMAT } from \"./constants\";\nimport { disabledDate, disabledTime } from \"./utils\";\n\nconst Form = ({ datetimeValue, setDatetimeValue, onClose }) => {\n const { t } = useTranslation();\n const [_, setIsProfilePaneOpen] = Profile.usePaneState();\n\n return (\n <div className=\"space-y-1\">\n <DatePicker\n {...{ disabledDate }}\n required\n showTime\n allowClear={false}\n data-cy=\"publish-later-datepicker-input-field\"\n data-testid=\"publish-later-datepicker-input-field\"\n dateFormat={DATE_FORMAT}\n label={t(\"neetoMolecules.publishBlock.dateTime\")}\n timeFormat={TIME_FORMAT}\n value={datetimeValue}\n timePickerProps={{\n \"data-cy\": \"publish-later-timepicker-input-field\",\n \"data-testid\": \"publish-later-timepicker-input-field\",\n clearIcon: false,\n disabledTime,\n }}\n onChange={date => {\n setDatetimeValue(dayjs(date).startOf(\"hour\"));\n }}\n />\n <Typography style=\"body3\">\n <Trans\n i18nKey=\"neetoMolecules.publishBlock.timezoneDescription\"\n values={{ timezone: dayjs.tz.guess() }}\n components={{\n button: (\n <Button\n size=\"small\"\n style=\"link\"\n onClick={() => {\n onClose();\n setIsProfilePaneOpen(true);\n }}\n />\n ),\n }}\n />\n </Typography>\n </div>\n );\n};\nexport default Form;\n","import { Switch, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Form from \"./Form\";\nimport { getDefaultDate } from \"./utils\";\n\nconst PublishLater = ({\n setDatetimeValue,\n datetimeValue,\n onClose,\n isPublishLaterChecked,\n setIsPublishLaterChecked,\n}) => {\n const { t } = useTranslation();\n\n const handleChangeSwitch = event => {\n const { checked } = event.target;\n setDatetimeValue(checked ? getDefaultDate() : \"\");\n setIsPublishLaterChecked(checked);\n };\n\n return (\n <>\n <div className=\"mb-6\">\n <div className=\"flex w-full items-center space-x-2 py-1\">\n <Switch\n checked={isPublishLaterChecked}\n data-cy=\"publish-later-switch\"\n data-testid=\"publish-later-switch\"\n onChange={handleChangeSwitch}\n />\n <Typography style=\"h4\" weight=\"medium\">\n {t(\"neetoMolecules.publishBlock.publishLater\")}\n </Typography>\n </div>\n <Typography className=\"mb-6\" style=\"body3\" weight=\"medium\">\n {t(\"neetoMolecules.publishBlock.helperText\")}\n </Typography>\n </div>\n {isPublishLaterChecked && (\n <Form {...{ datetimeValue, onClose, setDatetimeValue }} />\n )}\n </>\n );\n};\n\nexport default PublishLater;\n","import { noop } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography, Button, Pane } from \"neetoui\";\n\nimport PublishLater from \"./PublishLater\";\n\nconst PublishSettings = withT(\n ({\n t,\n isSettingsPaneOpen,\n onClose,\n isSubmitting = false,\n onPublish = noop,\n datetimeValue,\n setDatetimeValue,\n onCancel = noop,\n isPublishLaterChecked,\n setIsPublishLaterChecked,\n }) => (\n <Pane isOpen={isSettingsPaneOpen} onClose={() => onCancel({ onClose })}>\n <Pane.Header>\n <Typography\n data-cy=\"publish-pane-heading\"\n data-testid=\"publish-pane-heading\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.publishBlock.publishSettings\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-1\">\n <PublishLater\n {...{\n datetimeValue,\n isPublishLaterChecked,\n onClose,\n setDatetimeValue,\n setIsPublishLaterChecked,\n }}\n />\n </div>\n </Pane.Body>\n <Pane.Footer className=\"space-x-2\">\n <Button\n data-cy=\"publish-submit-button\"\n data-testid=\"publish-submit-button\"\n disabled={isSubmitting}\n loading={isSubmitting}\n label={\n isPublishLaterChecked\n ? t(\"neetoMolecules.publishBlock.publishLater\")\n : t(\"neetoMolecules.publishBlock.publishNow\")\n }\n onClick={() =>\n onPublish({ isPublishLaterChecked, datetimeValue, onClose })\n }\n />\n <Button\n data-cy=\"publish-cancel-button\"\n data-testid=\"publish-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={() => onCancel({ onClose })}\n />\n </Pane.Footer>\n </Pane>\n )\n);\n\nexport default PublishSettings;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { ExternalLink, Undo } from \"neetoicons\";\nimport { Button, Tooltip, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AlertBlock from \"./AlertBlock\";\nimport \"./publish-block.scss\";\nimport PublishSettings from \"./PublishSettings\";\n\nconst ViewDraftButton = withT(({ t, ...props }) => (\n <Button\n data-cy=\"view-draft-button\"\n data-testid=\"view-draft-button\"\n icon={ExternalLink}\n style=\"secondary\"\n target=\"_blank\"\n tooltipProps={{\n content: t(\"neetoMolecules.publishBlock.viewDraftVersion\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n {...props}\n />\n));\n\nconst ResetDraftButton = withT(({ t, ...props }) => (\n <Button\n data-cy=\"draft-button\"\n data-testid=\"draft-button\"\n icon={Undo}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.publishBlock.deleteDraftVersion\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n {...props}\n />\n));\n\nconst PublishButton = ({\n tooltipProps,\n showTooltipWhenDisabled = false,\n disabled = false,\n publishPaneProps = {},\n onClick,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { onPublish, onCancel, isSubmitting, datetime } = publishPaneProps;\n const isPublishLaterDisabled = isEmpty(publishPaneProps);\n\n const [isSettingsPaneOpen, setIsSettingsPaneOpen] = useState(false);\n const [datetimeValue, setDatetimeValue] = useState(datetime);\n const [isPublishLaterChecked, setIsPublishLaterChecked] = useState(\n !!datetime\n );\n\n const handleClick = async () => {\n isPublishLaterDisabled\n ? await onClick?.()\n : await onClick?.({ setIsSettingsPaneOpen });\n\n if (isPublishLaterDisabled) return;\n\n setDatetimeValue(datetime || \"\");\n setIsPublishLaterChecked(!!datetime);\n };\n\n useEffect(() => {\n setDatetimeValue(datetime);\n }, [datetime]);\n\n return (\n <>\n <Tooltip\n {...tooltipProps}\n disabled={!tooltipProps || (!showTooltipWhenDisabled && disabled)}\n >\n <div>\n <Button\n data-cy=\"publish-button\"\n data-testid=\"publish-button\"\n label={t(\"neetoMolecules.common.actions.publish\")}\n onClick={handleClick}\n {...{ disabled, ...props }}\n />\n </div>\n </Tooltip>\n <PublishSettings\n {...{\n datetimeValue,\n isPublishLaterChecked,\n isSettingsPaneOpen,\n isSubmitting,\n onCancel,\n onPublish,\n setDatetimeValue,\n setIsPublishLaterChecked,\n }}\n onClose={() => setIsSettingsPaneOpen(false)}\n />\n </>\n );\n};\n\nconst PublishPreviewButton = withT(({ t, ...props }) => (\n <Button\n data-cy=\"publish-preview-button\"\n data-testid=\"publish-preview-button\"\n icon={ExternalLink}\n target=\"_blank\"\n className={classnames(\n { \"pointer-events-none\": props.disabled },\n props.className\n )}\n tooltipProps={{\n content: t(\"neetoMolecules.publishBlock.viewPublishedVersion\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n {...props}\n />\n));\n\nconst PublishBlock = ({ renderDraftButtons, renderPublishButtons }) => {\n const { t } = useTranslation();\n\n const draftBlockButtons = renderDraftButtons({\n ViewDraftButton,\n ResetDraftButton,\n });\n\n return (\n <div\n className=\"neeto-molecules-publish-block\"\n data-cy=\"neeto-molecules-publish-block\"\n data-testid=\"neeto-molecules-publish-block\"\n >\n {draftBlockButtons && (\n <>\n <div className=\"flex items-center gap-2\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"publish-block-draft-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.common.actions.draft\")}\n </Typography>\n <div className=\"flex items-center gap-1\">{draftBlockButtons}</div>\n </div>\n <div className=\"neeto-ui-bg-gray-300 h-full w-px\" />\n </>\n )}\n <div className=\"neeto-molecules-publish-block__action-btn\">\n {renderPublishButtons({ PublishButton, PublishPreviewButton })}\n </div>\n </div>\n );\n};\n\nPublishBlock.Alert = AlertBlock;\n\nPublishBlock.propTypes = {\n /**\n * The function to render the draft buttons. It provides the `ViewDraftButton` and `ResetDraftButton` components as arguments.\n */\n renderDraftButtons: PropTypes.func,\n /**\n * The function to render the publish buttons. It provides the `PublishButton` and `PublishPreviewButton` components as arguments.\n */\n renderPublishButtons: PropTypes.func,\n};\nexport default PublishBlock;\n"],"names":["AlertBlock","withT","_ref","t","props","_objectWithoutProperties","_excluded","_jsx","Alert","_objectSpread","submitButtonLabel","TIME_FORMAT","DATE_FORMAT","_globalProps$user","globalProps","user","dateFormat","disabledDate","current","dayjs","startOf","disabledTime","selectedDate","today","isBefore","disabledHours","dynamicArray","i","isSame","currentTime","hour","getDefaultDate","currDate","Date","setHours","getHours","getMinutes","Form","datetimeValue","setDatetimeValue","onClose","_useTranslation","useTranslation","_Profile$usePaneState","Profile","usePaneState","_Profile$usePaneState2","_slicedToArray","_","setIsProfilePaneOpen","_jsxs","className","children","DatePicker","required","showTime","allowClear","label","timeFormat","value","timePickerProps","clearIcon","onChange","date","Typography","style","Trans","i18nKey","values","timezone","tz","guess","components","button","Button","size","onClick","PublishLater","isPublishLaterChecked","setIsPublishLaterChecked","handleChangeSwitch","event","checked","target","_Fragment","Switch","weight","PublishSettings","isSettingsPaneOpen","_ref$isSubmitting","isSubmitting","_ref$onPublish","onPublish","noop","_ref$onCancel","onCancel","Pane","isOpen","Header","lineHeight","Body","Footer","disabled","loading","ViewDraftButton","icon","ExternalLink","tooltipProps","content","position","touch","ResetDraftButton","_ref2","_excluded2","Undo","PublishButton","_ref3","_ref3$showTooltipWhen","showTooltipWhenDisabled","_ref3$disabled","_ref3$publishPaneProp","publishPaneProps","_excluded3","datetime","isPublishLaterDisabled","isEmpty","_useState","useState","_useState2","setIsSettingsPaneOpen","_useState3","_useState4","_useState5","_useState6","handleClick","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","stop","apply","arguments","useEffect","Tooltip","PublishPreviewButton","_ref5","_excluded4","classnames","PublishBlock","_ref6","renderDraftButtons","renderPublishButtons","_useTranslation2","draftBlockButtons"],"mappings":"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"}
package/dist/Schedule.js CHANGED
@@ -7,14 +7,10 @@ import { joinHyphenCase } from '@bigbinary/neeto-commons-frontend/utils/general'
7
7
  import Typography from '@bigbinary/neetoui/Typography';
8
8
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
9
9
  import { ianaTimezoneToHumanReadable } from '@bigbinary/neeto-time-zones';
10
- import dayjs from 'dayjs';
11
10
  import i18next from 'i18next';
11
+ import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
12
12
  import { timeFormat } from '@bigbinary/neeto-commons-frontend/utils/datetime';
13
13
  import * as yup from 'yup';
14
- import customParseFormat from 'dayjs/plugin/customParseFormat';
15
- import timezone from 'dayjs/plugin/timezone';
16
- import utc from 'dayjs/plugin/utc';
17
- import weekday from 'dayjs/plugin/weekday';
18
14
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
19
15
  import _createClass from '@babel/runtime/helpers/createClass';
20
16
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
@@ -130,11 +126,6 @@ function extendDayjs(dayjs) {
130
126
  return dayjs;
131
127
  }
132
128
 
133
- dayjs.extend(utc);
134
- dayjs.extend(timezone);
135
- dayjs.extend(customParseFormat);
136
- dayjs.extend(weekday);
137
-
138
129
  // Add range and overlap functions to dayjs
139
130
  var dayjsExtended = extendDayjs(dayjs);
140
131
 
@@ -1 +1 @@
1
- {"version":3,"file":"Schedule.js","sources":["../src/components/Schedule/constants.js","../src/components/Schedule/dayjsExtended/constants.js","../src/components/Schedule/Form/constants.js","../src/components/Schedule/dayjsExtended/range.js","../src/components/Schedule/dayjsExtended/index.js","../src/components/Schedule/utils.js","../src/components/Schedule/DisplayAvailability.jsx","../src/components/Schedule/Form/utils.js","../src/components/Schedule/ScheduleContext.js","../src/components/Schedule/Form/ScheduleRow.jsx","../src/components/Schedule/Form/index.jsx","../src/components/Schedule/Fields.jsx","../src/components/Schedule/Header.jsx","../src/components/Schedule/index.jsx"],"sourcesContent":["export const DEFAULT_BOOKED_SLOTS = [\n { startTime: \"09:00 AM\", endTime: \"05:00 PM\" },\n];\n\nexport const MARK_DAY_AS_AVAILABLE_BY_DEFAULT = true;\n\nexport const DAYS = [\n \"monday\",\n \"tuesday\",\n \"wednesday\",\n \"thursday\",\n \"friday\",\n \"saturday\",\n \"sunday\",\n];\n\nexport const DEFAULT_SLOT_INTERVAL = 30;\n","export const INTERVALS = [\n \"year\",\n \"quarter\",\n \"month\",\n \"week\",\n \"day\",\n \"hour\",\n \"minute\",\n \"second\",\n];\n","export const REMOVE_SELECT_DOWN_ARROW = {\n DropdownIndicator: () => null,\n IndicatorSeparator: () => null,\n};\n\nexport const BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN = {\n singleValue: (base, state) => ({\n ...base,\n color: state.selectProps.menuIsOpen ? \"#c2c8cc\" : base.color,\n }),\n};\n\nexport const SLOT_TIME_FORMAT = \"hh:mm A\";\n\nexport const END_OF_DAY = \"11:59 PM\";\n","import { INTERVALS } from \"./constants\";\n\nimport { SLOT_TIME_FORMAT } from \"../Form/constants\";\n\nexport class DayjsRange {\n constructor(startDate, endDate) {\n const { s, e } =\n startDate > endDate\n ? { s: endDate, e: startDate }\n : { s: startDate, e: endDate };\n\n this.startDate = s;\n this.endDate = e;\n }\n\n isValidRange() {\n return this.startDate.isValid() && this.endDate.isValid();\n }\n\n isOverlap(other) {\n if (!(other instanceof DayjsRange) || !other.isValidRange()) {\n return false;\n }\n\n return this.startDate < other.endDate && this.endDate > other.startDate;\n }\n\n toArrayOfTimeIntervals(interval = 15) {\n let startTime = this.startDate;\n const endTime = this.endDate.add(1, \"days\");\n const allTimes = [];\n\n while (startTime < endTime) {\n allTimes.push(startTime.format(SLOT_TIME_FORMAT));\n startTime = startTime.add(interval, \"minutes\");\n }\n\n return allTimes;\n }\n}\n\nexport default (_, __, d) => {\n d.range = (start, end) => new DayjsRange(d(start), d(end));\n};\n\nexport function extendDayjs(dayjs) {\n dayjs.range = function range(start, end) {\n const dayjsObject = this;\n\n if (typeof start === \"string\" && INTERVALS.includes(start)) {\n return new DayjsRange(\n dayjs(dayjsObject).startOf(start),\n dayjs(dayjsObject).endOf(start)\n );\n }\n\n return new DayjsRange(start, end);\n };\n\n dayjs.range.constructor = DayjsRange;\n\n // Returns timeIntervals in 12 hour clock format for the whole day with both AM or PM suffixed\n dayjs.timeIntervalsForDay = interval => {\n const [startOfDay, endOfDay] = [\n dayjs(\"00:00 AM\", SLOT_TIME_FORMAT),\n dayjs(\"00:00 AM\", SLOT_TIME_FORMAT),\n ];\n\n const allIntervalsForADay = dayjs\n .range(startOfDay, endOfDay)\n .toArrayOfTimeIntervals(interval);\n\n return allIntervalsForADay;\n };\n\n return dayjs;\n}\n","import Dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport weekday from \"dayjs/plugin/weekday\";\n\nimport { extendDayjs } from \"./range\";\n\nDayjs.extend(utc);\nDayjs.extend(timezone);\nDayjs.extend(customParseFormat);\nDayjs.extend(weekday);\n\n// Add range and overlap functions to dayjs\nconst dayjsExtended = extendDayjs(Dayjs);\n\nexport default dayjsExtended;\n","import { ianaTimezoneToHumanReadable } from \"@bigbinary/neeto-time-zones\";\nimport dayjs from \"dayjs\";\nimport i18next from \"i18next\";\nimport { findIndexBy } from \"neetocist\";\nimport { timeFormat } from \"neetocommons/utils/datetime\";\nimport * as yup from \"yup\";\n\nimport dayjsExtended from \"./dayjsExtended\";\nimport { SLOT_TIME_FORMAT } from \"./Form/constants\";\n\nyup.addMethod(yup.array, \"ensureSlotsCantOverlap\", function () {\n return this.test(\"ensureSlotsCantOverlap\", function (periods) {\n const {\n exists: isOverlapping,\n range1,\n range2,\n } = checkForOverlapBetweenPeriods(periods);\n\n if (!isOverlapping) return true;\n\n const { firstIndex, secondIndex } = findIndicesOfOverlappingRangesInPeriods(\n { range1, range2, periods }\n );\n\n const firstError = this.createError({\n path: `${this.path}[${firstIndex}]`,\n message: i18next.t(\"neetoMolecules.schedule.errors.period.overlap\", {\n start: timeFormat.time(range2.startDate),\n end: timeFormat.time(range2.endDate),\n }),\n });\n\n const secondError = this.createError({\n path: `${this.path}[${secondIndex}]`,\n message: i18next.t(\"neetoMolecules.schedule.errors.period.overlap\", {\n start: timeFormat.time(range1.startDate),\n end: timeFormat.time(range1.endDate),\n }),\n });\n\n return new yup.ValidationError([firstError, secondError]);\n });\n});\n\nconst isFromAndToSame = (startTime, endTime) => {\n if (!startTime || !endTime) return true;\n\n return dayjs(startTime, SLOT_TIME_FORMAT).isSame(\n dayjs(endTime, SLOT_TIME_FORMAT)\n );\n};\n\nexport const getScheduleValidationSchema = () =>\n yup.object().shape({\n wdays: yup.array().of(\n yup.object().shape({\n periods: yup\n .array()\n .of(\n yup\n .object()\n .shape({\n startTime: yup\n .string()\n .required(\n i18next.t(\"neetoMolecules.schedule.errors.period.startTime\")\n ),\n endTime: yup\n .string()\n .required(\n i18next.t(\"neetoMolecules.schedule.errors.period.endTime\")\n )\n .test(\n \"ensureToTimeNotBehindFromTime\",\n i18next.t(\"neetoMolecules.schedule.errors.period.isBehind\"),\n function (value) {\n const { startTime } = this.parent;\n if (isFromAndToSame(value, startTime)) return true;\n\n return isTimeBehind(startTime, value);\n }\n ),\n })\n .test(\n \"ensureTimeNotSame\",\n i18next.t(\"neetoMolecules.schedule.errors.period.sameTime\"),\n value => {\n const { startTime, endTime } = value;\n\n return !isFromAndToSame(startTime, endTime);\n }\n )\n )\n .ensureSlotsCantOverlap(),\n })\n ),\n });\n\nexport const getUserTimeZone = () => window.globalProps?.user.timeZone;\n\nexport const getTimeZoneAndTime = () => {\n const timeZone = getUserTimeZone();\n const humanReadableTimezone = ianaTimezoneToHumanReadable(timeZone);\n\n // Requires timezone initialization\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n return `${humanReadableTimezone}: ${dayjs()\n .tz(timeZone)\n .format(SLOT_TIME_FORMAT)}`;\n};\n\nexport const isTimeBehind = (timeA, timeB) =>\n dayjs(timeA, SLOT_TIME_FORMAT).isBefore(dayjs(timeB, SLOT_TIME_FORMAT));\n\nexport const sortPeriodsByKey = ({ periods, key, order = \"desc\" }) =>\n periods.slice().sort((periodA, periodB) => {\n const isPeriodBehind = isTimeBehind(periodA[key], periodB[key]);\n if (order === \"desc\") return isPeriodBehind ? 1 : -1;\n\n return isPeriodBehind ? -1 : 1;\n });\n\n/**\n * Check for overlapping between entered periods\n * @typedef {Object} Slots\n * @property {Array<{startTime:string, endTime: string}>} periods - startTime and endTime\n * @param {Slots} periods - changed time periods\n * @return {{exists: boolean, range1: DayjsRange | null, range2:DayjsRange | null }} - overlapped ranges if exists\n */\nexport const checkForOverlapBetweenPeriods = periods => {\n let response = { exists: false, range1: null, range2: null };\n\n if (!periods?.length) return response;\n\n const slotsSortedByStartTime = sortPeriodsByKey({\n periods,\n key: \"startTime\",\n });\n for (const [index, value] of slotsSortedByStartTime.slice(0, -1).entries()) {\n const seg1 = value;\n const seg2 = slotsSortedByStartTime[index + 1];\n const range1 = dayjsExtended.range(\n dayjsExtended(seg1.startTime, SLOT_TIME_FORMAT),\n dayjsExtended(seg1.endTime, SLOT_TIME_FORMAT)\n );\n\n const range2 = dayjsExtended.range(\n dayjsExtended(seg2.startTime, SLOT_TIME_FORMAT),\n dayjsExtended(seg2.endTime, SLOT_TIME_FORMAT)\n );\n if (range1.isOverlap(range2)) {\n response = { exists: true, range1, range2 };\n break;\n }\n }\n\n return response;\n};\n\nexport const findIndicesOfOverlappingRangesInPeriods = ({\n range1,\n range2,\n periods,\n}) => {\n const firstIndex = findIndexBy(\n { startTime: range1.startDate.format(SLOT_TIME_FORMAT) },\n periods\n );\n\n const secondIndex = periods.findIndex(\n (slot, index) =>\n index > firstIndex &&\n slot.startTime === range2.startDate.format(SLOT_TIME_FORMAT)\n );\n\n return { firstIndex, secondIndex };\n};\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // Requires timezone initialization\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","import { isPresent } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\n\nimport { DAYS } from \"./constants\";\nimport { sortPeriodsByKey } from \"./utils\";\n\nconst DisplayAvailability = withT(({ t, periods }) => (\n <div className=\"w-full space-y-4\">\n {DAYS.map(day => (\n <div\n className=\"neeto-ui-rounded-md neeto-ui-shadow-xs neeto-ui-border-gray-200 neeto-ui-bg-white flex w-full flex-wrap items-center justify-center gap-2 border px-6 py-4 sm:items-start sm:justify-start\"\n key={day}\n >\n <Typography\n className=\"mt-0.5 w-24 text-center sm:w-1/4 sm:text-left\"\n data-cy={joinHyphenCase(day, \"day-text\")}\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(`neetoMolecules.schedule.days.${day}`)}\n </Typography>\n <div className=\"flex flex-grow flex-col items-center space-y-4 sm:w-1/2\">\n {isPresent(periods[day]) ? (\n sortPeriodsByKey({\n periods: periods[day],\n key: \"startTime\",\n order: \"asc\",\n })?.map(period => (\n <div className=\"flex items-center space-x-4\" key={period.id}>\n <Typography\n className=\"w-20 text-right\"\n lineHeight=\"relaxed\"\n style=\"h5\"\n weight=\"semibold\"\n data-cy={joinHyphenCase(\n day,\n period.startTime,\n \"start-time-text\"\n )}\n >\n {period.startTime}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600\" component=\"span\">\n -\n </Typography>\n <Typography\n className=\"w-20 text-left\"\n lineHeight=\"relaxed\"\n style=\"h5\"\n weight=\"semibold\"\n data-cy={joinHyphenCase(\n day,\n period.endTime,\n \"start-time-text\"\n )}\n >\n {period.endTime}\n </Typography>\n </div>\n ))\n ) : (\n <Typography\n className=\"mx-8 flex-grow text-center\"\n data-cy={joinHyphenCase(day, \"unavailable-time-text\")}\n lineHeight=\"relaxed\"\n style=\"h5\"\n >\n {t(\"neetoMolecules.schedule.unavailable\")}\n </Typography>\n )}\n </div>\n </div>\n ))}\n </div>\n));\n\nexport default DisplayAvailability;\n","import { toLabelAndValue, isNotPresent } from \"neetocist\";\nimport { uniq, pluck, difference } from \"ramda\";\n\nimport { SLOT_TIME_FORMAT, END_OF_DAY } from \"./constants\";\n\nimport dayjs from \"../dayjsExtended\";\nimport { isTimeBehind } from \"../utils\";\n\nconst buildSlotIntervals = ({\n interval,\n bookedSlots,\n slotType,\n selectedValue = null,\n}) => {\n const selectedOption = {\n label: selectedValue,\n value: selectedValue,\n };\n const allIntervalsForADay = dayjs.timeIntervalsForDay(interval);\n\n allIntervalsForADay.push(END_OF_DAY);\n const uniqBookedSlots = uniq(pluck(slotType, bookedSlots));\n const slotsAvailableForBooking = difference(\n allIntervalsForADay,\n uniqBookedSlots\n );\n const slots = slotsAvailableForBooking.map(toLabelAndValue);\n\n return selectedValue ? sortSlots([selectedOption, ...slots]) : slots;\n};\n\nconst sortSlots = slots =>\n slots.sort((a, b) => (isTimeBehind(a[\"value\"], b[\"value\"]) ? -1 : 1));\n\nconst slotsSelectComponentDefaultValue = slot =>\n slot ? toLabelAndValue(slot) : \"\";\n\nconst padZeroes = str => (str.length % 2 === 0 ? str : `0${str}`);\n\nconst customFilter = (option, searchTerm) => {\n if (isNotPresent(searchTerm)) return true;\n\n const doesNumberMatches = option.value\n .replace(\":\", \"\")\n .startsWith(padZeroes(searchTerm.replaceAll(/\\D+/gi, \"\")));\n\n const doesAmPmMatches = option.value.includes(\n searchTerm.toUpperCase().replaceAll(/[^a-z]/gi, \"\")\n );\n\n return doesNumberMatches && doesAmPmMatches;\n};\n\nconst roundToNearestHour = time => {\n const minutes = time.minute();\n\n if (minutes === 59) return time.startOf(\"hour\").add(1, \"hour\");\n\n return time.add(1, \"hour\");\n};\n\nconst generateNewPeriod = (periods, wday) => {\n const lastEndTime = periods[periods.length - 1].endTime;\n const newStartTime = roundToNearestHour(dayjs(lastEndTime, SLOT_TIME_FORMAT));\n const newEndTime = dayjs(newStartTime, SLOT_TIME_FORMAT).add(1, \"hour\");\n\n return {\n startTime: dayjs(newStartTime).format(SLOT_TIME_FORMAT),\n endTime: dayjs(newEndTime).format(SLOT_TIME_FORMAT),\n wday,\n };\n};\n\nconst addDefaultPeriod = wday => ({\n wday,\n startTime: \"09:00 AM\",\n endTime: \"05:00 PM\",\n});\n\nexport {\n buildSlotIntervals,\n slotsSelectComponentDefaultValue,\n customFilter,\n generateNewPeriod,\n addDefaultPeriod,\n};\n","import { createContext } from \"react\";\n\n// To avoid prop drilling `allowAddPeriod` to `ScheduleRow` component\n// eslint-disable-next-line @bigbinary/neeto/use-zustand-for-global-state-management\nconst ScheduleContext = createContext({ allowAddPeriod: true });\n\nexport default ScheduleContext;\n","import { useContext } from \"react\";\n\nimport { FieldArray, ErrorMessage } from \"formik\";\nimport { isNotPresent, isPresent } from \"neetocist\";\nimport { Plus, Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n REMOVE_SELECT_DOWN_ARROW,\n BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN,\n} from \"./constants\";\nimport {\n buildSlotIntervals,\n slotsSelectComponentDefaultValue,\n customFilter,\n generateNewPeriod,\n addDefaultPeriod,\n} from \"./utils\";\n\nimport { DEFAULT_SLOT_INTERVAL } from \"../constants\";\nimport ScheduleContext from \"../ScheduleContext\";\n\nconst ScheduleRow = ({ values, setFieldValue, wdayIndex, day }) => {\n const { t } = useTranslation();\n\n const handleAddRow = arrayHelpers => {\n if (isNotPresent(values.wdays[wdayIndex].periods)) {\n arrayHelpers.push(addDefaultPeriod(day));\n } else {\n arrayHelpers.push(\n generateNewPeriod(values.wdays[wdayIndex].periods, day)\n );\n }\n setFieldValue(`wdays[${wdayIndex}].available`, true);\n };\n\n const handleDeleteRow = (arrayHelpers, index) => {\n const isLastRowDeleted = values.wdays[wdayIndex].periods.length === 1;\n arrayHelpers.remove(index);\n setFieldValue(`wdays[${wdayIndex}].available`, !isLastRowDeleted);\n };\n\n const { allowAddPeriod } = useContext(ScheduleContext);\n\n return (\n <FieldArray\n name={`wdays[${wdayIndex}].periods`}\n render={arrayHelpers => (\n <>\n {isPresent(values.wdays[wdayIndex]?.periods) && (\n <div className=\"w-full space-y-2\">\n {values.wdays[wdayIndex].periods?.map((period, index) => (\n <div\n className=\"flex w-full flex-col sm:mx-auto sm:w-80\"\n key={`wdays[${wdayIndex}].periods[${index}]`}\n >\n <div\n className=\"flex items-start gap-2 sm:gap-3\"\n data-cy=\"schedule-row\"\n >\n <Select\n isClearable\n isSearchable\n className=\"w-full\"\n components={REMOVE_SELECT_DOWN_ARROW}\n filterOption={customFilter}\n name={`wdays[${wdayIndex}].periods[${index}].startTime`}\n placeholder={t(\"neetoMolecules.schedule.startTime\")}\n styles={BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN}\n options={buildSlotIntervals({\n interval: DEFAULT_SLOT_INTERVAL,\n bookedSlots: values.wdays[wdayIndex].periods,\n slotType: \"startTime\",\n selectedValue: period?.startTime,\n })}\n value={slotsSelectComponentDefaultValue(\n period?.startTime\n )}\n onChange={e =>\n setFieldValue(\n `wdays[${wdayIndex}].periods[${index}].startTime`,\n e?.value || \"\"\n )\n }\n />\n <Select\n isClearable\n isSearchable\n className=\"w-full\"\n components={REMOVE_SELECT_DOWN_ARROW}\n filterOption={customFilter}\n name={`wdays[${wdayIndex}].periods[${index}].endTime`}\n placeholder={t(\"neetoMolecules.schedule.endTime\")}\n styles={BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN}\n value={slotsSelectComponentDefaultValue(period?.endTime)}\n options={buildSlotIntervals({\n interval: DEFAULT_SLOT_INTERVAL,\n bookedSlots: values.wdays[wdayIndex].periods,\n slotType: \"endTime\",\n selectedValue: period?.endTime,\n })}\n onChange={e =>\n setFieldValue(\n `wdays[${wdayIndex}].periods[${index}].endTime`,\n e?.value || \"\"\n )\n }\n />\n <Button\n className=\"flex-shrink-0 self-start\"\n data-cy=\"delete-period-button\"\n data-testid=\"delete-period-button\"\n icon={Delete}\n style=\"text\"\n onClick={() => handleDeleteRow(arrayHelpers, index)}\n />\n </div>\n <ErrorMessage name={`wdays[${wdayIndex}].periods[${index}]`}>\n {message =>\n typeof message !== \"object\" && (\n <span className=\"neeto-ui-text-error-500 mt-1 w-11/12 px-2 text-xs\">\n {message}\n </span>\n )\n }\n </ErrorMessage>\n </div>\n ))}\n </div>\n )}\n {values.wdays[wdayIndex].available && allowAddPeriod && (\n <Button\n className=\"absolute right-14 top-3 ml-auto flex-shrink-0 sm:static\"\n data-cy=\"add-new-period-button\"\n data-testid=\"add-new-period-button\"\n icon={Plus}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.schedule.addNewPeriod\"),\n position: \"top\",\n hideAfter: 5000,\n touch: [\"hold\", 500],\n }}\n onClick={() => handleAddRow(arrayHelpers)}\n />\n )}\n </>\n )}\n />\n );\n};\n\nexport default ScheduleRow;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotPresent, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Copy } from \"neetoicons\";\nimport { Typography, Dropdown, Button, Label, Checkbox } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\nimport { append, identity, without } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ScheduleRow from \"./ScheduleRow\";\nimport { addDefaultPeriod } from \"./utils\";\n\nimport { DAYS } from \"../constants\";\n\nconst Form = ({ day, handleCopy, values, setFieldValue, index }) => {\n const [deletedPeriods, setDeletedPeriods] = useState([]);\n const [wdaysToCopy, setWdaysToCopy] = useState([]);\n\n const { t } = useTranslation();\n\n const restoreDeletedPeriods = setFieldValue => {\n setFieldValue(`wdays[${index}].periods`, deletedPeriods);\n };\n\n const uncheckCheckbox = (setFieldValue, values) => {\n setFieldValue(`wdays[${index}].available`, false);\n setFieldValue(`wdays[${index}].periods`, []);\n if (values.wdays[index].periods[0]?.id) {\n setDeletedPeriods(\n values.wdays[index].periods\n .filter(item => item.startTime && item.endTime)\n .map(identity)\n );\n }\n };\n\n const checkCheckbox = setFieldValue => {\n setFieldValue(`wdays[${index}].available`, true);\n if (deletedPeriods[0]?.startTime) {\n restoreDeletedPeriods(setFieldValue);\n } else if (isNotPresent(values.wdays[index].periods)) {\n setFieldValue(`wdays[${index}].periods`, [addDefaultPeriod(day)]);\n } else {\n setFieldValue(`wdays[${index}].periods`, [\"\"]);\n }\n };\n\n const handleCheckbox = (setFieldValue, values) => {\n if (values.wdays[index].available) {\n uncheckCheckbox(setFieldValue, values);\n } else {\n checkCheckbox(setFieldValue);\n }\n };\n\n const handleCopyChange = (e, day) =>\n setWdaysToCopy(e.target.checked ? append(day) : without([day]));\n\n return (\n <div className=\"neeto-ui-rounded-md neeto-ui-shadow-xs neeto-ui-border-gray-200 neeto-ui-bg-white relative w-full border px-4 md:px-6\">\n <div\n className=\"sm:flex-no-wrap my-4 flex w-full flex-wrap items-start gap-2 sm:flex-nowrap sm:gap-4\" // Added `sm:flex-no-wrap` since neetoCal is using old version of tailwind\n data-cy=\"working-day-container\"\n >\n <div\n className={classnames(\n \"flex w-36 flex-shrink-0 items-center justify-start sm:mt-1\",\n { \"mb-3 sm:mb-0\": isPresent(values.wdays[index]?.periods) }\n )}\n >\n <Switch\n aria-label={`wdays[${index}].available`}\n checked={values.wdays[index].available}\n className=\"flex-grow-0\"\n data-cy={joinHyphenCase(day, \"weekly-hours-checkbox\")}\n id=\"day\"\n name={`wdays[${index}].available`}\n onChange={() => handleCheckbox(setFieldValue, values)}\n />\n <Typography\n component=\"span\"\n data-cy={joinHyphenCase(day, \"day-text\")}\n style=\"body2\"\n weight={values.wdays[index].available ? \"semibold\" : \"normal\"}\n className={classnames(\"ml-2 capitalize\", {\n \"neeto-ui-text-gray-600\": !values.wdays[index].available,\n })}\n >\n {t(`neetoMolecules.schedule.days.${day}`)}\n </Typography>\n </div>\n <ScheduleRow {...{ day, setFieldValue, values }} wdayIndex={index} />\n {values.wdays[index].available && (\n <Dropdown\n closeOnSelect\n buttonStyle=\"secondary\"\n icon={Copy}\n position=\"right-start\"\n buttonProps={{\n tooltipProps: {\n content: t(\"neetoMolecules.schedule.copyScheduleTooltip\"),\n position: \"top\",\n hideAfter: 5000,\n touch: [\"hold\", 500],\n },\n className: \"absolute right-4 top-3 sm:static flex-shrink-0\",\n \"data-testid\": joinHyphenCase(day, \"copy-schedule-icon\"),\n \"data-cy\": joinHyphenCase(day, \"copy-schedule-icon\"),\n }}\n dropdownProps={{\n className:\n \"neeto-ui-dropdown__popup neeto-molecules-schedule__dropdown\",\n }}\n onClose={() => setWdaysToCopy([])}\n >\n <li>\n <Typography style=\"h5\">\n {t(\"neetoMolecules.schedule.copySchedule\")}\n </Typography>\n </li>\n {DAYS.filter(copyDay => copyDay !== day).map(day => (\n <li key={day} onClick={e => e.stopPropagation()}>\n <Label className=\"w-full cursor-pointer capitalize\">\n <Checkbox\n checked={wdaysToCopy.includes(day)}\n id={day}\n label={t(`neetoMolecules.schedule.days.${day}`)}\n onChange={e => handleCopyChange(e, day)}\n />\n </Label>\n </li>\n ))}\n <li>\n <Button\n data-cy=\"copy-schedule-submit-button\"\n disabled={isNotPresent(wdaysToCopy)}\n label={t(\"neetoMolecules.common.actions.submit\")}\n size=\"small\"\n onClick={() => {\n handleCopy({ values, index, setFieldValue, wdaysToCopy });\n setWdaysToCopy([]);\n }}\n />\n </li>\n </Dropdown>\n )}\n </div>\n </div>\n );\n};\n\nexport default Form;\n","import { useEffect, useImperativeHandle } from \"react\";\n\nimport { FieldArray, useFormikContext } from \"formik\";\n\nimport { DAYS } from \"./constants\";\nimport Form from \"./Form\";\n\nconst Fields = ({ handleCopy, handleValuesChanged, scheduleRef }) => {\n const { values, setFieldValue, resetForm, errors, dirty } =\n useFormikContext();\n\n useEffect(() => {\n handleValuesChanged(values, dirty);\n }, [values]);\n\n useImperativeHandle(scheduleRef, () => ({ resetForm, errors }));\n\n return (\n <FieldArray\n name=\"wdays\"\n render={() => (\n <div className=\"space-y-4\">\n {values.wdays.map((item, index) => (\n <Form\n {...{ handleCopy, index, setFieldValue, values }}\n day={DAYS.find(day => day === item.wday)}\n key={item.wday}\n />\n ))}\n </div>\n )}\n />\n );\n};\n\nexport default Fields;\n","import { useState, useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Profile } from \"neetoteam\";\nimport { Button, Typography, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport { getTimeZoneAndTime } from \"./utils\";\n\nconst Header = ({ isCreating, isEditable, isEditing, setIsEditing }) => {\n const { dirty, resetForm, submitForm, isSubmitting } = useFormikContext();\n const { t } = useTranslation();\n const [timeZoneAndTime, setTimeZoneAndTime] = useState(getTimeZoneAndTime());\n const [_, setIsProfilePaneOpen] = Profile.usePaneState();\n\n const handleReset = () => {\n if (dirty) resetForm();\n else setIsEditing(false);\n };\n\n useEffect(() => {\n const time = setInterval(() => {\n setTimeZoneAndTime(getTimeZoneAndTime());\n }, 30000);\n\n return () => clearInterval(time);\n }, []);\n\n return (\n <div className=\"mb-6 flex flex-wrap justify-between gap-2\">\n <div className=\"flex items-center gap-3\">\n <Tooltip\n content={t(\"neetoMolecules.schedule.timezoneTooltip\")}\n position=\"bottom\"\n touch={[\"hold\", 500]}\n >\n <Typography\n component=\"h4\"\n data-cy=\"timezone-text\"\n style=\"h5\"\n weight=\"medium\"\n >\n {timeZoneAndTime}\n </Typography>\n </Tooltip>\n {isEditable && (\n <MoreDropdown\n dropdownButtonProps={{ \"data-testid\": \"nui-more-dropdown\" }}\n menuItems={[\n {\n onClick: () => setIsProfilePaneOpen(true),\n label: t(\"neetoMolecules.common.actions.changeTimezone\"),\n target: \"_blank\",\n key: \"change-timezone-option\",\n \"data-testid\": \"change-timezone-option\",\n },\n ]}\n />\n )}\n </div>\n {isEditing ? (\n <div className=\"flex items-center gap-2\">\n <Button\n data-cy=\"reset-button\"\n style=\"secondary\"\n label={\n !dirty\n ? t(\"neetoMolecules.common.actions.cancel\")\n : t(\"neetoMolecules.common.actions.reset\")\n }\n onClick={handleReset}\n />\n <Button\n data-cy=\"weekly-hours-save-changes-button\"\n disabled={(!dirty && !isCreating) || isSubmitting}\n label={t(\"neetoMolecules.common.actions.saveChanges\")}\n loading={isSubmitting}\n onClick={submitForm}\n />\n </div>\n ) : (\n <div>\n {isEditable && (\n <Button\n data-cy=\"weekly-schedule-header\"\n label={t(\"neetoMolecules.schedule.changeAvailability\")}\n style=\"primary\"\n weight=\"semibold\"\n onClick={() => setIsEditing(true)}\n />\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default Header;\n","import { forwardRef } from \"react\";\n\nimport { Formik, Form as FormikForm } from \"formik\";\nimport { isPresent, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { assoc, pick } from \"ramda\";\n\nimport { DAYS } from \"./constants\";\nimport DisplayAvailability from \"./DisplayAvailability\";\nimport Fields from \"./Fields\";\nimport Header from \"./Header\";\nimport \"./schedule.scss\";\nimport ScheduleContext from \"./ScheduleContext\";\nimport { sortPeriodsByKey, getScheduleValidationSchema } from \"./utils\";\n\nconst Schedule = forwardRef(\n (\n {\n periods,\n handleSubmit = noop,\n isEditing = false,\n setIsEditing,\n showHeader = true,\n handleValuesChanged = noop,\n allowAddPeriod = true,\n isEditable = true,\n isCreating = false,\n },\n scheduleRef\n ) => {\n const handleCopy = ({ values, index, setFieldValue, wdaysToCopy }) => {\n const newPeriods = values.wdays[index].periods?.map(\n pick([\"startTime\", \"endTime\"])\n );\n\n wdaysToCopy.forEach(wday => {\n const dayIndex = DAYS.indexOf(wday);\n setFieldValue(\n `wdays[${dayIndex}].available`,\n isPresent(values.wdays[index].periods)\n );\n\n setFieldValue(\n `wdays[${dayIndex}].periods`,\n newPeriods.map(period => assoc(\"wday\", wday, period))\n );\n });\n };\n\n const getInitialFormValues = () =>\n DAYS.map(wday => ({\n periods: sortPeriodsByKey({\n periods: periods[wday],\n key: \"startTime\",\n order: \"asc\",\n }),\n available: !!periods[wday]?.length,\n wday,\n }));\n\n return (\n <div className=\"neeto-molecules-schedule neeto-ui-border-gray-200 flex-shrink-0\">\n <Formik\n enableReinitialize\n initialValues={{ wdays: getInitialFormValues() }}\n validationSchema={getScheduleValidationSchema()}\n onSubmit={values => handleSubmit(values, getInitialFormValues())}\n >\n <>\n {showHeader && (\n <Header\n {...{ isCreating, isEditable, isEditing, setIsEditing }}\n />\n )}\n {isEditing || !showHeader ? (\n <FormikForm>\n <ScheduleContext.Provider value={{ allowAddPeriod }}>\n <Fields\n {...{\n handleCopy,\n handleValuesChanged,\n scheduleRef,\n }}\n />\n </ScheduleContext.Provider>\n </FormikForm>\n ) : (\n <DisplayAvailability {...{ periods }} />\n )}\n </>\n </Formik>\n </div>\n );\n }\n);\n\nSchedule.displayName = \"Schedule\";\n\nSchedule.propTypes = {\n /**\n * Periods data for days of the week.\n */\n periods: PropTypes.shape({\n sunday: PropTypes.array,\n monday: PropTypes.array,\n tuesday: PropTypes.array,\n wednesday: PropTypes.array,\n thursday: PropTypes.array,\n friday: PropTypes.array,\n saturday: PropTypes.array,\n }),\n /**\n * The function to be called on save changes action.\n */\n handleSubmit: PropTypes.func,\n /**\n * State value to show form for editing.\n */\n isEditing: PropTypes.bool,\n /**\n * Setter function to toggle `isEditing` state.\n */\n setIsEditing: PropTypes.func,\n /**\n * Flag to display or hide header. If set to false, component will open in editing state.\n */\n showHeader: PropTypes.bool,\n /**\n * Callback function called when values are changed within form.\n */\n handleValuesChanged: PropTypes.func,\n /**\n * Flag to allow adding new periods. If set to false, Add new period button will be hidden.\n */\n allowAddPeriod: PropTypes.bool,\n /**\n * Flag to control the ability to edit the schedule and timezone. When set to false, periods and timezone cannot be edited.\n */\n isEditable: PropTypes.bool,\n /**\n * Flag to control the ability to submit the schedule without changing initial values. When set to false, Schedule can only be submitted once the initial values are changed.\n */\n isCreating: PropTypes.bool,\n};\n\nexport default Schedule;\n"],"names":["DAYS","DEFAULT_SLOT_INTERVAL","INTERVALS","REMOVE_SELECT_DOWN_ARROW","DropdownIndicator","IndicatorSeparator","BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN","singleValue","base","state","_objectSpread","color","selectProps","menuIsOpen","SLOT_TIME_FORMAT","END_OF_DAY","DayjsRange","startDate","endDate","_classCallCheck","_ref","s","e","_createClass","key","value","isValidRange","isValid","isOverlap","other","toArrayOfTimeIntervals","interval","arguments","length","undefined","startTime","endTime","add","allTimes","push","format","extendDayjs","dayjs","range","start","end","dayjsObject","includes","startOf","endOf","constructor","timeIntervalsForDay","_ref2","startOfDay","endOfDay","allIntervalsForADay","Dayjs","extend","utc","timezone","customParseFormat","weekday","dayjsExtended","yup","addMethod","array","test","periods","_checkForOverlapBetwe","checkForOverlapBetweenPeriods","isOverlapping","exists","range1","range2","_findIndicesOfOverlap","findIndicesOfOverlappingRangesInPeriods","firstIndex","secondIndex","firstError","createError","path","concat","message","i18next","t","timeFormat","time","secondError","ValidationError","isFromAndToSame","isSame","getScheduleValidationSchema","object","shape","wdays","of","string","required","parent","isTimeBehind","ensureSlotsCantOverlap","getUserTimeZone","_window$globalProps","window","globalProps","user","timeZone","getTimeZoneAndTime","humanReadableTimezone","ianaTimezoneToHumanReadable","tz","timeA","timeB","isBefore","sortPeriodsByKey","_ref$order","order","slice","sort","periodA","periodB","isPeriodBehind","response","slotsSortedByStartTime","_iterator","_createForOfIteratorHelper","entries","_step","n","done","_step$value","_slicedToArray","index","seg1","seg2","err","f","findIndexBy","findIndex","slot","DisplayAvailability","withT","_jsx","className","children","map","day","_sortPeriodsByKey","_jsxs","Typography","joinHyphenCase","style","weight","isPresent","period","lineHeight","component","id","buildSlotIntervals","bookedSlots","slotType","_ref$selectedValue","selectedValue","selectedOption","label","uniqBookedSlots","uniq","pluck","slotsAvailableForBooking","difference","slots","toLabelAndValue","sortSlots","_toConsumableArray","a","b","slotsSelectComponentDefaultValue","padZeroes","str","customFilter","option","searchTerm","isNotPresent","doesNumberMatches","replace","startsWith","replaceAll","doesAmPmMatches","toUpperCase","roundToNearestHour","minutes","minute","generateNewPeriod","wday","lastEndTime","newStartTime","newEndTime","addDefaultPeriod","ScheduleContext","createContext","allowAddPeriod","ScheduleRow","values","setFieldValue","wdayIndex","_useTranslation","useTranslation","handleAddRow","arrayHelpers","handleDeleteRow","isLastRowDeleted","remove","_useContext","useContext","FieldArray","name","render","_values$wdays$wdayInd","_values$wdays$wdayInd2","_Fragment","Select","isClearable","isSearchable","components","filterOption","placeholder","styles","options","onChange","Button","icon","Delete","onClick","ErrorMessage","_typeof","available","Plus","tooltipProps","content","position","hideAfter","touch","Form","_values$wdays$index","handleCopy","_useState","useState","_useState2","deletedPeriods","setDeletedPeriods","_useState3","_useState4","wdaysToCopy","setWdaysToCopy","restoreDeletedPeriods","uncheckCheckbox","_values$wdays$index$p","filter","item","identity","checkCheckbox","_deletedPeriods$","handleCheckbox","handleCopyChange","target","checked","append","without","classnames","Switch","Dropdown","closeOnSelect","buttonStyle","Copy","buttonProps","dropdownProps","onClose","copyDay","stopPropagation","Label","Checkbox","disabled","size","Fields","handleValuesChanged","scheduleRef","_useFormikContext","useFormikContext","resetForm","errors","dirty","useEffect","useImperativeHandle","_createElement","find","Header","isCreating","isEditable","isEditing","setIsEditing","submitForm","isSubmitting","timeZoneAndTime","setTimeZoneAndTime","_Profile$usePaneState","Profile","usePaneState","_Profile$usePaneState2","_","setIsProfilePaneOpen","handleReset","setInterval","clearInterval","Tooltip","MoreDropdown","dropdownButtonProps","menuItems","loading","Schedule","forwardRef","_ref$handleSubmit","handleSubmit","noop","_ref$isEditing","_ref$showHeader","showHeader","_ref$handleValuesChan","_ref$allowAddPeriod","_ref$isEditable","_ref$isCreating","newPeriods","pick","forEach","dayIndex","indexOf","assoc","getInitialFormValues","_periods$wday","Formik","enableReinitialize","initialValues","validationSchema","onSubmit","FormikForm","Provider","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Schedule.js","sources":["../src/components/Schedule/constants.js","../src/components/Schedule/dayjsExtended/constants.js","../src/components/Schedule/Form/constants.js","../src/components/Schedule/dayjsExtended/range.js","../src/components/Schedule/dayjsExtended/index.js","../src/components/Schedule/utils.js","../src/components/Schedule/DisplayAvailability.jsx","../src/components/Schedule/Form/utils.js","../src/components/Schedule/ScheduleContext.js","../src/components/Schedule/Form/ScheduleRow.jsx","../src/components/Schedule/Form/index.jsx","../src/components/Schedule/Fields.jsx","../src/components/Schedule/Header.jsx","../src/components/Schedule/index.jsx"],"sourcesContent":["export const DEFAULT_BOOKED_SLOTS = [\n { startTime: \"09:00 AM\", endTime: \"05:00 PM\" },\n];\n\nexport const MARK_DAY_AS_AVAILABLE_BY_DEFAULT = true;\n\nexport const DAYS = [\n \"monday\",\n \"tuesday\",\n \"wednesday\",\n \"thursday\",\n \"friday\",\n \"saturday\",\n \"sunday\",\n];\n\nexport const DEFAULT_SLOT_INTERVAL = 30;\n","export const INTERVALS = [\n \"year\",\n \"quarter\",\n \"month\",\n \"week\",\n \"day\",\n \"hour\",\n \"minute\",\n \"second\",\n];\n","export const REMOVE_SELECT_DOWN_ARROW = {\n DropdownIndicator: () => null,\n IndicatorSeparator: () => null,\n};\n\nexport const BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN = {\n singleValue: (base, state) => ({\n ...base,\n color: state.selectProps.menuIsOpen ? \"#c2c8cc\" : base.color,\n }),\n};\n\nexport const SLOT_TIME_FORMAT = \"hh:mm A\";\n\nexport const END_OF_DAY = \"11:59 PM\";\n","import { INTERVALS } from \"./constants\";\n\nimport { SLOT_TIME_FORMAT } from \"../Form/constants\";\n\nexport class DayjsRange {\n constructor(startDate, endDate) {\n const { s, e } =\n startDate > endDate\n ? { s: endDate, e: startDate }\n : { s: startDate, e: endDate };\n\n this.startDate = s;\n this.endDate = e;\n }\n\n isValidRange() {\n return this.startDate.isValid() && this.endDate.isValid();\n }\n\n isOverlap(other) {\n if (!(other instanceof DayjsRange) || !other.isValidRange()) {\n return false;\n }\n\n return this.startDate < other.endDate && this.endDate > other.startDate;\n }\n\n toArrayOfTimeIntervals(interval = 15) {\n let startTime = this.startDate;\n const endTime = this.endDate.add(1, \"days\");\n const allTimes = [];\n\n while (startTime < endTime) {\n allTimes.push(startTime.format(SLOT_TIME_FORMAT));\n startTime = startTime.add(interval, \"minutes\");\n }\n\n return allTimes;\n }\n}\n\nexport default (_, __, d) => {\n d.range = (start, end) => new DayjsRange(d(start), d(end));\n};\n\nexport function extendDayjs(dayjs) {\n dayjs.range = function range(start, end) {\n const dayjsObject = this;\n\n if (typeof start === \"string\" && INTERVALS.includes(start)) {\n return new DayjsRange(\n dayjs(dayjsObject).startOf(start),\n dayjs(dayjsObject).endOf(start)\n );\n }\n\n return new DayjsRange(start, end);\n };\n\n dayjs.range.constructor = DayjsRange;\n\n // Returns timeIntervals in 12 hour clock format for the whole day with both AM or PM suffixed\n dayjs.timeIntervalsForDay = interval => {\n const [startOfDay, endOfDay] = [\n dayjs(\"00:00 AM\", SLOT_TIME_FORMAT),\n dayjs(\"00:00 AM\", SLOT_TIME_FORMAT),\n ];\n\n const allIntervalsForADay = dayjs\n .range(startOfDay, endOfDay)\n .toArrayOfTimeIntervals(interval);\n\n return allIntervalsForADay;\n };\n\n return dayjs;\n}\n","import { dayjs } from \"neetocommons/utils\";\n\nimport { extendDayjs } from \"./range\";\n\n// Add range and overlap functions to dayjs\nconst dayjsExtended = extendDayjs(dayjs);\n\nexport default dayjsExtended;\n","import { ianaTimezoneToHumanReadable } from \"@bigbinary/neeto-time-zones\";\nimport i18next from \"i18next\";\nimport { findIndexBy } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { timeFormat } from \"neetocommons/utils/datetime\";\nimport * as yup from \"yup\";\n\nimport dayjsExtended from \"./dayjsExtended\";\nimport { SLOT_TIME_FORMAT } from \"./Form/constants\";\n\nyup.addMethod(yup.array, \"ensureSlotsCantOverlap\", function () {\n return this.test(\"ensureSlotsCantOverlap\", function (periods) {\n const {\n exists: isOverlapping,\n range1,\n range2,\n } = checkForOverlapBetweenPeriods(periods);\n\n if (!isOverlapping) return true;\n\n const { firstIndex, secondIndex } = findIndicesOfOverlappingRangesInPeriods(\n { range1, range2, periods }\n );\n\n const firstError = this.createError({\n path: `${this.path}[${firstIndex}]`,\n message: i18next.t(\"neetoMolecules.schedule.errors.period.overlap\", {\n start: timeFormat.time(range2.startDate),\n end: timeFormat.time(range2.endDate),\n }),\n });\n\n const secondError = this.createError({\n path: `${this.path}[${secondIndex}]`,\n message: i18next.t(\"neetoMolecules.schedule.errors.period.overlap\", {\n start: timeFormat.time(range1.startDate),\n end: timeFormat.time(range1.endDate),\n }),\n });\n\n return new yup.ValidationError([firstError, secondError]);\n });\n});\n\nconst isFromAndToSame = (startTime, endTime) => {\n if (!startTime || !endTime) return true;\n\n return dayjs(startTime, SLOT_TIME_FORMAT).isSame(\n dayjs(endTime, SLOT_TIME_FORMAT)\n );\n};\n\nexport const getScheduleValidationSchema = () =>\n yup.object().shape({\n wdays: yup.array().of(\n yup.object().shape({\n periods: yup\n .array()\n .of(\n yup\n .object()\n .shape({\n startTime: yup\n .string()\n .required(\n i18next.t(\"neetoMolecules.schedule.errors.period.startTime\")\n ),\n endTime: yup\n .string()\n .required(\n i18next.t(\"neetoMolecules.schedule.errors.period.endTime\")\n )\n .test(\n \"ensureToTimeNotBehindFromTime\",\n i18next.t(\"neetoMolecules.schedule.errors.period.isBehind\"),\n function (value) {\n const { startTime } = this.parent;\n if (isFromAndToSame(value, startTime)) return true;\n\n return isTimeBehind(startTime, value);\n }\n ),\n })\n .test(\n \"ensureTimeNotSame\",\n i18next.t(\"neetoMolecules.schedule.errors.period.sameTime\"),\n value => {\n const { startTime, endTime } = value;\n\n return !isFromAndToSame(startTime, endTime);\n }\n )\n )\n .ensureSlotsCantOverlap(),\n })\n ),\n });\n\nexport const getUserTimeZone = () => window.globalProps?.user.timeZone;\n\nexport const getTimeZoneAndTime = () => {\n const timeZone = getUserTimeZone();\n const humanReadableTimezone = ianaTimezoneToHumanReadable(timeZone);\n\n // Requires timezone initialization\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n return `${humanReadableTimezone}: ${dayjs()\n .tz(timeZone)\n .format(SLOT_TIME_FORMAT)}`;\n};\n\nexport const isTimeBehind = (timeA, timeB) =>\n dayjs(timeA, SLOT_TIME_FORMAT).isBefore(dayjs(timeB, SLOT_TIME_FORMAT));\n\nexport const sortPeriodsByKey = ({ periods, key, order = \"desc\" }) =>\n periods.slice().sort((periodA, periodB) => {\n const isPeriodBehind = isTimeBehind(periodA[key], periodB[key]);\n if (order === \"desc\") return isPeriodBehind ? 1 : -1;\n\n return isPeriodBehind ? -1 : 1;\n });\n\n/**\n * Check for overlapping between entered periods\n * @typedef {Object} Slots\n * @property {Array<{startTime:string, endTime: string}>} periods - startTime and endTime\n * @param {Slots} periods - changed time periods\n * @return {{exists: boolean, range1: DayjsRange | null, range2:DayjsRange | null }} - overlapped ranges if exists\n */\nexport const checkForOverlapBetweenPeriods = periods => {\n let response = { exists: false, range1: null, range2: null };\n\n if (!periods?.length) return response;\n\n const slotsSortedByStartTime = sortPeriodsByKey({\n periods,\n key: \"startTime\",\n });\n for (const [index, value] of slotsSortedByStartTime.slice(0, -1).entries()) {\n const seg1 = value;\n const seg2 = slotsSortedByStartTime[index + 1];\n const range1 = dayjsExtended.range(\n dayjsExtended(seg1.startTime, SLOT_TIME_FORMAT),\n dayjsExtended(seg1.endTime, SLOT_TIME_FORMAT)\n );\n\n const range2 = dayjsExtended.range(\n dayjsExtended(seg2.startTime, SLOT_TIME_FORMAT),\n dayjsExtended(seg2.endTime, SLOT_TIME_FORMAT)\n );\n if (range1.isOverlap(range2)) {\n response = { exists: true, range1, range2 };\n break;\n }\n }\n\n return response;\n};\n\nexport const findIndicesOfOverlappingRangesInPeriods = ({\n range1,\n range2,\n periods,\n}) => {\n const firstIndex = findIndexBy(\n { startTime: range1.startDate.format(SLOT_TIME_FORMAT) },\n periods\n );\n\n const secondIndex = periods.findIndex(\n (slot, index) =>\n index > firstIndex &&\n slot.startTime === range2.startDate.format(SLOT_TIME_FORMAT)\n );\n\n return { firstIndex, secondIndex };\n};\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // Requires timezone initialization\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","import { isPresent } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\n\nimport { DAYS } from \"./constants\";\nimport { sortPeriodsByKey } from \"./utils\";\n\nconst DisplayAvailability = withT(({ t, periods }) => (\n <div className=\"w-full space-y-4\">\n {DAYS.map(day => (\n <div\n className=\"neeto-ui-rounded-md neeto-ui-shadow-xs neeto-ui-border-gray-200 neeto-ui-bg-white flex w-full flex-wrap items-center justify-center gap-2 border px-6 py-4 sm:items-start sm:justify-start\"\n key={day}\n >\n <Typography\n className=\"mt-0.5 w-24 text-center sm:w-1/4 sm:text-left\"\n data-cy={joinHyphenCase(day, \"day-text\")}\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(`neetoMolecules.schedule.days.${day}`)}\n </Typography>\n <div className=\"flex flex-grow flex-col items-center space-y-4 sm:w-1/2\">\n {isPresent(periods[day]) ? (\n sortPeriodsByKey({\n periods: periods[day],\n key: \"startTime\",\n order: \"asc\",\n })?.map(period => (\n <div className=\"flex items-center space-x-4\" key={period.id}>\n <Typography\n className=\"w-20 text-right\"\n lineHeight=\"relaxed\"\n style=\"h5\"\n weight=\"semibold\"\n data-cy={joinHyphenCase(\n day,\n period.startTime,\n \"start-time-text\"\n )}\n >\n {period.startTime}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600\" component=\"span\">\n -\n </Typography>\n <Typography\n className=\"w-20 text-left\"\n lineHeight=\"relaxed\"\n style=\"h5\"\n weight=\"semibold\"\n data-cy={joinHyphenCase(\n day,\n period.endTime,\n \"start-time-text\"\n )}\n >\n {period.endTime}\n </Typography>\n </div>\n ))\n ) : (\n <Typography\n className=\"mx-8 flex-grow text-center\"\n data-cy={joinHyphenCase(day, \"unavailable-time-text\")}\n lineHeight=\"relaxed\"\n style=\"h5\"\n >\n {t(\"neetoMolecules.schedule.unavailable\")}\n </Typography>\n )}\n </div>\n </div>\n ))}\n </div>\n));\n\nexport default DisplayAvailability;\n","import { toLabelAndValue, isNotPresent } from \"neetocist\";\nimport { uniq, pluck, difference } from \"ramda\";\n\nimport { SLOT_TIME_FORMAT, END_OF_DAY } from \"./constants\";\n\nimport dayjs from \"../dayjsExtended\";\nimport { isTimeBehind } from \"../utils\";\n\nconst buildSlotIntervals = ({\n interval,\n bookedSlots,\n slotType,\n selectedValue = null,\n}) => {\n const selectedOption = {\n label: selectedValue,\n value: selectedValue,\n };\n const allIntervalsForADay = dayjs.timeIntervalsForDay(interval);\n\n allIntervalsForADay.push(END_OF_DAY);\n const uniqBookedSlots = uniq(pluck(slotType, bookedSlots));\n const slotsAvailableForBooking = difference(\n allIntervalsForADay,\n uniqBookedSlots\n );\n const slots = slotsAvailableForBooking.map(toLabelAndValue);\n\n return selectedValue ? sortSlots([selectedOption, ...slots]) : slots;\n};\n\nconst sortSlots = slots =>\n slots.sort((a, b) => (isTimeBehind(a[\"value\"], b[\"value\"]) ? -1 : 1));\n\nconst slotsSelectComponentDefaultValue = slot =>\n slot ? toLabelAndValue(slot) : \"\";\n\nconst padZeroes = str => (str.length % 2 === 0 ? str : `0${str}`);\n\nconst customFilter = (option, searchTerm) => {\n if (isNotPresent(searchTerm)) return true;\n\n const doesNumberMatches = option.value\n .replace(\":\", \"\")\n .startsWith(padZeroes(searchTerm.replaceAll(/\\D+/gi, \"\")));\n\n const doesAmPmMatches = option.value.includes(\n searchTerm.toUpperCase().replaceAll(/[^a-z]/gi, \"\")\n );\n\n return doesNumberMatches && doesAmPmMatches;\n};\n\nconst roundToNearestHour = time => {\n const minutes = time.minute();\n\n if (minutes === 59) return time.startOf(\"hour\").add(1, \"hour\");\n\n return time.add(1, \"hour\");\n};\n\nconst generateNewPeriod = (periods, wday) => {\n const lastEndTime = periods[periods.length - 1].endTime;\n const newStartTime = roundToNearestHour(dayjs(lastEndTime, SLOT_TIME_FORMAT));\n const newEndTime = dayjs(newStartTime, SLOT_TIME_FORMAT).add(1, \"hour\");\n\n return {\n startTime: dayjs(newStartTime).format(SLOT_TIME_FORMAT),\n endTime: dayjs(newEndTime).format(SLOT_TIME_FORMAT),\n wday,\n };\n};\n\nconst addDefaultPeriod = wday => ({\n wday,\n startTime: \"09:00 AM\",\n endTime: \"05:00 PM\",\n});\n\nexport {\n buildSlotIntervals,\n slotsSelectComponentDefaultValue,\n customFilter,\n generateNewPeriod,\n addDefaultPeriod,\n};\n","import { createContext } from \"react\";\n\n// To avoid prop drilling `allowAddPeriod` to `ScheduleRow` component\n// eslint-disable-next-line @bigbinary/neeto/use-zustand-for-global-state-management\nconst ScheduleContext = createContext({ allowAddPeriod: true });\n\nexport default ScheduleContext;\n","import { useContext } from \"react\";\n\nimport { FieldArray, ErrorMessage } from \"formik\";\nimport { isNotPresent, isPresent } from \"neetocist\";\nimport { Plus, Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n REMOVE_SELECT_DOWN_ARROW,\n BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN,\n} from \"./constants\";\nimport {\n buildSlotIntervals,\n slotsSelectComponentDefaultValue,\n customFilter,\n generateNewPeriod,\n addDefaultPeriod,\n} from \"./utils\";\n\nimport { DEFAULT_SLOT_INTERVAL } from \"../constants\";\nimport ScheduleContext from \"../ScheduleContext\";\n\nconst ScheduleRow = ({ values, setFieldValue, wdayIndex, day }) => {\n const { t } = useTranslation();\n\n const handleAddRow = arrayHelpers => {\n if (isNotPresent(values.wdays[wdayIndex].periods)) {\n arrayHelpers.push(addDefaultPeriod(day));\n } else {\n arrayHelpers.push(\n generateNewPeriod(values.wdays[wdayIndex].periods, day)\n );\n }\n setFieldValue(`wdays[${wdayIndex}].available`, true);\n };\n\n const handleDeleteRow = (arrayHelpers, index) => {\n const isLastRowDeleted = values.wdays[wdayIndex].periods.length === 1;\n arrayHelpers.remove(index);\n setFieldValue(`wdays[${wdayIndex}].available`, !isLastRowDeleted);\n };\n\n const { allowAddPeriod } = useContext(ScheduleContext);\n\n return (\n <FieldArray\n name={`wdays[${wdayIndex}].periods`}\n render={arrayHelpers => (\n <>\n {isPresent(values.wdays[wdayIndex]?.periods) && (\n <div className=\"w-full space-y-2\">\n {values.wdays[wdayIndex].periods?.map((period, index) => (\n <div\n className=\"flex w-full flex-col sm:mx-auto sm:w-80\"\n key={`wdays[${wdayIndex}].periods[${index}]`}\n >\n <div\n className=\"flex items-start gap-2 sm:gap-3\"\n data-cy=\"schedule-row\"\n >\n <Select\n isClearable\n isSearchable\n className=\"w-full\"\n components={REMOVE_SELECT_DOWN_ARROW}\n filterOption={customFilter}\n name={`wdays[${wdayIndex}].periods[${index}].startTime`}\n placeholder={t(\"neetoMolecules.schedule.startTime\")}\n styles={BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN}\n options={buildSlotIntervals({\n interval: DEFAULT_SLOT_INTERVAL,\n bookedSlots: values.wdays[wdayIndex].periods,\n slotType: \"startTime\",\n selectedValue: period?.startTime,\n })}\n value={slotsSelectComponentDefaultValue(\n period?.startTime\n )}\n onChange={e =>\n setFieldValue(\n `wdays[${wdayIndex}].periods[${index}].startTime`,\n e?.value || \"\"\n )\n }\n />\n <Select\n isClearable\n isSearchable\n className=\"w-full\"\n components={REMOVE_SELECT_DOWN_ARROW}\n filterOption={customFilter}\n name={`wdays[${wdayIndex}].periods[${index}].endTime`}\n placeholder={t(\"neetoMolecules.schedule.endTime\")}\n styles={BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN}\n value={slotsSelectComponentDefaultValue(period?.endTime)}\n options={buildSlotIntervals({\n interval: DEFAULT_SLOT_INTERVAL,\n bookedSlots: values.wdays[wdayIndex].periods,\n slotType: \"endTime\",\n selectedValue: period?.endTime,\n })}\n onChange={e =>\n setFieldValue(\n `wdays[${wdayIndex}].periods[${index}].endTime`,\n e?.value || \"\"\n )\n }\n />\n <Button\n className=\"flex-shrink-0 self-start\"\n data-cy=\"delete-period-button\"\n data-testid=\"delete-period-button\"\n icon={Delete}\n style=\"text\"\n onClick={() => handleDeleteRow(arrayHelpers, index)}\n />\n </div>\n <ErrorMessage name={`wdays[${wdayIndex}].periods[${index}]`}>\n {message =>\n typeof message !== \"object\" && (\n <span className=\"neeto-ui-text-error-500 mt-1 w-11/12 px-2 text-xs\">\n {message}\n </span>\n )\n }\n </ErrorMessage>\n </div>\n ))}\n </div>\n )}\n {values.wdays[wdayIndex].available && allowAddPeriod && (\n <Button\n className=\"absolute right-14 top-3 ml-auto flex-shrink-0 sm:static\"\n data-cy=\"add-new-period-button\"\n data-testid=\"add-new-period-button\"\n icon={Plus}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.schedule.addNewPeriod\"),\n position: \"top\",\n hideAfter: 5000,\n touch: [\"hold\", 500],\n }}\n onClick={() => handleAddRow(arrayHelpers)}\n />\n )}\n </>\n )}\n />\n );\n};\n\nexport default ScheduleRow;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotPresent, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Copy } from \"neetoicons\";\nimport { Typography, Dropdown, Button, Label, Checkbox } from \"neetoui\";\nimport { Switch } from \"neetoui/formik\";\nimport { append, identity, without } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ScheduleRow from \"./ScheduleRow\";\nimport { addDefaultPeriod } from \"./utils\";\n\nimport { DAYS } from \"../constants\";\n\nconst Form = ({ day, handleCopy, values, setFieldValue, index }) => {\n const [deletedPeriods, setDeletedPeriods] = useState([]);\n const [wdaysToCopy, setWdaysToCopy] = useState([]);\n\n const { t } = useTranslation();\n\n const restoreDeletedPeriods = setFieldValue => {\n setFieldValue(`wdays[${index}].periods`, deletedPeriods);\n };\n\n const uncheckCheckbox = (setFieldValue, values) => {\n setFieldValue(`wdays[${index}].available`, false);\n setFieldValue(`wdays[${index}].periods`, []);\n if (values.wdays[index].periods[0]?.id) {\n setDeletedPeriods(\n values.wdays[index].periods\n .filter(item => item.startTime && item.endTime)\n .map(identity)\n );\n }\n };\n\n const checkCheckbox = setFieldValue => {\n setFieldValue(`wdays[${index}].available`, true);\n if (deletedPeriods[0]?.startTime) {\n restoreDeletedPeriods(setFieldValue);\n } else if (isNotPresent(values.wdays[index].periods)) {\n setFieldValue(`wdays[${index}].periods`, [addDefaultPeriod(day)]);\n } else {\n setFieldValue(`wdays[${index}].periods`, [\"\"]);\n }\n };\n\n const handleCheckbox = (setFieldValue, values) => {\n if (values.wdays[index].available) {\n uncheckCheckbox(setFieldValue, values);\n } else {\n checkCheckbox(setFieldValue);\n }\n };\n\n const handleCopyChange = (e, day) =>\n setWdaysToCopy(e.target.checked ? append(day) : without([day]));\n\n return (\n <div className=\"neeto-ui-rounded-md neeto-ui-shadow-xs neeto-ui-border-gray-200 neeto-ui-bg-white relative w-full border px-4 md:px-6\">\n <div\n className=\"sm:flex-no-wrap my-4 flex w-full flex-wrap items-start gap-2 sm:flex-nowrap sm:gap-4\" // Added `sm:flex-no-wrap` since neetoCal is using old version of tailwind\n data-cy=\"working-day-container\"\n >\n <div\n className={classnames(\n \"flex w-36 flex-shrink-0 items-center justify-start sm:mt-1\",\n { \"mb-3 sm:mb-0\": isPresent(values.wdays[index]?.periods) }\n )}\n >\n <Switch\n aria-label={`wdays[${index}].available`}\n checked={values.wdays[index].available}\n className=\"flex-grow-0\"\n data-cy={joinHyphenCase(day, \"weekly-hours-checkbox\")}\n id=\"day\"\n name={`wdays[${index}].available`}\n onChange={() => handleCheckbox(setFieldValue, values)}\n />\n <Typography\n component=\"span\"\n data-cy={joinHyphenCase(day, \"day-text\")}\n style=\"body2\"\n weight={values.wdays[index].available ? \"semibold\" : \"normal\"}\n className={classnames(\"ml-2 capitalize\", {\n \"neeto-ui-text-gray-600\": !values.wdays[index].available,\n })}\n >\n {t(`neetoMolecules.schedule.days.${day}`)}\n </Typography>\n </div>\n <ScheduleRow {...{ day, setFieldValue, values }} wdayIndex={index} />\n {values.wdays[index].available && (\n <Dropdown\n closeOnSelect\n buttonStyle=\"secondary\"\n icon={Copy}\n position=\"right-start\"\n buttonProps={{\n tooltipProps: {\n content: t(\"neetoMolecules.schedule.copyScheduleTooltip\"),\n position: \"top\",\n hideAfter: 5000,\n touch: [\"hold\", 500],\n },\n className: \"absolute right-4 top-3 sm:static flex-shrink-0\",\n \"data-testid\": joinHyphenCase(day, \"copy-schedule-icon\"),\n \"data-cy\": joinHyphenCase(day, \"copy-schedule-icon\"),\n }}\n dropdownProps={{\n className:\n \"neeto-ui-dropdown__popup neeto-molecules-schedule__dropdown\",\n }}\n onClose={() => setWdaysToCopy([])}\n >\n <li>\n <Typography style=\"h5\">\n {t(\"neetoMolecules.schedule.copySchedule\")}\n </Typography>\n </li>\n {DAYS.filter(copyDay => copyDay !== day).map(day => (\n <li key={day} onClick={e => e.stopPropagation()}>\n <Label className=\"w-full cursor-pointer capitalize\">\n <Checkbox\n checked={wdaysToCopy.includes(day)}\n id={day}\n label={t(`neetoMolecules.schedule.days.${day}`)}\n onChange={e => handleCopyChange(e, day)}\n />\n </Label>\n </li>\n ))}\n <li>\n <Button\n data-cy=\"copy-schedule-submit-button\"\n disabled={isNotPresent(wdaysToCopy)}\n label={t(\"neetoMolecules.common.actions.submit\")}\n size=\"small\"\n onClick={() => {\n handleCopy({ values, index, setFieldValue, wdaysToCopy });\n setWdaysToCopy([]);\n }}\n />\n </li>\n </Dropdown>\n )}\n </div>\n </div>\n );\n};\n\nexport default Form;\n","import { useEffect, useImperativeHandle } from \"react\";\n\nimport { FieldArray, useFormikContext } from \"formik\";\n\nimport { DAYS } from \"./constants\";\nimport Form from \"./Form\";\n\nconst Fields = ({ handleCopy, handleValuesChanged, scheduleRef }) => {\n const { values, setFieldValue, resetForm, errors, dirty } =\n useFormikContext();\n\n useEffect(() => {\n handleValuesChanged(values, dirty);\n }, [values]);\n\n useImperativeHandle(scheduleRef, () => ({ resetForm, errors }));\n\n return (\n <FieldArray\n name=\"wdays\"\n render={() => (\n <div className=\"space-y-4\">\n {values.wdays.map((item, index) => (\n <Form\n {...{ handleCopy, index, setFieldValue, values }}\n day={DAYS.find(day => day === item.wday)}\n key={item.wday}\n />\n ))}\n </div>\n )}\n />\n );\n};\n\nexport default Fields;\n","import { useState, useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Profile } from \"neetoteam\";\nimport { Button, Typography, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport { getTimeZoneAndTime } from \"./utils\";\n\nconst Header = ({ isCreating, isEditable, isEditing, setIsEditing }) => {\n const { dirty, resetForm, submitForm, isSubmitting } = useFormikContext();\n const { t } = useTranslation();\n const [timeZoneAndTime, setTimeZoneAndTime] = useState(getTimeZoneAndTime());\n const [_, setIsProfilePaneOpen] = Profile.usePaneState();\n\n const handleReset = () => {\n if (dirty) resetForm();\n else setIsEditing(false);\n };\n\n useEffect(() => {\n const time = setInterval(() => {\n setTimeZoneAndTime(getTimeZoneAndTime());\n }, 30000);\n\n return () => clearInterval(time);\n }, []);\n\n return (\n <div className=\"mb-6 flex flex-wrap justify-between gap-2\">\n <div className=\"flex items-center gap-3\">\n <Tooltip\n content={t(\"neetoMolecules.schedule.timezoneTooltip\")}\n position=\"bottom\"\n touch={[\"hold\", 500]}\n >\n <Typography\n component=\"h4\"\n data-cy=\"timezone-text\"\n style=\"h5\"\n weight=\"medium\"\n >\n {timeZoneAndTime}\n </Typography>\n </Tooltip>\n {isEditable && (\n <MoreDropdown\n dropdownButtonProps={{ \"data-testid\": \"nui-more-dropdown\" }}\n menuItems={[\n {\n onClick: () => setIsProfilePaneOpen(true),\n label: t(\"neetoMolecules.common.actions.changeTimezone\"),\n target: \"_blank\",\n key: \"change-timezone-option\",\n \"data-testid\": \"change-timezone-option\",\n },\n ]}\n />\n )}\n </div>\n {isEditing ? (\n <div className=\"flex items-center gap-2\">\n <Button\n data-cy=\"reset-button\"\n style=\"secondary\"\n label={\n !dirty\n ? t(\"neetoMolecules.common.actions.cancel\")\n : t(\"neetoMolecules.common.actions.reset\")\n }\n onClick={handleReset}\n />\n <Button\n data-cy=\"weekly-hours-save-changes-button\"\n disabled={(!dirty && !isCreating) || isSubmitting}\n label={t(\"neetoMolecules.common.actions.saveChanges\")}\n loading={isSubmitting}\n onClick={submitForm}\n />\n </div>\n ) : (\n <div>\n {isEditable && (\n <Button\n data-cy=\"weekly-schedule-header\"\n label={t(\"neetoMolecules.schedule.changeAvailability\")}\n style=\"primary\"\n weight=\"semibold\"\n onClick={() => setIsEditing(true)}\n />\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default Header;\n","import { forwardRef } from \"react\";\n\nimport { Formik, Form as FormikForm } from \"formik\";\nimport { isPresent, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { assoc, pick } from \"ramda\";\n\nimport { DAYS } from \"./constants\";\nimport DisplayAvailability from \"./DisplayAvailability\";\nimport Fields from \"./Fields\";\nimport Header from \"./Header\";\nimport \"./schedule.scss\";\nimport ScheduleContext from \"./ScheduleContext\";\nimport { sortPeriodsByKey, getScheduleValidationSchema } from \"./utils\";\n\nconst Schedule = forwardRef(\n (\n {\n periods,\n handleSubmit = noop,\n isEditing = false,\n setIsEditing,\n showHeader = true,\n handleValuesChanged = noop,\n allowAddPeriod = true,\n isEditable = true,\n isCreating = false,\n },\n scheduleRef\n ) => {\n const handleCopy = ({ values, index, setFieldValue, wdaysToCopy }) => {\n const newPeriods = values.wdays[index].periods?.map(\n pick([\"startTime\", \"endTime\"])\n );\n\n wdaysToCopy.forEach(wday => {\n const dayIndex = DAYS.indexOf(wday);\n setFieldValue(\n `wdays[${dayIndex}].available`,\n isPresent(values.wdays[index].periods)\n );\n\n setFieldValue(\n `wdays[${dayIndex}].periods`,\n newPeriods.map(period => assoc(\"wday\", wday, period))\n );\n });\n };\n\n const getInitialFormValues = () =>\n DAYS.map(wday => ({\n periods: sortPeriodsByKey({\n periods: periods[wday],\n key: \"startTime\",\n order: \"asc\",\n }),\n available: !!periods[wday]?.length,\n wday,\n }));\n\n return (\n <div className=\"neeto-molecules-schedule neeto-ui-border-gray-200 flex-shrink-0\">\n <Formik\n enableReinitialize\n initialValues={{ wdays: getInitialFormValues() }}\n validationSchema={getScheduleValidationSchema()}\n onSubmit={values => handleSubmit(values, getInitialFormValues())}\n >\n <>\n {showHeader && (\n <Header\n {...{ isCreating, isEditable, isEditing, setIsEditing }}\n />\n )}\n {isEditing || !showHeader ? (\n <FormikForm>\n <ScheduleContext.Provider value={{ allowAddPeriod }}>\n <Fields\n {...{\n handleCopy,\n handleValuesChanged,\n scheduleRef,\n }}\n />\n </ScheduleContext.Provider>\n </FormikForm>\n ) : (\n <DisplayAvailability {...{ periods }} />\n )}\n </>\n </Formik>\n </div>\n );\n }\n);\n\nSchedule.displayName = \"Schedule\";\n\nSchedule.propTypes = {\n /**\n * Periods data for days of the week.\n */\n periods: PropTypes.shape({\n sunday: PropTypes.array,\n monday: PropTypes.array,\n tuesday: PropTypes.array,\n wednesday: PropTypes.array,\n thursday: PropTypes.array,\n friday: PropTypes.array,\n saturday: PropTypes.array,\n }),\n /**\n * The function to be called on save changes action.\n */\n handleSubmit: PropTypes.func,\n /**\n * State value to show form for editing.\n */\n isEditing: PropTypes.bool,\n /**\n * Setter function to toggle `isEditing` state.\n */\n setIsEditing: PropTypes.func,\n /**\n * Flag to display or hide header. If set to false, component will open in editing state.\n */\n showHeader: PropTypes.bool,\n /**\n * Callback function called when values are changed within form.\n */\n handleValuesChanged: PropTypes.func,\n /**\n * Flag to allow adding new periods. If set to false, Add new period button will be hidden.\n */\n allowAddPeriod: PropTypes.bool,\n /**\n * Flag to control the ability to edit the schedule and timezone. When set to false, periods and timezone cannot be edited.\n */\n isEditable: PropTypes.bool,\n /**\n * Flag to control the ability to submit the schedule without changing initial values. When set to false, Schedule can only be submitted once the initial values are changed.\n */\n isCreating: PropTypes.bool,\n};\n\nexport default Schedule;\n"],"names":["DAYS","DEFAULT_SLOT_INTERVAL","INTERVALS","REMOVE_SELECT_DOWN_ARROW","DropdownIndicator","IndicatorSeparator","BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN","singleValue","base","state","_objectSpread","color","selectProps","menuIsOpen","SLOT_TIME_FORMAT","END_OF_DAY","DayjsRange","startDate","endDate","_classCallCheck","_ref","s","e","_createClass","key","value","isValidRange","isValid","isOverlap","other","toArrayOfTimeIntervals","interval","arguments","length","undefined","startTime","endTime","add","allTimes","push","format","extendDayjs","dayjs","range","start","end","dayjsObject","includes","startOf","endOf","constructor","timeIntervalsForDay","_ref2","startOfDay","endOfDay","allIntervalsForADay","dayjsExtended","yup","addMethod","array","test","periods","_checkForOverlapBetwe","checkForOverlapBetweenPeriods","isOverlapping","exists","range1","range2","_findIndicesOfOverlap","findIndicesOfOverlappingRangesInPeriods","firstIndex","secondIndex","firstError","createError","path","concat","message","i18next","t","timeFormat","time","secondError","ValidationError","isFromAndToSame","isSame","getScheduleValidationSchema","object","shape","wdays","of","string","required","parent","isTimeBehind","ensureSlotsCantOverlap","getUserTimeZone","_window$globalProps","window","globalProps","user","timeZone","getTimeZoneAndTime","humanReadableTimezone","ianaTimezoneToHumanReadable","tz","timeA","timeB","isBefore","sortPeriodsByKey","_ref$order","order","slice","sort","periodA","periodB","isPeriodBehind","response","slotsSortedByStartTime","_iterator","_createForOfIteratorHelper","entries","_step","n","done","_step$value","_slicedToArray","index","seg1","seg2","err","f","findIndexBy","findIndex","slot","DisplayAvailability","withT","_jsx","className","children","map","day","_sortPeriodsByKey","_jsxs","Typography","joinHyphenCase","style","weight","isPresent","period","lineHeight","component","id","buildSlotIntervals","bookedSlots","slotType","_ref$selectedValue","selectedValue","selectedOption","label","uniqBookedSlots","uniq","pluck","slotsAvailableForBooking","difference","slots","toLabelAndValue","sortSlots","_toConsumableArray","a","b","slotsSelectComponentDefaultValue","padZeroes","str","customFilter","option","searchTerm","isNotPresent","doesNumberMatches","replace","startsWith","replaceAll","doesAmPmMatches","toUpperCase","roundToNearestHour","minutes","minute","generateNewPeriod","wday","lastEndTime","newStartTime","newEndTime","addDefaultPeriod","ScheduleContext","createContext","allowAddPeriod","ScheduleRow","values","setFieldValue","wdayIndex","_useTranslation","useTranslation","handleAddRow","arrayHelpers","handleDeleteRow","isLastRowDeleted","remove","_useContext","useContext","FieldArray","name","render","_values$wdays$wdayInd","_values$wdays$wdayInd2","_Fragment","Select","isClearable","isSearchable","components","filterOption","placeholder","styles","options","onChange","Button","icon","Delete","onClick","ErrorMessage","_typeof","available","Plus","tooltipProps","content","position","hideAfter","touch","Form","_values$wdays$index","handleCopy","_useState","useState","_useState2","deletedPeriods","setDeletedPeriods","_useState3","_useState4","wdaysToCopy","setWdaysToCopy","restoreDeletedPeriods","uncheckCheckbox","_values$wdays$index$p","filter","item","identity","checkCheckbox","_deletedPeriods$","handleCheckbox","handleCopyChange","target","checked","append","without","classnames","Switch","Dropdown","closeOnSelect","buttonStyle","Copy","buttonProps","dropdownProps","onClose","copyDay","stopPropagation","Label","Checkbox","disabled","size","Fields","handleValuesChanged","scheduleRef","_useFormikContext","useFormikContext","resetForm","errors","dirty","useEffect","useImperativeHandle","_createElement","find","Header","isCreating","isEditable","isEditing","setIsEditing","submitForm","isSubmitting","timeZoneAndTime","setTimeZoneAndTime","_Profile$usePaneState","Profile","usePaneState","_Profile$usePaneState2","_","setIsProfilePaneOpen","handleReset","setInterval","clearInterval","Tooltip","MoreDropdown","dropdownButtonProps","menuItems","loading","Schedule","forwardRef","_ref$handleSubmit","handleSubmit","noop","_ref$isEditing","_ref$showHeader","showHeader","_ref$handleValuesChan","_ref$allowAddPeriod","_ref$isEditable","_ref$isCreating","newPeriods","pick","forEach","dayIndex","indexOf","assoc","getInitialFormValues","_periods$wday","Formik","enableReinitialize","initialValues","validationSchema","onSubmit","FormikForm","Provider","displayName"],"mappings":"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"}
@@ -19,9 +19,9 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
19
19
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
20
20
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
21
21
  import DatePicker from '@bigbinary/neetoui/DatePicker';
22
- import dayjs from 'dayjs';
23
22
  import { t } from 'i18next';
24
23
  import { dynamicArray } from '@bigbinary/neeto-cist';
24
+ import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
25
25
  import { isEditorEmpty } from '@bigbinary/neeto-editor/utils';
26
26
  import { prop } from 'ramda';
27
27
  import * as yup from 'yup';