@bigbinary/neeto-molecules 1.1.10 → 1.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/dist/AutoSaveInput/autosaveinput.scss +15 -0
  2. package/dist/AutoSaveInput/constants.js +13 -0
  3. package/dist/AutoSaveInput/index.js +124 -0
  4. package/dist/AutoSaveInput/utils.js +10 -0
  5. package/dist/Breadcrumbs/breadcrumbs.scss +33 -0
  6. package/dist/Breadcrumbs/index.js +31 -0
  7. package/dist/BrowserSupport/Callout.js +15 -0
  8. package/dist/BrowserSupport/ContactUs.js +21 -0
  9. package/dist/BrowserSupport/DownloadLink.js +17 -0
  10. package/dist/BrowserSupport/PartialSupportedBrowserVersion.js +17 -0
  11. package/dist/BrowserSupport/UnknownBrowser.js +13 -0
  12. package/dist/BrowserSupport/UnsupportedBrowser.js +24 -0
  13. package/dist/BrowserSupport/UnsupportedBrowserMessage.js +22 -0
  14. package/dist/BrowserSupport/UnsupportedBrowserVersion.js +27 -0
  15. package/dist/BrowserSupport/UnsupportedVersionMessage.js +30 -0
  16. package/dist/BrowserSupport/browsersupport.scss +71 -0
  17. package/dist/BrowserSupport/constants.js +63 -0
  18. package/dist/BrowserSupport/index.js +58 -0
  19. package/dist/BrowserSupport/utils.js +32 -0
  20. package/dist/CalendarView/CustomDatePicker.js +87 -0
  21. package/dist/CalendarView/Header.js +53 -0
  22. package/dist/CalendarView/constants.js +19 -0
  23. package/dist/CalendarView/index.js +83 -0
  24. package/dist/CalendarView/utils.js +50 -0
  25. package/dist/Codeblock/index.js +30 -0
  26. package/dist/{Columns.js → Columns/index.js} +13 -130
  27. package/dist/Columns/utils.js +20 -0
  28. package/dist/ConfirmationModal/constants.js +3 -0
  29. package/dist/{ConfirmationModal.js → ConfirmationModal/index.js} +7 -23
  30. package/dist/ConfirmationModal/utils.js +10 -0
  31. package/dist/Container/container.scss +21 -0
  32. package/dist/Container/index.js +23 -0
  33. package/dist/CopyToClipboardButton/constants.js +13 -0
  34. package/dist/CopyToClipboardButton/copyToClipboard.scss +22 -0
  35. package/dist/CopyToClipboardButton/index.js +59 -0
  36. package/dist/CustomDomain/index.js +98 -0
  37. package/dist/CustomDomainDashboard/DeleteAlert.js +28 -0
  38. package/dist/CustomDomainDashboard/Header.js +32 -0
  39. package/dist/CustomDomainDashboard/Manage/Record.js +42 -0
  40. package/dist/CustomDomainDashboard/Manage/StatusInfo.js +21 -0
  41. package/dist/CustomDomainDashboard/Manage/TagBlock.js +36 -0
  42. package/dist/CustomDomainDashboard/Manage/constants.js +4 -0
  43. package/dist/CustomDomainDashboard/Manage/index.js +124 -0
  44. package/dist/CustomDomainDashboard/Manage/utils.js +8 -0
  45. package/dist/CustomDomainDashboard/api.js +35 -0
  46. package/dist/CustomDomainDashboard/constants.js +2 -0
  47. package/dist/CustomDomainDashboard/index.js +118 -0
  48. package/dist/CustomDomainDashboard/useCustomDomainApi.js +71 -0
  49. package/dist/CustomDomainDashboard/utils.js +84 -0
  50. package/dist/{DateFormat.js → DateFormat/index.js} +8 -25
  51. package/dist/DateRangeFilter/index.js +60 -0
  52. package/dist/DateRangeFilter/utils.js +113 -0
  53. package/dist/DynamicVariables/dynamic-variables.scss +34 -0
  54. package/dist/DynamicVariables/index.js +59 -0
  55. package/dist/DynamicVariables/utils.js +37 -0
  56. package/dist/EmailForm/EmailForm.js +97 -0
  57. package/dist/EmailForm/EmailFormProvider.js +45 -0
  58. package/dist/EmailForm/EmailPreview.js +129 -0
  59. package/dist/EmailForm/ReplyToField.js +55 -0
  60. package/dist/EmailForm/SendToField.js +27 -0
  61. package/dist/EmailForm/SubjectField.js +64 -0
  62. package/dist/EmailForm/constants.js +33 -0
  63. package/dist/EmailForm/contexts/EmailForm.js +7 -0
  64. package/dist/EmailForm/index.js +4 -0
  65. package/dist/EmailForm/utils.js +10 -0
  66. package/dist/EmailPreview/index.js +2 -0
  67. package/dist/{ErrorPage.js → ErrorPage/constants.js} +36 -175
  68. package/dist/ErrorPage/index.js +78 -0
  69. package/dist/Header/Breadcrumbs.js +31 -0
  70. package/dist/Header/Dropdown.js +12 -0
  71. package/dist/Header/constants.js +6 -0
  72. package/dist/Header/header.scss +121 -0
  73. package/dist/Header/index.js +61 -0
  74. package/dist/IconPicker/Icon.js +34 -0
  75. package/dist/IconPicker/NoResults.js +12 -0
  76. package/dist/IconPicker/constants.js +8 -0
  77. package/dist/IconPicker/icon-picker.scss +1 -0
  78. package/dist/IconPicker/index.js +164 -0
  79. package/dist/ImageWithFallback/ImagePlaceholder.js +16 -0
  80. package/dist/ImageWithFallback/index.js +31 -0
  81. package/dist/IntegrationCard/Dropdown.js +45 -0
  82. package/dist/IntegrationCard/Status.js +25 -0
  83. package/dist/IntegrationCard/index.js +128 -0
  84. package/dist/IntegrationDisconnectAlert/index.js +36 -0
  85. package/dist/{IntegrationWalkthroughModal.js → IntegrationWalkthroughModal/index.js} +6 -8
  86. package/dist/IpRestriction/AllowedIpRanges.js +75 -0
  87. package/dist/IpRestriction/CurrentIp.js +26 -0
  88. package/dist/IpRestriction/FormRow.js +84 -0
  89. package/dist/IpRestriction/Row.js +91 -0
  90. package/dist/IpRestriction/apis/allowed_ip_ranges.js +28 -0
  91. package/dist/IpRestriction/apis/current_ip.js +11 -0
  92. package/dist/IpRestriction/apis/ip_restriction.js +16 -0
  93. package/dist/IpRestriction/constants.js +20 -0
  94. package/dist/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js +34 -0
  95. package/dist/IpRestriction/hooks/reactQuery/useCurrentIp.js +10 -0
  96. package/dist/IpRestriction/hooks/reactQuery/useIpRestrictions.js +18 -0
  97. package/dist/IpRestriction/index.js +102 -0
  98. package/dist/IpRestriction/utils.js +85 -0
  99. package/dist/KeyboardShortcuts/Pane/HotKey.js +44 -0
  100. package/dist/KeyboardShortcuts/Pane/HotKeyList.js +42 -0
  101. package/dist/KeyboardShortcuts/Pane/constants.js +25 -0
  102. package/dist/KeyboardShortcuts/Pane/index.js +61 -0
  103. package/dist/KeyboardShortcuts/Pane/keyboard-shortcuts.scss +5 -0
  104. package/dist/KeyboardShortcuts/Pane/utils.js +66 -0
  105. package/dist/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js +31 -0
  106. package/dist/KeyboardShortcuts/index.js +9 -0
  107. package/dist/LoginPage/Form.js +57 -0
  108. package/dist/LoginPage/constants.js +12 -0
  109. package/dist/LoginPage/index.js +103 -0
  110. package/dist/MenuBar/AddNew.js +25 -0
  111. package/dist/MenuBar/Block.js +60 -0
  112. package/dist/MenuBar/Item.js +32 -0
  113. package/dist/MenuBar/Search.js +39 -0
  114. package/dist/MenuBar/SubTitle.js +23 -0
  115. package/dist/MenuBar/index.js +46 -0
  116. package/dist/MenuBar/menubar.scss +154 -0
  117. package/dist/Metadata/Block.js +30 -0
  118. package/dist/Metadata/DetailsBlock.js +86 -0
  119. package/dist/Metadata/constants.js +9 -0
  120. package/dist/Metadata/index.js +29 -0
  121. package/dist/Metadata/metadata.scss +15 -0
  122. package/dist/MoreDropdown/constants.js +25 -0
  123. package/dist/{MoreDropdown.js → MoreDropdown/index.js} +9 -102
  124. package/dist/NavigationHeader/LeftBlock.js +32 -0
  125. package/dist/NavigationHeader/Navigation.js +24 -0
  126. package/dist/NavigationHeader/RightBlock.js +68 -0
  127. package/dist/NavigationHeader/constants.js +11 -0
  128. package/dist/NavigationHeader/index.js +19 -0
  129. package/dist/NavigationHeader/navigation-header.scss +3 -0
  130. package/dist/NeetoWidget/CodeBlock.js +57 -0
  131. package/dist/NeetoWidget/CodeSnippet.js +119 -0
  132. package/dist/NeetoWidget/EmbedCode.js +281 -0
  133. package/dist/NeetoWidget/Main.js +19 -0
  134. package/dist/NeetoWidget/SelectionSwitches/TooltipSwitch.js +25 -0
  135. package/dist/NeetoWidget/SelectionSwitches/index.js +44 -0
  136. package/dist/NeetoWidget/SyntaxHighlighter.js +17 -0
  137. package/dist/NeetoWidget/api.js +20 -0
  138. package/dist/NeetoWidget/constants.js +62 -0
  139. package/dist/NeetoWidget/hooks/useForceUpdate.js +14 -0
  140. package/dist/NeetoWidget/index.js +7 -0
  141. package/dist/NeetoWidget/mutations.js +9 -0
  142. package/dist/NeetoWidget/queries.js +32 -0
  143. package/dist/NeetoWidget/utils.js +83 -0
  144. package/dist/PageLoader/index.js +81 -0
  145. package/dist/PageLoader/page-loader.scss +95 -0
  146. package/dist/PhoneNumber/CountryPicker/SingleValue.js +21 -0
  147. package/dist/PhoneNumber/CountryPicker/constants.js +26 -0
  148. package/dist/PhoneNumber/CountryPicker/index.js +59 -0
  149. package/dist/PhoneNumber/FormikPhoneNumberInput.js +21 -0
  150. package/dist/PhoneNumber/PhoneNumber.js +30 -0
  151. package/dist/PhoneNumber/PhoneNumberInput.js +79 -0
  152. package/dist/PhoneNumber/index.js +5 -0
  153. package/dist/PhoneNumber/utils.js +55 -0
  154. package/dist/PublishBlock/AlertBlock.js +14 -0
  155. package/dist/PublishBlock/index.js +100 -0
  156. package/dist/PublishBlock/publish-block.scss +25 -0
  157. package/dist/Rename/DummySpan.js +21 -0
  158. package/dist/Rename/constants.js +1 -0
  159. package/dist/Rename/index.js +191 -0
  160. package/dist/Rename/rename.scss +69 -0
  161. package/dist/Rename/utils.js +10 -0
  162. package/dist/ResponsiveDevicePicker/constants.js +19 -0
  163. package/dist/ResponsiveDevicePicker/index.js +36 -0
  164. package/dist/Schedule/DisplayAvailability.js +58 -0
  165. package/dist/Schedule/Fields.js +43 -0
  166. package/dist/Schedule/Form/ScheduleRow.js +125 -0
  167. package/dist/Schedule/Form/constants.js +20 -0
  168. package/dist/Schedule/Form/index.js +144 -0
  169. package/dist/Schedule/Form/utils.js +63 -0
  170. package/dist/Schedule/Header.js +76 -0
  171. package/dist/Schedule/ScheduleContext.js +8 -0
  172. package/dist/Schedule/constants.js +8 -0
  173. package/dist/Schedule/dayjsExtended/constants.js +1 -0
  174. package/dist/Schedule/dayjsExtended/index.js +14 -0
  175. package/dist/Schedule/dayjsExtended/range.js +73 -0
  176. package/dist/Schedule/index.js +80 -0
  177. package/dist/Schedule/utils.js +152 -0
  178. package/dist/Scrollable/constants.js +8 -0
  179. package/dist/Scrollable/index.js +26 -0
  180. package/dist/Scrollable/scrollable.scss +32 -0
  181. package/dist/Search/index.js +52 -0
  182. package/dist/Security/AllowedKeywords/Add.js +38 -0
  183. package/dist/Security/AllowedKeywords/index.js +38 -0
  184. package/dist/Security/PasswordBlock.js +31 -0
  185. package/dist/Security/RadioBlock.js +38 -0
  186. package/dist/Security/api.js +12 -0
  187. package/dist/Security/constants.js +58 -0
  188. package/dist/Security/index.js +68 -0
  189. package/dist/Security/useSecurityApi.js +22 -0
  190. package/dist/Security/utils.js +31 -0
  191. package/dist/SendToFields/FilePicker.js +34 -0
  192. package/dist/SendToFields/constants.js +6 -0
  193. package/dist/SendToFields/index.js +102 -0
  194. package/dist/SendToFields/utils.js +54 -0
  195. package/dist/Settings/Category.js +30 -0
  196. package/dist/Settings/Item.js +38 -0
  197. package/dist/Settings/index.js +37 -0
  198. package/dist/Settings/utils.js +4 -0
  199. package/dist/ShareViaEmail/EmailBodyEditor.js +22 -0
  200. package/dist/ShareViaEmail/FilePicker.js +43 -0
  201. package/dist/ShareViaEmail/Form.js +101 -0
  202. package/dist/ShareViaEmail/FormikDatePicker.js +24 -0
  203. package/dist/ShareViaEmail/constants.js +14 -0
  204. package/dist/ShareViaEmail/index.js +89 -0
  205. package/dist/ShareViaEmail/utils.js +72 -0
  206. package/dist/ShareViaLink/EditURL.js +74 -0
  207. package/dist/ShareViaLink/Link.js +105 -0
  208. package/dist/ShareViaLink/QRCode.js +41 -0
  209. package/dist/ShareViaLink/RegenerateURL.js +47 -0
  210. package/dist/ShareViaLink/SocialMedia.js +52 -0
  211. package/dist/ShareViaLink/constants.js +25 -0
  212. package/dist/ShareViaLink/edit-url.scss +8 -0
  213. package/dist/ShareViaLink/index.js +46 -0
  214. package/dist/ShareViaLink/utils.js +47 -0
  215. package/dist/Sidebar/AppSwitcher/AppLink.js +45 -0
  216. package/dist/Sidebar/AppSwitcher/Backdrop.js +13 -0
  217. package/dist/Sidebar/AppSwitcher/Body.js +65 -0
  218. package/dist/Sidebar/AppSwitcher/Portal.js +27 -0
  219. package/dist/Sidebar/AppSwitcher/appswitcher.scss +164 -0
  220. package/dist/Sidebar/AppSwitcher/index.js +47 -0
  221. package/dist/Sidebar/AppSwitcher/utils.js +25 -0
  222. package/dist/Sidebar/Chevron.js +14 -0
  223. package/dist/Sidebar/FeaturedTooltip.js +19 -0
  224. package/dist/Sidebar/Footer/AppSwitcherButton.js +48 -0
  225. package/dist/Sidebar/Footer/ProfileButton.js +30 -0
  226. package/dist/Sidebar/Footer/index.js +56 -0
  227. package/dist/Sidebar/Footer/utils.js +39 -0
  228. package/dist/Sidebar/Header.js +33 -0
  229. package/dist/Sidebar/HelpSection/HelpSectionMenu.js +52 -0
  230. package/dist/Sidebar/HelpSection/index.js +32 -0
  231. package/dist/Sidebar/Links.js +112 -0
  232. package/dist/Sidebar/NavIconWrapper.js +20 -0
  233. package/dist/Sidebar/ProfileSection/LinkSection.js +36 -0
  234. package/dist/Sidebar/ProfileSection/ProfileMenu.js +48 -0
  235. package/dist/Sidebar/ProfileSection/index.js +42 -0
  236. package/dist/Sidebar/constants.js +40 -0
  237. package/dist/Sidebar/index.js +94 -0
  238. package/dist/Sidebar/sidebar.scss +379 -0
  239. package/dist/Sidebar/utils.js +18 -0
  240. package/dist/SubHeader/RightBlock/Columns.js +35 -0
  241. package/dist/SubHeader/RightBlock/Download.js +28 -0
  242. package/dist/SubHeader/RightBlock/Filter.js +31 -0
  243. package/dist/SubHeader/RightBlock/index.js +21 -0
  244. package/dist/SubHeader/RightBlock/utils.js +13 -0
  245. package/dist/SubHeader/index.js +28 -0
  246. package/dist/SubHeader/subheader.scss +78 -0
  247. package/dist/TableWrapper/index.js +18 -0
  248. package/dist/ThemeSidebar/Customize/Logo.js +39 -0
  249. package/dist/ThemeSidebar/Customize/Properties.js +170 -0
  250. package/dist/ThemeSidebar/Customize/index.js +66 -0
  251. package/dist/ThemeSidebar/Themes/ThemeCard.js +135 -0
  252. package/dist/ThemeSidebar/Themes/index.js +110 -0
  253. package/dist/ThemeSidebar/TitleBar.js +62 -0
  254. package/dist/ThemeSidebar/constants.js +127 -0
  255. package/dist/ThemeSidebar/fields/AlignmentBlock.js +50 -0
  256. package/dist/ThemeSidebar/fields/Card.js +19 -0
  257. package/dist/ThemeSidebar/fields/ColorBlock.js +19 -0
  258. package/dist/ThemeSidebar/fields/FontPickerBlock.js +35 -0
  259. package/dist/ThemeSidebar/fields/ImageBlock/ImageUploader.js +67 -0
  260. package/dist/ThemeSidebar/fields/ImageBlock/ProgressBar.js +22 -0
  261. package/dist/ThemeSidebar/fields/ImageBlock/index.js +55 -0
  262. package/dist/ThemeSidebar/fields/SelectBlock.js +24 -0
  263. package/dist/ThemeSidebar/fields/SliderBlock.js +30 -0
  264. package/dist/ThemeSidebar/fields/SwitchBlock.js +17 -0
  265. package/dist/ThemeSidebar/fields/TextBlock.js +13 -0
  266. package/dist/ThemeSidebar/fields/slider.scss +199 -0
  267. package/dist/ThemeSidebar/hooks/useDirectUploadDropzone.js +149 -0
  268. package/dist/ThemeSidebar/index.js +118 -0
  269. package/dist/ThemeSidebar/themeSidebar.scss +45 -0
  270. package/dist/ThemeSidebar/utils.js +169 -0
  271. package/dist/TimeFormat/index.js +3 -0
  272. package/dist/TimezoneMismatchModal/apis/time_zone.js +9 -0
  273. package/dist/TimezoneMismatchModal/index.js +83 -0
  274. package/dist/TimezoneMismatchModal/useTimeZoneApi.js +10 -0
  275. package/dist/TimezoneMismatchModal/utils.js +12 -0
  276. package/dist/ToggleFeatureCard/ToolTipSwitch.js +31 -0
  277. package/dist/ToggleFeatureCard/constants.js +5 -0
  278. package/dist/ToggleFeatureCard/hooks/useScrollIntoView.js +11 -0
  279. package/dist/ToggleFeatureCard/index.js +148 -0
  280. package/dist/ToggleFeatureCard/toggleFeatureCard.scss +4 -0
  281. package/package.json +28 -34
  282. package/src/translations/en.json +5 -1
  283. package/types/Search.d.ts +19 -0
  284. package/dist/AutoSaveInput.cjs.js +0 -724
  285. package/dist/AutoSaveInput.cjs.js.map +0 -1
  286. package/dist/AutoSaveInput.js +0 -718
  287. package/dist/AutoSaveInput.js.map +0 -1
  288. package/dist/Breadcrumbs.cjs.js +0 -44
  289. package/dist/Breadcrumbs.cjs.js.map +0 -1
  290. package/dist/Breadcrumbs.js +0 -38
  291. package/dist/Breadcrumbs.js.map +0 -1
  292. package/dist/BrowserSupport.cjs.js +0 -1731
  293. package/dist/BrowserSupport.cjs.js.map +0 -1
  294. package/dist/BrowserSupport.js +0 -1725
  295. package/dist/BrowserSupport.js.map +0 -1
  296. package/dist/CalendarView.cjs.js +0 -610
  297. package/dist/CalendarView.cjs.js.map +0 -1
  298. package/dist/CalendarView.js +0 -598
  299. package/dist/CalendarView.js.map +0 -1
  300. package/dist/Codeblock.cjs.js +0 -302
  301. package/dist/Codeblock.cjs.js.map +0 -1
  302. package/dist/Codeblock.js +0 -296
  303. package/dist/Codeblock.js.map +0 -1
  304. package/dist/Columns.cjs.js +0 -248
  305. package/dist/Columns.cjs.js.map +0 -1
  306. package/dist/Columns.js.map +0 -1
  307. package/dist/ConfirmationModal.cjs.js +0 -87
  308. package/dist/ConfirmationModal.cjs.js.map +0 -1
  309. package/dist/ConfirmationModal.js.map +0 -1
  310. package/dist/Container.cjs.js +0 -1277
  311. package/dist/Container.cjs.js.map +0 -1
  312. package/dist/Container.js +0 -1271
  313. package/dist/Container.js.map +0 -1
  314. package/dist/CopyToClipboardButton.cjs.js +0 -275
  315. package/dist/CopyToClipboardButton.cjs.js.map +0 -1
  316. package/dist/CopyToClipboardButton.js +0 -269
  317. package/dist/CopyToClipboardButton.js.map +0 -1
  318. package/dist/CustomDomain.cjs.js +0 -774
  319. package/dist/CustomDomain.cjs.js.map +0 -1
  320. package/dist/CustomDomain.js +0 -747
  321. package/dist/CustomDomain.js.map +0 -1
  322. package/dist/CustomDomainDashboard.cjs.js +0 -2370
  323. package/dist/CustomDomainDashboard.cjs.js.map +0 -1
  324. package/dist/CustomDomainDashboard.js +0 -2342
  325. package/dist/CustomDomainDashboard.js.map +0 -1
  326. package/dist/DateFormat.cjs.js +0 -51
  327. package/dist/DateFormat.cjs.js.map +0 -1
  328. package/dist/DateFormat.js.map +0 -1
  329. package/dist/DateRangeFilter.cjs.js +0 -236
  330. package/dist/DateRangeFilter.cjs.js.map +0 -1
  331. package/dist/DateRangeFilter.js +0 -229
  332. package/dist/DateRangeFilter.js.map +0 -1
  333. package/dist/DynamicVariables.cjs.js +0 -189
  334. package/dist/DynamicVariables.cjs.js.map +0 -1
  335. package/dist/DynamicVariables.js +0 -183
  336. package/dist/DynamicVariables.js.map +0 -1
  337. package/dist/EmailForm.cjs.js +0 -4295
  338. package/dist/EmailForm.cjs.js.map +0 -1
  339. package/dist/EmailForm.js +0 -4265
  340. package/dist/EmailForm.js.map +0 -1
  341. package/dist/EmailPreview.cjs.js +0 -1419
  342. package/dist/EmailPreview.cjs.js.map +0 -1
  343. package/dist/EmailPreview.js +0 -1413
  344. package/dist/EmailPreview.js.map +0 -1
  345. package/dist/ErrorPage.cjs.js +0 -226
  346. package/dist/ErrorPage.cjs.js.map +0 -1
  347. package/dist/ErrorPage.js.map +0 -1
  348. package/dist/Header.cjs.js +0 -188
  349. package/dist/Header.cjs.js.map +0 -1
  350. package/dist/Header.js +0 -182
  351. package/dist/Header.js.map +0 -1
  352. package/dist/IconPicker.cjs.js +0 -1308
  353. package/dist/IconPicker.cjs.js.map +0 -1
  354. package/dist/IconPicker.js +0 -1302
  355. package/dist/IconPicker.js.map +0 -1
  356. package/dist/ImageWithFallback.cjs.js +0 -247
  357. package/dist/ImageWithFallback.cjs.js.map +0 -1
  358. package/dist/ImageWithFallback.js +0 -241
  359. package/dist/ImageWithFallback.js.map +0 -1
  360. package/dist/IntegrationCard.cjs.js +0 -409
  361. package/dist/IntegrationCard.cjs.js.map +0 -1
  362. package/dist/IntegrationCard.js +0 -403
  363. package/dist/IntegrationCard.js.map +0 -1
  364. package/dist/IntegrationDisconnectAlert.cjs.js +0 -89
  365. package/dist/IntegrationDisconnectAlert.cjs.js.map +0 -1
  366. package/dist/IntegrationDisconnectAlert.js +0 -80
  367. package/dist/IntegrationDisconnectAlert.js.map +0 -1
  368. package/dist/IntegrationWalkthroughModal.cjs.js +0 -50
  369. package/dist/IntegrationWalkthroughModal.cjs.js.map +0 -1
  370. package/dist/IntegrationWalkthroughModal.js.map +0 -1
  371. package/dist/IpRestriction.cjs.js +0 -3931
  372. package/dist/IpRestriction.cjs.js.map +0 -1
  373. package/dist/IpRestriction.js +0 -3905
  374. package/dist/IpRestriction.js.map +0 -1
  375. package/dist/KeyboardShortcuts.cjs.js +0 -2263
  376. package/dist/KeyboardShortcuts.cjs.js.map +0 -1
  377. package/dist/KeyboardShortcuts.js +0 -2256
  378. package/dist/KeyboardShortcuts.js.map +0 -1
  379. package/dist/LoginPage.cjs.js +0 -618
  380. package/dist/LoginPage.cjs.js.map +0 -1
  381. package/dist/LoginPage.js +0 -593
  382. package/dist/LoginPage.js.map +0 -1
  383. package/dist/MenuBar.cjs.js +0 -34273
  384. package/dist/MenuBar.cjs.js.map +0 -1
  385. package/dist/MenuBar.js +0 -34267
  386. package/dist/MenuBar.js.map +0 -1
  387. package/dist/Metadata.cjs.js +0 -272
  388. package/dist/Metadata.cjs.js.map +0 -1
  389. package/dist/Metadata.js +0 -266
  390. package/dist/Metadata.js.map +0 -1
  391. package/dist/MoreDropdown.cjs.js +0 -168
  392. package/dist/MoreDropdown.cjs.js.map +0 -1
  393. package/dist/MoreDropdown.js.map +0 -1
  394. package/dist/NavigationHeader.cjs.js +0 -756
  395. package/dist/NavigationHeader.cjs.js.map +0 -1
  396. package/dist/NavigationHeader.js +0 -750
  397. package/dist/NavigationHeader.js.map +0 -1
  398. package/dist/NeetoWidget.cjs.js +0 -3375
  399. package/dist/NeetoWidget.cjs.js.map +0 -1
  400. package/dist/NeetoWidget.js +0 -3348
  401. package/dist/NeetoWidget.js.map +0 -1
  402. package/dist/PageLoader.cjs.js +0 -158
  403. package/dist/PageLoader.cjs.js.map +0 -1
  404. package/dist/PageLoader.js +0 -134
  405. package/dist/PageLoader.js.map +0 -1
  406. package/dist/PhoneNumber.cjs.js +0 -7021
  407. package/dist/PhoneNumber.cjs.js.map +0 -1
  408. package/dist/PhoneNumber.js +0 -6989
  409. package/dist/PhoneNumber.js.map +0 -1
  410. package/dist/PublishBlock.cjs.js +0 -224
  411. package/dist/PublishBlock.cjs.js.map +0 -1
  412. package/dist/PublishBlock.js +0 -218
  413. package/dist/PublishBlock.js.map +0 -1
  414. package/dist/Rename.cjs.js +0 -516
  415. package/dist/Rename.cjs.js.map +0 -1
  416. package/dist/Rename.js +0 -510
  417. package/dist/Rename.js.map +0 -1
  418. package/dist/ResponsiveDevicePicker.cjs.js +0 -260
  419. package/dist/ResponsiveDevicePicker.cjs.js.map +0 -1
  420. package/dist/ResponsiveDevicePicker.js +0 -254
  421. package/dist/ResponsiveDevicePicker.js.map +0 -1
  422. package/dist/Schedule.cjs.js +0 -1077
  423. package/dist/Schedule.cjs.js.map +0 -1
  424. package/dist/Schedule.js +0 -1046
  425. package/dist/Schedule.js.map +0 -1
  426. package/dist/Scrollable.cjs.js +0 -188
  427. package/dist/Scrollable.cjs.js.map +0 -1
  428. package/dist/Scrollable.js +0 -182
  429. package/dist/Scrollable.js.map +0 -1
  430. package/dist/Security.cjs.js +0 -1921
  431. package/dist/Security.cjs.js.map +0 -1
  432. package/dist/Security.js +0 -1895
  433. package/dist/Security.js.map +0 -1
  434. package/dist/SendToFields.cjs.js +0 -2524
  435. package/dist/SendToFields.cjs.js.map +0 -1
  436. package/dist/SendToFields.js +0 -2517
  437. package/dist/SendToFields.js.map +0 -1
  438. package/dist/Settings.cjs.js +0 -501
  439. package/dist/Settings.cjs.js.map +0 -1
  440. package/dist/Settings.js +0 -495
  441. package/dist/Settings.js.map +0 -1
  442. package/dist/ShareViaEmail.cjs.js +0 -4272
  443. package/dist/ShareViaEmail.cjs.js.map +0 -1
  444. package/dist/ShareViaEmail.js +0 -4246
  445. package/dist/ShareViaEmail.js.map +0 -1
  446. package/dist/ShareViaLink.cjs.js +0 -1512
  447. package/dist/ShareViaLink.cjs.js.map +0 -1
  448. package/dist/ShareViaLink.js +0 -1486
  449. package/dist/ShareViaLink.js.map +0 -1
  450. package/dist/Sidebar.cjs.js +0 -34985
  451. package/dist/Sidebar.cjs.js.map +0 -1
  452. package/dist/Sidebar.js +0 -34959
  453. package/dist/Sidebar.js.map +0 -1
  454. package/dist/SubHeader.cjs.js +0 -283
  455. package/dist/SubHeader.cjs.js.map +0 -1
  456. package/dist/SubHeader.js +0 -276
  457. package/dist/SubHeader.js.map +0 -1
  458. package/dist/TableWrapper.cjs.js +0 -87
  459. package/dist/TableWrapper.cjs.js.map +0 -1
  460. package/dist/TableWrapper.js +0 -81
  461. package/dist/TableWrapper.js.map +0 -1
  462. package/dist/ThemeSidebar.cjs.js +0 -13705
  463. package/dist/ThemeSidebar.cjs.js.map +0 -1
  464. package/dist/ThemeSidebar.js +0 -13680
  465. package/dist/ThemeSidebar.js.map +0 -1
  466. package/dist/TimeFormat.cjs.js +0 -53
  467. package/dist/TimeFormat.cjs.js.map +0 -1
  468. package/dist/TimeFormat.js +0 -47
  469. package/dist/TimeFormat.js.map +0 -1
  470. package/dist/TimezoneMismatchModal.cjs.js +0 -176
  471. package/dist/TimezoneMismatchModal.cjs.js.map +0 -1
  472. package/dist/TimezoneMismatchModal.js +0 -168
  473. package/dist/TimezoneMismatchModal.js.map +0 -1
  474. package/dist/ToggleFeatureCard.cjs.js +0 -389
  475. package/dist/ToggleFeatureCard.cjs.js.map +0 -1
  476. package/dist/ToggleFeatureCard.js +0 -383
  477. package/dist/ToggleFeatureCard.js.map +0 -1
