@bigbinary/neeto-molecules 1.1.16 → 1.1.18
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.
- package/dist/AutoSaveInput.js +658 -0
- package/dist/AutoSaveInput.js.map +1 -0
- package/dist/Breadcrumbs.js +38 -0
- package/dist/Breadcrumbs.js.map +1 -0
- package/dist/BrowserSupport.js +418 -0
- package/dist/BrowserSupport.js.map +1 -0
- package/dist/Builder.js +662 -0
- package/dist/Builder.js.map +1 -0
- package/dist/CalendarView.js +538 -0
- package/dist/CalendarView.js.map +1 -0
- package/dist/Codeblock.js +236 -0
- package/dist/Codeblock.js.map +1 -0
- package/dist/{Columns/index.js → Columns.js} +130 -13
- package/dist/Columns.js.map +1 -0
- package/dist/{ConfirmationModal/index.js → ConfirmationModal.js} +20 -8
- package/dist/ConfirmationModal.js.map +1 -0
- package/dist/Container.js +1211 -0
- package/dist/Container.js.map +1 -0
- package/dist/CopyToClipboardButton.js +209 -0
- package/dist/CopyToClipboardButton.js.map +1 -0
- package/dist/CustomDomain.js +688 -0
- package/dist/CustomDomain.js.map +1 -0
- package/dist/CustomDomainDashboard.js +2283 -0
- package/dist/CustomDomainDashboard.js.map +1 -0
- package/dist/{DateFormat/index.js → DateFormat.js} +25 -8
- package/dist/DateFormat.js.map +1 -0
- package/dist/DateRangeFilter.js +229 -0
- package/dist/DateRangeFilter.js.map +1 -0
- package/dist/DynamicVariables.js +183 -0
- package/dist/DynamicVariables.js.map +1 -0
- package/dist/EmailForm.js +2292 -0
- package/dist/EmailForm.js.map +1 -0
- package/dist/EmailPreview.js +1353 -0
- package/dist/EmailPreview.js.map +1 -0
- package/dist/{ErrorPage/constants.js → ErrorPage.js} +137 -36
- package/dist/ErrorPage.js.map +1 -0
- package/dist/Header.js +122 -0
- package/dist/Header.js.map +1 -0
- package/dist/IconPicker.js +313 -0
- package/dist/IconPicker.js.map +1 -0
- package/dist/ImageWithFallback.js +181 -0
- package/dist/ImageWithFallback.js.map +1 -0
- package/dist/IntegrationCard.js +343 -0
- package/dist/IntegrationCard.js.map +1 -0
- package/dist/IntegrationDisconnectAlert.js +80 -0
- package/dist/IntegrationDisconnectAlert.js.map +1 -0
- package/dist/{IntegrationWalkthroughModal/index.js → IntegrationWalkthroughModal.js} +8 -6
- package/dist/IntegrationWalkthroughModal.js.map +1 -0
- package/dist/IpRestriction.js +857 -0
- package/dist/IpRestriction.js.map +1 -0
- package/dist/KeyboardShortcuts.js +359 -0
- package/dist/KeyboardShortcuts.js.map +1 -0
- package/dist/LoginPage.js +593 -0
- package/dist/LoginPage.js.map +1 -0
- package/dist/MenuBar.js +1461 -0
- package/dist/MenuBar.js.map +1 -0
- package/dist/Metadata.js +206 -0
- package/dist/Metadata.js.map +1 -0
- package/dist/{MoreDropdown/index.js → MoreDropdown.js} +102 -9
- package/dist/MoreDropdown.js.map +1 -0
- package/dist/NavigationHeader.js +690 -0
- package/dist/NavigationHeader.js.map +1 -0
- package/dist/NeetoWidget.js +1333 -0
- package/dist/NeetoWidget.js.map +1 -0
- package/dist/PageLoader.js +134 -0
- package/dist/PageLoader.js.map +1 -0
- package/dist/PhoneNumber.js +365 -0
- package/dist/PhoneNumber.js.map +1 -0
- package/dist/PublishBlock.js +158 -0
- package/dist/PublishBlock.js.map +1 -0
- package/dist/Rename.js +450 -0
- package/dist/Rename.js.map +1 -0
- package/dist/ResponsiveDevicePicker.js +194 -0
- package/dist/ResponsiveDevicePicker.js.map +1 -0
- package/dist/Schedule.js +1046 -0
- package/dist/Schedule.js.map +1 -0
- package/dist/Scrollable.js +122 -0
- package/dist/Scrollable.js.map +1 -0
- package/dist/Search.js +151 -0
- package/dist/Search.js.map +1 -0
- package/dist/Security.js +1835 -0
- package/dist/Security.js.map +1 -0
- package/dist/SendToFields.js +601 -0
- package/dist/SendToFields.js.map +1 -0
- package/dist/Settings.js +435 -0
- package/dist/Settings.js.map +1 -0
- package/dist/ShareViaEmail.js +2277 -0
- package/dist/ShareViaEmail.js.map +1 -0
- package/dist/ShareViaLink.js +628 -0
- package/dist/ShareViaLink.js.map +1 -0
- package/dist/Sidebar.js +972 -0
- package/dist/Sidebar.js.map +1 -0
- package/dist/SubHeader.js +216 -0
- package/dist/SubHeader.js.map +1 -0
- package/dist/{TableWrapper/index.js → TableWrapper.js} +6 -3
- package/dist/TableWrapper.js.map +1 -0
- package/dist/ThemeSidebar.js +1984 -0
- package/dist/ThemeSidebar.js.map +1 -0
- package/dist/TimeFormat.js +47 -0
- package/dist/TimeFormat.js.map +1 -0
- package/dist/TimezoneMismatchModal.js +168 -0
- package/dist/TimezoneMismatchModal.js.map +1 -0
- package/dist/ToggleFeatureCard.js +323 -0
- package/dist/ToggleFeatureCard.js.map +1 -0
- package/package.json +22 -13
- package/dist/AutoSaveInput/autosaveinput.scss +0 -15
- package/dist/AutoSaveInput/constants.js +0 -13
- package/dist/AutoSaveInput/index.js +0 -124
- package/dist/AutoSaveInput/utils.js +0 -10
- package/dist/Breadcrumbs/breadcrumbs.scss +0 -33
- package/dist/Breadcrumbs/index.js +0 -31
- package/dist/BrowserSupport/Callout.js +0 -15
- package/dist/BrowserSupport/ContactUs.js +0 -21
- package/dist/BrowserSupport/DownloadLink.js +0 -17
- package/dist/BrowserSupport/PartialSupportedBrowserVersion.js +0 -17
- package/dist/BrowserSupport/UnknownBrowser.js +0 -13
- package/dist/BrowserSupport/UnsupportedBrowser.js +0 -24
- package/dist/BrowserSupport/UnsupportedBrowserMessage.js +0 -22
- package/dist/BrowserSupport/UnsupportedBrowserVersion.js +0 -27
- package/dist/BrowserSupport/UnsupportedVersionMessage.js +0 -30
- package/dist/BrowserSupport/browsersupport.scss +0 -71
- package/dist/BrowserSupport/constants.js +0 -63
- package/dist/BrowserSupport/index.js +0 -58
- package/dist/BrowserSupport/utils.js +0 -32
- package/dist/Builder/Body.js +0 -9
- package/dist/Builder/ElementsPanel/ElementsList/Element.js +0 -27
- package/dist/Builder/ElementsPanel/ElementsList/Section.js +0 -28
- package/dist/Builder/ElementsPanel/ElementsList/TitleBar.js +0 -28
- package/dist/Builder/ElementsPanel/ElementsList/index.js +0 -63
- package/dist/Builder/ElementsPanel/SelectedElementsList/SelectedElement.js +0 -73
- package/dist/Builder/ElementsPanel/SelectedElementsList/TitleBar.js +0 -50
- package/dist/Builder/ElementsPanel/SelectedElementsList/index.js +0 -91
- package/dist/Builder/ElementsPanel/index.js +0 -70
- package/dist/Builder/PropertiesPanel/EmptyProperty.js +0 -21
- package/dist/Builder/PropertiesPanel/Skeleton.js +0 -24
- package/dist/Builder/PropertiesPanel/index.js +0 -12
- package/dist/Builder/index.js +0 -3
- package/dist/Builder/styles.scss +0 -84
- package/dist/CalendarView/CustomDatePicker.js +0 -87
- package/dist/CalendarView/Header.js +0 -53
- package/dist/CalendarView/constants.js +0 -19
- package/dist/CalendarView/index.js +0 -83
- package/dist/CalendarView/utils.js +0 -50
- package/dist/Codeblock/index.js +0 -30
- package/dist/Columns/utils.js +0 -20
- package/dist/ConfirmationModal/constants.js +0 -3
- package/dist/ConfirmationModal/utils.js +0 -6
- package/dist/Container/container.scss +0 -21
- package/dist/Container/index.js +0 -23
- package/dist/CopyToClipboardButton/constants.js +0 -13
- package/dist/CopyToClipboardButton/copyToClipboard.scss +0 -22
- package/dist/CopyToClipboardButton/index.js +0 -59
- package/dist/CustomDomain/index.js +0 -98
- package/dist/CustomDomainDashboard/DeleteAlert.js +0 -28
- package/dist/CustomDomainDashboard/Header.js +0 -32
- package/dist/CustomDomainDashboard/Manage/Record.js +0 -42
- package/dist/CustomDomainDashboard/Manage/StatusInfo.js +0 -21
- package/dist/CustomDomainDashboard/Manage/TagBlock.js +0 -36
- package/dist/CustomDomainDashboard/Manage/constants.js +0 -4
- package/dist/CustomDomainDashboard/Manage/index.js +0 -125
- package/dist/CustomDomainDashboard/Manage/utils.js +0 -8
- package/dist/CustomDomainDashboard/api.js +0 -35
- package/dist/CustomDomainDashboard/constants.js +0 -2
- package/dist/CustomDomainDashboard/index.js +0 -118
- package/dist/CustomDomainDashboard/useCustomDomainApi.js +0 -71
- package/dist/CustomDomainDashboard/utils.js +0 -84
- package/dist/DateRangeFilter/index.js +0 -60
- package/dist/DateRangeFilter/utils.js +0 -113
- package/dist/DynamicVariables/dynamic-variables.scss +0 -34
- package/dist/DynamicVariables/index.js +0 -59
- package/dist/DynamicVariables/utils.js +0 -37
- package/dist/EmailForm/EmailForm.js +0 -98
- package/dist/EmailForm/EmailFormProvider.js +0 -45
- package/dist/EmailForm/EmailPreview.js +0 -129
- package/dist/EmailForm/ReplyToField.js +0 -55
- package/dist/EmailForm/SendToField.js +0 -28
- package/dist/EmailForm/SubjectField.js +0 -64
- package/dist/EmailForm/constants.js +0 -33
- package/dist/EmailForm/contexts/EmailForm.js +0 -7
- package/dist/EmailForm/index.js +0 -4
- package/dist/EmailForm/utils.js +0 -10
- package/dist/EmailPreview/index.js +0 -2
- package/dist/ErrorPage/index.js +0 -78
- package/dist/Header/Breadcrumbs.js +0 -31
- package/dist/Header/Dropdown.js +0 -12
- package/dist/Header/constants.js +0 -6
- package/dist/Header/header.scss +0 -121
- package/dist/Header/index.js +0 -61
- package/dist/IconPicker/Icon.js +0 -34
- package/dist/IconPicker/NoResults.js +0 -12
- package/dist/IconPicker/constants.js +0 -8
- package/dist/IconPicker/icon-picker.scss +0 -1
- package/dist/IconPicker/index.js +0 -164
- package/dist/ImageWithFallback/ImagePlaceholder.js +0 -16
- package/dist/ImageWithFallback/index.js +0 -31
- package/dist/IntegrationCard/Dropdown.js +0 -45
- package/dist/IntegrationCard/Status.js +0 -25
- package/dist/IntegrationCard/index.js +0 -128
- package/dist/IntegrationDisconnectAlert/index.js +0 -36
- package/dist/IpRestriction/AllowedIpRanges.js +0 -75
- package/dist/IpRestriction/CurrentIp.js +0 -26
- package/dist/IpRestriction/FormRow.js +0 -84
- package/dist/IpRestriction/Row.js +0 -91
- package/dist/IpRestriction/apis/allowed_ip_ranges.js +0 -28
- package/dist/IpRestriction/apis/current_ip.js +0 -11
- package/dist/IpRestriction/apis/ip_restriction.js +0 -16
- package/dist/IpRestriction/constants.js +0 -20
- package/dist/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js +0 -34
- package/dist/IpRestriction/hooks/reactQuery/useCurrentIp.js +0 -10
- package/dist/IpRestriction/hooks/reactQuery/useIpRestrictions.js +0 -18
- package/dist/IpRestriction/index.js +0 -102
- package/dist/IpRestriction/utils.js +0 -85
- package/dist/KeyboardShortcuts/Pane/HotKey.js +0 -44
- package/dist/KeyboardShortcuts/Pane/HotKeyList.js +0 -42
- package/dist/KeyboardShortcuts/Pane/constants.js +0 -25
- package/dist/KeyboardShortcuts/Pane/index.js +0 -61
- package/dist/KeyboardShortcuts/Pane/keyboard-shortcuts.scss +0 -5
- package/dist/KeyboardShortcuts/Pane/utils.js +0 -66
- package/dist/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js +0 -31
- package/dist/KeyboardShortcuts/index.js +0 -9
- package/dist/LoginPage/Form.js +0 -57
- package/dist/LoginPage/constants.js +0 -12
- package/dist/LoginPage/index.js +0 -103
- package/dist/MenuBar/AddNew.js +0 -25
- package/dist/MenuBar/Block.js +0 -60
- package/dist/MenuBar/Item.js +0 -32
- package/dist/MenuBar/Search.js +0 -39
- package/dist/MenuBar/SubTitle.js +0 -23
- package/dist/MenuBar/index.js +0 -46
- package/dist/MenuBar/menubar.scss +0 -154
- package/dist/Metadata/Block.js +0 -30
- package/dist/Metadata/DetailsBlock.js +0 -86
- package/dist/Metadata/constants.js +0 -9
- package/dist/Metadata/index.js +0 -29
- package/dist/Metadata/metadata.scss +0 -15
- package/dist/MoreDropdown/constants.js +0 -25
- package/dist/NavigationHeader/LeftBlock.js +0 -32
- package/dist/NavigationHeader/Navigation.js +0 -24
- package/dist/NavigationHeader/RightBlock.js +0 -68
- package/dist/NavigationHeader/constants.js +0 -11
- package/dist/NavigationHeader/index.js +0 -19
- package/dist/NavigationHeader/navigation-header.scss +0 -3
- package/dist/NeetoWidget/CodeBlock.js +0 -57
- package/dist/NeetoWidget/CodeSnippet.js +0 -119
- package/dist/NeetoWidget/EmbedCode.js +0 -281
- package/dist/NeetoWidget/Main.js +0 -19
- package/dist/NeetoWidget/SelectionSwitches/TooltipSwitch.js +0 -25
- package/dist/NeetoWidget/SelectionSwitches/index.js +0 -44
- package/dist/NeetoWidget/SyntaxHighlighter.js +0 -17
- package/dist/NeetoWidget/api.js +0 -20
- package/dist/NeetoWidget/constants.js +0 -62
- package/dist/NeetoWidget/hooks/useForceUpdate.js +0 -14
- package/dist/NeetoWidget/index.js +0 -7
- package/dist/NeetoWidget/mutations.js +0 -9
- package/dist/NeetoWidget/queries.js +0 -32
- package/dist/NeetoWidget/utils.js +0 -83
- package/dist/PageLoader/index.js +0 -81
- package/dist/PageLoader/page-loader.scss +0 -95
- package/dist/PhoneNumber/CountryPicker/SingleValue.js +0 -21
- package/dist/PhoneNumber/CountryPicker/constants.js +0 -26
- package/dist/PhoneNumber/CountryPicker/index.js +0 -59
- package/dist/PhoneNumber/FormikPhoneNumberInput.js +0 -21
- package/dist/PhoneNumber/PhoneNumber.js +0 -30
- package/dist/PhoneNumber/PhoneNumberInput.js +0 -79
- package/dist/PhoneNumber/index.js +0 -5
- package/dist/PhoneNumber/utils.js +0 -55
- package/dist/PublishBlock/AlertBlock.js +0 -14
- package/dist/PublishBlock/index.js +0 -100
- package/dist/PublishBlock/publish-block.scss +0 -25
- package/dist/Rename/DummySpan.js +0 -21
- package/dist/Rename/constants.js +0 -1
- package/dist/Rename/index.js +0 -191
- package/dist/Rename/rename.scss +0 -69
- package/dist/Rename/utils.js +0 -10
- package/dist/ResponsiveDevicePicker/constants.js +0 -19
- package/dist/ResponsiveDevicePicker/index.js +0 -36
- package/dist/Schedule/DisplayAvailability.js +0 -58
- package/dist/Schedule/Fields.js +0 -43
- package/dist/Schedule/Form/ScheduleRow.js +0 -125
- package/dist/Schedule/Form/constants.js +0 -20
- package/dist/Schedule/Form/index.js +0 -144
- package/dist/Schedule/Form/utils.js +0 -63
- package/dist/Schedule/Header.js +0 -76
- package/dist/Schedule/ScheduleContext.js +0 -8
- package/dist/Schedule/constants.js +0 -8
- package/dist/Schedule/dayjsExtended/constants.js +0 -1
- package/dist/Schedule/dayjsExtended/index.js +0 -14
- package/dist/Schedule/dayjsExtended/range.js +0 -73
- package/dist/Schedule/index.js +0 -80
- package/dist/Schedule/utils.js +0 -152
- package/dist/Scrollable/constants.js +0 -8
- package/dist/Scrollable/index.js +0 -26
- package/dist/Scrollable/scrollable.scss +0 -32
- package/dist/Search/index.js +0 -52
- package/dist/Security/AllowedKeywords/Add.js +0 -38
- package/dist/Security/AllowedKeywords/index.js +0 -38
- package/dist/Security/PasswordBlock.js +0 -31
- package/dist/Security/RadioBlock.js +0 -38
- package/dist/Security/api.js +0 -12
- package/dist/Security/constants.js +0 -58
- package/dist/Security/index.js +0 -68
- package/dist/Security/useSecurityApi.js +0 -22
- package/dist/Security/utils.js +0 -31
- package/dist/SendToFields/FilePicker.js +0 -34
- package/dist/SendToFields/constants.js +0 -6
- package/dist/SendToFields/index.js +0 -102
- package/dist/SendToFields/utils.js +0 -54
- package/dist/Settings/Category.js +0 -30
- package/dist/Settings/Item.js +0 -38
- package/dist/Settings/index.js +0 -37
- package/dist/Settings/utils.js +0 -4
- package/dist/ShareViaEmail/EmailBodyEditor.js +0 -22
- package/dist/ShareViaEmail/FilePicker.js +0 -43
- package/dist/ShareViaEmail/Form.js +0 -105
- package/dist/ShareViaEmail/FormikDatePicker.js +0 -24
- package/dist/ShareViaEmail/constants.js +0 -14
- package/dist/ShareViaEmail/index.js +0 -92
- package/dist/ShareViaEmail/utils.js +0 -72
- package/dist/ShareViaLink/EditURL.js +0 -74
- package/dist/ShareViaLink/Link.js +0 -105
- package/dist/ShareViaLink/QRCode.js +0 -41
- package/dist/ShareViaLink/RegenerateURL.js +0 -47
- package/dist/ShareViaLink/SocialMedia.js +0 -52
- package/dist/ShareViaLink/constants.js +0 -25
- package/dist/ShareViaLink/edit-url.scss +0 -8
- package/dist/ShareViaLink/index.js +0 -46
- package/dist/ShareViaLink/utils.js +0 -47
- package/dist/Sidebar/AppSwitcher/AppLink.js +0 -45
- package/dist/Sidebar/AppSwitcher/Backdrop.js +0 -13
- package/dist/Sidebar/AppSwitcher/Body.js +0 -65
- package/dist/Sidebar/AppSwitcher/Portal.js +0 -27
- package/dist/Sidebar/AppSwitcher/appswitcher.scss +0 -164
- package/dist/Sidebar/AppSwitcher/index.js +0 -47
- package/dist/Sidebar/AppSwitcher/utils.js +0 -25
- package/dist/Sidebar/Chevron.js +0 -14
- package/dist/Sidebar/FeaturedTooltip.js +0 -19
- package/dist/Sidebar/Footer/AppSwitcherButton.js +0 -48
- package/dist/Sidebar/Footer/ProfileButton.js +0 -30
- package/dist/Sidebar/Footer/index.js +0 -56
- package/dist/Sidebar/Footer/utils.js +0 -39
- package/dist/Sidebar/Header.js +0 -33
- package/dist/Sidebar/HelpSection/HelpSectionMenu.js +0 -52
- package/dist/Sidebar/HelpSection/index.js +0 -32
- package/dist/Sidebar/Links.js +0 -112
- package/dist/Sidebar/NavIconWrapper.js +0 -20
- package/dist/Sidebar/ProfileSection/LinkSection.js +0 -36
- package/dist/Sidebar/ProfileSection/ProfileMenu.js +0 -48
- package/dist/Sidebar/ProfileSection/index.js +0 -42
- package/dist/Sidebar/constants.js +0 -40
- package/dist/Sidebar/index.js +0 -94
- package/dist/Sidebar/sidebar.scss +0 -379
- package/dist/Sidebar/utils.js +0 -18
- package/dist/SubHeader/RightBlock/Columns.js +0 -35
- package/dist/SubHeader/RightBlock/Download.js +0 -28
- package/dist/SubHeader/RightBlock/Filter.js +0 -31
- package/dist/SubHeader/RightBlock/index.js +0 -21
- package/dist/SubHeader/RightBlock/utils.js +0 -13
- package/dist/SubHeader/index.js +0 -28
- package/dist/SubHeader/subheader.scss +0 -78
- package/dist/ThemeSidebar/Customize/Logo.js +0 -39
- package/dist/ThemeSidebar/Customize/Properties.js +0 -170
- package/dist/ThemeSidebar/Customize/index.js +0 -66
- package/dist/ThemeSidebar/Themes/ThemeCard.js +0 -135
- package/dist/ThemeSidebar/Themes/index.js +0 -110
- package/dist/ThemeSidebar/TitleBar.js +0 -62
- package/dist/ThemeSidebar/constants.js +0 -127
- package/dist/ThemeSidebar/fields/AlignmentBlock.js +0 -50
- package/dist/ThemeSidebar/fields/Card.js +0 -19
- package/dist/ThemeSidebar/fields/ColorBlock.js +0 -19
- package/dist/ThemeSidebar/fields/FontPickerBlock.js +0 -35
- package/dist/ThemeSidebar/fields/ImageBlock/ImageUploader.js +0 -67
- package/dist/ThemeSidebar/fields/ImageBlock/ProgressBar.js +0 -22
- package/dist/ThemeSidebar/fields/ImageBlock/index.js +0 -55
- package/dist/ThemeSidebar/fields/SelectBlock.js +0 -24
- package/dist/ThemeSidebar/fields/SliderBlock.js +0 -30
- package/dist/ThemeSidebar/fields/SwitchBlock.js +0 -17
- package/dist/ThemeSidebar/fields/TextBlock.js +0 -13
- package/dist/ThemeSidebar/fields/slider.scss +0 -199
- package/dist/ThemeSidebar/hooks/useDirectUploadDropzone.js +0 -149
- package/dist/ThemeSidebar/index.js +0 -118
- package/dist/ThemeSidebar/themeSidebar.scss +0 -45
- package/dist/ThemeSidebar/utils.js +0 -169
- package/dist/TimeFormat/index.js +0 -3
- package/dist/TimezoneMismatchModal/apis/time_zone.js +0 -9
- package/dist/TimezoneMismatchModal/index.js +0 -83
- package/dist/TimezoneMismatchModal/useTimeZoneApi.js +0 -10
- package/dist/TimezoneMismatchModal/utils.js +0 -12
- package/dist/ToggleFeatureCard/ToolTipSwitch.js +0 -31
- package/dist/ToggleFeatureCard/constants.js +0 -5
- package/dist/ToggleFeatureCard/hooks/useScrollIntoView.js +0 -11
- package/dist/ToggleFeatureCard/index.js +0 -148
- package/dist/ToggleFeatureCard/toggleFeatureCard.scss +0 -4
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
-
import React, { useContext } from "react";
|
|
3
|
-
import { FieldArray, ErrorMessage } from "formik";
|
|
4
|
-
import { isNotPresent } from "@bigbinary/neeto-commons-frontend/pure";
|
|
5
|
-
import { Plus, Delete } from "@bigbinary/neeto-icons";
|
|
6
|
-
import { Typography, Button } from "@bigbinary/neetoui";
|
|
7
|
-
import { Select } from "@bigbinary/neetoui/formik";
|
|
8
|
-
import { useTranslation } from "react-i18next";
|
|
9
|
-
import { REMOVE_SELECT_DOWN_ARROW, BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN } from "./constants";
|
|
10
|
-
import { buildSlotIntervals, slotsSelectComponentDefaultValue, customFilter, generateNewPeriod, addDefaultPeriod } from "./utils";
|
|
11
|
-
import { DEFAULT_SLOT_INTERVAL } from "../constants";
|
|
12
|
-
import ScheduleContext from "../ScheduleContext";
|
|
13
|
-
var ScheduleRow = function ScheduleRow(_ref) {
|
|
14
|
-
var values = _ref.values,
|
|
15
|
-
setFieldValue = _ref.setFieldValue,
|
|
16
|
-
wdayIndex = _ref.wdayIndex,
|
|
17
|
-
day = _ref.day;
|
|
18
|
-
var _useTranslation = useTranslation(),
|
|
19
|
-
t = _useTranslation.t;
|
|
20
|
-
var handleAddRow = function handleAddRow(arrayHelpers) {
|
|
21
|
-
if (isNotPresent(values.wdays[wdayIndex].periods)) {
|
|
22
|
-
arrayHelpers.push(addDefaultPeriod(day));
|
|
23
|
-
} else {
|
|
24
|
-
arrayHelpers.push(generateNewPeriod(values.wdays[wdayIndex].periods, day));
|
|
25
|
-
}
|
|
26
|
-
setFieldValue("wdays[".concat(wdayIndex, "].available"), true);
|
|
27
|
-
};
|
|
28
|
-
var handleDeleteRow = function handleDeleteRow(arrayHelpers, index) {
|
|
29
|
-
var isLastRowDeleted = values.wdays[wdayIndex].periods.length === 1;
|
|
30
|
-
arrayHelpers.remove(index);
|
|
31
|
-
setFieldValue("wdays[".concat(wdayIndex, "].available"), !isLastRowDeleted);
|
|
32
|
-
};
|
|
33
|
-
var _useContext = useContext(ScheduleContext),
|
|
34
|
-
allowAddPeriod = _useContext.allowAddPeriod;
|
|
35
|
-
return /*#__PURE__*/React.createElement(FieldArray, {
|
|
36
|
-
name: "wdays[".concat(wdayIndex, "].periods"),
|
|
37
|
-
render: function render(arrayHelpers) {
|
|
38
|
-
var _values$wdays$wdayInd, _values$wdays$wdayInd2;
|
|
39
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
40
|
-
className: "flex w-full items-start justify-between"
|
|
41
|
-
}, isNotPresent((_values$wdays$wdayInd = values.wdays[wdayIndex]) === null || _values$wdays$wdayInd === void 0 ? void 0 : _values$wdays$wdayInd.periods) ? /*#__PURE__*/React.createElement("div", {
|
|
42
|
-
className: "mx-auto mt-1 flex w-80 items-center justify-center"
|
|
43
|
-
}, /*#__PURE__*/React.createElement(Typography, {
|
|
44
|
-
"data-cy": "unavailable-text",
|
|
45
|
-
lineHeight: "relaxed",
|
|
46
|
-
style: "h5"
|
|
47
|
-
}, t("neetoMolecules.schedule.unavailable"))) : /*#__PURE__*/React.createElement("div", {
|
|
48
|
-
className: "w-full space-y-4"
|
|
49
|
-
}, (_values$wdays$wdayInd2 = values.wdays[wdayIndex].periods) === null || _values$wdays$wdayInd2 === void 0 ? void 0 : _values$wdays$wdayInd2.map(function (period, index) {
|
|
50
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
51
|
-
className: "mx-auto flex w-80 flex-col",
|
|
52
|
-
key: "wdays[".concat(wdayIndex, "].periods[").concat(index, "]")
|
|
53
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
54
|
-
className: "flex min-w-full items-start space-x-3",
|
|
55
|
-
"data-cy": "schedule-row"
|
|
56
|
-
}, /*#__PURE__*/React.createElement(Select, {
|
|
57
|
-
isClearable: true,
|
|
58
|
-
isSearchable: true,
|
|
59
|
-
className: "w-full",
|
|
60
|
-
components: REMOVE_SELECT_DOWN_ARROW,
|
|
61
|
-
filterOption: customFilter,
|
|
62
|
-
name: "wdays[".concat(wdayIndex, "].periods[").concat(index, "].startTime"),
|
|
63
|
-
placeholder: t("neetoMolecules.schedule.startTime"),
|
|
64
|
-
styles: BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN,
|
|
65
|
-
options: buildSlotIntervals({
|
|
66
|
-
interval: DEFAULT_SLOT_INTERVAL,
|
|
67
|
-
bookedSlots: values.wdays[wdayIndex].periods,
|
|
68
|
-
slotType: "startTime",
|
|
69
|
-
selectedValue: period === null || period === void 0 ? void 0 : period.startTime
|
|
70
|
-
}),
|
|
71
|
-
value: slotsSelectComponentDefaultValue(period === null || period === void 0 ? void 0 : period.startTime),
|
|
72
|
-
onChange: function onChange(e) {
|
|
73
|
-
return setFieldValue("wdays[".concat(wdayIndex, "].periods[").concat(index, "].startTime"), (e === null || e === void 0 ? void 0 : e.value) || "");
|
|
74
|
-
}
|
|
75
|
-
}), /*#__PURE__*/React.createElement(Select, {
|
|
76
|
-
isClearable: true,
|
|
77
|
-
isSearchable: true,
|
|
78
|
-
className: "w-full",
|
|
79
|
-
components: REMOVE_SELECT_DOWN_ARROW,
|
|
80
|
-
filterOption: customFilter,
|
|
81
|
-
name: "wdays[".concat(wdayIndex, "].periods[").concat(index, "].endTime"),
|
|
82
|
-
placeholder: t("neetoMolecules.schedule.endTime"),
|
|
83
|
-
styles: BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN,
|
|
84
|
-
options: buildSlotIntervals({
|
|
85
|
-
interval: DEFAULT_SLOT_INTERVAL,
|
|
86
|
-
bookedSlots: values.wdays[wdayIndex].periods,
|
|
87
|
-
slotType: "endTime",
|
|
88
|
-
selectedValue: period === null || period === void 0 ? void 0 : period.endTime
|
|
89
|
-
}),
|
|
90
|
-
value: slotsSelectComponentDefaultValue(period === null || period === void 0 ? void 0 : period.endTime),
|
|
91
|
-
onChange: function onChange(e) {
|
|
92
|
-
return setFieldValue("wdays[".concat(wdayIndex, "].periods[").concat(index, "].endTime"), (e === null || e === void 0 ? void 0 : e.value) || "");
|
|
93
|
-
}
|
|
94
|
-
}), /*#__PURE__*/React.createElement(Delete, {
|
|
95
|
-
className: "hover:neeto-ui-text-error-600 mt-2 w-16 cursor-pointer",
|
|
96
|
-
"data-cy": "delete-period-button",
|
|
97
|
-
size: 20,
|
|
98
|
-
onClick: function onClick() {
|
|
99
|
-
return handleDeleteRow(arrayHelpers, index);
|
|
100
|
-
}
|
|
101
|
-
})), /*#__PURE__*/React.createElement(ErrorMessage, {
|
|
102
|
-
name: "wdays[".concat(wdayIndex, "].periods[").concat(index, "]")
|
|
103
|
-
}, function (message) {
|
|
104
|
-
return _typeof(message) !== "object" && /*#__PURE__*/React.createElement("span", {
|
|
105
|
-
className: "neeto-ui-text-error-500 mt-1 w-11/12 px-2 text-xs"
|
|
106
|
-
}, message);
|
|
107
|
-
}));
|
|
108
|
-
}))), allowAddPeriod && /*#__PURE__*/React.createElement(Button, {
|
|
109
|
-
className: "flex-shrink-0",
|
|
110
|
-
"data-cy": "add-new-period-button",
|
|
111
|
-
"data-testid": "add-new-period-button",
|
|
112
|
-
icon: Plus,
|
|
113
|
-
tooltipProps: {
|
|
114
|
-
content: t("neetoMolecules.schedule.addNewPeriod"),
|
|
115
|
-
position: "top",
|
|
116
|
-
hideAfter: 5000
|
|
117
|
-
},
|
|
118
|
-
onClick: function onClick() {
|
|
119
|
-
return handleAddRow(arrayHelpers);
|
|
120
|
-
}
|
|
121
|
-
}));
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
};
|
|
125
|
-
export default ScheduleRow;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
export var REMOVE_SELECT_DOWN_ARROW = {
|
|
5
|
-
DropdownIndicator: function DropdownIndicator() {
|
|
6
|
-
return null;
|
|
7
|
-
},
|
|
8
|
-
IndicatorSeparator: function IndicatorSeparator() {
|
|
9
|
-
return null;
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
export var BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN = {
|
|
13
|
-
singleValue: function singleValue(base, state) {
|
|
14
|
-
return _objectSpread(_objectSpread({}, base), {}, {
|
|
15
|
-
color: state.selectProps.menuIsOpen ? "#c2c8cc" : base.color
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
export var SLOT_TIME_FORMAT = "hh:mm A";
|
|
20
|
-
export var END_OF_DAY = "11:59 PM";
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
import React, { useState } from "react";
|
|
3
|
-
import { isNotPresent } from "@bigbinary/neeto-commons-frontend/pure";
|
|
4
|
-
import { joinHyphenCase } from "@bigbinary/neeto-commons-frontend/utils";
|
|
5
|
-
import { Copy } from "@bigbinary/neeto-icons";
|
|
6
|
-
import { Typography, Dropdown, Button, Label, Checkbox } from "@bigbinary/neetoui";
|
|
7
|
-
import { Checkbox as FormikCheckbox } from "@bigbinary/neetoui/formik";
|
|
8
|
-
import { append, identity, without } from "ramda";
|
|
9
|
-
import { useTranslation } from "react-i18next";
|
|
10
|
-
import ScheduleRow from "./ScheduleRow";
|
|
11
|
-
import { addDefaultPeriod } from "./utils";
|
|
12
|
-
import { DAYS } from "../constants";
|
|
13
|
-
var Form = function Form(_ref) {
|
|
14
|
-
var day = _ref.day,
|
|
15
|
-
handleCopy = _ref.handleCopy,
|
|
16
|
-
values = _ref.values,
|
|
17
|
-
setFieldValue = _ref.setFieldValue,
|
|
18
|
-
index = _ref.index;
|
|
19
|
-
var _useState = useState([]),
|
|
20
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
21
|
-
deletedPeriods = _useState2[0],
|
|
22
|
-
setDeletedPeriods = _useState2[1];
|
|
23
|
-
var _useState3 = useState([]),
|
|
24
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
25
|
-
wdaysToCopy = _useState4[0],
|
|
26
|
-
setWdaysToCopy = _useState4[1];
|
|
27
|
-
var _useTranslation = useTranslation(),
|
|
28
|
-
t = _useTranslation.t;
|
|
29
|
-
var restoreDeletedPeriods = function restoreDeletedPeriods(setFieldValue) {
|
|
30
|
-
setFieldValue("wdays[".concat(index, "].periods"), deletedPeriods);
|
|
31
|
-
};
|
|
32
|
-
var uncheckCheckbox = function uncheckCheckbox(setFieldValue, values) {
|
|
33
|
-
var _values$wdays$index$p;
|
|
34
|
-
setFieldValue("wdays[".concat(index, "].available"), false);
|
|
35
|
-
setFieldValue("wdays[".concat(index, "].periods"), []);
|
|
36
|
-
if ((_values$wdays$index$p = values.wdays[index].periods[0]) !== null && _values$wdays$index$p !== void 0 && _values$wdays$index$p.id) {
|
|
37
|
-
setDeletedPeriods(values.wdays[index].periods.filter(function (item) {
|
|
38
|
-
return item.startTime && item.endTime;
|
|
39
|
-
}).map(identity));
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
var checkCheckbox = function checkCheckbox(setFieldValue) {
|
|
43
|
-
var _deletedPeriods$;
|
|
44
|
-
setFieldValue("wdays[".concat(index, "].available"), true);
|
|
45
|
-
if ((_deletedPeriods$ = deletedPeriods[0]) !== null && _deletedPeriods$ !== void 0 && _deletedPeriods$.startTime) {
|
|
46
|
-
restoreDeletedPeriods(setFieldValue);
|
|
47
|
-
} else if (isNotPresent(values.wdays[index].periods)) {
|
|
48
|
-
setFieldValue("wdays[".concat(index, "].periods"), [addDefaultPeriod(day)]);
|
|
49
|
-
} else {
|
|
50
|
-
setFieldValue("wdays[".concat(index, "].periods"), [""]);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
var handleCheckbox = function handleCheckbox(setFieldValue, values) {
|
|
54
|
-
if (values.wdays[index].available) {
|
|
55
|
-
uncheckCheckbox(setFieldValue, values);
|
|
56
|
-
} else {
|
|
57
|
-
checkCheckbox(setFieldValue);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
var handleCopyChange = function handleCopyChange(e, day) {
|
|
61
|
-
return setWdaysToCopy(e.target.checked ? append(day) : without([day]));
|
|
62
|
-
};
|
|
63
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
64
|
-
className: "neeto-ui-rounded-md neeto-ui-shadow-s neeto-ui-border-gray-300 w-full border px-6"
|
|
65
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
66
|
-
className: "my-4 flex w-full items-start space-x-4",
|
|
67
|
-
"data-cy": "working-day-container"
|
|
68
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
69
|
-
className: "mt-1 flex w-16 items-center justify-start"
|
|
70
|
-
}, /*#__PURE__*/React.createElement(FormikCheckbox, {
|
|
71
|
-
"aria-label": "wdays[".concat(index, "].available"),
|
|
72
|
-
checked: values.wdays[index].available,
|
|
73
|
-
"data-cy": joinHyphenCase(day, "weekly-hours-checkbox"),
|
|
74
|
-
id: "day",
|
|
75
|
-
name: "wdays[".concat(index, "].available"),
|
|
76
|
-
onChange: function onChange() {
|
|
77
|
-
return handleCheckbox(setFieldValue, values);
|
|
78
|
-
}
|
|
79
|
-
}), /*#__PURE__*/React.createElement(Typography, {
|
|
80
|
-
className: "ml-2 capitalize",
|
|
81
|
-
component: "span",
|
|
82
|
-
"data-cy": joinHyphenCase(day, "day-text"),
|
|
83
|
-
style: "body2",
|
|
84
|
-
weight: "semibold"
|
|
85
|
-
}, t("neetoMolecules.schedule.days.".concat(day)))), /*#__PURE__*/React.createElement(ScheduleRow, {
|
|
86
|
-
day: day,
|
|
87
|
-
setFieldValue: setFieldValue,
|
|
88
|
-
values: values,
|
|
89
|
-
wdayIndex: index
|
|
90
|
-
}), /*#__PURE__*/React.createElement(Dropdown, {
|
|
91
|
-
closeOnSelect: true,
|
|
92
|
-
buttonStyle: "secondary",
|
|
93
|
-
icon: Copy,
|
|
94
|
-
position: "right-start",
|
|
95
|
-
buttonProps: {
|
|
96
|
-
tooltipProps: {
|
|
97
|
-
content: t("neetoMolecules.schedule.copyScheduleTooltip"),
|
|
98
|
-
position: "top",
|
|
99
|
-
hideAfter: 5000
|
|
100
|
-
},
|
|
101
|
-
className: "flex-shrink-0",
|
|
102
|
-
"data-testid": joinHyphenCase(day, "copy-schedule-icon"),
|
|
103
|
-
"data-cy": joinHyphenCase(day, "copy-schedule-icon")
|
|
104
|
-
},
|
|
105
|
-
onClose: function onClose() {
|
|
106
|
-
return setWdaysToCopy([]);
|
|
107
|
-
}
|
|
108
|
-
}, /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(Typography, {
|
|
109
|
-
style: "h5"
|
|
110
|
-
}, t("neetoMolecules.schedule.copySchedule"))), DAYS.filter(function (copyDay) {
|
|
111
|
-
return copyDay !== day;
|
|
112
|
-
}).map(function (day) {
|
|
113
|
-
return /*#__PURE__*/React.createElement("li", {
|
|
114
|
-
key: day,
|
|
115
|
-
onClick: function onClick(e) {
|
|
116
|
-
return e.stopPropagation();
|
|
117
|
-
}
|
|
118
|
-
}, /*#__PURE__*/React.createElement(Label, {
|
|
119
|
-
className: "w-full cursor-pointer capitalize"
|
|
120
|
-
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
121
|
-
checked: wdaysToCopy.includes(day),
|
|
122
|
-
id: day,
|
|
123
|
-
label: t("neetoMolecules.schedule.days.".concat(day)),
|
|
124
|
-
onChange: function onChange(e) {
|
|
125
|
-
return handleCopyChange(e, day);
|
|
126
|
-
}
|
|
127
|
-
})));
|
|
128
|
-
}), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(Button, {
|
|
129
|
-
"data-cy": "copy-schedule-submit-button",
|
|
130
|
-
disabled: isNotPresent(wdaysToCopy),
|
|
131
|
-
label: t("neetoMolecules.common.actions.submit"),
|
|
132
|
-
size: "small",
|
|
133
|
-
onClick: function onClick() {
|
|
134
|
-
handleCopy({
|
|
135
|
-
values: values,
|
|
136
|
-
index: index,
|
|
137
|
-
setFieldValue: setFieldValue,
|
|
138
|
-
wdaysToCopy: wdaysToCopy
|
|
139
|
-
});
|
|
140
|
-
setWdaysToCopy([]);
|
|
141
|
-
}
|
|
142
|
-
})))));
|
|
143
|
-
};
|
|
144
|
-
export default Form;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
-
import { toLabelAndValue, isNotPresent } from "@bigbinary/neeto-commons-frontend/pure";
|
|
3
|
-
import { uniq, pluck, difference } from "ramda";
|
|
4
|
-
import { SLOT_TIME_FORMAT, END_OF_DAY } from "./constants";
|
|
5
|
-
import dayjs from "../dayjsExtended";
|
|
6
|
-
import { isTimeBehind } from "../utils";
|
|
7
|
-
var buildSlotIntervals = function buildSlotIntervals(_ref) {
|
|
8
|
-
var interval = _ref.interval,
|
|
9
|
-
bookedSlots = _ref.bookedSlots,
|
|
10
|
-
slotType = _ref.slotType,
|
|
11
|
-
_ref$selectedValue = _ref.selectedValue,
|
|
12
|
-
selectedValue = _ref$selectedValue === void 0 ? null : _ref$selectedValue;
|
|
13
|
-
var selectedOption = {
|
|
14
|
-
label: selectedValue,
|
|
15
|
-
value: selectedValue
|
|
16
|
-
};
|
|
17
|
-
var allIntervalsForADay = dayjs.timeIntervalsForDay(interval);
|
|
18
|
-
allIntervalsForADay.push(END_OF_DAY);
|
|
19
|
-
var uniqBookedSlots = uniq(pluck(slotType, bookedSlots));
|
|
20
|
-
var slotsAvailableForBooking = difference(allIntervalsForADay, uniqBookedSlots);
|
|
21
|
-
var slots = slotsAvailableForBooking.map(toLabelAndValue);
|
|
22
|
-
return selectedValue ? sortSlots([selectedOption].concat(_toConsumableArray(slots))) : slots;
|
|
23
|
-
};
|
|
24
|
-
var sortSlots = function sortSlots(slots) {
|
|
25
|
-
return slots.sort(function (a, b) {
|
|
26
|
-
return isTimeBehind(a["value"], b["value"]) ? -1 : 1;
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
var slotsSelectComponentDefaultValue = function slotsSelectComponentDefaultValue(slot) {
|
|
30
|
-
return slot ? toLabelAndValue(slot) : "";
|
|
31
|
-
};
|
|
32
|
-
var padZeroes = function padZeroes(str) {
|
|
33
|
-
return str.length % 2 === 0 ? str : "0".concat(str);
|
|
34
|
-
};
|
|
35
|
-
var customFilter = function customFilter(option, searchTerm) {
|
|
36
|
-
if (isNotPresent(searchTerm)) return true;
|
|
37
|
-
var doesNumberMatches = option.value.replace(":", "").startsWith(padZeroes(searchTerm.replaceAll(/\D+/gi, "")));
|
|
38
|
-
var doesAmPmMatches = option.value.includes(searchTerm.toUpperCase().replaceAll(/[^a-z]/gi, ""));
|
|
39
|
-
return doesNumberMatches && doesAmPmMatches;
|
|
40
|
-
};
|
|
41
|
-
var roundToNearestHour = function roundToNearestHour(time) {
|
|
42
|
-
var minutes = time.minute();
|
|
43
|
-
if (minutes === 59) return time.startOf("hour").add(1, "hour");
|
|
44
|
-
return time.add(1, "hour");
|
|
45
|
-
};
|
|
46
|
-
var generateNewPeriod = function generateNewPeriod(periods, wday) {
|
|
47
|
-
var lastEndTime = periods[periods.length - 1].endTime;
|
|
48
|
-
var newStartTime = roundToNearestHour(dayjs(lastEndTime, SLOT_TIME_FORMAT));
|
|
49
|
-
var newEndTime = dayjs(newStartTime, SLOT_TIME_FORMAT).add(1, "hour");
|
|
50
|
-
return {
|
|
51
|
-
startTime: dayjs(newStartTime).format(SLOT_TIME_FORMAT),
|
|
52
|
-
endTime: dayjs(newEndTime).format(SLOT_TIME_FORMAT),
|
|
53
|
-
wday: wday
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
var addDefaultPeriod = function addDefaultPeriod(wday) {
|
|
57
|
-
return {
|
|
58
|
-
wday: wday,
|
|
59
|
-
startTime: "09:00 AM",
|
|
60
|
-
endTime: "05:00 PM"
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
|
-
export { buildSlotIntervals, slotsSelectComponentDefaultValue, customFilter, generateNewPeriod, addDefaultPeriod };
|
package/dist/Schedule/Header.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
import React, { useState, useEffect } from "react";
|
|
3
|
-
import { useFormikContext } from "formik";
|
|
4
|
-
import { Button, Typography, Tooltip } from "@bigbinary/neetoui";
|
|
5
|
-
import { useTranslation } from "react-i18next";
|
|
6
|
-
import MoreDropdown from "../MoreDropdown";
|
|
7
|
-
import { MY_PROFILE_URL } from "./constants";
|
|
8
|
-
import { getTimeZoneAndTime } from "./utils";
|
|
9
|
-
var Header = function Header(_ref) {
|
|
10
|
-
var isEditing = _ref.isEditing,
|
|
11
|
-
setIsEditing = _ref.setIsEditing;
|
|
12
|
-
var _useFormikContext = useFormikContext(),
|
|
13
|
-
dirty = _useFormikContext.dirty,
|
|
14
|
-
resetForm = _useFormikContext.resetForm,
|
|
15
|
-
submitForm = _useFormikContext.submitForm,
|
|
16
|
-
isSubmitting = _useFormikContext.isSubmitting;
|
|
17
|
-
var _useTranslation = useTranslation(),
|
|
18
|
-
t = _useTranslation.t;
|
|
19
|
-
var _useState = useState(getTimeZoneAndTime()),
|
|
20
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
21
|
-
timeZoneAndTime = _useState2[0],
|
|
22
|
-
setTimeZoneAndTime = _useState2[1];
|
|
23
|
-
var handleReset = function handleReset() {
|
|
24
|
-
if (dirty) resetForm();else setIsEditing(false);
|
|
25
|
-
};
|
|
26
|
-
useEffect(function () {
|
|
27
|
-
var time = setInterval(function () {
|
|
28
|
-
setTimeZoneAndTime(getTimeZoneAndTime());
|
|
29
|
-
}, 30000);
|
|
30
|
-
return function () {
|
|
31
|
-
return clearInterval(time);
|
|
32
|
-
};
|
|
33
|
-
}, []);
|
|
34
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
35
|
-
className: "mb-4 flex justify-between"
|
|
36
|
-
}, isEditing ? /*#__PURE__*/React.createElement("div", {
|
|
37
|
-
className: "flex items-center space-x-4"
|
|
38
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
|
39
|
-
"data-cy": "reset-button",
|
|
40
|
-
style: "secondary",
|
|
41
|
-
label: !dirty ? t("neetoMolecules.common.actions.cancel") : t("neetoMolecules.common.actions.reset"),
|
|
42
|
-
onClick: handleReset
|
|
43
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
|
44
|
-
"data-cy": "weekly-hours-save-changes-button",
|
|
45
|
-
disabled: !dirty || isSubmitting,
|
|
46
|
-
label: t("neetoMolecules.common.actions.saveChanges"),
|
|
47
|
-
loading: isSubmitting,
|
|
48
|
-
onClick: submitForm
|
|
49
|
-
})) : /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
50
|
-
"data-cy": "weekly-schedule-header",
|
|
51
|
-
label: t("neetoMolecules.schedule.editSchedule"),
|
|
52
|
-
style: "secondary",
|
|
53
|
-
weight: "semibold",
|
|
54
|
-
onClick: function onClick() {
|
|
55
|
-
return setIsEditing(true);
|
|
56
|
-
}
|
|
57
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
58
|
-
className: "flex items-center space-x-2"
|
|
59
|
-
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
60
|
-
content: t("neetoMolecules.schedule.timezoneTooltip"),
|
|
61
|
-
position: "bottom"
|
|
62
|
-
}, /*#__PURE__*/React.createElement(Typography, {
|
|
63
|
-
component: "h4",
|
|
64
|
-
"data-cy": "timezone-text",
|
|
65
|
-
style: "h5",
|
|
66
|
-
weight: "medium"
|
|
67
|
-
}, timeZoneAndTime)), /*#__PURE__*/React.createElement(MoreDropdown, {
|
|
68
|
-
menuItems: [{
|
|
69
|
-
href: MY_PROFILE_URL,
|
|
70
|
-
label: t("neetoMolecules.common.actions.changeTimezone"),
|
|
71
|
-
target: "_blank",
|
|
72
|
-
key: "change-timezone-option"
|
|
73
|
-
}]
|
|
74
|
-
})));
|
|
75
|
-
};
|
|
76
|
-
export default Header;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { createContext } from "react";
|
|
2
|
-
|
|
3
|
-
// To avoid prop drilling `allowAddPeriod` to `ScheduleRow` component
|
|
4
|
-
// eslint-disable-next-line @bigbinary/neeto/use-zustand-for-global-state-management
|
|
5
|
-
var ScheduleContext = /*#__PURE__*/createContext({
|
|
6
|
-
allowAddPeriod: true
|
|
7
|
-
});
|
|
8
|
-
export default ScheduleContext;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export var DEFAULT_BOOKED_SLOTS = [{
|
|
2
|
-
startTime: "09:00 AM",
|
|
3
|
-
endTime: "05:00 PM"
|
|
4
|
-
}];
|
|
5
|
-
export var MARK_DAY_AS_AVAILABLE_BY_DEFAULT = true;
|
|
6
|
-
export var DAYS = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
|
|
7
|
-
export var DEFAULT_SLOT_INTERVAL = 30;
|
|
8
|
-
export var MY_PROFILE_URL = "/auth/profile/edit";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export var INTERVALS = ["year", "quarter", "month", "week", "day", "hour", "minute", "second"];
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import Dayjs from "dayjs";
|
|
2
|
-
import customParseFormat from "dayjs/plugin/customParseFormat";
|
|
3
|
-
import timezone from "dayjs/plugin/timezone";
|
|
4
|
-
import utc from "dayjs/plugin/utc";
|
|
5
|
-
import weekday from "dayjs/plugin/weekday";
|
|
6
|
-
import { extendDayjs } from "./range";
|
|
7
|
-
Dayjs.extend(utc);
|
|
8
|
-
Dayjs.extend(timezone);
|
|
9
|
-
Dayjs.extend(customParseFormat);
|
|
10
|
-
Dayjs.extend(weekday);
|
|
11
|
-
|
|
12
|
-
// Add range and overlap functions to dayjs
|
|
13
|
-
var dayjsExtended = extendDayjs(Dayjs);
|
|
14
|
-
export default dayjsExtended;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import { INTERVALS } from "./constants";
|
|
4
|
-
import { SLOT_TIME_FORMAT } from "../Form/constants";
|
|
5
|
-
export var DayjsRange = /*#__PURE__*/function () {
|
|
6
|
-
function DayjsRange(startDate, endDate) {
|
|
7
|
-
_classCallCheck(this, DayjsRange);
|
|
8
|
-
var _ref = startDate > endDate ? {
|
|
9
|
-
s: endDate,
|
|
10
|
-
e: startDate
|
|
11
|
-
} : {
|
|
12
|
-
s: startDate,
|
|
13
|
-
e: endDate
|
|
14
|
-
},
|
|
15
|
-
s = _ref.s,
|
|
16
|
-
e = _ref.e;
|
|
17
|
-
this.startDate = s;
|
|
18
|
-
this.endDate = e;
|
|
19
|
-
}
|
|
20
|
-
_createClass(DayjsRange, [{
|
|
21
|
-
key: "isValidRange",
|
|
22
|
-
value: function isValidRange() {
|
|
23
|
-
return this.startDate.isValid() && this.endDate.isValid();
|
|
24
|
-
}
|
|
25
|
-
}, {
|
|
26
|
-
key: "isOverlap",
|
|
27
|
-
value: function isOverlap(other) {
|
|
28
|
-
if (!(other instanceof DayjsRange) || !other.isValidRange()) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
return this.startDate < other.endDate && this.endDate > other.startDate;
|
|
32
|
-
}
|
|
33
|
-
}, {
|
|
34
|
-
key: "toArrayOfTimeIntervals",
|
|
35
|
-
value: function toArrayOfTimeIntervals() {
|
|
36
|
-
var interval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 15;
|
|
37
|
-
var startTime = this.startDate;
|
|
38
|
-
var endTime = this.endDate.add(1, "days");
|
|
39
|
-
var allTimes = [];
|
|
40
|
-
while (startTime < endTime) {
|
|
41
|
-
allTimes.push(startTime.format(SLOT_TIME_FORMAT));
|
|
42
|
-
startTime = startTime.add(interval, "minutes");
|
|
43
|
-
}
|
|
44
|
-
return allTimes;
|
|
45
|
-
}
|
|
46
|
-
}]);
|
|
47
|
-
return DayjsRange;
|
|
48
|
-
}();
|
|
49
|
-
export default (function (_, __, d) {
|
|
50
|
-
d.range = function (start, end) {
|
|
51
|
-
return new DayjsRange(d(start), d(end));
|
|
52
|
-
};
|
|
53
|
-
});
|
|
54
|
-
export function extendDayjs(dayjs) {
|
|
55
|
-
dayjs.range = function range(start, end) {
|
|
56
|
-
var dayjsObject = this;
|
|
57
|
-
if (typeof start === "string" && INTERVALS.includes(start)) {
|
|
58
|
-
return new DayjsRange(dayjs(dayjsObject).startOf(start), dayjs(dayjsObject).endOf(start));
|
|
59
|
-
}
|
|
60
|
-
return new DayjsRange(start, end);
|
|
61
|
-
};
|
|
62
|
-
dayjs.range.constructor = DayjsRange;
|
|
63
|
-
|
|
64
|
-
// Returns timeIntervals in 12 hour clock format for the whole day with both AM or PM suffixed
|
|
65
|
-
dayjs.timeIntervalsForDay = function (interval) {
|
|
66
|
-
var _ref2 = [dayjs("00:00 AM", SLOT_TIME_FORMAT), dayjs("00:00 AM", SLOT_TIME_FORMAT)],
|
|
67
|
-
startOfDay = _ref2[0],
|
|
68
|
-
endOfDay = _ref2[1];
|
|
69
|
-
var allIntervalsForADay = dayjs.range(startOfDay, endOfDay).toArrayOfTimeIntervals(interval);
|
|
70
|
-
return allIntervalsForADay;
|
|
71
|
-
};
|
|
72
|
-
return dayjs;
|
|
73
|
-
}
|
package/dist/Schedule/index.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from "react";
|
|
2
|
-
import { Formik, Form as FormikForm } from "formik";
|
|
3
|
-
import { isPresent, noop } from "@bigbinary/neeto-commons-frontend/pure";
|
|
4
|
-
import { assoc, pick } from "ramda";
|
|
5
|
-
import { DAYS } from "./constants";
|
|
6
|
-
import DisplayAvailability from "./DisplayAvailability";
|
|
7
|
-
import Fields from "./Fields";
|
|
8
|
-
import Header from "./Header";
|
|
9
|
-
import ScheduleContext from "./ScheduleContext";
|
|
10
|
-
import { sortPeriodsByKey, getScheduleValidationSchema } from "./utils";
|
|
11
|
-
var Schedule = /*#__PURE__*/forwardRef(function (_ref, scheduleRef) {
|
|
12
|
-
var periods = _ref.periods,
|
|
13
|
-
_ref$handleSubmit = _ref.handleSubmit,
|
|
14
|
-
handleSubmit = _ref$handleSubmit === void 0 ? noop : _ref$handleSubmit,
|
|
15
|
-
_ref$isEditing = _ref.isEditing,
|
|
16
|
-
isEditing = _ref$isEditing === void 0 ? false : _ref$isEditing,
|
|
17
|
-
setIsEditing = _ref.setIsEditing,
|
|
18
|
-
_ref$showHeader = _ref.showHeader,
|
|
19
|
-
showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
|
|
20
|
-
_ref$handleValuesChan = _ref.handleValuesChanged,
|
|
21
|
-
handleValuesChanged = _ref$handleValuesChan === void 0 ? noop : _ref$handleValuesChan,
|
|
22
|
-
_ref$allowAddPeriod = _ref.allowAddPeriod,
|
|
23
|
-
allowAddPeriod = _ref$allowAddPeriod === void 0 ? true : _ref$allowAddPeriod;
|
|
24
|
-
var handleCopy = function handleCopy(_ref2) {
|
|
25
|
-
var _values$wdays$index$p;
|
|
26
|
-
var values = _ref2.values,
|
|
27
|
-
index = _ref2.index,
|
|
28
|
-
setFieldValue = _ref2.setFieldValue,
|
|
29
|
-
wdaysToCopy = _ref2.wdaysToCopy;
|
|
30
|
-
var newPeriods = (_values$wdays$index$p = values.wdays[index].periods) === null || _values$wdays$index$p === void 0 ? void 0 : _values$wdays$index$p.map(pick(["startTime", "endTime"]));
|
|
31
|
-
wdaysToCopy.forEach(function (wday) {
|
|
32
|
-
var dayIndex = DAYS.indexOf(wday);
|
|
33
|
-
setFieldValue("wdays[".concat(dayIndex, "].available"), isPresent(values.wdays[index].periods));
|
|
34
|
-
setFieldValue("wdays[".concat(dayIndex, "].periods"), newPeriods.map(function (period) {
|
|
35
|
-
return assoc("wday", wday, period);
|
|
36
|
-
}));
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
var getInitialFormValues = function getInitialFormValues() {
|
|
40
|
-
return DAYS.map(function (wday) {
|
|
41
|
-
var _periods$wday;
|
|
42
|
-
return {
|
|
43
|
-
periods: sortPeriodsByKey({
|
|
44
|
-
periods: periods[wday],
|
|
45
|
-
key: "startTime",
|
|
46
|
-
order: "asc"
|
|
47
|
-
}),
|
|
48
|
-
available: !!((_periods$wday = periods[wday]) !== null && _periods$wday !== void 0 && _periods$wday.length),
|
|
49
|
-
wday: wday
|
|
50
|
-
};
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
54
|
-
className: "neeto-ui-border-gray-200 w-41 flex-shrink-0"
|
|
55
|
-
}, /*#__PURE__*/React.createElement(Formik, {
|
|
56
|
-
enableReinitialize: true,
|
|
57
|
-
initialValues: {
|
|
58
|
-
wdays: getInitialFormValues()
|
|
59
|
-
},
|
|
60
|
-
validationSchema: getScheduleValidationSchema(),
|
|
61
|
-
onSubmit: function onSubmit(values) {
|
|
62
|
-
return handleSubmit(values, getInitialFormValues());
|
|
63
|
-
}
|
|
64
|
-
}, /*#__PURE__*/React.createElement(React.Fragment, null, showHeader && /*#__PURE__*/React.createElement(Header, {
|
|
65
|
-
isEditing: isEditing,
|
|
66
|
-
setIsEditing: setIsEditing
|
|
67
|
-
}), isEditing || !showHeader ? /*#__PURE__*/React.createElement(FormikForm, null, /*#__PURE__*/React.createElement(ScheduleContext.Provider, {
|
|
68
|
-
value: {
|
|
69
|
-
allowAddPeriod: allowAddPeriod
|
|
70
|
-
}
|
|
71
|
-
}, /*#__PURE__*/React.createElement(Fields, {
|
|
72
|
-
handleCopy: handleCopy,
|
|
73
|
-
handleValuesChanged: handleValuesChanged,
|
|
74
|
-
scheduleRef: scheduleRef
|
|
75
|
-
}))) : /*#__PURE__*/React.createElement(DisplayAvailability, {
|
|
76
|
-
periods: periods
|
|
77
|
-
}))));
|
|
78
|
-
});
|
|
79
|
-
Schedule.displayName = "Schedule";
|
|
80
|
-
export default Schedule;
|