@bigbinary/neeto-molecules 3.15.42 → 3.15.43
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/package.json +1 -1
- package/dist/AuditLogs.js +0 -539
- package/dist/AuditLogs.js.map +0 -1
- package/dist/BoardView.js +0 -394
- package/dist/BoardView.js.map +0 -1
- package/dist/Breadcrumbs.js +0 -46
- package/dist/Breadcrumbs.js.map +0 -1
- package/dist/BrowserPreview.js +0 -50
- package/dist/BrowserPreview.js.map +0 -1
- package/dist/BrowserSupport.js +0 -348
- package/dist/BrowserSupport.js.map +0 -1
- package/dist/Builder.js +0 -786
- package/dist/Builder.js.map +0 -1
- package/dist/ButtonGroup.js +0 -36
- package/dist/ButtonGroup.js.map +0 -1
- package/dist/CalendarView.js +0 -353
- package/dist/CalendarView.js.map +0 -1
- package/dist/CardLayout.js +0 -49
- package/dist/CardLayout.js.map +0 -1
- package/dist/Chevron-6dLkaXtR.js +0 -246
- package/dist/Chevron-6dLkaXtR.js.map +0 -1
- package/dist/Codeblock.js +0 -58
- package/dist/Codeblock.js.map +0 -1
- package/dist/Columns.js +0 -21
- package/dist/Columns.js.map +0 -1
- package/dist/ConfigurePageSidebar.js +0 -97
- package/dist/ConfigurePageSidebar.js.map +0 -1
- package/dist/ConfirmationModal.js +0 -110
- package/dist/ConfirmationModal.js.map +0 -1
- package/dist/Container.js +0 -38
- package/dist/Container.js.map +0 -1
- package/dist/CopyToClipboardButton.js +0 -82
- package/dist/CopyToClipboardButton.js.map +0 -1
- package/dist/Currency.js +0 -917
- package/dist/Currency.js.map +0 -1
- package/dist/DateFormat.js +0 -45
- package/dist/DateFormat.js.map +0 -1
- package/dist/DateRangeFilter.js +0 -178
- package/dist/DateRangeFilter.js.map +0 -1
- package/dist/DeleteArchiveModal.js +0 -98
- package/dist/DeleteArchiveModal.js.map +0 -1
- package/dist/DeviceIncompatibilityMessage.js +0 -95
- package/dist/DeviceIncompatibilityMessage.js.map +0 -1
- package/dist/DocumentEditor.js +0 -183
- package/dist/DocumentEditor.js.map +0 -1
- package/dist/DownloadMobileAppCallout.js +0 -40
- package/dist/DownloadMobileAppCallout.js.map +0 -1
- package/dist/DynamicVariables.js +0 -115
- package/dist/DynamicVariables.js.map +0 -1
- package/dist/EmailForm.js +0 -567
- package/dist/EmailForm.js.map +0 -1
- package/dist/EmailPreview.js +0 -140
- package/dist/EmailPreview.js.map +0 -1
- package/dist/EmojiPicker.js +0 -112
- package/dist/EmojiPicker.js.map +0 -1
- package/dist/EmojiReactions.js +0 -82
- package/dist/EmojiReactions.js.map +0 -1
- package/dist/Engagements.js +0 -292
- package/dist/Engagements.js.map +0 -1
- package/dist/ErrorPage.js +0 -1811
- package/dist/ErrorPage.js.map +0 -1
- package/dist/FileUpload.js +0 -595
- package/dist/FileUpload.js.map +0 -1
- package/dist/FinderModal.js +0 -280
- package/dist/FinderModal.js.map +0 -1
- package/dist/FloatingActionMenu.js +0 -854
- package/dist/FloatingActionMenu.js.map +0 -1
- package/dist/GoogleFontPicker.js +0 -581
- package/dist/GoogleFontPicker.js.map +0 -1
- package/dist/Header.js +0 -126
- package/dist/Header.js.map +0 -1
- package/dist/HelpPopover.js +0 -83
- package/dist/HelpPopover.js.map +0 -1
- package/dist/IconPicker.js +0 -1159
- package/dist/IconPicker.js.map +0 -1
- package/dist/ImageWithFallback.js +0 -49
- package/dist/ImageWithFallback.js.map +0 -1
- package/dist/InlineInput.js +0 -230
- package/dist/InlineInput.js.map +0 -1
- package/dist/Insights.js +0 -358
- package/dist/Insights.js.map +0 -1
- package/dist/IntegrationCard.js +0 -227
- package/dist/IntegrationCard.js.map +0 -1
- package/dist/IpRestriction.js +0 -3617
- package/dist/IpRestriction.js.map +0 -1
- package/dist/KeyboardShortcuts.js +0 -284
- package/dist/KeyboardShortcuts.js.map +0 -1
- package/dist/LoginPage.js +0 -184
- package/dist/LoginPage.js.map +0 -1
- package/dist/MadeWith.js +0 -41
- package/dist/MadeWith.js.map +0 -1
- package/dist/MenuBar.js +0 -1326
- package/dist/MenuBar.js.map +0 -1
- package/dist/Metadata.js +0 -218
- package/dist/Metadata.js.map +0 -1
- package/dist/MobilePreviewHeader.js +0 -25
- package/dist/MobilePreviewHeader.js.map +0 -1
- package/dist/MoreDropdown.js +0 -163
- package/dist/MoreDropdown.js.map +0 -1
- package/dist/NavigationHeader.js +0 -264
- package/dist/NavigationHeader.js.map +0 -1
- package/dist/NeetoWidget.js +0 -2867
- package/dist/NeetoWidget.js.map +0 -1
- package/dist/Onboarding.js +0 -246
- package/dist/Onboarding.js.map +0 -1
- package/dist/OptionFields.js +0 -717
- package/dist/OptionFields.js.map +0 -1
- package/dist/PageLoader.js +0 -40
- package/dist/PageLoader.js.map +0 -1
- package/dist/PhoneNumber.js +0 -75
- package/dist/PhoneNumber.js.map +0 -1
- package/dist/ProductEmbed.js +0 -884
- package/dist/ProductEmbed.js.map +0 -1
- package/dist/PublishBlock.js +0 -447
- package/dist/PublishBlock.js.map +0 -1
- package/dist/PublishYourItem.js +0 -58
- package/dist/PublishYourItem.js.map +0 -1
- package/dist/Rename.js +0 -366
- package/dist/Rename.js.map +0 -1
- package/dist/ResponsiveDevicePicker.js +0 -63
- package/dist/ResponsiveDevicePicker.js.map +0 -1
- package/dist/Schedule.js +0 -926
- package/dist/Schedule.js.map +0 -1
- package/dist/Scrollable.js +0 -42
- package/dist/Scrollable.js.map +0 -1
- package/dist/Search.js +0 -110
- package/dist/Search.js.map +0 -1
- package/dist/SendToFields.js +0 -2221
- package/dist/SendToFields.js.map +0 -1
- package/dist/SessionEnvironment.js +0 -431
- package/dist/SessionEnvironment.js.map +0 -1
- package/dist/Settings.js +0 -250
- package/dist/Settings.js.map +0 -1
- package/dist/ShareRecordingPane.js +0 -216
- package/dist/ShareRecordingPane.js.map +0 -1
- package/dist/ShareViaEmail.js +0 -416
- package/dist/ShareViaEmail.js.map +0 -1
- package/dist/ShareViaLink.js +0 -1556
- package/dist/ShareViaLink.js.map +0 -1
- package/dist/Sidebar.js +0 -294
- package/dist/Sidebar.js.map +0 -1
- package/dist/StatusDropdown.js +0 -109
- package/dist/StatusDropdown.js.map +0 -1
- package/dist/StickyRibbonsContainer.js +0 -131
- package/dist/StickyRibbonsContainer.js.map +0 -1
- package/dist/SubHeader.js +0 -209
- package/dist/SubHeader.js.map +0 -1
- package/dist/SubscriptionNotificationsContainer.js +0 -77
- package/dist/SubscriptionNotificationsContainer.js.map +0 -1
- package/dist/SuffixedInput.js +0 -111
- package/dist/SuffixedInput.js.map +0 -1
- package/dist/TableWrapper.js +0 -27
- package/dist/TableWrapper.js.map +0 -1
- package/dist/Taxonomy.js +0 -496
- package/dist/Taxonomy.js.map +0 -1
- package/dist/TimeFormat.js +0 -14
- package/dist/TimeFormat.js.map +0 -1
- package/dist/TimezoneMismatchModal.js +0 -138
- package/dist/TimezoneMismatchModal.js.map +0 -1
- package/dist/ToggleFeatureCard.js +0 -211
- package/dist/ToggleFeatureCard.js.map +0 -1
- package/dist/_commonjsHelpers-BFTU3MAI.js +0 -8
- package/dist/_commonjsHelpers-BFTU3MAI.js.map +0 -1
- package/dist/cjs/AuditLogs.js +0 -541
- package/dist/cjs/AuditLogs.js.map +0 -1
- package/dist/cjs/BoardView.js +0 -396
- package/dist/cjs/BoardView.js.map +0 -1
- package/dist/cjs/Breadcrumbs.js +0 -48
- package/dist/cjs/Breadcrumbs.js.map +0 -1
- package/dist/cjs/BrowserPreview.js +0 -52
- package/dist/cjs/BrowserPreview.js.map +0 -1
- package/dist/cjs/BrowserSupport.js +0 -350
- package/dist/cjs/BrowserSupport.js.map +0 -1
- package/dist/cjs/Builder.js +0 -794
- package/dist/cjs/Builder.js.map +0 -1
- package/dist/cjs/ButtonGroup.js +0 -38
- package/dist/cjs/ButtonGroup.js.map +0 -1
- package/dist/cjs/CalendarView.js +0 -355
- package/dist/cjs/CalendarView.js.map +0 -1
- package/dist/cjs/CardLayout.js +0 -51
- package/dist/cjs/CardLayout.js.map +0 -1
- package/dist/cjs/Chevron-wfVdaB4-.js +0 -256
- package/dist/cjs/Chevron-wfVdaB4-.js.map +0 -1
- package/dist/cjs/Codeblock.js +0 -60
- package/dist/cjs/Codeblock.js.map +0 -1
- package/dist/cjs/Columns.js +0 -35
- package/dist/cjs/Columns.js.map +0 -1
- package/dist/cjs/ConfigurePageSidebar.js +0 -99
- package/dist/cjs/ConfigurePageSidebar.js.map +0 -1
- package/dist/cjs/ConfirmationModal.js +0 -131
- package/dist/cjs/ConfirmationModal.js.map +0 -1
- package/dist/cjs/Container.js +0 -40
- package/dist/cjs/Container.js.map +0 -1
- package/dist/cjs/CopyToClipboardButton.js +0 -84
- package/dist/cjs/CopyToClipboardButton.js.map +0 -1
- package/dist/cjs/Currency.js +0 -920
- package/dist/cjs/Currency.js.map +0 -1
- package/dist/cjs/DateFormat.js +0 -47
- package/dist/cjs/DateFormat.js.map +0 -1
- package/dist/cjs/DateRangeFilter.js +0 -180
- package/dist/cjs/DateRangeFilter.js.map +0 -1
- package/dist/cjs/DeleteArchiveModal.js +0 -100
- package/dist/cjs/DeleteArchiveModal.js.map +0 -1
- package/dist/cjs/DeviceIncompatibilityMessage.js +0 -115
- package/dist/cjs/DeviceIncompatibilityMessage.js.map +0 -1
- package/dist/cjs/DocumentEditor.js +0 -185
- package/dist/cjs/DocumentEditor.js.map +0 -1
- package/dist/cjs/DownloadMobileAppCallout.js +0 -42
- package/dist/cjs/DownloadMobileAppCallout.js.map +0 -1
- package/dist/cjs/DynamicVariables.js +0 -117
- package/dist/cjs/DynamicVariables.js.map +0 -1
- package/dist/cjs/EmailForm.js +0 -593
- package/dist/cjs/EmailForm.js.map +0 -1
- package/dist/cjs/EmailPreview.js +0 -142
- package/dist/cjs/EmailPreview.js.map +0 -1
- package/dist/cjs/EmojiPicker.js +0 -114
- package/dist/cjs/EmojiPicker.js.map +0 -1
- package/dist/cjs/EmojiReactions.js +0 -84
- package/dist/cjs/EmojiReactions.js.map +0 -1
- package/dist/cjs/Engagements.js +0 -294
- package/dist/cjs/Engagements.js.map +0 -1
- package/dist/cjs/ErrorPage.js +0 -1831
- package/dist/cjs/ErrorPage.js.map +0 -1
- package/dist/cjs/FileUpload.js +0 -598
- package/dist/cjs/FileUpload.js.map +0 -1
- package/dist/cjs/FinderModal.js +0 -282
- package/dist/cjs/FinderModal.js.map +0 -1
- package/dist/cjs/FloatingActionMenu.js +0 -875
- package/dist/cjs/FloatingActionMenu.js.map +0 -1
- package/dist/cjs/GoogleFontPicker.js +0 -583
- package/dist/cjs/GoogleFontPicker.js.map +0 -1
- package/dist/cjs/Header.js +0 -128
- package/dist/cjs/Header.js.map +0 -1
- package/dist/cjs/HelpPopover.js +0 -85
- package/dist/cjs/HelpPopover.js.map +0 -1
- package/dist/cjs/IconPicker.js +0 -1161
- package/dist/cjs/IconPicker.js.map +0 -1
- package/dist/cjs/ImageWithFallback.js +0 -51
- package/dist/cjs/ImageWithFallback.js.map +0 -1
- package/dist/cjs/InlineInput.js +0 -233
- package/dist/cjs/InlineInput.js.map +0 -1
- package/dist/cjs/Insights.js +0 -360
- package/dist/cjs/Insights.js.map +0 -1
- package/dist/cjs/IntegrationCard.js +0 -229
- package/dist/cjs/IntegrationCard.js.map +0 -1
- package/dist/cjs/IpRestriction.js +0 -3638
- package/dist/cjs/IpRestriction.js.map +0 -1
- package/dist/cjs/KeyboardShortcuts.js +0 -286
- package/dist/cjs/KeyboardShortcuts.js.map +0 -1
- package/dist/cjs/LoginPage.js +0 -205
- package/dist/cjs/LoginPage.js.map +0 -1
- package/dist/cjs/MadeWith.js +0 -43
- package/dist/cjs/MadeWith.js.map +0 -1
- package/dist/cjs/MenuBar.js +0 -1328
- package/dist/cjs/MenuBar.js.map +0 -1
- package/dist/cjs/Metadata.js +0 -220
- package/dist/cjs/Metadata.js.map +0 -1
- package/dist/cjs/MobilePreviewHeader.js +0 -27
- package/dist/cjs/MobilePreviewHeader.js.map +0 -1
- package/dist/cjs/MoreDropdown.js +0 -165
- package/dist/cjs/MoreDropdown.js.map +0 -1
- package/dist/cjs/NavigationHeader.js +0 -266
- package/dist/cjs/NavigationHeader.js.map +0 -1
- package/dist/cjs/NeetoWidget.js +0 -2888
- package/dist/cjs/NeetoWidget.js.map +0 -1
- package/dist/cjs/Onboarding.js +0 -248
- package/dist/cjs/Onboarding.js.map +0 -1
- package/dist/cjs/OptionFields.js +0 -719
- package/dist/cjs/OptionFields.js.map +0 -1
- package/dist/cjs/PageLoader.js +0 -42
- package/dist/cjs/PageLoader.js.map +0 -1
- package/dist/cjs/PhoneNumber.js +0 -80
- package/dist/cjs/PhoneNumber.js.map +0 -1
- package/dist/cjs/ProductEmbed.js +0 -886
- package/dist/cjs/ProductEmbed.js.map +0 -1
- package/dist/cjs/PublishBlock.js +0 -449
- package/dist/cjs/PublishBlock.js.map +0 -1
- package/dist/cjs/PublishYourItem.js +0 -60
- package/dist/cjs/PublishYourItem.js.map +0 -1
- package/dist/cjs/Rename.js +0 -368
- package/dist/cjs/Rename.js.map +0 -1
- package/dist/cjs/ResponsiveDevicePicker.js +0 -65
- package/dist/cjs/ResponsiveDevicePicker.js.map +0 -1
- package/dist/cjs/Schedule.js +0 -947
- package/dist/cjs/Schedule.js.map +0 -1
- package/dist/cjs/Scrollable.js +0 -44
- package/dist/cjs/Scrollable.js.map +0 -1
- package/dist/cjs/Search.js +0 -112
- package/dist/cjs/Search.js.map +0 -1
- package/dist/cjs/SendToFields.js +0 -2223
- package/dist/cjs/SendToFields.js.map +0 -1
- package/dist/cjs/SessionEnvironment.js +0 -433
- package/dist/cjs/SessionEnvironment.js.map +0 -1
- package/dist/cjs/Settings.js +0 -252
- package/dist/cjs/Settings.js.map +0 -1
- package/dist/cjs/ShareRecordingPane.js +0 -218
- package/dist/cjs/ShareRecordingPane.js.map +0 -1
- package/dist/cjs/ShareViaEmail.js +0 -437
- package/dist/cjs/ShareViaEmail.js.map +0 -1
- package/dist/cjs/ShareViaLink.js +0 -1577
- package/dist/cjs/ShareViaLink.js.map +0 -1
- package/dist/cjs/Sidebar.js +0 -315
- package/dist/cjs/Sidebar.js.map +0 -1
- package/dist/cjs/StatusDropdown.js +0 -111
- package/dist/cjs/StatusDropdown.js.map +0 -1
- package/dist/cjs/StickyRibbonsContainer.js +0 -133
- package/dist/cjs/StickyRibbonsContainer.js.map +0 -1
- package/dist/cjs/SubHeader.js +0 -211
- package/dist/cjs/SubHeader.js.map +0 -1
- package/dist/cjs/SubscriptionNotificationsContainer.js +0 -79
- package/dist/cjs/SubscriptionNotificationsContainer.js.map +0 -1
- package/dist/cjs/SuffixedInput.js +0 -113
- package/dist/cjs/SuffixedInput.js.map +0 -1
- package/dist/cjs/TableWrapper.js +0 -29
- package/dist/cjs/TableWrapper.js.map +0 -1
- package/dist/cjs/Taxonomy.js +0 -517
- package/dist/cjs/Taxonomy.js.map +0 -1
- package/dist/cjs/TimeFormat.js +0 -16
- package/dist/cjs/TimeFormat.js.map +0 -1
- package/dist/cjs/TimezoneMismatchModal.js +0 -140
- package/dist/cjs/TimezoneMismatchModal.js.map +0 -1
- package/dist/cjs/ToggleFeatureCard.js +0 -213
- package/dist/cjs/ToggleFeatureCard.js.map +0 -1
- package/dist/cjs/_commonjsHelpers-BJu3ubxk.js +0 -11
- package/dist/cjs/_commonjsHelpers-BJu3ubxk.js.map +0 -1
- package/dist/cjs/index-JY2zVpnv.js +0 -1189
- package/dist/cjs/index-JY2zVpnv.js.map +0 -1
- package/dist/cjs/inject-css-vQvjPR2x.js +0 -6
- package/dist/cjs/inject-css-vQvjPR2x.js.map +0 -1
- package/dist/cjs/phone-number-BN-c0rfv.js +0 -320
- package/dist/cjs/phone-number-BN-c0rfv.js.map +0 -1
- package/dist/cjs/platform-BUcCb8Jx.js +0 -1254
- package/dist/cjs/platform-BUcCb8Jx.js.map +0 -1
- package/dist/cjs/useColumns-BP8c4PV-.js +0 -282
- package/dist/cjs/useColumns-BP8c4PV-.js.map +0 -1
- package/dist/index-DAYCJu79.js +0 -1187
- package/dist/index-DAYCJu79.js.map +0 -1
- package/dist/inject-css-DmrvuTKK.js +0 -4
- package/dist/inject-css-DmrvuTKK.js.map +0 -1
- package/dist/phone-number-CXCBroLh.js +0 -295
- package/dist/phone-number-CXCBroLh.js.map +0 -1
- package/dist/platform-F44zJ4Xh.js +0 -1252
- package/dist/platform-F44zJ4Xh.js.map +0 -1
- package/dist/styles/page-loader.css +0 -1
- package/dist/styles/page-loader.js +0 -3
- package/dist/useColumns-Db5uic1-.js +0 -274
- package/dist/useColumns-Db5uic1-.js.map +0 -1
- package/types/AuditLogs.d.ts +0 -22
- package/types/BoardView.d.ts +0 -149
- package/types/Breadcrumbs.d.ts +0 -30
- package/types/BrowserPreview.d.ts +0 -30
- package/types/BrowserSupport.d.ts +0 -110
- package/types/Builder.d.ts +0 -99
- package/types/ButtonGroup.d.ts +0 -45
- package/types/CalendarView.d.ts +0 -98
- package/types/CardLayout.d.ts +0 -34
- package/types/Codeblock.d.ts +0 -37
- package/types/Columns.d.ts +0 -168
- package/types/ConfigurePageSidebar.d.ts +0 -45
- package/types/ConfirmationModal.d.ts +0 -65
- package/types/Container.d.ts +0 -38
- package/types/CopyToClipboardButton.d.ts +0 -28
- package/types/Currency.d.ts +0 -50
- package/types/DateFormat.d.ts +0 -15
- package/types/DateRangeFilter.d.ts +0 -56
- package/types/DeleteArchiveModal.d.ts +0 -65
- package/types/DeviceIncompatibilityMessage.d.ts +0 -19
- package/types/DocumentEditor.d.ts +0 -61
- package/types/DownloadMobileAppCallout.d.ts +0 -35
- package/types/DynamicVariables.d.ts +0 -48
- package/types/EmailForm.d.ts +0 -165
- package/types/EmailFormProvider.d.ts +0 -48
- package/types/EmailPreview.d.ts +0 -43
- package/types/EmojiPicker.d.ts +0 -35
- package/types/EmojiReactions.d.ts +0 -62
- package/types/Engagements.d.ts +0 -131
- package/types/ErrorPage.d.ts +0 -22
- package/types/FileUpload.d.ts +0 -89
- package/types/FinderModal.d.ts +0 -66
- package/types/FloatingActionMenu.d.ts +0 -59
- package/types/GoogleFontPicker.d.ts +0 -68
- package/types/Header.d.ts +0 -37
- package/types/HelpPopover.d.ts +0 -45
- package/types/IconPicker.d.ts +0 -45
- package/types/ImageWithFallback.d.ts +0 -24
- package/types/InlineInput.d.ts +0 -87
- package/types/Insights.d.ts +0 -112
- package/types/IntegrationCard.d.ts +0 -60
- package/types/IpRestriction.d.ts +0 -25
- package/types/KeyboardShortcuts.d.ts +0 -149
- package/types/LoginPage.d.ts +0 -45
- package/types/MadeWith.d.ts +0 -18
- package/types/MenuBar.d.ts +0 -127
- package/types/Metadata.d.ts +0 -109
- package/types/MobilePreviewHeader.d.ts +0 -19
- package/types/MoreDropdown.d.ts +0 -52
- package/types/NavigationHeader.d.ts +0 -180
- package/types/NeetoWidget.d.ts +0 -43
- package/types/Onboarding.d.ts +0 -70
- package/types/OptionFields.d.ts +0 -70
- package/types/PageLoader.d.ts +0 -40
- package/types/PhoneNumber.d.ts +0 -112
- package/types/ProductEmbed.d.ts +0 -93
- package/types/PublishBlock.d.ts +0 -148
- package/types/Rename.d.ts +0 -73
- package/types/ResponsiveDevicePicker.d.ts +0 -32
- package/types/Schedule.d.ts +0 -146
- package/types/Scrollable.d.ts +0 -30
- package/types/Search.d.ts +0 -22
- package/types/SendToFields.d.ts +0 -67
- package/types/SessionEnvironment.d.ts +0 -170
- package/types/Settings.d.ts +0 -108
- package/types/ShareRecordingPane.d.ts +0 -85
- package/types/ShareViaEmail.d.ts +0 -99
- package/types/ShareViaLink.d.ts +0 -183
- package/types/Sidebar.d.ts +0 -51
- package/types/StatusDropdown.d.ts +0 -74
- package/types/StickyRibbonsContainer.d.ts +0 -28
- package/types/SubHeader.d.ts +0 -105
- package/types/SubscriptionNotificationsContainer.d.ts +0 -26
- package/types/SuffixedInput.d.ts +0 -45
- package/types/TableWrapper.d.ts +0 -40
- package/types/Taxonomy.d.ts +0 -59
- package/types/TimeFormat.d.ts +0 -13
- package/types/TimezoneMismatchModal.d.ts +0 -41
- package/types/ToggleFeatureCard.d.ts +0 -38
package/dist/cjs/Schedule.js
DELETED
|
@@ -1,947 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
var formik = require('formik');
|
|
5
|
-
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
|
-
var general = require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
7
|
-
var Typography = require('@bigbinary/neetoui/Typography');
|
|
8
|
-
var reactI18next = require('react-i18next');
|
|
9
|
-
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
10
|
-
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
11
|
-
var neetoTimeZones = require('@bigbinary/neeto-time-zones');
|
|
12
|
-
var i18next = require('i18next');
|
|
13
|
-
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
14
|
-
var datetime = require('@bigbinary/neeto-commons-frontend/utils/datetime');
|
|
15
|
-
var ramda = require('ramda');
|
|
16
|
-
var yup = require('yup');
|
|
17
|
-
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
18
|
-
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
19
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
20
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
21
|
-
var classnames = require('classnames');
|
|
22
|
-
var Copy = require('@bigbinary/neeto-icons/Copy');
|
|
23
|
-
var Dropdown = require('@bigbinary/neetoui/Dropdown');
|
|
24
|
-
var Button = require('@bigbinary/neetoui/Button');
|
|
25
|
-
var Label = require('@bigbinary/neetoui/Label');
|
|
26
|
-
var Checkbox = require('@bigbinary/neetoui/Checkbox');
|
|
27
|
-
var Switch = require('@bigbinary/neetoui/formik/Switch');
|
|
28
|
-
var _typeof = require('@babel/runtime/helpers/typeof');
|
|
29
|
-
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
30
|
-
var Plus = require('@bigbinary/neeto-icons/Plus');
|
|
31
|
-
var Delete = require('@bigbinary/neeto-icons/Delete');
|
|
32
|
-
var Select = require('@bigbinary/neetoui/formik/Select');
|
|
33
|
-
var Profile = require('@bigbinary/neeto-team-members-frontend/Profile');
|
|
34
|
-
var Tooltip = require('@bigbinary/neetoui/Tooltip');
|
|
35
|
-
var MoreDropdown = require('./MoreDropdown.js');
|
|
36
|
-
var injectCss = require('./inject-css-vQvjPR2x.js');
|
|
37
|
-
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
38
|
-
require('@bigbinary/neeto-icons/MenuHorizontal');
|
|
39
|
-
require('@bigbinary/neeto-icons/MenuVertical');
|
|
40
|
-
|
|
41
|
-
function _interopNamespaceDefault(e) {
|
|
42
|
-
var n = Object.create(null);
|
|
43
|
-
if (e) {
|
|
44
|
-
Object.keys(e).forEach(function (k) {
|
|
45
|
-
if (k !== 'default') {
|
|
46
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
47
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
48
|
-
enumerable: true,
|
|
49
|
-
get: function () { return e[k]; }
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
n.default = e;
|
|
55
|
-
return Object.freeze(n);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
59
|
-
|
|
60
|
-
var DAYS = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"];
|
|
61
|
-
var DEFAULT_SLOT_INTERVAL = 30;
|
|
62
|
-
|
|
63
|
-
// To avoid prop drilling `allowAddPeriod` to `ScheduleRow` component
|
|
64
|
-
// eslint-disable-next-line @bigbinary/neeto/use-zustand-for-global-state-management
|
|
65
|
-
var ScheduleContext = /*#__PURE__*/React.createContext({
|
|
66
|
-
allowAddPeriod: true,
|
|
67
|
-
firstDay: 0
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
var INTERVALS = ["year", "quarter", "month", "week", "day", "hour", "minute", "second"];
|
|
71
|
-
|
|
72
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
73
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
74
|
-
var REMOVE_SELECT_DOWN_ARROW = {
|
|
75
|
-
DropdownIndicator: function DropdownIndicator() {
|
|
76
|
-
return null;
|
|
77
|
-
},
|
|
78
|
-
IndicatorSeparator: function IndicatorSeparator() {
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
var BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN = {
|
|
83
|
-
singleValue: function singleValue(base, state) {
|
|
84
|
-
return _objectSpread(_objectSpread({}, base), {}, {
|
|
85
|
-
color: state.selectProps.menuIsOpen ? "#c2c8cc" : base.color
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
var SLOT_TIME_FORMAT = "hh:mm A";
|
|
90
|
-
var END_OF_DAY = "11:59 PM";
|
|
91
|
-
|
|
92
|
-
var DayjsRange = /*#__PURE__*/function () {
|
|
93
|
-
function DayjsRange(startDate, endDate) {
|
|
94
|
-
_classCallCheck(this, DayjsRange);
|
|
95
|
-
var _ref = startDate > endDate ? {
|
|
96
|
-
s: endDate,
|
|
97
|
-
e: startDate
|
|
98
|
-
} : {
|
|
99
|
-
s: startDate,
|
|
100
|
-
e: endDate
|
|
101
|
-
},
|
|
102
|
-
s = _ref.s,
|
|
103
|
-
e = _ref.e;
|
|
104
|
-
this.startDate = s;
|
|
105
|
-
this.endDate = e;
|
|
106
|
-
}
|
|
107
|
-
return _createClass(DayjsRange, [{
|
|
108
|
-
key: "isValidRange",
|
|
109
|
-
value: function isValidRange() {
|
|
110
|
-
return this.startDate.isValid() && this.endDate.isValid();
|
|
111
|
-
}
|
|
112
|
-
}, {
|
|
113
|
-
key: "isOverlap",
|
|
114
|
-
value: function isOverlap(other) {
|
|
115
|
-
if (!(other instanceof DayjsRange) || !other.isValidRange()) {
|
|
116
|
-
return false;
|
|
117
|
-
}
|
|
118
|
-
return this.startDate < other.endDate && this.endDate > other.startDate;
|
|
119
|
-
}
|
|
120
|
-
}, {
|
|
121
|
-
key: "toArrayOfTimeIntervals",
|
|
122
|
-
value: function toArrayOfTimeIntervals() {
|
|
123
|
-
var interval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 15;
|
|
124
|
-
var startTime = this.startDate;
|
|
125
|
-
var endTime = this.endDate.add(1, "days");
|
|
126
|
-
var allTimes = [];
|
|
127
|
-
while (startTime < endTime) {
|
|
128
|
-
allTimes.push(startTime.format(SLOT_TIME_FORMAT));
|
|
129
|
-
startTime = startTime.add(interval, "minutes");
|
|
130
|
-
}
|
|
131
|
-
return allTimes;
|
|
132
|
-
}
|
|
133
|
-
}]);
|
|
134
|
-
}();
|
|
135
|
-
function extendDayjs(dayjs) {
|
|
136
|
-
dayjs.range = function range(start, end) {
|
|
137
|
-
var dayjsObject = this;
|
|
138
|
-
if (typeof start === "string" && INTERVALS.includes(start)) {
|
|
139
|
-
return new DayjsRange(dayjs(dayjsObject).startOf(start), dayjs(dayjsObject).endOf(start));
|
|
140
|
-
}
|
|
141
|
-
return new DayjsRange(start, end);
|
|
142
|
-
};
|
|
143
|
-
dayjs.range.constructor = DayjsRange;
|
|
144
|
-
|
|
145
|
-
// Returns timeIntervals in 12 hour clock format for the whole day with both AM or PM suffixed
|
|
146
|
-
dayjs.timeIntervalsForDay = function (interval) {
|
|
147
|
-
var _ref2 = [dayjs("00:00 AM", SLOT_TIME_FORMAT), dayjs("00:00 AM", SLOT_TIME_FORMAT)],
|
|
148
|
-
startOfDay = _ref2[0],
|
|
149
|
-
endOfDay = _ref2[1];
|
|
150
|
-
var allIntervalsForADay = dayjs.range(startOfDay, endOfDay).toArrayOfTimeIntervals(interval);
|
|
151
|
-
return allIntervalsForADay;
|
|
152
|
-
};
|
|
153
|
-
return dayjs;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
// Add range and overlap functions to dayjs
|
|
157
|
-
var dayjsExtended = extendDayjs(utils.dayjs);
|
|
158
|
-
|
|
159
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
160
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
161
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
162
|
-
yup__namespace.addMethod(yup__namespace.array, "ensureSlotsCantOverlap", function () {
|
|
163
|
-
return this.test("ensureSlotsCantOverlap", function (periods) {
|
|
164
|
-
var _checkForOverlapBetwe = checkForOverlapBetweenPeriods(periods),
|
|
165
|
-
isOverlapping = _checkForOverlapBetwe.exists,
|
|
166
|
-
range1 = _checkForOverlapBetwe.range1,
|
|
167
|
-
range2 = _checkForOverlapBetwe.range2;
|
|
168
|
-
if (!isOverlapping) return true;
|
|
169
|
-
var _findIndicesOfOverlap = findIndicesOfOverlappingRangesInPeriods({
|
|
170
|
-
range1: range1,
|
|
171
|
-
range2: range2,
|
|
172
|
-
periods: periods
|
|
173
|
-
}),
|
|
174
|
-
firstIndex = _findIndicesOfOverlap.firstIndex,
|
|
175
|
-
secondIndex = _findIndicesOfOverlap.secondIndex;
|
|
176
|
-
var firstError = this.createError({
|
|
177
|
-
path: "".concat(this.path, "[").concat(firstIndex, "]"),
|
|
178
|
-
message: i18next.t("neetoMolecules.schedule.errors.period.overlap", {
|
|
179
|
-
start: datetime.timeFormat.time(range2.startDate),
|
|
180
|
-
end: datetime.timeFormat.time(range2.endDate)
|
|
181
|
-
})
|
|
182
|
-
});
|
|
183
|
-
var secondError = this.createError({
|
|
184
|
-
path: "".concat(this.path, "[").concat(secondIndex, "]"),
|
|
185
|
-
message: i18next.t("neetoMolecules.schedule.errors.period.overlap", {
|
|
186
|
-
start: datetime.timeFormat.time(range1.startDate),
|
|
187
|
-
end: datetime.timeFormat.time(range1.endDate)
|
|
188
|
-
})
|
|
189
|
-
});
|
|
190
|
-
return new yup__namespace.ValidationError([firstError, secondError]);
|
|
191
|
-
});
|
|
192
|
-
});
|
|
193
|
-
var isFromAndToSame = function isFromAndToSame(startTime, endTime) {
|
|
194
|
-
if (!startTime || !endTime) return true;
|
|
195
|
-
return utils.dayjs(startTime, SLOT_TIME_FORMAT).isSame(utils.dayjs(endTime, SLOT_TIME_FORMAT));
|
|
196
|
-
};
|
|
197
|
-
var sortDays = function sortDays(chosenIndex) {
|
|
198
|
-
if (chosenIndex < 0 || chosenIndex >= 7) return DAYS;
|
|
199
|
-
return [].concat(_toConsumableArray(DAYS.slice(chosenIndex)), _toConsumableArray(DAYS.slice(0, chosenIndex)));
|
|
200
|
-
};
|
|
201
|
-
var wdayValidation = yup__namespace.object().shape({
|
|
202
|
-
periods: yup__namespace.array().of(yup__namespace.object().shape({
|
|
203
|
-
startTime: yup__namespace.string().required(i18next.t("neetoMolecules.schedule.errors.period.startTime")),
|
|
204
|
-
endTime: yup__namespace.string().required(i18next.t("neetoMolecules.schedule.errors.period.endTime")).test("ensureToTimeNotBehindFromTime", i18next.t("neetoMolecules.schedule.errors.period.isBehind"), function (value) {
|
|
205
|
-
var startTime = this.parent.startTime;
|
|
206
|
-
if (isFromAndToSame(value, startTime)) return true;
|
|
207
|
-
return isTimeBehind(startTime, value);
|
|
208
|
-
})
|
|
209
|
-
}).test("ensureTimeNotSame", i18next.t("neetoMolecules.schedule.errors.period.sameTime"), function (value) {
|
|
210
|
-
var startTime = value.startTime,
|
|
211
|
-
endTime = value.endTime;
|
|
212
|
-
return !isFromAndToSame(startTime, endTime);
|
|
213
|
-
})).ensureSlotsCantOverlap()
|
|
214
|
-
});
|
|
215
|
-
var getScheduleValidationSchema = function getScheduleValidationSchema() {
|
|
216
|
-
return yup__namespace.object().shape({
|
|
217
|
-
wdays: yup__namespace.object().shape(ramda.fromPairs(ramda.map(function (day) {
|
|
218
|
-
return [day, wdayValidation];
|
|
219
|
-
}, DAYS)))
|
|
220
|
-
});
|
|
221
|
-
};
|
|
222
|
-
var getUserTimeZone = function getUserTimeZone() {
|
|
223
|
-
var _window$globalProps;
|
|
224
|
-
return (_window$globalProps = window.globalProps) === null || _window$globalProps === void 0 ? void 0 : _window$globalProps.user.timeZone;
|
|
225
|
-
};
|
|
226
|
-
var getTimeZoneAndTime = function getTimeZoneAndTime() {
|
|
227
|
-
var timeZone = getUserTimeZone();
|
|
228
|
-
var humanReadableTimezone = neetoTimeZones.ianaTimezoneToHumanReadable(timeZone);
|
|
229
|
-
|
|
230
|
-
// Requires timezone initialization
|
|
231
|
-
// eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats
|
|
232
|
-
return "".concat(humanReadableTimezone, ": ").concat(utils.dayjs().tz(timeZone).format(SLOT_TIME_FORMAT));
|
|
233
|
-
};
|
|
234
|
-
var isTimeBehind = function isTimeBehind(timeA, timeB) {
|
|
235
|
-
return utils.dayjs(timeA, SLOT_TIME_FORMAT).isBefore(utils.dayjs(timeB, SLOT_TIME_FORMAT));
|
|
236
|
-
};
|
|
237
|
-
var sortPeriodsByKey = function sortPeriodsByKey(_ref) {
|
|
238
|
-
var periods = _ref.periods,
|
|
239
|
-
key = _ref.key,
|
|
240
|
-
_ref$order = _ref.order,
|
|
241
|
-
order = _ref$order === void 0 ? "desc" : _ref$order;
|
|
242
|
-
return periods.slice().sort(function (periodA, periodB) {
|
|
243
|
-
var isPeriodBehind = isTimeBehind(periodA[key], periodB[key]);
|
|
244
|
-
if (order === "desc") return isPeriodBehind ? 1 : -1;
|
|
245
|
-
return isPeriodBehind ? -1 : 1;
|
|
246
|
-
});
|
|
247
|
-
};
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* Check for overlapping between entered periods
|
|
251
|
-
* @typedef {Object} Slots
|
|
252
|
-
* @property {Array<{startTime:string, endTime: string}>} periods - startTime and endTime
|
|
253
|
-
* @param {Slots} periods - changed time periods
|
|
254
|
-
* @return {{exists: boolean, range1: DayjsRange | null, range2:DayjsRange | null }} - overlapped ranges if exists
|
|
255
|
-
*/
|
|
256
|
-
var checkForOverlapBetweenPeriods = function checkForOverlapBetweenPeriods(periods) {
|
|
257
|
-
var response = {
|
|
258
|
-
exists: false,
|
|
259
|
-
range1: null,
|
|
260
|
-
range2: null
|
|
261
|
-
};
|
|
262
|
-
if (!(periods !== null && periods !== void 0 && periods.length)) return response;
|
|
263
|
-
var slotsSortedByStartTime = sortPeriodsByKey({
|
|
264
|
-
periods: periods,
|
|
265
|
-
key: "startTime"
|
|
266
|
-
});
|
|
267
|
-
var _iterator = _createForOfIteratorHelper(slotsSortedByStartTime.slice(0, -1).entries()),
|
|
268
|
-
_step;
|
|
269
|
-
try {
|
|
270
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
271
|
-
var _step$value = _slicedToArray(_step.value, 2),
|
|
272
|
-
index = _step$value[0],
|
|
273
|
-
value = _step$value[1];
|
|
274
|
-
var seg1 = value;
|
|
275
|
-
var seg2 = slotsSortedByStartTime[index + 1];
|
|
276
|
-
var range1 = dayjsExtended.range(dayjsExtended(seg1.startTime, SLOT_TIME_FORMAT), dayjsExtended(seg1.endTime, SLOT_TIME_FORMAT));
|
|
277
|
-
var range2 = dayjsExtended.range(dayjsExtended(seg2.startTime, SLOT_TIME_FORMAT), dayjsExtended(seg2.endTime, SLOT_TIME_FORMAT));
|
|
278
|
-
if (range1.isOverlap(range2)) {
|
|
279
|
-
response = {
|
|
280
|
-
exists: true,
|
|
281
|
-
range1: range1,
|
|
282
|
-
range2: range2
|
|
283
|
-
};
|
|
284
|
-
break;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
} catch (err) {
|
|
288
|
-
_iterator.e(err);
|
|
289
|
-
} finally {
|
|
290
|
-
_iterator.f();
|
|
291
|
-
}
|
|
292
|
-
return response;
|
|
293
|
-
};
|
|
294
|
-
var findIndicesOfOverlappingRangesInPeriods = function findIndicesOfOverlappingRangesInPeriods(_ref2) {
|
|
295
|
-
var range1 = _ref2.range1,
|
|
296
|
-
range2 = _ref2.range2,
|
|
297
|
-
periods = _ref2.periods;
|
|
298
|
-
var firstIndex = neetoCist.findIndexBy({
|
|
299
|
-
startTime: range1.startDate.format(SLOT_TIME_FORMAT)
|
|
300
|
-
}, periods);
|
|
301
|
-
var secondIndex = periods.findIndex(function (slot, index) {
|
|
302
|
-
return index > firstIndex && slot.startTime === range2.startDate.format(SLOT_TIME_FORMAT);
|
|
303
|
-
});
|
|
304
|
-
return {
|
|
305
|
-
firstIndex: firstIndex,
|
|
306
|
-
secondIndex: secondIndex
|
|
307
|
-
};
|
|
308
|
-
};
|
|
309
|
-
var handleCopy = function handleCopy(_ref3) {
|
|
310
|
-
var _values$wdays$day$per;
|
|
311
|
-
var values = _ref3.values,
|
|
312
|
-
day = _ref3.day,
|
|
313
|
-
setFieldValue = _ref3.setFieldValue,
|
|
314
|
-
wdaysToCopy = _ref3.wdaysToCopy;
|
|
315
|
-
var newPeriods = (_values$wdays$day$per = values.wdays[day].periods) === null || _values$wdays$day$per === void 0 ? void 0 : _values$wdays$day$per.map(ramda.pick(["startTime", "endTime"]));
|
|
316
|
-
if (neetoCist.isNotPresent(newPeriods)) return;
|
|
317
|
-
wdaysToCopy.forEach(function (wday) {
|
|
318
|
-
return setFieldValue("wdays.".concat(wday), {
|
|
319
|
-
available: true,
|
|
320
|
-
periods: newPeriods.map(ramda.assoc("wday", wday))
|
|
321
|
-
});
|
|
322
|
-
});
|
|
323
|
-
};
|
|
324
|
-
var buildFormValuesArray = function buildFormValuesArray(_ref4) {
|
|
325
|
-
var firstDay = _ref4.firstDay,
|
|
326
|
-
periods = _ref4.periods;
|
|
327
|
-
return sortDays(firstDay).map(function (wday) {
|
|
328
|
-
var _periods$wday;
|
|
329
|
-
return {
|
|
330
|
-
periods: sortPeriodsByKey({
|
|
331
|
-
periods: periods[wday],
|
|
332
|
-
key: "startTime",
|
|
333
|
-
order: "asc"
|
|
334
|
-
}),
|
|
335
|
-
available: !!((_periods$wday = periods[wday]) !== null && _periods$wday !== void 0 && _periods$wday.length),
|
|
336
|
-
wday: wday
|
|
337
|
-
};
|
|
338
|
-
});
|
|
339
|
-
};
|
|
340
|
-
var buildFormValuesObject = function buildFormValuesObject(_ref5) {
|
|
341
|
-
var periods = _ref5.periods;
|
|
342
|
-
var formValues = {};
|
|
343
|
-
DAYS.forEach(function (wday) {
|
|
344
|
-
var _periods$wday2;
|
|
345
|
-
formValues[wday] = {
|
|
346
|
-
periods: sortPeriodsByKey({
|
|
347
|
-
periods: periods[wday],
|
|
348
|
-
key: "startTime",
|
|
349
|
-
order: "asc"
|
|
350
|
-
}),
|
|
351
|
-
available: !!((_periods$wday2 = periods[wday]) !== null && _periods$wday2 !== void 0 && _periods$wday2.length),
|
|
352
|
-
wday: wday
|
|
353
|
-
};
|
|
354
|
-
});
|
|
355
|
-
return formValues;
|
|
356
|
-
};
|
|
357
|
-
var processFormValues = function processFormValues(values, firstDay) {
|
|
358
|
-
return {
|
|
359
|
-
wdays: buildFormValuesArray({
|
|
360
|
-
firstDay: firstDay,
|
|
361
|
-
periods: ramda.map(ramda.prop("periods"), values.wdays)
|
|
362
|
-
})
|
|
363
|
-
};
|
|
364
|
-
};
|
|
365
|
-
|
|
366
|
-
var DisplayAvailability = function DisplayAvailability(_ref) {
|
|
367
|
-
var periods = _ref.periods;
|
|
368
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
369
|
-
t = _useTranslation.t;
|
|
370
|
-
var _useContext = React.useContext(ScheduleContext),
|
|
371
|
-
firstDay = _useContext.firstDay;
|
|
372
|
-
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
373
|
-
className: "w-full space-y-3",
|
|
374
|
-
children: sortDays(firstDay).map(function (day) {
|
|
375
|
-
var _sortPeriodsByKey;
|
|
376
|
-
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
377
|
-
className: "neeto-ui-rounded-md neeto-ui-border-gray-300 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",
|
|
378
|
-
"data-cy": "day-cards-".concat(day),
|
|
379
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
380
|
-
className: "mt-0.5 w-24 text-center sm:w-1/4 sm:text-left",
|
|
381
|
-
"data-cy": general.joinHyphenCase(day, "day-text"),
|
|
382
|
-
style: "h5",
|
|
383
|
-
weight: "semibold",
|
|
384
|
-
children: t("neetoMolecules.schedule.days.".concat(day))
|
|
385
|
-
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
386
|
-
className: "flex flex-grow flex-col items-center space-y-4 sm:w-1/2",
|
|
387
|
-
children: neetoCist.isPresent(periods[day]) ? (_sortPeriodsByKey = sortPeriodsByKey({
|
|
388
|
-
periods: periods[day],
|
|
389
|
-
key: "startTime",
|
|
390
|
-
order: "asc"
|
|
391
|
-
})) === null || _sortPeriodsByKey === void 0 ? void 0 : _sortPeriodsByKey.map(function (period) {
|
|
392
|
-
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
393
|
-
className: "flex items-center space-x-4",
|
|
394
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
395
|
-
className: "w-20 text-right",
|
|
396
|
-
lineHeight: "relaxed",
|
|
397
|
-
style: "h5",
|
|
398
|
-
weight: "semibold",
|
|
399
|
-
"data-cy": general.joinHyphenCase(day, period.startTime, "start-time-text"),
|
|
400
|
-
children: period.startTime
|
|
401
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
402
|
-
className: "neeto-ui-text-gray-600",
|
|
403
|
-
component: "span",
|
|
404
|
-
children: "-"
|
|
405
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
406
|
-
className: "w-20 text-left",
|
|
407
|
-
lineHeight: "relaxed",
|
|
408
|
-
style: "h5",
|
|
409
|
-
weight: "semibold",
|
|
410
|
-
"data-cy": general.joinHyphenCase(day, period.endTime, "start-time-text"),
|
|
411
|
-
children: period.endTime
|
|
412
|
-
})]
|
|
413
|
-
}, period.id);
|
|
414
|
-
}) : /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
415
|
-
className: "mx-8 flex-grow text-center",
|
|
416
|
-
"data-cy": general.joinHyphenCase(day, "unavailable-time-text"),
|
|
417
|
-
lineHeight: "relaxed",
|
|
418
|
-
style: "h5",
|
|
419
|
-
children: t("neetoMolecules.schedule.unavailable")
|
|
420
|
-
})
|
|
421
|
-
})]
|
|
422
|
-
}, day);
|
|
423
|
-
})
|
|
424
|
-
});
|
|
425
|
-
};
|
|
426
|
-
|
|
427
|
-
var buildSlotIntervals = function buildSlotIntervals(_ref) {
|
|
428
|
-
var interval = _ref.interval,
|
|
429
|
-
bookedSlots = _ref.bookedSlots;
|
|
430
|
-
var allIntervalsForADay = dayjsExtended.timeIntervalsForDay(interval);
|
|
431
|
-
allIntervalsForADay.push(END_OF_DAY);
|
|
432
|
-
return function (slotType) {
|
|
433
|
-
var selectedValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
434
|
-
var uniqBookedSlots = ramda.uniq(ramda.pluck(slotType, bookedSlots));
|
|
435
|
-
var slotsAvailableForBooking = ramda.difference(allIntervalsForADay, uniqBookedSlots);
|
|
436
|
-
var slots = slotsAvailableForBooking.map(neetoCist.toLabelAndValue);
|
|
437
|
-
if (!selectedValue) return slots;
|
|
438
|
-
return sortSlots([neetoCist.toLabelAndValue(selectedValue)].concat(_toConsumableArray(slots)));
|
|
439
|
-
};
|
|
440
|
-
};
|
|
441
|
-
var sortSlots = function sortSlots(slots) {
|
|
442
|
-
return slots.sort(function (a, b) {
|
|
443
|
-
return isTimeBehind(a["value"], b["value"]) ? -1 : 1;
|
|
444
|
-
});
|
|
445
|
-
};
|
|
446
|
-
var slotsSelectComponentDefaultValue = function slotsSelectComponentDefaultValue(slot) {
|
|
447
|
-
return slot ? neetoCist.toLabelAndValue(slot) : "";
|
|
448
|
-
};
|
|
449
|
-
var padZeroes = function padZeroes(str) {
|
|
450
|
-
return str.length % 2 === 0 ? str : "0".concat(str);
|
|
451
|
-
};
|
|
452
|
-
var customFilter = function customFilter(option, searchTerm) {
|
|
453
|
-
if (neetoCist.isNotPresent(searchTerm)) return true;
|
|
454
|
-
var doesNumberMatches = option.value.replace(":", "").startsWith(padZeroes(searchTerm.replaceAll(/\D+/gi, "")));
|
|
455
|
-
var doesAmPmMatches = option.value.includes(searchTerm.toUpperCase().replaceAll(/[^a-z]/gi, ""));
|
|
456
|
-
return doesNumberMatches && doesAmPmMatches;
|
|
457
|
-
};
|
|
458
|
-
var roundToNearestHour = function roundToNearestHour(time) {
|
|
459
|
-
var minutes = time.minute();
|
|
460
|
-
if (minutes === 59) return time.startOf("hour").add(1, "hour");
|
|
461
|
-
return time.add(1, "hour");
|
|
462
|
-
};
|
|
463
|
-
var generateNewPeriod = function generateNewPeriod(periods, wday) {
|
|
464
|
-
var lastEndTime = periods[periods.length - 1].endTime;
|
|
465
|
-
var newStartTime = roundToNearestHour(dayjsExtended(lastEndTime, SLOT_TIME_FORMAT));
|
|
466
|
-
var newEndTime = dayjsExtended(newStartTime, SLOT_TIME_FORMAT).add(1, "hour");
|
|
467
|
-
return {
|
|
468
|
-
startTime: dayjsExtended(newStartTime).format(SLOT_TIME_FORMAT),
|
|
469
|
-
endTime: dayjsExtended(newEndTime).format(SLOT_TIME_FORMAT),
|
|
470
|
-
wday: wday
|
|
471
|
-
};
|
|
472
|
-
};
|
|
473
|
-
var addDefaultPeriod = function addDefaultPeriod(wday) {
|
|
474
|
-
return {
|
|
475
|
-
wday: wday,
|
|
476
|
-
startTime: "09:00 AM",
|
|
477
|
-
endTime: "05:00 PM"
|
|
478
|
-
};
|
|
479
|
-
};
|
|
480
|
-
|
|
481
|
-
var ScheduleRow = function ScheduleRow(_ref) {
|
|
482
|
-
var day = _ref.day;
|
|
483
|
-
var _useFormikContext = formik.useFormikContext(),
|
|
484
|
-
values = _useFormikContext.values,
|
|
485
|
-
setFieldValue = _useFormikContext.setFieldValue;
|
|
486
|
-
var bookedSlots = values.wdays[day].periods;
|
|
487
|
-
var _useBreakpoints = reactUtils.useBreakpoints(),
|
|
488
|
-
isSize = _useBreakpoints.isSize;
|
|
489
|
-
var isMobile = isSize("mobile");
|
|
490
|
-
var _useContext = React.useContext(ScheduleContext),
|
|
491
|
-
allowAddPeriod = _useContext.allowAddPeriod,
|
|
492
|
-
slotInterval = _useContext.slotInterval;
|
|
493
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
494
|
-
t = _useTranslation.t;
|
|
495
|
-
var sortSlotsInterval = React.useMemo(function () {
|
|
496
|
-
return buildSlotIntervals({
|
|
497
|
-
interval: slotInterval,
|
|
498
|
-
bookedSlots: bookedSlots
|
|
499
|
-
});
|
|
500
|
-
}, [slotInterval, bookedSlots]);
|
|
501
|
-
var handleAddRow = function handleAddRow(arrayHelpers) {
|
|
502
|
-
if (neetoCist.isNotPresent(values.wdays[day].periods)) {
|
|
503
|
-
arrayHelpers.push(addDefaultPeriod(day));
|
|
504
|
-
} else {
|
|
505
|
-
arrayHelpers.push(generateNewPeriod(values.wdays[day].periods, day));
|
|
506
|
-
}
|
|
507
|
-
setFieldValue("wdays.".concat(day, ".available"), true);
|
|
508
|
-
};
|
|
509
|
-
var handleDeleteRow = function handleDeleteRow(arrayHelpers, index) {
|
|
510
|
-
var isLastRowDeleted = values.wdays[day].periods.length === 1;
|
|
511
|
-
arrayHelpers.remove(index);
|
|
512
|
-
setFieldValue("wdays.".concat(day, ".available"), !isLastRowDeleted);
|
|
513
|
-
};
|
|
514
|
-
return /*#__PURE__*/jsxRuntime.jsx(formik.FieldArray, {
|
|
515
|
-
name: "wdays.".concat(day, ".periods"),
|
|
516
|
-
render: function render(arrayHelpers) {
|
|
517
|
-
var _values$wdays$day, _values$wdays$day$per;
|
|
518
|
-
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
519
|
-
children: [neetoCist.isPresent((_values$wdays$day = values.wdays[day]) === null || _values$wdays$day === void 0 ? void 0 : _values$wdays$day.periods) && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
520
|
-
className: "w-full space-y-2",
|
|
521
|
-
children: (_values$wdays$day$per = values.wdays[day].periods) === null || _values$wdays$day$per === void 0 ? void 0 : _values$wdays$day$per.map(function (period, index) {
|
|
522
|
-
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
523
|
-
className: "flex w-full flex-col @xl:mx-auto @xl:w-80",
|
|
524
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
525
|
-
className: "flex items-start gap-2 @xl:gap-3",
|
|
526
|
-
"data-cy": "schedule-row",
|
|
527
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Select, {
|
|
528
|
-
isClearable: true,
|
|
529
|
-
isSearchable: true,
|
|
530
|
-
className: "w-full",
|
|
531
|
-
components: REMOVE_SELECT_DOWN_ARROW,
|
|
532
|
-
filterOption: customFilter,
|
|
533
|
-
name: "wdays.".concat(day, ".periods[").concat(index, "].startTime"),
|
|
534
|
-
placeholder: t("neetoMolecules.schedule.startTime"),
|
|
535
|
-
strategy: isMobile ? "fixed" : "default",
|
|
536
|
-
styles: BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN,
|
|
537
|
-
options: sortSlotsInterval("startTime", period === null || period === void 0 ? void 0 : period.startTime),
|
|
538
|
-
value: slotsSelectComponentDefaultValue(period === null || period === void 0 ? void 0 : period.startTime),
|
|
539
|
-
onChange: function onChange(e) {
|
|
540
|
-
return setFieldValue("wdays.".concat(day, ".periods[").concat(index, "].startTime"), (e === null || e === void 0 ? void 0 : e.value) || "");
|
|
541
|
-
}
|
|
542
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Select, {
|
|
543
|
-
isClearable: true,
|
|
544
|
-
isSearchable: true,
|
|
545
|
-
className: "w-full",
|
|
546
|
-
components: REMOVE_SELECT_DOWN_ARROW,
|
|
547
|
-
filterOption: customFilter,
|
|
548
|
-
name: "wdays.".concat(day, ".periods[").concat(index, "].endTime"),
|
|
549
|
-
options: sortSlotsInterval("endTime", period === null || period === void 0 ? void 0 : period.endTime),
|
|
550
|
-
placeholder: t("neetoMolecules.schedule.endTime"),
|
|
551
|
-
strategy: isMobile ? "fixed" : "default",
|
|
552
|
-
styles: BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN,
|
|
553
|
-
value: slotsSelectComponentDefaultValue(period === null || period === void 0 ? void 0 : period.endTime),
|
|
554
|
-
onChange: function onChange(e) {
|
|
555
|
-
return setFieldValue("wdays.".concat(day, ".periods[").concat(index, "].endTime"), (e === null || e === void 0 ? void 0 : e.value) || "");
|
|
556
|
-
}
|
|
557
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
558
|
-
className: "flex-shrink-0 self-start",
|
|
559
|
-
"data-cy": "delete-period-button",
|
|
560
|
-
"data-testid": "delete-period-button",
|
|
561
|
-
icon: Delete,
|
|
562
|
-
style: "text",
|
|
563
|
-
onClick: function onClick() {
|
|
564
|
-
return handleDeleteRow(arrayHelpers, index);
|
|
565
|
-
}
|
|
566
|
-
})]
|
|
567
|
-
}), /*#__PURE__*/jsxRuntime.jsx(formik.ErrorMessage, {
|
|
568
|
-
name: "wdays.".concat(day, ".periods[").concat(index, "]"),
|
|
569
|
-
children: function children(message) {
|
|
570
|
-
return _typeof(message) !== "object" && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
571
|
-
className: "neeto-ui-text-error-500 mt-1 w-11/12 px-2 text-xs",
|
|
572
|
-
children: message
|
|
573
|
-
});
|
|
574
|
-
}
|
|
575
|
-
})]
|
|
576
|
-
}, "wdays.".concat(day, ".periods[").concat(index, "]"));
|
|
577
|
-
})
|
|
578
|
-
}), values.wdays[day].available && allowAddPeriod && /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
579
|
-
className: "absolute right-14 top-3 ml-auto flex-shrink-0 @xl:static",
|
|
580
|
-
"data-cy": "add-new-period-button",
|
|
581
|
-
"data-testid": "add-new-period-button",
|
|
582
|
-
icon: Plus,
|
|
583
|
-
style: "secondary",
|
|
584
|
-
tooltipProps: {
|
|
585
|
-
content: t("neetoMolecules.schedule.addNewPeriod"),
|
|
586
|
-
position: "top",
|
|
587
|
-
hideAfter: 5000,
|
|
588
|
-
touch: ["hold", 500]
|
|
589
|
-
},
|
|
590
|
-
onClick: function onClick() {
|
|
591
|
-
return handleAddRow(arrayHelpers);
|
|
592
|
-
}
|
|
593
|
-
})]
|
|
594
|
-
});
|
|
595
|
-
}
|
|
596
|
-
});
|
|
597
|
-
};
|
|
598
|
-
var ScheduleRow$1 = /*#__PURE__*/React.memo(ScheduleRow);
|
|
599
|
-
|
|
600
|
-
var Form = function Form(_ref) {
|
|
601
|
-
var _values$wdays$day;
|
|
602
|
-
var day = _ref.day;
|
|
603
|
-
var _useState = React.useState([]),
|
|
604
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
605
|
-
deletedPeriods = _useState2[0],
|
|
606
|
-
setDeletedPeriods = _useState2[1];
|
|
607
|
-
var _useState3 = React.useState([]),
|
|
608
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
609
|
-
wdaysToCopy = _useState4[0],
|
|
610
|
-
setWdaysToCopy = _useState4[1];
|
|
611
|
-
var _useFormikContext = formik.useFormikContext(),
|
|
612
|
-
values = _useFormikContext.values,
|
|
613
|
-
setFieldValue = _useFormikContext.setFieldValue;
|
|
614
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
615
|
-
t = _useTranslation.t;
|
|
616
|
-
var _useContext = React.useContext(ScheduleContext),
|
|
617
|
-
firstDay = _useContext.firstDay;
|
|
618
|
-
var restoreDeletedPeriods = function restoreDeletedPeriods() {
|
|
619
|
-
setFieldValue("wdays.".concat(day, ".periods"), deletedPeriods);
|
|
620
|
-
};
|
|
621
|
-
var uncheckCheckbox = function uncheckCheckbox() {
|
|
622
|
-
var _values$wdays$day$per;
|
|
623
|
-
setFieldValue("wdays.".concat(day, ".available"), false);
|
|
624
|
-
setFieldValue("wdays.".concat(day, ".periods"), []);
|
|
625
|
-
if ((_values$wdays$day$per = values.wdays[day].periods[0]) !== null && _values$wdays$day$per !== void 0 && _values$wdays$day$per.id) {
|
|
626
|
-
setDeletedPeriods(values.wdays[day].periods.filter(function (item) {
|
|
627
|
-
return item.startTime && item.endTime;
|
|
628
|
-
}).map(ramda.identity));
|
|
629
|
-
}
|
|
630
|
-
};
|
|
631
|
-
var checkCheckbox = function checkCheckbox() {
|
|
632
|
-
var _deletedPeriods$;
|
|
633
|
-
setFieldValue("wdays.".concat(day, ".available"), true);
|
|
634
|
-
if ((_deletedPeriods$ = deletedPeriods[0]) !== null && _deletedPeriods$ !== void 0 && _deletedPeriods$.startTime) {
|
|
635
|
-
restoreDeletedPeriods();
|
|
636
|
-
} else if (neetoCist.isNotPresent(values.wdays[day].periods)) {
|
|
637
|
-
setFieldValue("wdays.".concat(day, ".periods"), [addDefaultPeriod(day)]);
|
|
638
|
-
} else {
|
|
639
|
-
setFieldValue("wdays.".concat(day, ".periods"), [""]);
|
|
640
|
-
}
|
|
641
|
-
};
|
|
642
|
-
var handleCheckbox = function handleCheckbox() {
|
|
643
|
-
if (values.wdays[day].available) {
|
|
644
|
-
uncheckCheckbox();
|
|
645
|
-
} else {
|
|
646
|
-
checkCheckbox();
|
|
647
|
-
}
|
|
648
|
-
};
|
|
649
|
-
var handleCopyChange = function handleCopyChange(e, day) {
|
|
650
|
-
return setWdaysToCopy(e.target.checked ? ramda.append(day) : ramda.without([day]));
|
|
651
|
-
};
|
|
652
|
-
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
653
|
-
className: "neeto-ui-rounded-md neeto-ui-border-gray-300 neeto-ui-bg-white relative mb-3 w-full border px-4 @container md:px-6",
|
|
654
|
-
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
655
|
-
className: "@xl:flex-no-wrap my-4 flex w-full flex-wrap items-start gap-2 @xl:flex-nowrap @xl:gap-4" // Added `@xl:flex-no-wrap` since neetoCal is using old version of tailwind
|
|
656
|
-
,
|
|
657
|
-
"data-cy": "working-day-container",
|
|
658
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
659
|
-
className: classnames("flex w-36 flex-shrink-0 items-center justify-start @xl:mt-1", {
|
|
660
|
-
"mb-3 @xl:mb-0": neetoCist.isPresent((_values$wdays$day = values.wdays[day]) === null || _values$wdays$day === void 0 ? void 0 : _values$wdays$day.periods)
|
|
661
|
-
}),
|
|
662
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Switch, {
|
|
663
|
-
"aria-label": "wdays.".concat(day, ".available"),
|
|
664
|
-
checked: values.wdays[day].available,
|
|
665
|
-
className: "flex-grow-0",
|
|
666
|
-
"data-cy": general.joinHyphenCase(day, "weekly-hours-checkbox"),
|
|
667
|
-
id: "day",
|
|
668
|
-
name: "wdays.".concat(day, ".available"),
|
|
669
|
-
onChange: handleCheckbox
|
|
670
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
671
|
-
component: "span",
|
|
672
|
-
"data-cy": general.joinHyphenCase(day, "day-text"),
|
|
673
|
-
style: "body2",
|
|
674
|
-
weight: values.wdays[day].available ? "semibold" : "normal",
|
|
675
|
-
className: classnames("ml-2 capitalize", {
|
|
676
|
-
"neeto-ui-text-gray-600": !values.wdays[day].available
|
|
677
|
-
}),
|
|
678
|
-
children: t("neetoMolecules.schedule.days.".concat(day))
|
|
679
|
-
})]
|
|
680
|
-
}), /*#__PURE__*/jsxRuntime.jsx(ScheduleRow$1, {
|
|
681
|
-
day: day
|
|
682
|
-
}), values.wdays[day].available && /*#__PURE__*/jsxRuntime.jsxs(Dropdown, {
|
|
683
|
-
closeOnSelect: true,
|
|
684
|
-
buttonStyle: "secondary",
|
|
685
|
-
icon: Copy,
|
|
686
|
-
position: "right-start",
|
|
687
|
-
buttonProps: {
|
|
688
|
-
tooltipProps: {
|
|
689
|
-
content: t("neetoMolecules.schedule.copyScheduleTooltip"),
|
|
690
|
-
position: "top",
|
|
691
|
-
hideAfter: 5000,
|
|
692
|
-
touch: ["hold", 500]
|
|
693
|
-
},
|
|
694
|
-
className: "absolute right-4 top-3 @xl:static flex-shrink-0",
|
|
695
|
-
"data-testid": general.joinHyphenCase(day, "copy-schedule-icon"),
|
|
696
|
-
"data-cy": general.joinHyphenCase(day, "copy-schedule-icon")
|
|
697
|
-
},
|
|
698
|
-
dropdownProps: {
|
|
699
|
-
className: "neeto-ui-dropdown__popup neeto-molecules-schedule__dropdown"
|
|
700
|
-
},
|
|
701
|
-
onClose: function onClose() {
|
|
702
|
-
return setWdaysToCopy([]);
|
|
703
|
-
},
|
|
704
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("li", {
|
|
705
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
706
|
-
style: "h5",
|
|
707
|
-
children: t("neetoMolecules.schedule.copySchedule")
|
|
708
|
-
})
|
|
709
|
-
}), sortDays(firstDay).filter(function (copyDay) {
|
|
710
|
-
return copyDay !== day;
|
|
711
|
-
}).map(function (day) {
|
|
712
|
-
return /*#__PURE__*/jsxRuntime.jsx("li", {
|
|
713
|
-
onClick: function onClick(e) {
|
|
714
|
-
return e.stopPropagation();
|
|
715
|
-
},
|
|
716
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Label, {
|
|
717
|
-
className: "w-full cursor-pointer capitalize",
|
|
718
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Checkbox, {
|
|
719
|
-
checked: wdaysToCopy.includes(day),
|
|
720
|
-
id: day,
|
|
721
|
-
label: t("neetoMolecules.schedule.days.".concat(day)),
|
|
722
|
-
onChange: function onChange(e) {
|
|
723
|
-
return handleCopyChange(e, day);
|
|
724
|
-
}
|
|
725
|
-
})
|
|
726
|
-
})
|
|
727
|
-
}, day);
|
|
728
|
-
}), /*#__PURE__*/jsxRuntime.jsx("li", {
|
|
729
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
730
|
-
"data-cy": "copy-schedule-submit-button",
|
|
731
|
-
disabled: neetoCist.isNotPresent(wdaysToCopy),
|
|
732
|
-
label: t("neetoMolecules.common.actions.submit"),
|
|
733
|
-
size: "small",
|
|
734
|
-
onClick: function onClick() {
|
|
735
|
-
handleCopy({
|
|
736
|
-
values: values,
|
|
737
|
-
day: day,
|
|
738
|
-
setFieldValue: setFieldValue,
|
|
739
|
-
wdaysToCopy: wdaysToCopy
|
|
740
|
-
});
|
|
741
|
-
setWdaysToCopy([]);
|
|
742
|
-
}
|
|
743
|
-
})
|
|
744
|
-
})]
|
|
745
|
-
})]
|
|
746
|
-
})
|
|
747
|
-
});
|
|
748
|
-
};
|
|
749
|
-
var Form$1 = /*#__PURE__*/React.memo(Form);
|
|
750
|
-
|
|
751
|
-
var Fields = function Fields(_ref) {
|
|
752
|
-
var handleValuesChanged = _ref.handleValuesChanged,
|
|
753
|
-
scheduleRef = _ref.scheduleRef;
|
|
754
|
-
var _useContext = React.useContext(ScheduleContext),
|
|
755
|
-
firstDay = _useContext.firstDay;
|
|
756
|
-
var _useFormikContext = formik.useFormikContext(),
|
|
757
|
-
values = _useFormikContext.values,
|
|
758
|
-
resetForm = _useFormikContext.resetForm,
|
|
759
|
-
errors = _useFormikContext.errors,
|
|
760
|
-
dirty = _useFormikContext.dirty;
|
|
761
|
-
React.useEffect(function () {
|
|
762
|
-
handleValuesChanged(processFormValues(values, firstDay), dirty);
|
|
763
|
-
}, [values]);
|
|
764
|
-
React.useImperativeHandle(scheduleRef, function () {
|
|
765
|
-
return {
|
|
766
|
-
resetForm: resetForm,
|
|
767
|
-
errors: errors
|
|
768
|
-
};
|
|
769
|
-
});
|
|
770
|
-
return sortDays(firstDay).map(function (wday) {
|
|
771
|
-
return /*#__PURE__*/jsxRuntime.jsx(Form$1, {
|
|
772
|
-
day: wday
|
|
773
|
-
}, wday);
|
|
774
|
-
});
|
|
775
|
-
};
|
|
776
|
-
|
|
777
|
-
var Header = function Header(_ref) {
|
|
778
|
-
var isCreating = _ref.isCreating,
|
|
779
|
-
isEditable = _ref.isEditable,
|
|
780
|
-
isEditing = _ref.isEditing,
|
|
781
|
-
setIsEditing = _ref.setIsEditing,
|
|
782
|
-
_ref$showTimeZone = _ref.showTimeZone,
|
|
783
|
-
showTimeZone = _ref$showTimeZone === void 0 ? true : _ref$showTimeZone;
|
|
784
|
-
var _useFormikContext = formik.useFormikContext(),
|
|
785
|
-
dirty = _useFormikContext.dirty,
|
|
786
|
-
resetForm = _useFormikContext.resetForm,
|
|
787
|
-
submitForm = _useFormikContext.submitForm,
|
|
788
|
-
isSubmitting = _useFormikContext.isSubmitting;
|
|
789
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
790
|
-
t = _useTranslation.t;
|
|
791
|
-
var _useState = React.useState(getTimeZoneAndTime()),
|
|
792
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
793
|
-
timeZoneAndTime = _useState2[0],
|
|
794
|
-
setTimeZoneAndTime = _useState2[1];
|
|
795
|
-
var _Profile$usePaneState = Profile.usePaneState(),
|
|
796
|
-
_Profile$usePaneState2 = _slicedToArray(_Profile$usePaneState, 2);
|
|
797
|
-
_Profile$usePaneState2[0];
|
|
798
|
-
var setIsProfilePaneOpen = _Profile$usePaneState2[1];
|
|
799
|
-
var handleReset = function handleReset() {
|
|
800
|
-
if (dirty) resetForm();else setIsEditing(false);
|
|
801
|
-
};
|
|
802
|
-
React.useEffect(function () {
|
|
803
|
-
var time = setInterval(function () {
|
|
804
|
-
setTimeZoneAndTime(getTimeZoneAndTime());
|
|
805
|
-
}, 30000);
|
|
806
|
-
return function () {
|
|
807
|
-
return clearInterval(time);
|
|
808
|
-
};
|
|
809
|
-
}, []);
|
|
810
|
-
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
811
|
-
className: "mb-6 flex flex-wrap justify-between gap-2",
|
|
812
|
-
children: [showTimeZone && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
813
|
-
className: "flex items-center gap-3",
|
|
814
|
-
"data-testid": "schedule-timezone-header",
|
|
815
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Tooltip, {
|
|
816
|
-
content: t("neetoMolecules.schedule.timezoneTooltip"),
|
|
817
|
-
position: "bottom",
|
|
818
|
-
touch: ["hold", 500],
|
|
819
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
820
|
-
component: "h4",
|
|
821
|
-
"data-cy": "timezone-text",
|
|
822
|
-
style: "h5",
|
|
823
|
-
weight: "medium",
|
|
824
|
-
children: timeZoneAndTime
|
|
825
|
-
})
|
|
826
|
-
}), isEditable && /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
|
|
827
|
-
dropdownButtonProps: {
|
|
828
|
-
"data-testid": "nui-more-dropdown"
|
|
829
|
-
},
|
|
830
|
-
menuItems: [{
|
|
831
|
-
onClick: function onClick() {
|
|
832
|
-
return setIsProfilePaneOpen(true);
|
|
833
|
-
},
|
|
834
|
-
label: t("neetoMolecules.common.actions.changeTimezone"),
|
|
835
|
-
target: "_blank",
|
|
836
|
-
key: "change-timezone-option",
|
|
837
|
-
"data-testid": "change-timezone-option"
|
|
838
|
-
}]
|
|
839
|
-
})]
|
|
840
|
-
}), isEditing ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
841
|
-
className: "flex items-center gap-2",
|
|
842
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
843
|
-
"data-cy": "reset-button",
|
|
844
|
-
style: "secondary",
|
|
845
|
-
label: !dirty ? t("neetoMolecules.common.actions.cancel") : t("neetoMolecules.common.actions.reset"),
|
|
846
|
-
onClick: handleReset
|
|
847
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
848
|
-
"data-cy": "weekly-hours-save-changes-button",
|
|
849
|
-
disabled: !dirty && !isCreating || isSubmitting,
|
|
850
|
-
label: t("neetoMolecules.common.actions.saveChanges"),
|
|
851
|
-
loading: isSubmitting,
|
|
852
|
-
onClick: submitForm
|
|
853
|
-
})]
|
|
854
|
-
}) : /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
855
|
-
children: isEditable && /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
856
|
-
"data-cy": "weekly-schedule-header",
|
|
857
|
-
label: t("neetoMolecules.schedule.changeAvailability"),
|
|
858
|
-
style: "primary",
|
|
859
|
-
weight: "semibold",
|
|
860
|
-
onClick: function onClick() {
|
|
861
|
-
return setIsEditing(true);
|
|
862
|
-
}
|
|
863
|
-
})
|
|
864
|
-
})]
|
|
865
|
-
});
|
|
866
|
-
};
|
|
867
|
-
|
|
868
|
-
var css = ".neeto-molecules-schedule{margin:auto;max-width:40rem;width:100%}.neeto-molecules-schedule__dropdown{max-height:var(--neeto-ui-dropdown-popup-max-height)!important}";
|
|
869
|
-
injectCss.n(css,{});
|
|
870
|
-
|
|
871
|
-
var Schedule = /*#__PURE__*/React.forwardRef(function (_ref, scheduleRef) {
|
|
872
|
-
var periods = _ref.periods,
|
|
873
|
-
_ref$handleSubmit = _ref.handleSubmit,
|
|
874
|
-
handleSubmit = _ref$handleSubmit === void 0 ? neetoCist.noop : _ref$handleSubmit,
|
|
875
|
-
_ref$isEditing = _ref.isEditing,
|
|
876
|
-
isEditing = _ref$isEditing === void 0 ? false : _ref$isEditing,
|
|
877
|
-
setIsEditing = _ref.setIsEditing,
|
|
878
|
-
_ref$showHeader = _ref.showHeader,
|
|
879
|
-
showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
|
|
880
|
-
_ref$handleValuesChan = _ref.handleValuesChanged,
|
|
881
|
-
handleValuesChanged = _ref$handleValuesChan === void 0 ? neetoCist.noop : _ref$handleValuesChan,
|
|
882
|
-
_ref$allowAddPeriod = _ref.allowAddPeriod,
|
|
883
|
-
allowAddPeriod = _ref$allowAddPeriod === void 0 ? true : _ref$allowAddPeriod,
|
|
884
|
-
_ref$isEditable = _ref.isEditable,
|
|
885
|
-
isEditable = _ref$isEditable === void 0 ? true : _ref$isEditable,
|
|
886
|
-
_ref$isCreating = _ref.isCreating,
|
|
887
|
-
isCreating = _ref$isCreating === void 0 ? false : _ref$isCreating,
|
|
888
|
-
_ref$firstDay = _ref.firstDay,
|
|
889
|
-
firstDay = _ref$firstDay === void 0 ? 1 : _ref$firstDay,
|
|
890
|
-
_ref$showTimeZone = _ref.showTimeZone,
|
|
891
|
-
showTimeZone = _ref$showTimeZone === void 0 ? true : _ref$showTimeZone,
|
|
892
|
-
_ref$slotInterval = _ref.slotInterval,
|
|
893
|
-
slotInterval = _ref$slotInterval === void 0 ? DEFAULT_SLOT_INTERVAL : _ref$slotInterval;
|
|
894
|
-
var validationSchema = React.useMemo(getScheduleValidationSchema, []);
|
|
895
|
-
var getInitialFormValues = function getInitialFormValues() {
|
|
896
|
-
var isSubmitHandler = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
897
|
-
if (isSubmitHandler) {
|
|
898
|
-
return buildFormValuesArray({
|
|
899
|
-
firstDay: firstDay,
|
|
900
|
-
periods: periods
|
|
901
|
-
});
|
|
902
|
-
}
|
|
903
|
-
return buildFormValuesObject({
|
|
904
|
-
periods: periods
|
|
905
|
-
});
|
|
906
|
-
};
|
|
907
|
-
return /*#__PURE__*/jsxRuntime.jsx(ScheduleContext.Provider, {
|
|
908
|
-
value: {
|
|
909
|
-
allowAddPeriod: allowAddPeriod,
|
|
910
|
-
firstDay: firstDay,
|
|
911
|
-
slotInterval: slotInterval
|
|
912
|
-
},
|
|
913
|
-
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
914
|
-
className: "neeto-molecules-schedule neeto-ui-border-gray-200 flex-shrink-0",
|
|
915
|
-
children: /*#__PURE__*/jsxRuntime.jsx(formik.Formik, {
|
|
916
|
-
validationSchema: validationSchema,
|
|
917
|
-
enableReinitialize: true,
|
|
918
|
-
initialValues: {
|
|
919
|
-
wdays: getInitialFormValues()
|
|
920
|
-
},
|
|
921
|
-
onSubmit: function onSubmit(values) {
|
|
922
|
-
handleSubmit(processFormValues(values, firstDay), getInitialFormValues(true));
|
|
923
|
-
},
|
|
924
|
-
children: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
925
|
-
children: [showHeader && /*#__PURE__*/jsxRuntime.jsx(Header, {
|
|
926
|
-
isCreating: isCreating,
|
|
927
|
-
isEditable: isEditable,
|
|
928
|
-
isEditing: isEditing,
|
|
929
|
-
setIsEditing: setIsEditing,
|
|
930
|
-
showTimeZone: showTimeZone
|
|
931
|
-
}), isEditing || !showHeader ? /*#__PURE__*/jsxRuntime.jsx(formik.Form, {
|
|
932
|
-
children: /*#__PURE__*/jsxRuntime.jsx(Fields, {
|
|
933
|
-
handleValuesChanged: handleValuesChanged,
|
|
934
|
-
scheduleRef: scheduleRef
|
|
935
|
-
})
|
|
936
|
-
}) : /*#__PURE__*/jsxRuntime.jsx(DisplayAvailability, {
|
|
937
|
-
periods: periods
|
|
938
|
-
})]
|
|
939
|
-
})
|
|
940
|
-
})
|
|
941
|
-
})
|
|
942
|
-
});
|
|
943
|
-
});
|
|
944
|
-
Schedule.displayName = "Schedule";
|
|
945
|
-
|
|
946
|
-
module.exports = Schedule;
|
|
947
|
-
//# sourceMappingURL=Schedule.js.map
|