@bigbinary/neeto-molecules 1.1.9 → 1.1.11

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 (474) 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 +72 -0
  87. package/dist/IpRestriction/CurrentIp.js +26 -0
  88. package/dist/IpRestriction/FormRow.js +77 -0
  89. package/dist/IpRestriction/Row.js +86 -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 +11 -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 +67 -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/Security/AllowedKeywords/Add.js +38 -0
  182. package/dist/Security/AllowedKeywords/index.js +38 -0
  183. package/dist/Security/PasswordBlock.js +31 -0
  184. package/dist/Security/RadioBlock.js +38 -0
  185. package/dist/Security/api.js +12 -0
  186. package/dist/Security/constants.js +58 -0
  187. package/dist/Security/index.js +68 -0
  188. package/dist/Security/useSecurityApi.js +22 -0
  189. package/dist/Security/utils.js +31 -0
  190. package/dist/SendToFields/FilePicker.js +34 -0
  191. package/dist/SendToFields/constants.js +6 -0
  192. package/dist/SendToFields/index.js +102 -0
  193. package/dist/SendToFields/utils.js +54 -0
  194. package/dist/Settings/Category.js +30 -0
  195. package/dist/Settings/Item.js +38 -0
  196. package/dist/Settings/index.js +37 -0
  197. package/dist/Settings/utils.js +4 -0
  198. package/dist/ShareViaEmail/EmailBodyEditor.js +22 -0
  199. package/dist/ShareViaEmail/FilePicker.js +43 -0
  200. package/dist/ShareViaEmail/Form.js +101 -0
  201. package/dist/ShareViaEmail/FormikDatePicker.js +24 -0
  202. package/dist/ShareViaEmail/constants.js +14 -0
  203. package/dist/ShareViaEmail/index.js +89 -0
  204. package/dist/ShareViaEmail/utils.js +72 -0
  205. package/dist/ShareViaLink/EditURL.js +74 -0
  206. package/dist/ShareViaLink/Link.js +105 -0
  207. package/dist/ShareViaLink/QRCode.js +41 -0
  208. package/dist/ShareViaLink/RegenerateURL.js +47 -0
  209. package/dist/ShareViaLink/SocialMedia.js +52 -0
  210. package/dist/ShareViaLink/constants.js +25 -0
  211. package/dist/ShareViaLink/edit-url.scss +8 -0
  212. package/dist/ShareViaLink/index.js +46 -0
  213. package/dist/ShareViaLink/utils.js +47 -0
  214. package/dist/Sidebar/AppSwitcher/AppLink.js +45 -0
  215. package/dist/Sidebar/AppSwitcher/Backdrop.js +13 -0
  216. package/dist/Sidebar/AppSwitcher/Body.js +65 -0
  217. package/dist/Sidebar/AppSwitcher/Portal.js +27 -0
  218. package/dist/Sidebar/AppSwitcher/appswitcher.scss +164 -0
  219. package/dist/Sidebar/AppSwitcher/index.js +47 -0
  220. package/dist/Sidebar/AppSwitcher/utils.js +25 -0
  221. package/dist/Sidebar/Chevron.js +14 -0
  222. package/dist/Sidebar/FeaturedTooltip.js +19 -0
  223. package/dist/Sidebar/Footer/AppSwitcherButton.js +48 -0
  224. package/dist/Sidebar/Footer/ProfileButton.js +30 -0
  225. package/dist/Sidebar/Footer/index.js +56 -0
  226. package/dist/Sidebar/Footer/utils.js +39 -0
  227. package/dist/Sidebar/Header.js +33 -0
  228. package/dist/Sidebar/HelpSection/HelpSectionMenu.js +52 -0
  229. package/dist/Sidebar/HelpSection/index.js +32 -0
  230. package/dist/Sidebar/Links.js +112 -0
  231. package/dist/Sidebar/NavIconWrapper.js +20 -0
  232. package/dist/Sidebar/ProfileSection/LinkSection.js +36 -0
  233. package/dist/Sidebar/ProfileSection/ProfileMenu.js +48 -0
  234. package/dist/Sidebar/ProfileSection/index.js +42 -0
  235. package/dist/Sidebar/constants.js +40 -0
  236. package/dist/Sidebar/index.js +94 -0
  237. package/dist/Sidebar/sidebar.scss +379 -0
  238. package/dist/Sidebar/utils.js +18 -0
  239. package/dist/SubHeader/RightBlock/Columns.js +35 -0
  240. package/dist/SubHeader/RightBlock/Download.js +28 -0
  241. package/dist/SubHeader/RightBlock/Filter.js +31 -0
  242. package/dist/SubHeader/RightBlock/index.js +21 -0
  243. package/dist/SubHeader/RightBlock/utils.js +13 -0
  244. package/dist/SubHeader/index.js +28 -0
  245. package/dist/SubHeader/subheader.scss +78 -0
  246. package/dist/TableWrapper/index.js +18 -0
  247. package/dist/ThemeSidebar/Customize/Logo.js +39 -0
  248. package/dist/ThemeSidebar/Customize/Properties.js +170 -0
  249. package/dist/ThemeSidebar/Customize/index.js +66 -0
  250. package/dist/ThemeSidebar/Themes/ThemeCard.js +135 -0
  251. package/dist/ThemeSidebar/Themes/index.js +110 -0
  252. package/dist/ThemeSidebar/TitleBar.js +62 -0
  253. package/dist/ThemeSidebar/constants.js +127 -0
  254. package/dist/ThemeSidebar/fields/AlignmentBlock.js +50 -0
  255. package/dist/ThemeSidebar/fields/Card.js +19 -0
  256. package/dist/ThemeSidebar/fields/ColorBlock.js +19 -0
  257. package/dist/ThemeSidebar/fields/FontPickerBlock.js +35 -0
  258. package/dist/ThemeSidebar/fields/ImageBlock/ImageUploader.js +67 -0
  259. package/dist/ThemeSidebar/fields/ImageBlock/ProgressBar.js +22 -0
  260. package/dist/ThemeSidebar/fields/ImageBlock/index.js +55 -0
  261. package/dist/ThemeSidebar/fields/SelectBlock.js +24 -0
  262. package/dist/ThemeSidebar/fields/SliderBlock.js +30 -0
  263. package/dist/ThemeSidebar/fields/SwitchBlock.js +17 -0
  264. package/dist/ThemeSidebar/fields/TextBlock.js +13 -0
  265. package/dist/ThemeSidebar/fields/slider.scss +199 -0
  266. package/dist/ThemeSidebar/hooks/useDirectUploadDropzone.js +149 -0
  267. package/dist/ThemeSidebar/index.js +118 -0
  268. package/dist/ThemeSidebar/themeSidebar.scss +45 -0
  269. package/dist/ThemeSidebar/utils.js +169 -0
  270. package/dist/TimeFormat/index.js +3 -0
  271. package/dist/TimezoneMismatchModal/apis/time_zone.js +9 -0
  272. package/dist/TimezoneMismatchModal/index.js +83 -0
  273. package/dist/TimezoneMismatchModal/useTimeZoneApi.js +10 -0
  274. package/dist/TimezoneMismatchModal/utils.js +12 -0
  275. package/dist/ToggleFeatureCard/ToolTipSwitch.js +31 -0
  276. package/dist/ToggleFeatureCard/constants.js +5 -0
  277. package/dist/ToggleFeatureCard/hooks/useScrollIntoView.js +11 -0
  278. package/dist/ToggleFeatureCard/index.js +148 -0
  279. package/dist/ToggleFeatureCard/toggleFeatureCard.scss +4 -0
  280. package/package.json +28 -35
  281. package/dist/AutoSaveInput.cjs.js +0 -724
  282. package/dist/AutoSaveInput.cjs.js.map +0 -1
  283. package/dist/AutoSaveInput.js +0 -718
  284. package/dist/AutoSaveInput.js.map +0 -1
  285. package/dist/Breadcrumbs.cjs.js +0 -44
  286. package/dist/Breadcrumbs.cjs.js.map +0 -1
  287. package/dist/Breadcrumbs.js +0 -38
  288. package/dist/Breadcrumbs.js.map +0 -1
  289. package/dist/BrowserSupport.cjs.js +0 -1731
  290. package/dist/BrowserSupport.cjs.js.map +0 -1
  291. package/dist/BrowserSupport.js +0 -1725
  292. package/dist/BrowserSupport.js.map +0 -1
  293. package/dist/CalendarView.cjs.js +0 -610
  294. package/dist/CalendarView.cjs.js.map +0 -1
  295. package/dist/CalendarView.js +0 -598
  296. package/dist/CalendarView.js.map +0 -1
  297. package/dist/Codeblock.cjs.js +0 -302
  298. package/dist/Codeblock.cjs.js.map +0 -1
  299. package/dist/Codeblock.js +0 -296
  300. package/dist/Codeblock.js.map +0 -1
  301. package/dist/Columns.cjs.js +0 -248
  302. package/dist/Columns.cjs.js.map +0 -1
  303. package/dist/Columns.js.map +0 -1
  304. package/dist/ConfirmationModal.cjs.js +0 -87
  305. package/dist/ConfirmationModal.cjs.js.map +0 -1
  306. package/dist/ConfirmationModal.js.map +0 -1
  307. package/dist/Container.cjs.js +0 -1277
  308. package/dist/Container.cjs.js.map +0 -1
  309. package/dist/Container.js +0 -1271
  310. package/dist/Container.js.map +0 -1
  311. package/dist/CopyToClipboardButton.cjs.js +0 -275
  312. package/dist/CopyToClipboardButton.cjs.js.map +0 -1
  313. package/dist/CopyToClipboardButton.js +0 -269
  314. package/dist/CopyToClipboardButton.js.map +0 -1
  315. package/dist/CustomDomain.cjs.js +0 -774
  316. package/dist/CustomDomain.cjs.js.map +0 -1
  317. package/dist/CustomDomain.js +0 -747
  318. package/dist/CustomDomain.js.map +0 -1
  319. package/dist/CustomDomainDashboard.cjs.js +0 -2370
  320. package/dist/CustomDomainDashboard.cjs.js.map +0 -1
  321. package/dist/CustomDomainDashboard.js +0 -2342
  322. package/dist/CustomDomainDashboard.js.map +0 -1
  323. package/dist/DateFormat.cjs.js +0 -51
  324. package/dist/DateFormat.cjs.js.map +0 -1
  325. package/dist/DateFormat.js.map +0 -1
  326. package/dist/DateRangeFilter.cjs.js +0 -236
  327. package/dist/DateRangeFilter.cjs.js.map +0 -1
  328. package/dist/DateRangeFilter.js +0 -229
  329. package/dist/DateRangeFilter.js.map +0 -1
  330. package/dist/DynamicVariables.cjs.js +0 -189
  331. package/dist/DynamicVariables.cjs.js.map +0 -1
  332. package/dist/DynamicVariables.js +0 -183
  333. package/dist/DynamicVariables.js.map +0 -1
  334. package/dist/EmailForm.cjs.js +0 -4295
  335. package/dist/EmailForm.cjs.js.map +0 -1
  336. package/dist/EmailForm.js +0 -4265
  337. package/dist/EmailForm.js.map +0 -1
  338. package/dist/EmailPreview.cjs.js +0 -1419
  339. package/dist/EmailPreview.cjs.js.map +0 -1
  340. package/dist/EmailPreview.js +0 -1413
  341. package/dist/EmailPreview.js.map +0 -1
  342. package/dist/ErrorPage.cjs.js +0 -226
  343. package/dist/ErrorPage.cjs.js.map +0 -1
  344. package/dist/ErrorPage.js.map +0 -1
  345. package/dist/Header.cjs.js +0 -188
  346. package/dist/Header.cjs.js.map +0 -1
  347. package/dist/Header.js +0 -182
  348. package/dist/Header.js.map +0 -1
  349. package/dist/IconPicker.cjs.js +0 -1308
  350. package/dist/IconPicker.cjs.js.map +0 -1
  351. package/dist/IconPicker.js +0 -1302
  352. package/dist/IconPicker.js.map +0 -1
  353. package/dist/ImageWithFallback.cjs.js +0 -247
  354. package/dist/ImageWithFallback.cjs.js.map +0 -1
  355. package/dist/ImageWithFallback.js +0 -241
  356. package/dist/ImageWithFallback.js.map +0 -1
  357. package/dist/IntegrationCard.cjs.js +0 -409
  358. package/dist/IntegrationCard.cjs.js.map +0 -1
  359. package/dist/IntegrationCard.js +0 -403
  360. package/dist/IntegrationCard.js.map +0 -1
  361. package/dist/IntegrationDisconnectAlert.cjs.js +0 -89
  362. package/dist/IntegrationDisconnectAlert.cjs.js.map +0 -1
  363. package/dist/IntegrationDisconnectAlert.js +0 -80
  364. package/dist/IntegrationDisconnectAlert.js.map +0 -1
  365. package/dist/IntegrationWalkthroughModal.cjs.js +0 -50
  366. package/dist/IntegrationWalkthroughModal.cjs.js.map +0 -1
  367. package/dist/IntegrationWalkthroughModal.js.map +0 -1
  368. package/dist/IpRestriction.cjs.js +0 -3931
  369. package/dist/IpRestriction.cjs.js.map +0 -1
  370. package/dist/IpRestriction.js +0 -3905
  371. package/dist/IpRestriction.js.map +0 -1
  372. package/dist/KeyboardShortcuts.cjs.js +0 -2244
  373. package/dist/KeyboardShortcuts.cjs.js.map +0 -1
  374. package/dist/KeyboardShortcuts.js +0 -2237
  375. package/dist/KeyboardShortcuts.js.map +0 -1
  376. package/dist/LoginPage.cjs.js +0 -618
  377. package/dist/LoginPage.cjs.js.map +0 -1
  378. package/dist/LoginPage.js +0 -593
  379. package/dist/LoginPage.js.map +0 -1
  380. package/dist/MenuBar.cjs.js +0 -34273
  381. package/dist/MenuBar.cjs.js.map +0 -1
  382. package/dist/MenuBar.js +0 -34267
  383. package/dist/MenuBar.js.map +0 -1
  384. package/dist/Metadata.cjs.js +0 -272
  385. package/dist/Metadata.cjs.js.map +0 -1
  386. package/dist/Metadata.js +0 -266
  387. package/dist/Metadata.js.map +0 -1
  388. package/dist/MoreDropdown.cjs.js +0 -168
  389. package/dist/MoreDropdown.cjs.js.map +0 -1
  390. package/dist/MoreDropdown.js.map +0 -1
  391. package/dist/NavigationHeader.cjs.js +0 -756
  392. package/dist/NavigationHeader.cjs.js.map +0 -1
  393. package/dist/NavigationHeader.js +0 -750
  394. package/dist/NavigationHeader.js.map +0 -1
  395. package/dist/NeetoWidget.cjs.js +0 -3375
  396. package/dist/NeetoWidget.cjs.js.map +0 -1
  397. package/dist/NeetoWidget.js +0 -3348
  398. package/dist/NeetoWidget.js.map +0 -1
  399. package/dist/PageLoader.cjs.js +0 -158
  400. package/dist/PageLoader.cjs.js.map +0 -1
  401. package/dist/PageLoader.js +0 -134
  402. package/dist/PageLoader.js.map +0 -1
  403. package/dist/PhoneNumber.cjs.js +0 -7021
  404. package/dist/PhoneNumber.cjs.js.map +0 -1
  405. package/dist/PhoneNumber.js +0 -6989
  406. package/dist/PhoneNumber.js.map +0 -1
  407. package/dist/PublishBlock.cjs.js +0 -224
  408. package/dist/PublishBlock.cjs.js.map +0 -1
  409. package/dist/PublishBlock.js +0 -218
  410. package/dist/PublishBlock.js.map +0 -1
  411. package/dist/Rename.cjs.js +0 -516
  412. package/dist/Rename.cjs.js.map +0 -1
  413. package/dist/Rename.js +0 -510
  414. package/dist/Rename.js.map +0 -1
  415. package/dist/ResponsiveDevicePicker.cjs.js +0 -260
  416. package/dist/ResponsiveDevicePicker.cjs.js.map +0 -1
  417. package/dist/ResponsiveDevicePicker.js +0 -254
  418. package/dist/ResponsiveDevicePicker.js.map +0 -1
  419. package/dist/Schedule.cjs.js +0 -1077
  420. package/dist/Schedule.cjs.js.map +0 -1
  421. package/dist/Schedule.js +0 -1046
  422. package/dist/Schedule.js.map +0 -1
  423. package/dist/Scrollable.cjs.js +0 -188
  424. package/dist/Scrollable.cjs.js.map +0 -1
  425. package/dist/Scrollable.js +0 -182
  426. package/dist/Scrollable.js.map +0 -1
  427. package/dist/Security.cjs.js +0 -1921
  428. package/dist/Security.cjs.js.map +0 -1
  429. package/dist/Security.js +0 -1895
  430. package/dist/Security.js.map +0 -1
  431. package/dist/SendToFields.cjs.js +0 -2524
  432. package/dist/SendToFields.cjs.js.map +0 -1
  433. package/dist/SendToFields.js +0 -2517
  434. package/dist/SendToFields.js.map +0 -1
  435. package/dist/Settings.cjs.js +0 -501
  436. package/dist/Settings.cjs.js.map +0 -1
  437. package/dist/Settings.js +0 -495
  438. package/dist/Settings.js.map +0 -1
  439. package/dist/ShareViaEmail.cjs.js +0 -4272
  440. package/dist/ShareViaEmail.cjs.js.map +0 -1
  441. package/dist/ShareViaEmail.js +0 -4246
  442. package/dist/ShareViaEmail.js.map +0 -1
  443. package/dist/ShareViaLink.cjs.js +0 -1512
  444. package/dist/ShareViaLink.cjs.js.map +0 -1
  445. package/dist/ShareViaLink.js +0 -1486
  446. package/dist/ShareViaLink.js.map +0 -1
  447. package/dist/Sidebar.cjs.js +0 -34985
  448. package/dist/Sidebar.cjs.js.map +0 -1
  449. package/dist/Sidebar.js +0 -34959
  450. package/dist/Sidebar.js.map +0 -1
  451. package/dist/SubHeader.cjs.js +0 -283
  452. package/dist/SubHeader.cjs.js.map +0 -1
  453. package/dist/SubHeader.js +0 -276
  454. package/dist/SubHeader.js.map +0 -1
  455. package/dist/TableWrapper.cjs.js +0 -87
  456. package/dist/TableWrapper.cjs.js.map +0 -1
  457. package/dist/TableWrapper.js +0 -81
  458. package/dist/TableWrapper.js.map +0 -1
  459. package/dist/ThemeSidebar.cjs.js +0 -13705
  460. package/dist/ThemeSidebar.cjs.js.map +0 -1
  461. package/dist/ThemeSidebar.js +0 -13680
  462. package/dist/ThemeSidebar.js.map +0 -1
  463. package/dist/TimeFormat.cjs.js +0 -53
  464. package/dist/TimeFormat.cjs.js.map +0 -1
  465. package/dist/TimeFormat.js +0 -47
  466. package/dist/TimeFormat.js.map +0 -1
  467. package/dist/TimezoneMismatchModal.cjs.js +0 -176
  468. package/dist/TimezoneMismatchModal.cjs.js.map +0 -1
  469. package/dist/TimezoneMismatchModal.js +0 -168
  470. package/dist/TimezoneMismatchModal.js.map +0 -1
  471. package/dist/ToggleFeatureCard.cjs.js +0 -389
  472. package/dist/ToggleFeatureCard.cjs.js.map +0 -1
  473. package/dist/ToggleFeatureCard.js +0 -383
  474. package/dist/ToggleFeatureCard.js.map +0 -1