package/dist/Schedule.js DELETED
@@ -1,1046 +0,0 @@
1
- import React, { createContext, useContext, useState, useEffect, useImperativeHandle, forwardRef } from 'react';
2
- import { FieldArray, ErrorMessage, useFormikContext, Formik, Form as Form$1 } from 'formik';
3
- import { findIndexBy, isPresent, toLabelAndValue, isNotPresent, noop } from '@bigbinary/neeto-commons-frontend/pure';
4
- import { uniq, pluck, difference, append, without, identity, mergeRight, pick, assoc } from 'ramda';
5
- import { timeFormat, joinHyphenCase } from '@bigbinary/neeto-commons-frontend/utils';
6
- import { Typography, Button, Dropdown, Label, Checkbox as Checkbox$1, Tooltip } from '@bigbinary/neetoui';
7
- import { useTranslation } from 'react-i18next';
8
- import { ianaTimezoneToHumanReadable } from '@bigbinary/neeto-time-zones';
9
- import dayjs from 'dayjs';
10
- import i18next from 'i18next';
11
- import * as yup from 'yup';
12
- import customParseFormat from 'dayjs/plugin/customParseFormat';
13
- import timezone from 'dayjs/plugin/timezone';
14
- import utc from 'dayjs/plugin/utc';
15
- import weekday from 'dayjs/plugin/weekday';
16
- import { Delete, Plus, Copy, MenuVertical, MenuHorizontal } from '@bigbinary/neeto-icons';
17
- import { Select, Checkbox } from '@bigbinary/neetoui/formik';
18
-
19
- var DAYS = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
20
- var DEFAULT_SLOT_INTERVAL = 30;
21
- var MY_PROFILE_URL = "/auth/profile/edit";
22
-
23
- function _arrayWithHoles(arr) {
24
- if (Array.isArray(arr)) return arr;
25
- }
26
-
27
- function _iterableToArrayLimit(arr, i) {
28
- var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
29
- if (null != _i) {
30
- var _s,
31
- _e,
32
- _x,
33
- _r,
34
- _arr = [],
35
- _n = !0,
36
- _d = !1;
37
- try {
38
- if (_x = (_i = _i.call(arr)).next, 0 === i) {
39
- if (Object(_i) !== _i) return;
40
- _n = !1;
41
- } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
42
- } catch (err) {
43
- _d = !0, _e = err;
44
- } finally {
45
- try {
46
- if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
47
- } finally {
48
- if (_d) throw _e;
49
- }
50
- }
51
- return _arr;
52
- }
53
- }
54
-
55
- function _arrayLikeToArray$1(arr, len) {
56
- if (len == null || len > arr.length) len = arr.length;
57
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
58
- return arr2;
59
- }
60
-
61
- function _unsupportedIterableToArray$1(o, minLen) {
62
- if (!o) return;
63
- if (typeof o === "string") return _arrayLikeToArray$1(o, minLen);
64
- var n = Object.prototype.toString.call(o).slice(8, -1);
65
- if (n === "Object" && o.constructor) n = o.constructor.name;
66
- if (n === "Map" || n === "Set") return Array.from(o);
67
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen);
68
- }
69
-
70
- function _nonIterableRest() {
71
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
72
- }
73
-
74
- function _slicedToArray(arr, i) {
75
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest();
76
- }
77
-
78
- function _classCallCheck(instance, Constructor) {
79
- if (!(instance instanceof Constructor)) {
80
- throw new TypeError("Cannot call a class as a function");
81
- }
82
- }
83
-
84
- function _typeof(obj) {
85
- "@babel/helpers - typeof";
86
-
87
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
88
- return typeof obj;
89
- } : function (obj) {
90
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
91
- }, _typeof(obj);
92
- }
93
-
94
- function _toPrimitive(input, hint) {
95
- if (_typeof(input) !== "object" || input === null) return input;
96
- var prim = input[Symbol.toPrimitive];
97
- if (prim !== undefined) {
98
- var res = prim.call(input, hint || "default");
99
- if (_typeof(res) !== "object") return res;
100
- throw new TypeError("@@toPrimitive must return a primitive value.");
101
- }
102
- return (hint === "string" ? String : Number)(input);
103
- }
104
-
105
- function _toPropertyKey(arg) {
106
- var key = _toPrimitive(arg, "string");
107
- return _typeof(key) === "symbol" ? key : String(key);
108
- }
109
-
110
- function _defineProperties(target, props) {
111
- for (var i = 0; i < props.length; i++) {
112
- var descriptor = props[i];
113
- descriptor.enumerable = descriptor.enumerable || false;
114
- descriptor.configurable = true;
115
- if ("value" in descriptor) descriptor.writable = true;
116
- Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
117
- }
118
- }
119
- function _createClass(Constructor, protoProps, staticProps) {
120
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
121
- if (staticProps) _defineProperties(Constructor, staticProps);
122
- Object.defineProperty(Constructor, "prototype", {
123
- writable: false
124
- });
125
- return Constructor;
126
- }
127
-
128
- var INTERVALS = ["year", "quarter", "month", "week", "day", "hour", "minute", "second"];
129
-
130
- function _defineProperty(obj, key, value) {
131
- key = _toPropertyKey(key);
132
- if (key in obj) {
133
- Object.defineProperty(obj, key, {
134
- value: value,
135
- enumerable: true,
136
- configurable: true,
137
- writable: true
138
- });
139
- } else {
140
- obj[key] = value;
141
- }
142
- return obj;
143
- }
144
-
145
- function ownKeys$1(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; }
146
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
147
- var REMOVE_SELECT_DOWN_ARROW = {
148
- DropdownIndicator: function DropdownIndicator() {
149
- return null;
150
- },
151
- IndicatorSeparator: function IndicatorSeparator() {
152
- return null;
153
- }
154
- };
155
- var BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN = {
156
- singleValue: function singleValue(base, state) {
157
- return _objectSpread$1(_objectSpread$1({}, base), {}, {
158
- color: state.selectProps.menuIsOpen ? "#c2c8cc" : base.color
159
- });
160
- }
161
- };
162
- var SLOT_TIME_FORMAT = "hh:mm A";
163
- var END_OF_DAY = "11:59 PM";
164
-
165
- var DayjsRange = /*#__PURE__*/function () {
166
- function DayjsRange(startDate, endDate) {
167
- _classCallCheck(this, DayjsRange);
168
- var _ref = startDate > endDate ? {
169
- s: endDate,
170
- e: startDate
171
- } : {
172
- s: startDate,
173
- e: endDate
174
- },
175
- s = _ref.s,
176
- e = _ref.e;
177
- this.startDate = s;
178
- this.endDate = e;
179
- }
180
- _createClass(DayjsRange, [{
181
- key: "isValidRange",
182
- value: function isValidRange() {
183
- return this.startDate.isValid() && this.endDate.isValid();
184
- }
185
- }, {
186
- key: "isOverlap",
187
- value: function isOverlap(other) {
188
- if (!(other instanceof DayjsRange) || !other.isValidRange()) {
189
- return false;
190
- }
191
- return this.startDate < other.endDate && this.endDate > other.startDate;
192
- }
193
- }, {
194
- key: "toArrayOfTimeIntervals",
195
- value: function toArrayOfTimeIntervals() {
196
- var interval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 15;
197
- var startTime = this.startDate;
198
- var endTime = this.endDate.add(1, "days");
199
- var allTimes = [];
200
- while (startTime < endTime) {
201
- allTimes.push(startTime.format(SLOT_TIME_FORMAT));
202
- startTime = startTime.add(interval, "minutes");
203
- }
204
- return allTimes;
205
- }
206
- }]);
207
- return DayjsRange;
208
- }();
209
- function extendDayjs(dayjs) {
210
- dayjs.range = function range(start, end) {
211
- var dayjsObject = this;
212
- if (typeof start === "string" && INTERVALS.includes(start)) {
213
- return new DayjsRange(dayjs(dayjsObject).startOf(start), dayjs(dayjsObject).endOf(start));
214
- }
215
- return new DayjsRange(start, end);
216
- };
217
- dayjs.range.constructor = DayjsRange;
218
-
219
- // Returns timeIntervals in 12 hour clock format for the whole day with both AM or PM suffixed
220
- dayjs.timeIntervalsForDay = function (interval) {
221
- var _ref2 = [dayjs("00:00 AM", SLOT_TIME_FORMAT), dayjs("00:00 AM", SLOT_TIME_FORMAT)],
222
- startOfDay = _ref2[0],
223
- endOfDay = _ref2[1];
224
- var allIntervalsForADay = dayjs.range(startOfDay, endOfDay).toArrayOfTimeIntervals(interval);
225
- return allIntervalsForADay;
226
- };
227
- return dayjs;
228
- }
229
-
230
- dayjs.extend(utc);
231
- dayjs.extend(timezone);
232
- dayjs.extend(customParseFormat);
233
- dayjs.extend(weekday);
234
-
235
- // Add range and overlap functions to dayjs
236
- var dayjsExtended = extendDayjs(dayjs);
237
-
238
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
239
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
240
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
241
- yup.addMethod(yup.array, "ensureSlotsCantOverlap", function () {
242
- return this.test("ensureSlotsCantOverlap", function (periods) {
243
- var _checkForOverlapBetwe = checkForOverlapBetweenPeriods(periods),
244
- isOverlapping = _checkForOverlapBetwe.exists,
245
- range1 = _checkForOverlapBetwe.range1,
246
- range2 = _checkForOverlapBetwe.range2;
247
- if (!isOverlapping) return true;
248
- var _findIndicesOfOverlap = findIndicesOfOverlappingRangesInPeriods({
249
- range1: range1,
250
- range2: range2,
251
- periods: periods
252
- }),
253
- firstIndex = _findIndicesOfOverlap.firstIndex,
254
- secondIndex = _findIndicesOfOverlap.secondIndex;
255
- var firstError = this.createError({
256
- path: "".concat(this.path, "[").concat(firstIndex, "]"),
257
- message: i18next.t("neetoMolecules.schedule.errors.period.overlap", {
258
- start: timeFormat.time(range2.startDate),
259
- end: timeFormat.time(range2.endDate)
260
- })
261
- });
262
- var secondError = this.createError({
263
- path: "".concat(this.path, "[").concat(secondIndex, "]"),
264
- message: i18next.t("neetoMolecules.schedule.errors.period.overlap", {
265
- start: timeFormat.time(range1.startDate),
266
- end: timeFormat.time(range1.endDate)
267
- })
268
- });
269
- return new yup.ValidationError([firstError, secondError]);
270
- });
271
- });
272
- var isFromAndToSame = function isFromAndToSame(startTime, endTime) {
273
- if (!startTime || !endTime) return true;
274
- return dayjs(startTime, SLOT_TIME_FORMAT).isSame(dayjs(endTime, SLOT_TIME_FORMAT));
275
- };
276
- var getScheduleValidationSchema = function getScheduleValidationSchema() {
277
- return yup.object().shape({
278
- wdays: yup.array().of(yup.object().shape({
279
- periods: yup.array().of(yup.object().shape({
280
- startTime: yup.string().required(i18next.t("neetoMolecules.schedule.errors.period.startTime")),
281
- endTime: yup.string().required(i18next.t("neetoMolecules.schedule.errors.period.endTime")).test("ensureToTimeNotBehindFromTime", i18next.t("neetoMolecules.schedule.errors.period.isBehind"), function (value) {
282
- var startTime = this.parent.startTime;
283
- if (isFromAndToSame(value, startTime)) return true;
284
- return isTimeBehind(startTime, value);
285
- })
286
- }).test("ensureTimeNotSame", i18next.t("neetoMolecules.schedule.errors.period.sameTime"), function (value) {
287
- var startTime = value.startTime,
288
- endTime = value.endTime;
289
- return !isFromAndToSame(startTime, endTime);
290
- })).ensureSlotsCantOverlap()
291
- }))
292
- });
293
- };
294
- var getUserTimeZone = function getUserTimeZone() {
295
- var _window$globalProps;
296
- return (_window$globalProps = window.globalProps) === null || _window$globalProps === void 0 ? void 0 : _window$globalProps.user.timeZone;
297
- };
298
- var getTimeZoneAndTime = function getTimeZoneAndTime() {
299
- var timeZone = getUserTimeZone();
300
- var humanReadableTimezone = ianaTimezoneToHumanReadable(timeZone);
301
- return "".concat(humanReadableTimezone, ": ").concat(dayjs().tz(timeZone).format(SLOT_TIME_FORMAT));
302
- };
303
- var isTimeBehind = function isTimeBehind(timeA, timeB) {
304
- return dayjs(timeA, SLOT_TIME_FORMAT).isBefore(dayjs(timeB, SLOT_TIME_FORMAT));
305
- };
306
- var sortPeriodsByKey = function sortPeriodsByKey(_ref) {
307
- var periods = _ref.periods,
308
- key = _ref.key,
309
- _ref$order = _ref.order,
310
- order = _ref$order === void 0 ? "desc" : _ref$order;
311
- return periods.slice().sort(function (periodA, periodB) {
312
- var isPeriodBehind = isTimeBehind(periodA[key], periodB[key]);
313
- if (order === "desc") return isPeriodBehind ? 1 : -1;
314
- return isPeriodBehind ? -1 : 1;
315
- });
316
- };
317
-
318
- /**
319
- * Check for overlapping between entered periods
320
- * @typedef {Object} Slots
321
- * @property {Array<{startTime:string, endTime: string}>} periods - startTime and endTime
322
- * @param {Slots} periods - changed time periods
323
- * @return {{exists: boolean, range1: DayjsRange | null, range2:DayjsRange | null }} - overlapped ranges if exists
324
- */
325
- var checkForOverlapBetweenPeriods = function checkForOverlapBetweenPeriods(periods) {
326
- var response = {
327
- exists: false,
328
- range1: null,
329
- range2: null
330
- };
331
- if (!(periods !== null && periods !== void 0 && periods.length)) return response;
332
- var slotsSortedByStartTime = sortPeriodsByKey({
333
- periods: periods,
334
- key: "startTime"
335
- });
336
- var _iterator = _createForOfIteratorHelper(slotsSortedByStartTime.slice(0, -1).entries()),
337
- _step;
338
- try {
339
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
340
- var _step$value = _slicedToArray(_step.value, 2),
341
- index = _step$value[0],
342
- value = _step$value[1];
343
- var seg1 = value;
344
- var seg2 = slotsSortedByStartTime[index + 1];
345
- var range1 = dayjsExtended.range(dayjsExtended(seg1.startTime, SLOT_TIME_FORMAT), dayjsExtended(seg1.endTime, SLOT_TIME_FORMAT));
346
- var range2 = dayjsExtended.range(dayjsExtended(seg2.startTime, SLOT_TIME_FORMAT), dayjsExtended(seg2.endTime, SLOT_TIME_FORMAT));
347
- if (range1.isOverlap(range2)) {
348
- response = {
349
- exists: true,
350
- range1: range1,
351
- range2: range2
352
- };
353
- break;
354
- }
355
- }
356
- } catch (err) {
357
- _iterator.e(err);
358
- } finally {
359
- _iterator.f();
360
- }
361
- return response;
362
- };
363
- var findIndicesOfOverlappingRangesInPeriods = function findIndicesOfOverlappingRangesInPeriods(_ref2) {
364
- var range1 = _ref2.range1,
365
- range2 = _ref2.range2,
366
- periods = _ref2.periods;
367
- var firstIndex = findIndexBy({
368
- startTime: range1.startDate.format(SLOT_TIME_FORMAT)
369
- }, periods);
370
- var secondIndex = periods.findIndex(function (slot, index) {
371
- return index > firstIndex && slot.startTime === range2.startDate.format(SLOT_TIME_FORMAT);
372
- });
373
- return {
374
- firstIndex: firstIndex,
375
- secondIndex: secondIndex
376
- };
377
- };
378
-
379
- var DisplayAvailability = function DisplayAvailability(_ref) {
380
- var periods = _ref.periods;
381
- var _useTranslation = useTranslation(),
382
- t = _useTranslation.t;
383
- return /*#__PURE__*/React.createElement("div", {
384
- className: "w-full space-y-4"
385
- }, DAYS.map(function (day) {
386
- var _sortPeriodsByKey;
387
- return /*#__PURE__*/React.createElement("div", {
388
- className: "neeto-ui-rounded-md neeto-ui-shadow-s neeto-ui-border-gray-300 flex w-full items-start justify-start border py-4 px-12",
389
- key: day
390
- }, /*#__PURE__*/React.createElement(Typography, {
391
- className: "mt-0.5 w-16",
392
- "data-cy": joinHyphenCase(day, "day-text"),
393
- style: "h5",
394
- weight: "semibold"
395
- }, t("neetoMolecules.schedule.days.".concat(day))), /*#__PURE__*/React.createElement("div", {
396
- className: "flex w-9/12 flex-col items-center space-y-4"
397
- }, isPresent(periods[day]) ? (_sortPeriodsByKey = sortPeriodsByKey({
398
- periods: periods[day],
399
- key: "startTime",
400
- order: "asc"
401
- })) === null || _sortPeriodsByKey === void 0 ? void 0 : _sortPeriodsByKey.map(function (period) {
402
- return /*#__PURE__*/React.createElement("div", {
403
- className: "flex items-center space-x-4",
404
- key: period.id
405
- }, /*#__PURE__*/React.createElement(Typography, {
406
- className: "w-24 text-right",
407
- lineHeight: "relaxed",
408
- style: "h5",
409
- weight: "semibold",
410
- "data-cy": joinHyphenCase(day, period.startTime, "start-time-text")
411
- }, period.startTime), /*#__PURE__*/React.createElement(Typography, {
412
- className: "neeto-ui-text-gray-600",
413
- component: "span"
414
- }, "-"), /*#__PURE__*/React.createElement(Typography, {
415
- className: "w-24 text-left",
416
- lineHeight: "relaxed",
417
- style: "h5",
418
- weight: "semibold",
419
- "data-cy": joinHyphenCase(day, period.endTime, "start-time-text")
420
- }, period.endTime));
421
- }) : /*#__PURE__*/React.createElement(Typography, {
422
- className: "mx-8 mt-0.5",
423
- "data-cy": joinHyphenCase(day, "unavailable-time-text"),
424
- lineHeight: "relaxed",
425
- style: "h5"
426
- }, t("neetoMolecules.schedule.unavailable"))));
427
- }));
428
- };
429
-
430
- function _arrayWithoutHoles(arr) {
431
- if (Array.isArray(arr)) return _arrayLikeToArray$1(arr);
432
- }
433
-
434
- function _iterableToArray(iter) {
435
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
436
- }
437
-
438
- function _nonIterableSpread() {
439
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
440
- }
441
-
442
- function _toConsumableArray(arr) {
443
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread();
444
- }
445
-
446
- var buildSlotIntervals = function buildSlotIntervals(_ref) {
447
- var interval = _ref.interval,
448
- bookedSlots = _ref.bookedSlots,
449
- slotType = _ref.slotType,
450
- _ref$selectedValue = _ref.selectedValue,
451
- selectedValue = _ref$selectedValue === void 0 ? null : _ref$selectedValue;
452
- var selectedOption = {
453
- label: selectedValue,
454
- value: selectedValue
455
- };
456
- var allIntervalsForADay = dayjsExtended.timeIntervalsForDay(interval);
457
- allIntervalsForADay.push(END_OF_DAY);
458
- var uniqBookedSlots = uniq(pluck(slotType, bookedSlots));
459
- var slotsAvailableForBooking = difference(allIntervalsForADay, uniqBookedSlots);
460
- var slots = slotsAvailableForBooking.map(toLabelAndValue);
461
- return selectedValue ? sortSlots([selectedOption].concat(_toConsumableArray(slots))) : slots;
462
- };
463
- var sortSlots = function sortSlots(slots) {
464
- return slots.sort(function (a, b) {
465
- return isTimeBehind(a["value"], b["value"]) ? -1 : 1;
466
- });
467
- };
468
- var slotsSelectComponentDefaultValue = function slotsSelectComponentDefaultValue(slot) {
469
- return slot ? toLabelAndValue(slot) : "";
470
- };
471
- var padZeroes = function padZeroes(str) {
472
- return str.length % 2 === 0 ? str : "0".concat(str);
473
- };
474
- var customFilter = function customFilter(option, searchTerm) {
475
- if (isNotPresent(searchTerm)) return true;
476
- var doesNumberMatches = option.value.replace(":", "").startsWith(padZeroes(searchTerm.replaceAll(/\D+/gi, "")));
477
- var doesAmPmMatches = option.value.includes(searchTerm.toUpperCase().replaceAll(/[^a-z]/gi, ""));
478
- return doesNumberMatches && doesAmPmMatches;
479
- };
480
- var roundToNearestHour = function roundToNearestHour(time) {
481
- var minutes = time.minute();
482
- if (minutes === 59) return time.startOf("hour").add(1, "hour");
483
- return time.add(1, "hour");
484
- };
485
- var generateNewPeriod = function generateNewPeriod(periods, wday) {
486
- var lastEndTime = periods[periods.length - 1].endTime;
487
- var newStartTime = roundToNearestHour(dayjsExtended(lastEndTime, SLOT_TIME_FORMAT));
488
- var newEndTime = dayjsExtended(newStartTime, SLOT_TIME_FORMAT).add(1, "hour");
489
- return {
490
- startTime: dayjsExtended(newStartTime).format(SLOT_TIME_FORMAT),
491
- endTime: dayjsExtended(newEndTime).format(SLOT_TIME_FORMAT),
492
- wday: wday
493
- };
494
- };
495
- var addDefaultPeriod = function addDefaultPeriod(wday) {
496
- return {
497
- wday: wday,
498
- startTime: "09:00 AM",
499
- endTime: "05:00 PM"
500
- };
501
- };
502
-
503
- // To avoid prop drilling `allowAddPeriod` to `ScheduleRow` component
504
- // eslint-disable-next-line @bigbinary/neeto/use-zustand-for-global-state-management
505
- var ScheduleContext = /*#__PURE__*/createContext({
506
- allowAddPeriod: true
507
- });
508
-
509
- var ScheduleRow = function ScheduleRow(_ref) {
510
- var values = _ref.values,
511
- setFieldValue = _ref.setFieldValue,
512
- wdayIndex = _ref.wdayIndex,
513
- day = _ref.day;
514
- var _useTranslation = useTranslation(),
515
- t = _useTranslation.t;
516
- var handleAddRow = function handleAddRow(arrayHelpers) {
517
- if (isNotPresent(values.wdays[wdayIndex].periods)) {
518
- arrayHelpers.push(addDefaultPeriod(day));
519
- } else {
520
- arrayHelpers.push(generateNewPeriod(values.wdays[wdayIndex].periods, day));
521
- }
522
- setFieldValue("wdays[".concat(wdayIndex, "].available"), true);
523
- };
524
- var handleDeleteRow = function handleDeleteRow(arrayHelpers, index) {
525
- var isLastRowDeleted = values.wdays[wdayIndex].periods.length === 1;
526
- arrayHelpers.remove(index);
527
- setFieldValue("wdays[".concat(wdayIndex, "].available"), !isLastRowDeleted);
528
- };
529
- var _useContext = useContext(ScheduleContext),
530
- allowAddPeriod = _useContext.allowAddPeriod;
531
- return /*#__PURE__*/React.createElement(FieldArray, {
532
- name: "wdays[".concat(wdayIndex, "].periods"),
533
- render: function render(arrayHelpers) {
534
- var _values$wdays$wdayInd, _values$wdays$wdayInd2;
535
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
536
- className: "flex w-full items-start justify-between"
537
- }, isNotPresent((_values$wdays$wdayInd = values.wdays[wdayIndex]) === null || _values$wdays$wdayInd === void 0 ? void 0 : _values$wdays$wdayInd.periods) ? /*#__PURE__*/React.createElement("div", {
538
- className: "mx-auto mt-1 flex w-80 items-center justify-center"
539
- }, /*#__PURE__*/React.createElement(Typography, {
540
- "data-cy": "unavailable-text",
541
- lineHeight: "relaxed",
542
- style: "h5"
543
- }, t("neetoMolecules.schedule.unavailable"))) : /*#__PURE__*/React.createElement("div", {
544
- className: "w-full space-y-4"
545
- }, (_values$wdays$wdayInd2 = values.wdays[wdayIndex].periods) === null || _values$wdays$wdayInd2 === void 0 ? void 0 : _values$wdays$wdayInd2.map(function (period, index) {
546
- return /*#__PURE__*/React.createElement("div", {
547
- className: "mx-auto flex w-80 flex-col",
548
- key: "wdays[".concat(wdayIndex, "].periods[").concat(index, "]")
549
- }, /*#__PURE__*/React.createElement("div", {
550
- className: "flex min-w-full items-start space-x-3",
551
- "data-cy": "schedule-row"
552
- }, /*#__PURE__*/React.createElement(Select, {
553
- isClearable: true,
554
- isSearchable: true,
555
- className: "w-full",
556
- components: REMOVE_SELECT_DOWN_ARROW,
557
- filterOption: customFilter,
558
- name: "wdays[".concat(wdayIndex, "].periods[").concat(index, "].startTime"),
559
- placeholder: t("neetoMolecules.schedule.startTime"),
560
- styles: BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN,
561
- options: buildSlotIntervals({
562
- interval: DEFAULT_SLOT_INTERVAL,
563
- bookedSlots: values.wdays[wdayIndex].periods,
564
- slotType: "startTime",
565
- selectedValue: period === null || period === void 0 ? void 0 : period.startTime
566
- }),
567
- value: slotsSelectComponentDefaultValue(period === null || period === void 0 ? void 0 : period.startTime),
568
- onChange: function onChange(e) {
569
- return setFieldValue("wdays[".concat(wdayIndex, "].periods[").concat(index, "].startTime"), (e === null || e === void 0 ? void 0 : e.value) || "");
570
- }
571
- }), /*#__PURE__*/React.createElement(Select, {
572
- isClearable: true,
573
- isSearchable: true,
574
- className: "w-full",
575
- components: REMOVE_SELECT_DOWN_ARROW,
576
- filterOption: customFilter,
577
- name: "wdays[".concat(wdayIndex, "].periods[").concat(index, "].endTime"),
578
- placeholder: t("neetoMolecules.schedule.endTime"),
579
- styles: BLUR_TEXT_WHEN_SELECT_MENU_IS_OPEN,
580
- options: buildSlotIntervals({
581
- interval: DEFAULT_SLOT_INTERVAL,
582
- bookedSlots: values.wdays[wdayIndex].periods,
583
- slotType: "endTime",
584
- selectedValue: period === null || period === void 0 ? void 0 : period.endTime
585
- }),
586
- value: slotsSelectComponentDefaultValue(period === null || period === void 0 ? void 0 : period.endTime),
587
- onChange: function onChange(e) {
588
- return setFieldValue("wdays[".concat(wdayIndex, "].periods[").concat(index, "].endTime"), (e === null || e === void 0 ? void 0 : e.value) || "");
589
- }
590
- }), /*#__PURE__*/React.createElement(Delete, {
591
- className: "hover:neeto-ui-text-error-600 mt-2 w-16 cursor-pointer",
592
- "data-cy": "delete-period-button",
593
- size: 20,
594
- onClick: function onClick() {
595
- return handleDeleteRow(arrayHelpers, index);
596
- }
597
- })), /*#__PURE__*/React.createElement(ErrorMessage, {
598
- name: "wdays[".concat(wdayIndex, "].periods[").concat(index, "]")
599
- }, function (message) {
600
- return _typeof(message) !== "object" && /*#__PURE__*/React.createElement("span", {
601
- className: "neeto-ui-text-error-500 mt-1 w-11/12 px-2 text-xs"
602
- }, message);
603
- }));
604
- }))), allowAddPeriod && /*#__PURE__*/React.createElement(Button, {
605
- className: "flex-shrink-0",
606
- "data-cy": "add-new-period-button",
607
- "data-testid": "add-new-period-button",
608
- icon: Plus,
609
- tooltipProps: {
610
- content: t("neetoMolecules.schedule.addNewPeriod"),
611
- position: "top",
612
- hideAfter: 5000
613
- },
614
- onClick: function onClick() {
615
- return handleAddRow(arrayHelpers);
616
- }
617
- }));
618
- }
619
- });
620
- };
621
-
622
- var Form = function Form(_ref) {
623
- var day = _ref.day,
624
- handleCopy = _ref.handleCopy,
625
- values = _ref.values,
626
- setFieldValue = _ref.setFieldValue,
627
- index = _ref.index;
628
- var _useState = useState([]),
629
- _useState2 = _slicedToArray(_useState, 2),
630
- deletedPeriods = _useState2[0],
631
- setDeletedPeriods = _useState2[1];
632
- var _useState3 = useState([]),
633
- _useState4 = _slicedToArray(_useState3, 2),
634
- wdaysToCopy = _useState4[0],
635
- setWdaysToCopy = _useState4[1];
636
- var _useTranslation = useTranslation(),
637
- t = _useTranslation.t;
638
- var restoreDeletedPeriods = function restoreDeletedPeriods(setFieldValue) {
639
- setFieldValue("wdays[".concat(index, "].periods"), deletedPeriods);
640
- };
641
- var uncheckCheckbox = function uncheckCheckbox(setFieldValue, values) {
642
- var _values$wdays$index$p;
643
- setFieldValue("wdays[".concat(index, "].available"), false);
644
- setFieldValue("wdays[".concat(index, "].periods"), []);
645
- if ((_values$wdays$index$p = values.wdays[index].periods[0]) !== null && _values$wdays$index$p !== void 0 && _values$wdays$index$p.id) {
646
- setDeletedPeriods(values.wdays[index].periods.filter(function (item) {
647
- return item.startTime && item.endTime;
648
- }).map(identity));
649
- }
650
- };
651
- var checkCheckbox = function checkCheckbox(setFieldValue) {
652
- var _deletedPeriods$;
653
- setFieldValue("wdays[".concat(index, "].available"), true);
654
- if ((_deletedPeriods$ = deletedPeriods[0]) !== null && _deletedPeriods$ !== void 0 && _deletedPeriods$.startTime) {
655
- restoreDeletedPeriods(setFieldValue);
656
- } else if (isNotPresent(values.wdays[index].periods)) {
657
- setFieldValue("wdays[".concat(index, "].periods"), [addDefaultPeriod(day)]);
658
- } else {
659
- setFieldValue("wdays[".concat(index, "].periods"), [""]);
660
- }
661
- };
662
- var handleCheckbox = function handleCheckbox(setFieldValue, values) {
663
- if (values.wdays[index].available) {
664
- uncheckCheckbox(setFieldValue, values);
665
- } else {
666
- checkCheckbox(setFieldValue);
667
- }
668
- };
669
- var handleCopyChange = function handleCopyChange(e, day) {
670
- return setWdaysToCopy(e.target.checked ? append(day) : without([day]));
671
- };
672
- return /*#__PURE__*/React.createElement("div", {
673
- className: "neeto-ui-rounded-md neeto-ui-shadow-s neeto-ui-border-gray-300 w-full border px-6"
674
- }, /*#__PURE__*/React.createElement("div", {
675
- className: "my-4 flex w-full items-start space-x-4",
676
- "data-cy": "working-day-container"
677
- }, /*#__PURE__*/React.createElement("div", {
678
- className: "mt-1 flex w-16 items-center justify-start"
679
- }, /*#__PURE__*/React.createElement(Checkbox, {
680
- "aria-label": "wdays[".concat(index, "].available"),
681
- checked: values.wdays[index].available,
682
- "data-cy": joinHyphenCase(day, "weekly-hours-checkbox"),
683
- id: "day",
684
- name: "wdays[".concat(index, "].available"),
685
- onChange: function onChange() {
686
- return handleCheckbox(setFieldValue, values);
687
- }
688
- }), /*#__PURE__*/React.createElement(Typography, {
689
- className: "ml-2 capitalize",
690
- component: "span",
691
- "data-cy": joinHyphenCase(day, "day-text"),
692
- style: "body2",
693
- weight: "semibold"
694
- }, t("neetoMolecules.schedule.days.".concat(day)))), /*#__PURE__*/React.createElement(ScheduleRow, {
695
- day: day,
696
- setFieldValue: setFieldValue,
697
- values: values,
698
- wdayIndex: index
699
- }), /*#__PURE__*/React.createElement(Dropdown, {
700
- closeOnSelect: true,
701
- buttonStyle: "secondary",
702
- icon: Copy,
703
- position: "right-start",
704
- buttonProps: {
705
- tooltipProps: {
706
- content: t("neetoMolecules.schedule.copyScheduleTooltip"),
707
- position: "top",
708
- hideAfter: 5000
709
- },
710
- className: "flex-shrink-0",
711
- "data-testid": joinHyphenCase(day, "copy-schedule-icon"),
712
- "data-cy": joinHyphenCase(day, "copy-schedule-icon")
713
- },
714
- onClose: function onClose() {
715
- return setWdaysToCopy([]);
716
- }
717
- }, /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(Typography, {
718
- style: "h5"
719
- }, t("neetoMolecules.schedule.copySchedule"))), DAYS.filter(function (copyDay) {
720
- return copyDay !== day;
721
- }).map(function (day) {
722
- return /*#__PURE__*/React.createElement("li", {
723
- key: day,
724
- onClick: function onClick(e) {
725
- return e.stopPropagation();
726
- }
727
- }, /*#__PURE__*/React.createElement(Label, {
728
- className: "w-full cursor-pointer capitalize"
729
- }, /*#__PURE__*/React.createElement(Checkbox$1, {
730
- checked: wdaysToCopy.includes(day),
731
- id: day,
732
- label: t("neetoMolecules.schedule.days.".concat(day)),
733
- onChange: function onChange(e) {
734
- return handleCopyChange(e, day);
735
- }
736
- })));
737
- }), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(Button, {
738
- "data-cy": "copy-schedule-submit-button",
739
- disabled: isNotPresent(wdaysToCopy),
740
- label: t("neetoMolecules.common.actions.submit"),
741
- size: "small",
742
- onClick: function onClick() {
743
- handleCopy({
744
- values: values,
745
- index: index,
746
- setFieldValue: setFieldValue,
747
- wdaysToCopy: wdaysToCopy
748
- });
749
- setWdaysToCopy([]);
750
- }
751
- })))));
752
- };
753
-
754
- var Fields = function Fields(_ref) {
755
- var handleCopy = _ref.handleCopy,
756
- handleValuesChanged = _ref.handleValuesChanged,
757
- scheduleRef = _ref.scheduleRef;
758
- var _useFormikContext = useFormikContext(),
759
- values = _useFormikContext.values,
760
- setFieldValue = _useFormikContext.setFieldValue,
761
- resetForm = _useFormikContext.resetForm,
762
- errors = _useFormikContext.errors;
763
- useEffect(function () {
764
- return handleValuesChanged(values);
765
- }, [values]);
766
- useImperativeHandle(scheduleRef, function () {
767
- return {
768
- resetForm: resetForm,
769
- errors: errors
770
- };
771
- });
772
- return /*#__PURE__*/React.createElement(FieldArray, {
773
- name: "wdays",
774
- render: function render() {
775
- return /*#__PURE__*/React.createElement("div", {
776
- className: "space-y-4"
777
- }, values.wdays.map(function (item, index) {
778
- return /*#__PURE__*/React.createElement(Form, {
779
- day: DAYS.find(function (day) {
780
- return day === item.wday;
781
- }),
782
- handleCopy: handleCopy,
783
- index: index,
784
- key: item.wday,
785
- setFieldValue: setFieldValue,
786
- values: values
787
- });
788
- }));
789
- }
790
- });
791
- };
792
-
793
- function _objectWithoutPropertiesLoose(source, excluded) {
794
- if (source == null) return {};
795
- var target = {};
796
- var sourceKeys = Object.keys(source);
797
- var key, i;
798
- for (i = 0; i < sourceKeys.length; i++) {
799
- key = sourceKeys[i];
800
- if (excluded.indexOf(key) >= 0) continue;
801
- target[key] = source[key];
802
- }
803
- return target;
804
- }
805
-
806
- function _objectWithoutProperties(source, excluded) {
807
- if (source == null) return {};
808
- var target = _objectWithoutPropertiesLoose(source, excluded);
809
- var key, i;
810
- if (Object.getOwnPropertySymbols) {
811
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
812
- for (i = 0; i < sourceSymbolKeys.length; i++) {
813
- key = sourceSymbolKeys[i];
814
- if (excluded.indexOf(key) >= 0) continue;
815
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
816
- target[key] = source[key];
817
- }
818
- }
819
- return target;
820
- }
821
-
822
- function _extends() {
823
- _extends = Object.assign ? Object.assign.bind() : function (target) {
824
- for (var i = 1; i < arguments.length; i++) {
825
- var source = arguments[i];
826
- for (var key in source) {
827
- if (Object.prototype.hasOwnProperty.call(source, key)) {
828
- target[key] = source[key];
829
- }
830
- }
831
- }
832
- return target;
833
- };
834
- return _extends.apply(this, arguments);
835
- }
836
-
837
- var MENU_ITEM_TYPES = {
838
- menuItem: "menuItem",
839
- divider: "divider"
840
- };
841
- var DEFAULT_TOOLTIP_PROPS = {
842
- disabled: true,
843
- position: "bottom"
844
- };
845
-
846
- var _excluded = ["key", "onClick", "label", "type", "isVisible"];
847
- 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; }
848
- 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; }
849
- var Menu = Dropdown.Menu,
850
- MenuItem = Dropdown.MenuItem,
851
- Divider = Dropdown.Divider;
852
- var MoreDropdown = function MoreDropdown(_ref) {
853
- var _ref$dropdownButtonPr = _ref.dropdownButtonProps,
854
- dropdownButtonProps = _ref$dropdownButtonPr === void 0 ? {} : _ref$dropdownButtonPr,
855
- _ref$isVertical = _ref.isVertical,
856
- isVertical = _ref$isVertical === void 0 ? false : _ref$isVertical,
857
- _ref$isDisabled = _ref.isDisabled,
858
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
859
- _ref$dropdownProps = _ref.dropdownProps,
860
- dropdownProps = _ref$dropdownProps === void 0 ? {} : _ref$dropdownProps,
861
- menuTopChildren = _ref.menuTopChildren,
862
- menuBottomChildren = _ref.menuBottomChildren,
863
- _ref$menuItems = _ref.menuItems,
864
- menuItems = _ref$menuItems === void 0 ? [] : _ref$menuItems;
865
- var tooltipProps = mergeRight(DEFAULT_TOOLTIP_PROPS, dropdownButtonProps.tooltipProps);
866
- var targetIcon = isVertical ? MenuVertical : MenuHorizontal;
867
- var isDropdownDisabled = isDisabled || dropdownProps.disabled;
868
- if (isDropdownDisabled && !tooltipProps.disabled) {
869
- return /*#__PURE__*/React.createElement(Tooltip, tooltipProps, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Button, _extends({
870
- disabled: true,
871
- "data-testid": "nui-dropdown-button",
872
- icon: targetIcon,
873
- iconPosition: "right",
874
- size: "medium",
875
- style: "text"
876
- }, dropdownButtonProps))));
877
- }
878
- return /*#__PURE__*/React.createElement(Dropdown, _extends({
879
- autoWidth: true,
880
- className: "flex",
881
- disabled: isDisabled,
882
- icon: targetIcon,
883
- buttonProps: _objectSpread({
884
- className: "min-h-0 flex-shrink-0",
885
- style: "text"
886
- }, dropdownButtonProps)
887
- }, dropdownProps), /*#__PURE__*/React.createElement(Menu, null, menuTopChildren, menuItems.map(function (_ref2) {
888
- var key = _ref2.key,
889
- onClick = _ref2.onClick,
890
- label = _ref2.label,
891
- _ref2$type = _ref2.type,
892
- type = _ref2$type === void 0 ? MENU_ITEM_TYPES.menuItem : _ref2$type,
893
- _ref2$isVisible = _ref2.isVisible,
894
- isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
895
- menuItemProps = _objectWithoutProperties(_ref2, _excluded);
896
- if (!isVisible) return null;
897
- return type === MENU_ITEM_TYPES.menuItem ? /*#__PURE__*/React.createElement(MenuItem.Button, _extends({
898
- key: key
899
- }, _objectSpread({
900
- onClick: onClick
901
- }, menuItemProps)), label) : /*#__PURE__*/React.createElement(Divider, {
902
- key: key
903
- });
904
- }), menuBottomChildren));
905
- };
906
-
907
- var Header = function Header(_ref) {
908
- var isEditing = _ref.isEditing,
909
- setIsEditing = _ref.setIsEditing;
910
- var _useFormikContext = useFormikContext(),
911
- dirty = _useFormikContext.dirty,
912
- resetForm = _useFormikContext.resetForm,
913
- submitForm = _useFormikContext.submitForm,
914
- isSubmitting = _useFormikContext.isSubmitting;
915
- var _useTranslation = useTranslation(),
916
- t = _useTranslation.t;
917
- var _useState = useState(getTimeZoneAndTime()),
918
- _useState2 = _slicedToArray(_useState, 2),
919
- timeZoneAndTime = _useState2[0],
920
- setTimeZoneAndTime = _useState2[1];
921
- var handleReset = function handleReset() {
922
- if (dirty) resetForm();else setIsEditing(false);
923
- };
924
- useEffect(function () {
925
- var time = setInterval(function () {
926
- setTimeZoneAndTime(getTimeZoneAndTime());
927
- }, 30000);
928
- return function () {
929
- return clearInterval(time);
930
- };
931
- }, []);
932
- return /*#__PURE__*/React.createElement("div", {
933
- className: "mb-4 flex justify-between"
934
- }, isEditing ? /*#__PURE__*/React.createElement("div", {
935
- className: "flex items-center space-x-4"
936
- }, /*#__PURE__*/React.createElement(Button, {
937
- "data-cy": "reset-button",
938
- style: "secondary",
939
- label: !dirty ? t("neetoMolecules.common.actions.cancel") : t("neetoMolecules.common.actions.reset"),
940
- onClick: handleReset
941
- }), /*#__PURE__*/React.createElement(Button, {
942
- "data-cy": "weekly-hours-save-changes-button",
943
- disabled: !dirty || isSubmitting,
944
- label: t("neetoMolecules.common.actions.saveChanges"),
945
- loading: isSubmitting,
946
- onClick: submitForm
947
- })) : /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
948
- "data-cy": "weekly-schedule-header",
949
- label: t("neetoMolecules.schedule.editSchedule"),
950
- style: "secondary",
951
- weight: "semibold",
952
- onClick: function onClick() {
953
- return setIsEditing(true);
954
- }
955
- })), /*#__PURE__*/React.createElement("div", {
956
- className: "flex items-center space-x-2"
957
- }, /*#__PURE__*/React.createElement(Tooltip, {
958
- content: t("neetoMolecules.schedule.timezoneTooltip"),
959
- position: "bottom"
960
- }, /*#__PURE__*/React.createElement(Typography, {
961
- component: "h4",
962
- "data-cy": "timezone-text",
963
- style: "h5",
964
- weight: "medium"
965
- }, timeZoneAndTime)), /*#__PURE__*/React.createElement(MoreDropdown, {
966
- menuItems: [{
967
- href: MY_PROFILE_URL,
968
- label: t("neetoMolecules.common.actions.changeTimezone"),
969
- target: "_blank",
970
- key: "change-timezone-option"
971
- }]
972
- })));
973
- };
974
-
975
- var Schedule = /*#__PURE__*/forwardRef(function (_ref, scheduleRef) {
976
- var periods = _ref.periods,
977
- _ref$handleSubmit = _ref.handleSubmit,
978
- handleSubmit = _ref$handleSubmit === void 0 ? noop : _ref$handleSubmit,
979
- _ref$isEditing = _ref.isEditing,
980
- isEditing = _ref$isEditing === void 0 ? false : _ref$isEditing,
981
- setIsEditing = _ref.setIsEditing,
982
- _ref$showHeader = _ref.showHeader,
983
- showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
984
- _ref$handleValuesChan = _ref.handleValuesChanged,
985
- handleValuesChanged = _ref$handleValuesChan === void 0 ? noop : _ref$handleValuesChan,
986
- _ref$allowAddPeriod = _ref.allowAddPeriod,
987
- allowAddPeriod = _ref$allowAddPeriod === void 0 ? true : _ref$allowAddPeriod;
988
- var handleCopy = function handleCopy(_ref2) {
989
- var _values$wdays$index$p;
990
- var values = _ref2.values,
991
- index = _ref2.index,
992
- setFieldValue = _ref2.setFieldValue,
993
- wdaysToCopy = _ref2.wdaysToCopy;
994
- 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"]));
995
- wdaysToCopy.forEach(function (wday) {
996
- var dayIndex = DAYS.indexOf(wday);
997
- setFieldValue("wdays[".concat(dayIndex, "].available"), isPresent(values.wdays[index].periods));
998
- setFieldValue("wdays[".concat(dayIndex, "].periods"), newPeriods.map(function (period) {
999
- return assoc("wday", wday, period);
1000
- }));
1001
- });
1002
- };
1003
- var getInitialFormValues = function getInitialFormValues() {
1004
- return DAYS.map(function (wday) {
1005
- var _periods$wday;
1006
- return {
1007
- periods: sortPeriodsByKey({
1008
- periods: periods[wday],
1009
- key: "startTime",
1010
- order: "asc"
1011
- }),
1012
- available: !!((_periods$wday = periods[wday]) !== null && _periods$wday !== void 0 && _periods$wday.length),
1013
- wday: wday
1014
- };
1015
- });
1016
- };
1017
- return /*#__PURE__*/React.createElement("div", {
1018
- className: "neeto-ui-border-gray-200 w-41 flex-shrink-0"
1019
- }, /*#__PURE__*/React.createElement(Formik, {
1020
- enableReinitialize: true,
1021
- initialValues: {
1022
- wdays: getInitialFormValues()
1023
- },
1024
- validationSchema: getScheduleValidationSchema(),
1025
- onSubmit: function onSubmit(values) {
1026
- return handleSubmit(values, getInitialFormValues());
1027
- }
1028
- }, /*#__PURE__*/React.createElement(React.Fragment, null, showHeader && /*#__PURE__*/React.createElement(Header, {
1029
- isEditing: isEditing,
1030
- setIsEditing: setIsEditing
1031
- }), isEditing || !showHeader ? /*#__PURE__*/React.createElement(Form$1, null, /*#__PURE__*/React.createElement(ScheduleContext.Provider, {
1032
- value: {
1033
- allowAddPeriod: allowAddPeriod
1034
- }
1035
- }, /*#__PURE__*/React.createElement(Fields, {
1036
- handleCopy: handleCopy,
1037
- handleValuesChanged: handleValuesChanged,
1038
- scheduleRef: scheduleRef
1039
- }))) : /*#__PURE__*/React.createElement(DisplayAvailability, {
1040
- periods: periods
1041
- }))));
1042
- });
1043
- Schedule.displayName = "Schedule";
1044
-
1045
- export { Schedule as default };
1046
- //# sourceMappingURL=Schedule.js.map