@@ -0,0 +1,59 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["className", "icon", "label", "value", "style"];
6
+ import React, { useState, useEffect, useRef } from "react";
7
+ import classnames from "classnames";
8
+ import { copyToClipboard } from "@bigbinary/neeto-commons-frontend/utils";
9
+ import { Copy, Check } from "@bigbinary/neeto-icons";
10
+ import { Button } from "@bigbinary/neetoui";
11
+ import { TOOLTIP_CONFIG, TIME_OUT, BUTTON_STYLES } from "./constants";
12
+ import "./copyToClipboard.scss";
13
+ var CopyToClipboardButton = function CopyToClipboardButton(_ref) {
14
+ var _classnames;
15
+ var className = _ref.className,
16
+ _ref$icon = _ref.icon,
17
+ icon = _ref$icon === void 0 ? Copy : _ref$icon,
18
+ _ref$label = _ref.label,
19
+ label = _ref$label === void 0 ? "" : _ref$label,
20
+ value = _ref.value,
21
+ style = _ref.style,
22
+ otherProps = _objectWithoutProperties(_ref, _excluded);
23
+ var _useState = useState(false),
24
+ _useState2 = _slicedToArray(_useState, 2),
25
+ isChecked = _useState2[0],
26
+ setIsChecked = _useState2[1];
27
+ var ref = useRef();
28
+ var onHandleClick = function onHandleClick(event) {
29
+ event.preventDefault();
30
+ copyToClipboard(value, {
31
+ showToastr: false
32
+ });
33
+ setIsChecked(true);
34
+ setTimeout(function () {
35
+ setIsChecked(false);
36
+ }, TIME_OUT); // Reset copied state after 2 seconds
37
+ };
38
+
39
+ useEffect(function () {
40
+ if (ref.current) {
41
+ var buttonWidth = ref.current.clientWidth;
42
+ ref.current.style.minWidth = "".concat(buttonWidth, "px");
43
+ }
44
+ }, []);
45
+ var tooltipProps = label ? null : TOOLTIP_CONFIG;
46
+ var buttonLabel = isChecked && label ? "Copied" : label;
47
+ var buttonIcon = isChecked ? Check : icon;
48
+ return /*#__PURE__*/React.createElement(Button, _extends({
49
+ ref: ref,
50
+ style: style,
51
+ tooltipProps: tooltipProps,
52
+ "data-testid": "copy-button",
53
+ icon: buttonIcon,
54
+ label: buttonLabel,
55
+ className: classnames("neeto-molecules-copy-button", (_classnames = {}, _defineProperty(_classnames, className, className), _defineProperty(_classnames, "neeto-molecules-copy-button--active", isChecked), _classnames)),
56
+ onClick: onHandleClick
57
+ }, otherProps));
58
+ };
59
+ export default CopyToClipboardButton;
@@ -0,0 +1,98 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useState } from "react";
3
+ import { SINGULAR } from "@bigbinary/neeto-commons-frontend/constants";
4
+ import { isNotEmpty, noop } from "@bigbinary/neeto-commons-frontend/pure";
5
+ import { CustomDomain as NeetoUICustomDomainIcon } from "@bigbinary/neeto-icons";
6
+ import { Button, Tag, Spinner } from "@bigbinary/neetoui";
7
+ import { useTranslation } from "react-i18next";
8
+ import DeleteAlert from "../CustomDomainDashboard/DeleteAlert";
9
+ import ManageDomain from "../CustomDomainDashboard/Manage";
10
+ import { useFetchCustomDomains, useDeleteCustomDomain } from "../CustomDomainDashboard/useCustomDomainApi";
11
+ import MoreDropdown from "../MoreDropdown";
12
+ var CustomDomain = function CustomDomain(_ref) {
13
+ var url = _ref.url,
14
+ iconOnly = _ref.iconOnly;
15
+ var _useState = useState(false),
16
+ _useState2 = _slicedToArray(_useState, 2),
17
+ isPaneOpen = _useState2[0],
18
+ setIsPaneOpen = _useState2[1];
19
+ var _useState3 = useState(false),
20
+ _useState4 = _slicedToArray(_useState3, 2),
21
+ isAlertOpen = _useState4[0],
22
+ setIsAlertOpen = _useState4[1];
23
+ var _useTranslation = useTranslation(),
24
+ t = _useTranslation.t;
25
+ var _useFetchCustomDomain = useFetchCustomDomains({
26
+ url: url
27
+ }),
28
+ customDomain = _useFetchCustomDomain.data,
29
+ isLoading = _useFetchCustomDomain.isLoading;
30
+ var _useDeleteCustomDomai = useDeleteCustomDomain(url, {
31
+ onSettled: function onSettled() {
32
+ return setIsAlertOpen(false);
33
+ }
34
+ }),
35
+ deleteCustomDomain = _useDeleteCustomDomai.mutate,
36
+ isDeleting = _useDeleteCustomDomai.isLoading;
37
+ var actions = [{
38
+ key: "edit",
39
+ label: t("neetoMolecules.common.actions.edit"),
40
+ onClick: function onClick() {
41
+ return setIsPaneOpen(true);
42
+ }
43
+ }, {
44
+ key: "delete",
45
+ label: t("neetoMolecules.common.actions.delete"),
46
+ onClick: function onClick() {
47
+ return setIsAlertOpen(true);
48
+ }
49
+ }];
50
+ if (isLoading) return /*#__PURE__*/React.createElement(Spinner, null);
51
+ return /*#__PURE__*/React.createElement("div", null, isNotEmpty(customDomain) ? /*#__PURE__*/React.createElement("div", {
52
+ className: "flex flex-row items-center"
53
+ }, /*#__PURE__*/React.createElement(Tag, {
54
+ label: customDomain === null || customDomain === void 0 ? void 0 : customDomain.hostname,
55
+ style: customDomain.status === "active" ? "success" : "warning"
56
+ }), /*#__PURE__*/React.createElement(MoreDropdown, {
57
+ dropdownProps: {
58
+ autoWidth: true
59
+ },
60
+ menuItems: actions,
61
+ dropdownButtonProps: {
62
+ "data-testid": "nui-dropdown-icon",
63
+ strategy: "fixed"
64
+ }
65
+ })) : /*#__PURE__*/React.createElement(Button, {
66
+ icon: iconOnly && NeetoUICustomDomainIcon,
67
+ style: "text",
68
+ label: iconOnly ? "" : t("neetoMolecules.common.actions.add", {
69
+ entity: t("neetoMolecules.customDomain.customDomain", SINGULAR).toLowerCase()
70
+ }),
71
+ tooltipProps: iconOnly && {
72
+ content: t("neetoMolecules.customDomain.customDomain", SINGULAR)
73
+ },
74
+ onClick: function onClick() {
75
+ return setIsPaneOpen(true);
76
+ }
77
+ }), /*#__PURE__*/React.createElement(ManageDomain, {
78
+ hasOne: true,
79
+ customDomain: customDomain,
80
+ url: url,
81
+ isOpen: isPaneOpen,
82
+ setCustomDomain: noop,
83
+ onClose: function onClose() {
84
+ return setIsPaneOpen(false);
85
+ }
86
+ }), /*#__PURE__*/React.createElement(DeleteAlert, {
87
+ hostname: customDomain === null || customDomain === void 0 ? void 0 : customDomain.hostname,
88
+ isOpen: isAlertOpen,
89
+ isSubmitting: isDeleting,
90
+ onClose: function onClose() {
91
+ return setIsAlertOpen(false);
92
+ },
93
+ onSubmit: function onSubmit() {
94
+ return deleteCustomDomain();
95
+ }
96
+ }));
97
+ };
98
+ export default CustomDomain;
@@ -0,0 +1,28 @@
1
+ import React from "react";
2
+ import { Alert } from "@bigbinary/neetoui";
3
+ import { useTranslation, Trans } from "react-i18next";
4
+ var DeleteAlert = function DeleteAlert(_ref) {
5
+ var onClose = _ref.onClose,
6
+ onSubmit = _ref.onSubmit,
7
+ isOpen = _ref.isOpen,
8
+ isSubmitting = _ref.isSubmitting,
9
+ hostname = _ref.hostname;
10
+ var _useTranslation = useTranslation(),
11
+ t = _useTranslation.t;
12
+ return /*#__PURE__*/React.createElement(Alert, {
13
+ cancelButtonLabel: t("neetoMolecules.common.actions.cancel"),
14
+ isOpen: isOpen,
15
+ isSubmitting: isSubmitting,
16
+ submitButtonLabel: t("neetoMolecules.common.actions.delete"),
17
+ title: t("neetoMolecules.customDomain.delete"),
18
+ message: /*#__PURE__*/React.createElement(Trans, {
19
+ i18nKey: "neetoMolecules.customDomain.alertMessage",
20
+ values: {
21
+ hostname: hostname
22
+ }
23
+ }),
24
+ onClose: onClose,
25
+ onSubmit: onSubmit
26
+ });
27
+ };
28
+ export default DeleteAlert;
@@ -0,0 +1,32 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from "react";
3
+ import { PLURAL } from "@bigbinary/neeto-commons-frontend/constants";
4
+ import { withT } from "@bigbinary/neeto-commons-frontend/react-utils";
5
+ import { withEventTargetValue } from "@bigbinary/neeto-commons-frontend/utils";
6
+ import { Button } from "@bigbinary/neetoui";
7
+ import NeetoHeader from "../Header";
8
+ var Header = withT(function (_ref) {
9
+ var t = _ref.t,
10
+ setIsPaneOpen = _ref.setIsPaneOpen,
11
+ searchTerm = _ref.searchTerm,
12
+ setSearchTerm = _ref.setSearchTerm,
13
+ headerProps = _ref.headerProps;
14
+ return /*#__PURE__*/React.createElement(NeetoHeader, _extends({
15
+ "data-testid": "custom-domain-header",
16
+ title: t("neetoMolecules.customDomain.customDomain", PLURAL),
17
+ actionBlock: /*#__PURE__*/React.createElement(Button, {
18
+ "data-cy": "add-new-custom-domain-button",
19
+ label: t("neetoMolecules.customDomain.addNew"),
20
+ onClick: function onClick() {
21
+ return setIsPaneOpen(true);
22
+ }
23
+ }),
24
+ searchProps: {
25
+ value: searchTerm,
26
+ onChange: withEventTargetValue(setSearchTerm),
27
+ placeholder: t("neetoMolecules.customDomain.search"),
28
+ "data-cy": "custom-domain-search-field"
29
+ }
30
+ }, headerProps));
31
+ });
32
+ export default /*#__PURE__*/React.memo(Header);
@@ -0,0 +1,42 @@
1
+ import React from "react";
2
+ import { joinHyphenCase } from "@bigbinary/neeto-commons-frontend/utils";
3
+ import { Info } from "@bigbinary/neeto-icons";
4
+ import { Input, Callout } from "@bigbinary/neetoui";
5
+ import CopyToClipboardButton from "../../CopyToClipboardButton";
6
+ import { recordData } from "../utils";
7
+ var Record = function Record(_ref) {
8
+ var customDomain = _ref.customDomain;
9
+ var _recordData = recordData(customDomain),
10
+ recordName = _recordData.recordName,
11
+ recordValue = _recordData.recordValue,
12
+ recordDescription = _recordData.recordDescription,
13
+ recordNameLabel = _recordData.recordNameLabel,
14
+ recordValueLabel = _recordData.recordValueLabel;
15
+ return /*#__PURE__*/React.createElement("div", {
16
+ className: "mt-6 grid gap-4"
17
+ }, customDomain.status !== "active" && /*#__PURE__*/React.createElement(Callout, {
18
+ icon: Info,
19
+ style: "info"
20
+ }, recordDescription), /*#__PURE__*/React.createElement(Input, {
21
+ disabled: true,
22
+ "data-cy": joinHyphenCase(recordNameLabel),
23
+ label: recordNameLabel,
24
+ value: recordName,
25
+ suffix: /*#__PURE__*/React.createElement(CopyToClipboardButton, {
26
+ size: "small",
27
+ style: "text",
28
+ value: recordName
29
+ })
30
+ }), /*#__PURE__*/React.createElement(Input, {
31
+ disabled: true,
32
+ "data-cy": joinHyphenCase(recordValueLabel),
33
+ label: recordValueLabel,
34
+ value: recordValue,
35
+ suffix: /*#__PURE__*/React.createElement(CopyToClipboardButton, {
36
+ size: "small",
37
+ style: "text",
38
+ value: recordValue
39
+ })
40
+ }));
41
+ };
42
+ export default /*#__PURE__*/React.memo(Record);
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import { Trans } from "react-i18next";
3
+ var StatusInfo = function StatusInfo() {
4
+ var helpUrl = "https://help.".concat(globalProps.appName.toLowerCase(), ".com/articles/custom-domains");
5
+ return /*#__PURE__*/React.createElement("div", {
6
+ className: "space-y-6"
7
+ }, /*#__PURE__*/React.createElement("div", {
8
+ className: "neeto-ui-rounded neeto-ui-bg-gray-100 neeto-ui-text-gray-700 space-y-3 p-4"
9
+ }, /*#__PURE__*/React.createElement(Trans, {
10
+ i18nKey: "neetoMolecules.customDomain.messageBlock.dnsStatus",
11
+ components: {
12
+ a: /*#__PURE__*/React.createElement("a", {
13
+ className: "neeto-ui-btn--style-link",
14
+ href: helpUrl,
15
+ rel: "noreferrer",
16
+ target: "_blank"
17
+ })
18
+ }
19
+ })));
20
+ };
21
+ export default /*#__PURE__*/React.memo(StatusInfo);
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ import classnames from "classnames";
3
+ import { snakeToCamelCase } from "@bigbinary/neeto-commons-frontend/pure";
4
+ import { Tag } from "@bigbinary/neetoui";
5
+ import { useTranslation } from "react-i18next";
6
+ var TagBlock = function TagBlock(_ref) {
7
+ var status = _ref.status,
8
+ _ref$stacked = _ref.stacked,
9
+ stacked = _ref$stacked === void 0 ? false : _ref$stacked;
10
+ var _useTranslation = useTranslation(),
11
+ t = _useTranslation.t;
12
+ var isDomainValidated = status === "active" || status === "pending_cname_validation";
13
+ var camelCasedStatus = snakeToCamelCase(status || "");
14
+ return /*#__PURE__*/React.createElement("div", {
15
+ className: classnames("flex gap-2", {
16
+ "flex-col items-start": stacked
17
+ })
18
+ }, status === "failed" ? /*#__PURE__*/React.createElement(Tag, {
19
+ indicatorStyle: "danger",
20
+ label: t("neetoMolecules.customDomain.status.".concat(camelCasedStatus)),
21
+ style: "secondary"
22
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tag, {
23
+ indicatorStyle: isDomainValidated ? "success" : "warning",
24
+ style: "secondary",
25
+ label: t("neetoMolecules.customDomain.status.domain.".concat(camelCasedStatus))
26
+ }), isDomainValidated && /*#__PURE__*/React.createElement("div", {
27
+ className: classnames("flex items-center justify-between gap-2", {
28
+ "w-full": stacked
29
+ })
30
+ }, /*#__PURE__*/React.createElement(Tag, {
31
+ indicatorStyle: status === "active" ? "success" : "warning",
32
+ style: "secondary",
33
+ label: t("neetoMolecules.customDomain.status.cname.".concat(camelCasedStatus))
34
+ }))));
35
+ };
36
+ export default /*#__PURE__*/React.memo(TagBlock);
@@ -0,0 +1,4 @@
1
+ export var HOSTNAME_REGEX = /^(?!-)[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+/;
2
+ export var INITIAL_VALUES = {
3
+ hostname: ""
4
+ };
@@ -0,0 +1,124 @@
1
+ import React, { useRef } from "react";
2
+ import { Form, Formik } from "formik";
3
+ import { SINGULAR } from "@bigbinary/neeto-commons-frontend/constants";
4
+ import { isNotEmpty } from "@bigbinary/neeto-commons-frontend/pure";
5
+ import { Check } from "@bigbinary/neeto-icons";
6
+ import { Label, Pane, Typography, Button } from "@bigbinary/neetoui";
7
+ import { Input } from "@bigbinary/neetoui/formik";
8
+ import { useTranslation } from "react-i18next";
9
+ import { INITIAL_VALUES } from "./constants";
10
+ import Record from "./Record";
11
+ import StatusInfo from "./StatusInfo";
12
+ import TagBlock from "./TagBlock";
13
+ import { getCustomDomainValidationSchema } from "./utils";
14
+ import { useCreateCustomDomain, useValidateDomain, useValidateCname, useUpdateCustomDomain } from "../useCustomDomainApi";
15
+ var Manage = function Manage(_ref) {
16
+ var isOpen = _ref.isOpen,
17
+ onClose = _ref.onClose,
18
+ customDomain = _ref.customDomain,
19
+ setCustomDomain = _ref.setCustomDomain,
20
+ url = _ref.url,
21
+ hasOne = _ref.hasOne;
22
+ var _useTranslation = useTranslation(),
23
+ t = _useTranslation.t;
24
+ var initialFocusRef = useRef(null);
25
+ var customDomainId = hasOne ? null : customDomain === null || customDomain === void 0 ? void 0 : customDomain.id;
26
+ var _useCreateCustomDomai = useCreateCustomDomain(url),
27
+ createCustomDomain = _useCreateCustomDomai.mutate,
28
+ isCreating = _useCreateCustomDomai.isLoading;
29
+ var _useValidateDomain = useValidateDomain(url),
30
+ validateDomain = _useValidateDomain.mutate,
31
+ isValidating = _useValidateDomain.isLoading;
32
+ var _useValidateCname = useValidateCname(url),
33
+ validateCname = _useValidateCname.mutate,
34
+ isCnameValidating = _useValidateCname.isLoading;
35
+ var _useUpdateCustomDomai = useUpdateCustomDomain(url),
36
+ updateCustomDomain = _useUpdateCustomDomai.mutate,
37
+ isUpdating = _useUpdateCustomDomai.isLoading;
38
+ var handleSubmit = function handleSubmit(values) {
39
+ return createCustomDomain(values, {
40
+ onSuccess: function onSuccess(values) {
41
+ return setCustomDomain(values);
42
+ }
43
+ });
44
+ };
45
+ var handleValidateDomain = function handleValidateDomain() {
46
+ return validateDomain(customDomainId, {
47
+ onSuccess: function onSuccess(values) {
48
+ return setCustomDomain(values);
49
+ }
50
+ });
51
+ };
52
+ var handleValidateCname = function handleValidateCname() {
53
+ validateCname(customDomainId, {
54
+ onSuccess: function onSuccess(data) {
55
+ return setCustomDomain(data);
56
+ }
57
+ });
58
+ };
59
+ var handleUpdateCname = function handleUpdateCname() {
60
+ updateCustomDomain(customDomainId, {
61
+ onSuccess: function onSuccess(data) {
62
+ return setCustomDomain(data);
63
+ }
64
+ });
65
+ };
66
+ return /*#__PURE__*/React.createElement(Pane, {
67
+ initialFocusRef: initialFocusRef,
68
+ isOpen: isOpen,
69
+ onClose: onClose
70
+ }, /*#__PURE__*/React.createElement(Formik, {
71
+ enableReinitialize: true,
72
+ initialValues: customDomain || INITIAL_VALUES,
73
+ validationSchema: getCustomDomainValidationSchema(),
74
+ onSubmit: handleSubmit
75
+ }, function (_ref2) {
76
+ var dirty = _ref2.dirty;
77
+ return /*#__PURE__*/React.createElement(Form, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
78
+ "data-cy": "add-custom-domain-pane-heading",
79
+ style: "h2",
80
+ weight: "semibold"
81
+ }, isNotEmpty(customDomain) ? t("neetoMolecules.customDomain.edit") : t("neetoMolecules.customDomain.addNew"))), /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
82
+ className: "w-full space-y-6"
83
+ }, isNotEmpty(customDomain) && /*#__PURE__*/React.createElement(TagBlock, {
84
+ stacked: true,
85
+ handleValidateCname: handleValidateCname,
86
+ isCnameRecordsAdded: customDomain.addedCnameAt,
87
+ status: customDomain.status
88
+ }), /*#__PURE__*/React.createElement("div", {
89
+ className: "space-y-2"
90
+ }, /*#__PURE__*/React.createElement(Label, {
91
+ htmlFor: "hostname"
92
+ }, isNotEmpty(customDomain) ? t("neetoMolecules.customDomain.customDomain", SINGULAR) : t("neetoMolecules.customDomain.label")), /*#__PURE__*/React.createElement("div", {
93
+ className: "flex items-start gap-2"
94
+ }, /*#__PURE__*/React.createElement(Input, {
95
+ "data-cy": "custom-domain-input-field",
96
+ disabled: isNotEmpty(customDomain),
97
+ name: "hostname",
98
+ placeholder: t("neetoMolecules.customDomain.placeholder"),
99
+ ref: initialFocusRef
100
+ }), !isNotEmpty(customDomain) && /*#__PURE__*/React.createElement(Button, {
101
+ "data-cy": "submit-custom-domain-button",
102
+ "data-testid": "submit-custom-domain-button",
103
+ disabled: !dirty || isCreating,
104
+ icon: Check,
105
+ loading: isCreating,
106
+ style: "primary",
107
+ type: "submit"
108
+ }))), isNotEmpty(customDomain) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Record, {
109
+ customDomain: customDomain
110
+ }), customDomain.status === "pending_domain_validation" && /*#__PURE__*/React.createElement(Button, {
111
+ "data-cy": "validate-domain-button",
112
+ disabled: isValidating,
113
+ loading: isValidating,
114
+ label: t("neetoMolecules.customDomain.validation.buttonLabel.domain"),
115
+ onClick: handleValidateDomain
116
+ }), customDomain.status === "pending_cname_validation" && /*#__PURE__*/React.createElement(Button, {
117
+ "data-cy": "validate-cname-record-button",
118
+ loading: isCnameValidating || isUpdating,
119
+ label: t("neetoMolecules.customDomain.validation.buttonLabel.cnameAdded"),
120
+ onClick: handleUpdateCname
121
+ }), /*#__PURE__*/React.createElement(StatusInfo, null)))));
122
+ }));
123
+ };
124
+ export default Manage;
@@ -0,0 +1,8 @@
1
+ import { t } from "i18next";
2
+ import * as Yup from "yup";
3
+ import { HOSTNAME_REGEX } from "./constants";
4
+ export var getCustomDomainValidationSchema = function getCustomDomainValidationSchema() {
5
+ return Yup.object().shape({
6
+ hostname: Yup.string().required(t("neetoMolecules.customDomain.formikValidation.required")).matches(HOSTNAME_REGEX, t("neetoMolecules.customDomain.formikValidation.valid"))
7
+ });
8
+ };
@@ -0,0 +1,35 @@
1
+ import axios from "axios";
2
+ var getUrlwithId = function getUrlwithId(url, id) {
3
+ return id ? "".concat(url, "/").concat(id) : url;
4
+ };
5
+ var fetchCustomDomains = function fetchCustomDomains(_ref) {
6
+ var url = _ref.url,
7
+ params = _ref.params;
8
+ return axios.get(url, {
9
+ params: params
10
+ });
11
+ };
12
+ var updateCustomDomain = function updateCustomDomain(url, id) {
13
+ return axios.patch(getUrlwithId(url, id));
14
+ };
15
+ var createCustomDomain = function createCustomDomain(url, payload) {
16
+ return axios.post(url, payload);
17
+ };
18
+ var deleteCustomDomain = function deleteCustomDomain(url, id) {
19
+ return axios["delete"](getUrlwithId(url, id));
20
+ };
21
+ var validateDomain = function validateDomain(url, id) {
22
+ return axios.patch("".concat(getUrlwithId(url, id), "/validate_domain"));
23
+ };
24
+ var validateCname = function validateCname(url, id) {
25
+ return axios.patch("".concat(getUrlwithId(url, id), "/validate_cname"));
26
+ };
27
+ var customDomainApi = {
28
+ createCustomDomain: createCustomDomain,
29
+ deleteCustomDomain: deleteCustomDomain,
30
+ validateDomain: validateDomain,
31
+ fetchCustomDomains: fetchCustomDomains,
32
+ validateCname: validateCname,
33
+ updateCustomDomain: updateCustomDomain
34
+ };
35
+ export default customDomainApi;
@@ -0,0 +1,2 @@
1
+ export var DEFAULT_STALE_TIME = 60 * 60 * 1000;
2
+ export var DOMAIN_QUERY_KEY = "custom-domain";
@@ -0,0 +1,118 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useState } from "react";
3
+ import { isNotEmpty } from "@bigbinary/neeto-commons-frontend/pure";
4
+ import { useDebounce } from "@bigbinary/neeto-commons-frontend/react-utils";
5
+ import { Table, Typography, NoData } from "@bigbinary/neetoui";
6
+ import { useTranslation } from "react-i18next";
7
+ import Container from "../Container";
8
+ import PageLoader from "../PageLoader";
9
+ import SubHeader from "../SubHeader";
10
+ import DeleteAlert from "./DeleteAlert";
11
+ import Header from "./Header";
12
+ import ManageDomain from "./Manage";
13
+ import { useFetchCustomDomains, useDeleteCustomDomain } from "./useCustomDomainApi";
14
+ import { renderColumnData } from "./utils";
15
+ var CustomDomainDashboard = function CustomDomainDashboard(_ref) {
16
+ var _data$customDomains;
17
+ var headerProps = _ref.headerProps,
18
+ url = _ref.url;
19
+ var _useState = useState(""),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ searchTerm = _useState2[0],
22
+ setSearchTerm = _useState2[1];
23
+ var _useState3 = useState(false),
24
+ _useState4 = _slicedToArray(_useState3, 2),
25
+ isPaneOpen = _useState4[0],
26
+ setIsPaneOpen = _useState4[1];
27
+ var _useState5 = useState({}),
28
+ _useState6 = _slicedToArray(_useState5, 2),
29
+ customDomain = _useState6[0],
30
+ setCustomDomain = _useState6[1];
31
+ var _useState7 = useState(false),
32
+ _useState8 = _slicedToArray(_useState7, 2),
33
+ isAlertOpen = _useState8[0],
34
+ setIsAlertOpen = _useState8[1];
35
+ var _useTranslation = useTranslation(),
36
+ t = _useTranslation.t;
37
+ var debouncedSearchTerm = useDebounce(searchTerm, 500);
38
+ var _useFetchCustomDomain = useFetchCustomDomains({
39
+ url: url,
40
+ params: {
41
+ search: debouncedSearchTerm
42
+ }
43
+ }),
44
+ data = _useFetchCustomDomain.data,
45
+ isLoading = _useFetchCustomDomain.isLoading;
46
+ var _useDeleteCustomDomai = useDeleteCustomDomain(url, {
47
+ onSettled: function onSettled() {
48
+ setIsAlertOpen(false);
49
+ setCustomDomain({});
50
+ }
51
+ }),
52
+ deleteCustomDomain = _useDeleteCustomDomai.mutate,
53
+ isDeleting = _useDeleteCustomDomai.isLoading;
54
+ var enableManagePane = function enableManagePane(customDomain) {
55
+ setCustomDomain(customDomain);
56
+ setIsPaneOpen(true);
57
+ };
58
+ var enableDeleteAlert = function enableDeleteAlert(customDomain) {
59
+ setCustomDomain(customDomain);
60
+ setIsAlertOpen(true);
61
+ };
62
+ var disableManagePane = function disableManagePane() {
63
+ setIsPaneOpen(false);
64
+ setCustomDomain({});
65
+ };
66
+ var disableDeleteAlert = function disableDeleteAlert() {
67
+ setIsAlertOpen(false);
68
+ setCustomDomain({});
69
+ };
70
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Header, {
71
+ headerProps: headerProps,
72
+ searchTerm: searchTerm,
73
+ setIsPaneOpen: setIsPaneOpen,
74
+ setSearchTerm: setSearchTerm
75
+ }), isLoading && /*#__PURE__*/React.createElement("div", {
76
+ className: "h-screen w-full"
77
+ }, /*#__PURE__*/React.createElement(PageLoader, null)), !isLoading && (isNotEmpty(data === null || data === void 0 ? void 0 : data.customDomains) ? /*#__PURE__*/React.createElement("div", {
78
+ className: "w-full flex-grow"
79
+ }, /*#__PURE__*/React.createElement(SubHeader, {
80
+ leftActionBlock: /*#__PURE__*/React.createElement(Typography, {
81
+ className: "neeto-ui-gray-800 font-semibold",
82
+ component: "h4"
83
+ }, t("neetoMolecules.customDomain.customDomainWithCount", {
84
+ count: data === null || data === void 0 ? void 0 : (_data$customDomains = data.customDomains) === null || _data$customDomains === void 0 ? void 0 : _data$customDomains.length
85
+ }))
86
+ }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Table, {
87
+ allowRowClick: false,
88
+ rowData: data === null || data === void 0 ? void 0 : data.customDomains,
89
+ rowSelection: false,
90
+ columnData: renderColumnData(enableManagePane, enableDeleteAlert)
91
+ }))) : /*#__PURE__*/React.createElement("div", {
92
+ className: "flex h-full w-full flex-grow items-center justify-center"
93
+ }, /*#__PURE__*/React.createElement(NoData, {
94
+ title: t("neetoMolecules.customDomain.notFound"),
95
+ primaryButtonProps: {
96
+ label: t("neetoMolecules.customDomain.addNew"),
97
+ onClick: function onClick() {
98
+ return setIsPaneOpen(true);
99
+ }
100
+ }
101
+ })))), /*#__PURE__*/React.createElement(ManageDomain, {
102
+ customDomain: customDomain,
103
+ hasOne: false,
104
+ isOpen: isPaneOpen,
105
+ setCustomDomain: setCustomDomain,
106
+ url: url,
107
+ onClose: disableManagePane
108
+ }), /*#__PURE__*/React.createElement(DeleteAlert, {
109
+ hostname: customDomain === null || customDomain === void 0 ? void 0 : customDomain.hostname,
110
+ isOpen: isAlertOpen,
111
+ isSubmitting: isDeleting,
112
+ onClose: disableDeleteAlert,
113
+ onSubmit: function onSubmit() {
114
+ return deleteCustomDomain(customDomain === null || customDomain === void 0 ? void 0 : customDomain.id);
115
+ }
116
+ }));
117
+ };
118
+ export default CustomDomainDashboard;