@bigbinary/neeto-molecules 1.1.78 → 1.2.0-beta2

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 (351) hide show
  1. package/README.md +67 -52
  2. package/dist/Breadcrumbs.js +16 -19
  3. package/dist/Breadcrumbs.js.map +1 -1
  4. package/dist/BrowserSupport.js +41 -138
  5. package/dist/BrowserSupport.js.map +1 -1
  6. package/dist/Builder.js +207 -364
  7. package/dist/Builder.js.map +1 -1
  8. package/dist/CalendarView.js +40 -288
  9. package/dist/CalendarView.js.map +1 -1
  10. package/dist/Chevron-c639aa31.js +190 -0
  11. package/dist/Chevron-c639aa31.js.map +1 -0
  12. package/dist/Codeblock.js +26 -209
  13. package/dist/Codeblock.js.map +1 -1
  14. package/dist/Columns.js +16 -240
  15. package/dist/Columns.js.map +1 -1
  16. package/dist/ConfigurePageSidebar.js +97 -0
  17. package/dist/ConfigurePageSidebar.js.map +1 -0
  18. package/dist/ConfirmationModal.js +10 -10
  19. package/dist/ConfirmationModal.js.map +1 -1
  20. package/dist/Container.js +5 -1187
  21. package/dist/Container.js.map +1 -1
  22. package/dist/CopyToClipboardButton.js +26 -155
  23. package/dist/CopyToClipboardButton.js.map +1 -1
  24. package/dist/Currency.js +912 -0
  25. package/dist/Currency.js.map +1 -0
  26. package/dist/CustomDomain.js +37 -633
  27. package/dist/CustomDomain.js.map +1 -1
  28. package/dist/CustomDomainDashboard.js +69 -2192
  29. package/dist/CustomDomainDashboard.js.map +1 -1
  30. package/dist/DateFormat.js +6 -20
  31. package/dist/DateFormat.js.map +1 -1
  32. package/dist/DateRangeFilter.js +22 -77
  33. package/dist/DateRangeFilter.js.map +1 -1
  34. package/dist/DeleteArchiveModal.js +86 -0
  35. package/dist/DeleteArchiveModal.js.map +1 -0
  36. package/dist/DocumentEditor.js +43 -133
  37. package/dist/DocumentEditor.js.map +1 -1
  38. package/dist/DownloadMobileAppCallout.js +4 -4
  39. package/dist/DownloadMobileAppCallout.js.map +1 -1
  40. package/dist/DynamicVariables.js +12 -95
  41. package/dist/DynamicVariables.js.map +1 -1
  42. package/dist/EmailForm.js +79 -1741
  43. package/dist/EmailForm.js.map +1 -1
  44. package/dist/EmailPreview.js +32 -1213
  45. package/dist/EmailPreview.js.map +1 -1
  46. package/dist/EmojiPicker.js +106 -0
  47. package/dist/EmojiPicker.js.map +1 -0
  48. package/dist/EmojiReactions.js +69 -0
  49. package/dist/EmojiReactions.js.map +1 -0
  50. package/dist/ErrorPage.js +17 -26
  51. package/dist/ErrorPage.js.map +1 -1
  52. package/dist/FloatingActionMenu.js +646 -0
  53. package/dist/FloatingActionMenu.js.map +1 -0
  54. package/dist/Header.js +45 -117
  55. package/dist/Header.js.map +1 -1
  56. package/dist/HelpPopover.js +73 -0
  57. package/dist/HelpPopover.js.map +1 -0
  58. package/dist/IconPicker.js +36 -129
  59. package/dist/IconPicker.js.map +1 -1
  60. package/dist/ImageWithFallback.js +8 -144
  61. package/dist/ImageWithFallback.js.map +1 -1
  62. package/dist/InlineInput.js +25 -528
  63. package/dist/InlineInput.js.map +1 -1
  64. package/dist/Insights.js +305 -0
  65. package/dist/Insights.js.map +1 -0
  66. package/dist/IntegrationCard.js +42 -226
  67. package/dist/IntegrationCard.js.map +1 -1
  68. package/dist/IntegrationDisconnectAlert.js +6 -48
  69. package/dist/IntegrationDisconnectAlert.js.map +1 -1
  70. package/dist/IntegrationWalkthroughModal.js +10 -10
  71. package/dist/IntegrationWalkthroughModal.js.map +1 -1
  72. package/dist/IpRestriction.js +74 -221
  73. package/dist/IpRestriction.js.map +1 -1
  74. package/dist/KeyboardShortcuts.js +38 -128
  75. package/dist/KeyboardShortcuts.js.map +1 -1
  76. package/dist/LoginPage.js +44 -463
  77. package/dist/LoginPage.js.map +1 -1
  78. package/dist/MadeWith.js +32 -0
  79. package/dist/MadeWith.js.map +1 -0
  80. package/dist/MenuBar.js +34 -1295
  81. package/dist/MenuBar.js.map +1 -1
  82. package/dist/Metadata.js +65 -86
  83. package/dist/Metadata.js.map +1 -1
  84. package/dist/MoreDropdown.js +48 -107
  85. package/dist/MoreDropdown.js.map +1 -1
  86. package/dist/NavigationHeader.js +62 -733
  87. package/dist/NavigationHeader.js.map +1 -1
  88. package/dist/NeetoWidget.js +148 -316
  89. package/dist/NeetoWidget.js.map +1 -1
  90. package/dist/Onboarding.js +204 -0
  91. package/dist/Onboarding.js.map +1 -0
  92. package/dist/OptionFields.js +507 -0
  93. package/dist/OptionFields.js.map +1 -0
  94. package/dist/PageLoader.js +9 -112
  95. package/dist/PageLoader.js.map +1 -1
  96. package/dist/PhoneNumber.js +122 -201
  97. package/dist/PhoneNumber.js.map +1 -1
  98. package/dist/ProductEmbed.js +767 -0
  99. package/dist/ProductEmbed.js.map +1 -0
  100. package/dist/PublishBlock.js +19 -60
  101. package/dist/PublishBlock.js.map +1 -1
  102. package/dist/PublishYourItem.js +52 -0
  103. package/dist/PublishYourItem.js.map +1 -0
  104. package/dist/Rename.js +127 -394
  105. package/dist/Rename.js.map +1 -1
  106. package/dist/ResponsiveDevicePicker.js +8 -144
  107. package/dist/ResponsiveDevicePicker.js.map +1 -1
  108. package/dist/Schedule.js +134 -389
  109. package/dist/Schedule.js.map +1 -1
  110. package/dist/Scrollable.js +6 -89
  111. package/dist/Scrollable.js.map +1 -1
  112. package/dist/Search.js +54 -157
  113. package/dist/Search.js.map +1 -1
  114. package/dist/Security.js +72 -1567
  115. package/dist/Security.js.map +1 -1
  116. package/dist/SendToFields.js +51 -133
  117. package/dist/SendToFields.js.map +1 -1
  118. package/dist/Settings.js +141 -412
  119. package/dist/Settings.js.map +1 -1
  120. package/dist/ShareRecordingPane.js +189 -0
  121. package/dist/ShareRecordingPane.js.map +1 -0
  122. package/dist/ShareViaEmail.js +126 -551
  123. package/dist/ShareViaEmail.js.map +1 -1
  124. package/dist/ShareViaLink.js +127 -345
  125. package/dist/ShareViaLink.js.map +1 -1
  126. package/dist/Sidebar.js +161 -758
  127. package/dist/Sidebar.js.map +1 -1
  128. package/dist/StickyRibbonsContainer.js +81 -0
  129. package/dist/StickyRibbonsContainer.js.map +1 -0
  130. package/dist/SubHeader.js +63 -108
  131. package/dist/SubHeader.js.map +1 -1
  132. package/dist/SuffixedInput.js +105 -0
  133. package/dist/SuffixedInput.js.map +1 -0
  134. package/dist/TableWrapper.js +8 -9
  135. package/dist/TableWrapper.js.map +1 -1
  136. package/dist/Taxonomy.js +112 -1774
  137. package/dist/Taxonomy.js.map +1 -1
  138. package/dist/ThemeSidebar.js +168 -784
  139. package/dist/ThemeSidebar.js.map +1 -1
  140. package/dist/TimeFormat.js +8 -44
  141. package/dist/TimeFormat.js.map +1 -1
  142. package/dist/TimezoneMismatchModal.js +49 -84
  143. package/dist/TimezoneMismatchModal.js.map +1 -1
  144. package/dist/ToggleFeatureCard.js +46 -169
  145. package/dist/ToggleFeatureCard.js.map +1 -1
  146. package/dist/cjs/Breadcrumbs.js +49 -0
  147. package/dist/cjs/Breadcrumbs.js.map +1 -0
  148. package/dist/cjs/BrowserSupport.js +332 -0
  149. package/dist/cjs/BrowserSupport.js.map +1 -0
  150. package/dist/cjs/Builder.js +560 -0
  151. package/dist/cjs/Builder.js.map +1 -0
  152. package/dist/cjs/CalendarView.js +303 -0
  153. package/dist/cjs/CalendarView.js.map +1 -0
  154. package/dist/cjs/Chevron-5fe59f57.js +206 -0
  155. package/dist/cjs/Chevron-5fe59f57.js.map +1 -0
  156. package/dist/cjs/Codeblock.js +59 -0
  157. package/dist/cjs/Codeblock.js.map +1 -0
  158. package/dist/cjs/Columns.js +31 -0
  159. package/dist/cjs/Columns.js.map +1 -0
  160. package/dist/cjs/ConfigurePageSidebar.js +105 -0
  161. package/dist/cjs/ConfigurePageSidebar.js.map +1 -0
  162. package/dist/cjs/ConfirmationModal.js +120 -0
  163. package/dist/cjs/ConfirmationModal.js.map +1 -0
  164. package/dist/cjs/Container.js +36 -0
  165. package/dist/cjs/Container.js.map +1 -0
  166. package/dist/cjs/CopyToClipboardButton.js +90 -0
  167. package/dist/cjs/CopyToClipboardButton.js.map +1 -0
  168. package/dist/cjs/Currency.js +923 -0
  169. package/dist/cjs/Currency.js.map +1 -0
  170. package/dist/cjs/CustomDomain.js +126 -0
  171. package/dist/cjs/CustomDomain.js.map +1 -0
  172. package/dist/cjs/CustomDomainDashboard.js +202 -0
  173. package/dist/cjs/CustomDomainDashboard.js.map +1 -0
  174. package/dist/cjs/DateFormat.js +41 -0
  175. package/dist/cjs/DateFormat.js.map +1 -0
  176. package/dist/cjs/DateRangeFilter.js +183 -0
  177. package/dist/cjs/DateRangeFilter.js.map +1 -0
  178. package/dist/cjs/DeleteArchiveModal.js +93 -0
  179. package/dist/cjs/DeleteArchiveModal.js.map +1 -0
  180. package/dist/cjs/DocumentEditor.js +197 -0
  181. package/dist/cjs/DocumentEditor.js.map +1 -0
  182. package/dist/cjs/DownloadMobileAppCallout.js +45 -0
  183. package/dist/cjs/DownloadMobileAppCallout.js.map +1 -0
  184. package/dist/cjs/DynamicVariables.js +109 -0
  185. package/dist/cjs/DynamicVariables.js.map +1 -0
  186. package/dist/cjs/EmailForm.js +397 -0
  187. package/dist/cjs/EmailForm.js.map +1 -0
  188. package/dist/cjs/EmailPreview.js +139 -0
  189. package/dist/cjs/EmailPreview.js.map +1 -0
  190. package/dist/cjs/EmojiPicker.js +115 -0
  191. package/dist/cjs/EmojiPicker.js.map +1 -0
  192. package/dist/cjs/EmojiReactions.js +77 -0
  193. package/dist/cjs/EmojiReactions.js.map +1 -0
  194. package/dist/cjs/ErrorPage.js +180 -0
  195. package/dist/cjs/ErrorPage.js.map +1 -0
  196. package/dist/cjs/FloatingActionMenu.js +680 -0
  197. package/dist/cjs/FloatingActionMenu.js.map +1 -0
  198. package/dist/cjs/Header.js +107 -0
  199. package/dist/cjs/Header.js.map +1 -0
  200. package/dist/cjs/HelpPopover.js +82 -0
  201. package/dist/cjs/HelpPopover.js.map +1 -0
  202. package/dist/cjs/IconPicker.js +231 -0
  203. package/dist/cjs/IconPicker.js.map +1 -0
  204. package/dist/cjs/ImageWithFallback.js +56 -0
  205. package/dist/cjs/ImageWithFallback.js.map +1 -0
  206. package/dist/cjs/InlineInput.js +240 -0
  207. package/dist/cjs/InlineInput.js.map +1 -0
  208. package/dist/cjs/Insights.js +311 -0
  209. package/dist/cjs/Insights.js.map +1 -0
  210. package/dist/cjs/IntegrationCard.js +210 -0
  211. package/dist/cjs/IntegrationCard.js.map +1 -0
  212. package/dist/cjs/IntegrationDisconnectAlert.js +50 -0
  213. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -0
  214. package/dist/cjs/IntegrationWalkthroughModal.js +51 -0
  215. package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -0
  216. package/dist/cjs/IpRestriction.js +527 -0
  217. package/dist/cjs/IpRestriction.js.map +1 -0
  218. package/dist/cjs/KeyboardShortcuts.js +284 -0
  219. package/dist/cjs/KeyboardShortcuts.js.map +1 -0
  220. package/dist/cjs/LoginPage.js +202 -0
  221. package/dist/cjs/LoginPage.js.map +1 -0
  222. package/dist/cjs/MadeWith.js +40 -0
  223. package/dist/cjs/MadeWith.js.map +1 -0
  224. package/dist/cjs/MenuBar.js +211 -0
  225. package/dist/cjs/MenuBar.js.map +1 -0
  226. package/dist/cjs/Metadata.js +196 -0
  227. package/dist/cjs/Metadata.js.map +1 -0
  228. package/dist/cjs/MoreDropdown.js +155 -0
  229. package/dist/cjs/MoreDropdown.js.map +1 -0
  230. package/dist/cjs/NavigationHeader.js +187 -0
  231. package/dist/cjs/NavigationHeader.js.map +1 -0
  232. package/dist/cjs/NeetoWidget.js +915 -0
  233. package/dist/cjs/NeetoWidget.js.map +1 -0
  234. package/dist/cjs/Onboarding.js +216 -0
  235. package/dist/cjs/Onboarding.js.map +1 -0
  236. package/dist/cjs/OptionFields.js +518 -0
  237. package/dist/cjs/OptionFields.js.map +1 -0
  238. package/dist/cjs/PageLoader.js +40 -0
  239. package/dist/cjs/PageLoader.js.map +1 -0
  240. package/dist/cjs/PhoneNumber.js +367 -0
  241. package/dist/cjs/PhoneNumber.js.map +1 -0
  242. package/dist/cjs/ProductEmbed.js +777 -0
  243. package/dist/cjs/ProductEmbed.js.map +1 -0
  244. package/dist/cjs/PublishBlock.js +127 -0
  245. package/dist/cjs/PublishBlock.js.map +1 -0
  246. package/dist/cjs/PublishYourItem.js +59 -0
  247. package/dist/cjs/PublishYourItem.js.map +1 -0
  248. package/dist/cjs/Rename.js +354 -0
  249. package/dist/cjs/Rename.js.map +1 -0
  250. package/dist/cjs/ResponsiveDevicePicker.js +68 -0
  251. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -0
  252. package/dist/cjs/Schedule.js +874 -0
  253. package/dist/cjs/Schedule.js.map +1 -0
  254. package/dist/cjs/Scrollable.js +49 -0
  255. package/dist/cjs/Scrollable.js.map +1 -0
  256. package/dist/cjs/Search.js +121 -0
  257. package/dist/cjs/Search.js.map +1 -0
  258. package/dist/cjs/Security.js +379 -0
  259. package/dist/cjs/Security.js.map +1 -0
  260. package/dist/cjs/SendToFields.js +275 -0
  261. package/dist/cjs/SendToFields.js.map +1 -0
  262. package/dist/cjs/Settings.js +217 -0
  263. package/dist/cjs/Settings.js.map +1 -0
  264. package/dist/cjs/ShareRecordingPane.js +199 -0
  265. package/dist/cjs/ShareRecordingPane.js.map +1 -0
  266. package/dist/cjs/ShareViaEmail.js +353 -0
  267. package/dist/cjs/ShareViaEmail.js.map +1 -0
  268. package/dist/cjs/ShareViaLink.js +508 -0
  269. package/dist/cjs/ShareViaLink.js.map +1 -0
  270. package/dist/cjs/Sidebar.js +292 -0
  271. package/dist/cjs/Sidebar.js.map +1 -0
  272. package/dist/cjs/StickyRibbonsContainer.js +90 -0
  273. package/dist/cjs/StickyRibbonsContainer.js.map +1 -0
  274. package/dist/cjs/SubHeader.js +181 -0
  275. package/dist/cjs/SubHeader.js.map +1 -0
  276. package/dist/cjs/SuffixedInput.js +114 -0
  277. package/dist/cjs/SuffixedInput.js.map +1 -0
  278. package/dist/cjs/TableWrapper.js +32 -0
  279. package/dist/cjs/TableWrapper.js.map +1 -0
  280. package/dist/cjs/Taxonomy.js +445 -0
  281. package/dist/cjs/Taxonomy.js.map +1 -0
  282. package/dist/cjs/ThemeSidebar.js +1443 -0
  283. package/dist/cjs/ThemeSidebar.js.map +1 -0
  284. package/dist/cjs/TimeFormat.js +15 -0
  285. package/dist/cjs/TimeFormat.js.map +1 -0
  286. package/dist/cjs/TimezoneMismatchModal.js +144 -0
  287. package/dist/cjs/TimezoneMismatchModal.js.map +1 -0
  288. package/dist/cjs/ToggleFeatureCard.js +213 -0
  289. package/dist/cjs/ToggleFeatureCard.js.map +1 -0
  290. package/dist/cjs/index-248c4f4c.js +1186 -0
  291. package/dist/cjs/index-248c4f4c.js.map +1 -0
  292. package/dist/cjs/index-7db1772e.js +544 -0
  293. package/dist/cjs/index-7db1772e.js.map +1 -0
  294. package/dist/cjs/inject-css-80a5faa3.js +6 -0
  295. package/dist/cjs/inject-css-80a5faa3.js.map +1 -0
  296. package/dist/cjs/useColumns-9978cf70.js +275 -0
  297. package/dist/cjs/useColumns-9978cf70.js.map +1 -0
  298. package/dist/index-7d311b7a.js +509 -0
  299. package/dist/index-7d311b7a.js.map +1 -0
  300. package/dist/index-e5588516.js +1184 -0
  301. package/dist/index-e5588516.js.map +1 -0
  302. package/dist/inject-css-c86de496.js +4 -0
  303. package/dist/inject-css-c86de496.js.map +1 -0
  304. package/dist/useColumns-751e9192.js +258 -0
  305. package/dist/useColumns-751e9192.js.map +1 -0
  306. package/package.json +30 -19
  307. package/src/translations/de.json +7 -0
  308. package/src/translations/en.json +191 -31
  309. package/src/translations/es.json +7 -0
  310. package/src/translations/fr.json +7 -0
  311. package/src/translations/nl.json +7 -0
  312. package/src/translations/pl.json +7 -0
  313. package/src/translations/pt.json +7 -0
  314. package/types/Breadcrumbs.d.ts +1 -0
  315. package/types/Builder.d.ts +61 -12
  316. package/types/Columns.d.ts +112 -5
  317. package/types/ConfigurePageSidebar.d.ts +43 -0
  318. package/types/CopyToClipboardButton.d.ts +3 -0
  319. package/types/Currency.d.ts +48 -0
  320. package/types/CustomDomain.d.ts +2 -0
  321. package/types/CustomDomainDashboard.d.ts +14 -0
  322. package/types/DateRangeFilter.d.ts +2 -0
  323. package/types/DeleteArchiveModal.d.ts +60 -0
  324. package/types/EmailForm.d.ts +1 -1
  325. package/types/EmojiPicker.d.ts +33 -0
  326. package/types/EmojiReactions.d.ts +60 -0
  327. package/types/ErrorPage.d.ts +1 -0
  328. package/types/FloatingActionMenu.d.ts +56 -0
  329. package/types/Header.d.ts +2 -1
  330. package/types/HelpPopover.d.ts +42 -0
  331. package/types/Insights.d.ts +108 -0
  332. package/types/IntegrationCard.d.ts +2 -0
  333. package/types/KeyboardShortcuts.d.ts +2 -2
  334. package/types/MadeWith.d.ts +16 -0
  335. package/types/MoreDropdown.d.ts +4 -1
  336. package/types/NavigationHeader.d.ts +3 -1
  337. package/types/Onboarding.d.ts +65 -0
  338. package/types/OptionFields.d.ts +63 -0
  339. package/types/PhoneNumber.d.ts +6 -2
  340. package/types/ProductEmbed.d.ts +87 -0
  341. package/types/Rename.d.ts +4 -1
  342. package/types/Schedule.d.ts +2 -0
  343. package/types/Search.d.ts +2 -0
  344. package/types/Settings.d.ts +13 -10
  345. package/types/ShareRecordingPane.d.ts +50 -0
  346. package/types/ShareViaLink.d.ts +15 -4
  347. package/types/Sidebar.d.ts +16 -32
  348. package/types/StickyRibbonsContainer.d.ts +26 -0
  349. package/types/SubHeader.d.ts +0 -1
  350. package/types/SuffixedInput.d.ts +43 -0
  351. package/types/ToggleFeatureCard.d.ts +8 -1
@@ -0,0 +1,42 @@
1
+ import React from "react";
2
+ import { ButtonProps, PopoverProps } from "@bigbinary/neetoui";
3
+ /**
4
+ *
5
+ * Can be used to show contextual help information within a popover when a user
6
+ *
7
+ * hovers on the help icon. This component can be used to provide guidance,
8
+ *
9
+ * instructions, or additional context without cluttering the main interface. We
10
+ *
11
+ * can also direct the user to a separate page for more information.
12
+ *
13
+ * ![Screenshot](https://github.com/bigbinary/neeto-molecules/assets/12969853/b5a8695a-9017-4a89-a138-425b0ef71835|height=200|width=300)
14
+ *
15
+ * @example
16
+ *
17
+ * import HelpPopover from "@bigbinary/neeto-molecules/HelpPopover";
18
+ * const App = () => {
19
+ * return (
20
+ * <div>
21
+ * <HelpPopover
22
+ * title="What is KB keywords?"
23
+ * description="Keywords represent the key concepts of an article. These will be
24
+ * shown on the KB and will be used for SEO"
25
+ * helpLinkProps={{ label: "KB", href: "https://google.com/kb" }}
26
+ * />
27
+ * </div>
28
+ * );
29
+ * };
30
+ * @endexample
31
+ */
32
+ const HelpPopover: React.FC<{
33
+ title?: string;
34
+ description?: React.ReactNode;
35
+ helpLinkProps?: ButtonProps;
36
+ popoverProps?: PopoverProps;
37
+ size?: "default" | "large";
38
+ className?: string;
39
+ icon?: React.ReactNode;
40
+ iconColor?: string;
41
+ }>;
42
+ export default HelpPopover;
@@ -0,0 +1,108 @@
1
+ import { ButtonProps, DropdownProps, InputProps, TypographyProps } from "@bigbinary/neetoui";
2
+ import React from "react";
3
+ interface Time {
4
+ h: number;
5
+ m: number;
6
+ s: number;
7
+ }
8
+ interface Devices {
9
+ desktop: number;
10
+ smartphone: number;
11
+ [key: string]: number;
12
+ }
13
+ interface OperatingSystems {
14
+ mac: number;
15
+ windows: number;
16
+ [key: string]: number;
17
+ }
18
+ interface Browsers {
19
+ chrome: number;
20
+ safari: number;
21
+ [key: string]: number;
22
+ }
23
+ interface InsightsData {
24
+ visitCount: number;
25
+ startCount: number;
26
+ submissionCount: number;
27
+ completionRate: number;
28
+ averageSubmissionTime: Time;
29
+ devices: Devices;
30
+ operatingSystems: OperatingSystems;
31
+ browsers: Browsers;
32
+ }
33
+ interface TimePeriodValue {
34
+ startDate: Dayjs;
35
+ endDate: Dayjs;
36
+ rangeType: string;
37
+ }
38
+ interface TimePeriod {
39
+ label: string;
40
+ value: TimePeriodValue;
41
+ }
42
+ interface HelpTexts {
43
+ visitCount?: string;
44
+ startCount?: string;
45
+ submissions?: string;
46
+ completionRate?: string;
47
+ averageSubmissionTime?: string;
48
+ }
49
+ /**
50
+ *
51
+ * The Insights molecule displays key record insights, including a date range
52
+ *
53
+ * filter, offering a quick overview of user engagement in a user-friendly format.
54
+ *
55
+ * ![Screenshot](https://github.com/bigbinary/neeto-molecules/assets/52269241/f733bf16-5d70-406d-9076-fd0e41c13bcd|height=200|width=300)
56
+ *
57
+ * @example
58
+ *
59
+ * import Insights from "@bigbinary/neeto-molecules/Insights";
60
+ *
61
+ * const DEFAULT_DATE_RANGE = {
62
+ * label: "All time",
63
+ * value: { startDate: null, endDate: null, rangeType: "all" },
64
+ * };
65
+ *
66
+ * const Summary = () => {
67
+ * const [timePeriod, setTimePeriod] = useState(DEFAULT_DATE_RANGE);
68
+ *
69
+ * return (
70
+ * <Insights
71
+ * {...{ setTimePeriod, timePeriod, isLoading }}
72
+ * showWarningMessage
73
+ * insightsData={{
74
+ * visitCount: 6,
75
+ * startCount: 6,
76
+ * submissionCount: 6,
77
+ * completionRate: 100,
78
+ * averageSubmissionTime: { h: 0, m: 11, s: 37 },
79
+ * devices: { desktop: 80, smartphone: 20 },
80
+ * operatingSystems: { mac: 40, windows: 40, android: 15, ios: 5 },
81
+ * browsers: { chrome: 60, safari: 30, opera: 10 },
82
+ * }}
83
+ * helpTexts={{
84
+ * averageSubmissionTime:
85
+ * "Avg. time updates only with time duration feature enabled.",
86
+ * }}
87
+ * />
88
+ * );
89
+ * };
90
+ *
91
+ * export default Summary;
92
+ * @endexample
93
+ * Note: The value of timePeriod state will contain the startDate, endDate and
94
+ *
95
+ * range_type of the selected filter. This can be passed into the filterParams of
96
+ *
97
+ * your API.
98
+ *
99
+ */
100
+ const Insights: React.FC<{
101
+ insightsData: InsightsData;
102
+ isLoading: boolean;
103
+ timePeriod: TimePeriod;
104
+ setTimePeriod: (timePeriod: TimePeriod) => void;
105
+ helpTexts?: HelpTexts;
106
+ showWarningMessage: boolean;
107
+ }>;
108
+ export default Insights;
@@ -21,6 +21,8 @@ export interface IntegrationCardProps {
21
21
  customDropdown?: React.ReactNode;
22
22
  children?: React.ReactNode;
23
23
  dataCy?: string;
24
+ connectPath?: string;
25
+ connectUrl?: string;
24
26
  }
25
27
  /**
26
28
  *
@@ -128,9 +128,9 @@ interface ShortcutsObject {
128
128
  * @example
129
129
  *
130
130
  * import KeyboardShortcuts from "@bigbinary/neeto-molecules/KeyboardShortcuts";
131
- * import { useHotKeys } from "neetocommons/react-utils";
131
+ * import useHotkeys from "neetohotkeys";
132
132
  *
133
- * useHotKeys(
133
+ * useHotkeys(
134
134
  * KeyboardShortcuts.GLOBAL_SHORTCUTS.GLOBAL.submitForm.sequence,
135
135
  * keyboardShortCutHandlers.SUBMIT_FORM,
136
136
  * { mode: "global" }
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ /**
3
+ *
4
+ * A component used for rendering made with block.
5
+ *
6
+ * @example
7
+ *
8
+ * import MadeWith from "@bigbinary/neeto-molecules/MadeWith";
9
+ *
10
+ * <MadeWith />;
11
+ * @endexample
12
+ */
13
+ const MadeWith: React.FC<{
14
+ productName?: string;
15
+ }>;
16
+ export default MadeWith;
@@ -9,6 +9,9 @@ type MenuItems = {
9
9
  dropdownProps?: DropdownProps;
10
10
  menuItems?: MenuItems[];
11
11
  };
12
+ type DropdownButtonProps = {
13
+ isRounded?: boolean;
14
+ } & ButtonProps;
12
15
  /**
13
16
  *
14
17
  * Dropdown menu with a 3 dot trigger button, can be used as a more menu.
@@ -37,7 +40,7 @@ type MenuItems = {
37
40
  * @endexample
38
41
  */
39
42
  const MoreDropdown: React.FC<{
40
- dropdownButtonProps?: ButtonProps;
43
+ dropdownButtonProps?: DropdownButtonProps;
41
44
  isVertical?: boolean;
42
45
  isDisabled?: boolean;
43
46
  dropdownProps?: DropdownProps;
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
- import Rename from "./Rename";
3
2
  import { NavLinkProps } from "react-router-dom";
3
+ import { ButtonProps } from "@bigbinary/neetoui";
4
+ import Rename from "./Rename";
4
5
  interface NavLinkProps {
5
6
  activeClassName?: string | undefined;
6
7
  activeStyle?: React.CSSProperties | undefined;
@@ -38,6 +39,7 @@ type RightActionBlockPropTypes = {
38
39
  handleReset: () => void;
39
40
  publishAlertTitle: string;
40
41
  publishAlertDescription: string;
42
+ publishButtonProps: ButtonProps;
41
43
  };
42
44
  type NavigationLinkPropsType = {
43
45
  headerLinks: HeaderLinkPropType[];
@@ -0,0 +1,65 @@
1
+ import React from "react";
2
+ interface OnboardingComponent {
3
+ element: React.ReactNode;
4
+ label: string;
5
+ }
6
+ /**
7
+ *
8
+ * The Onboarding component facilitates a smooth onboarding flow. It comprises
9
+ *
10
+ * three primary screens:
11
+ *
12
+ * Additionally, you can enhance the onboarding experience by passing custom
13
+ *
14
+ * components using the onboardingSteps prop. These custom components will be
15
+ *
16
+ * rendered between the WelcomeScreen and HelpScreen, allowing for a more
17
+ *
18
+ * customized onboarding process.
19
+ *
20
+ * @example
21
+ *
22
+ * import Onboarding from "@bigbinary/neeto-molecules/Onboarding";
23
+ *
24
+ * const Onboarding = () => {
25
+ * const [currentStep, setCurrentStep] = useState(0);
26
+ *
27
+ * const CustomComponent = () => {
28
+ * return (
29
+ * <div>
30
+ * <h1>Custom Component</h1>
31
+ * </div>
32
+ * );
33
+ * };
34
+ *
35
+ * return (
36
+ * <>
37
+ * <Onboarding
38
+ * currentStep={currentStep}
39
+ * setCurrentStep={setCurrentStep}
40
+ * completeButtonProps={{
41
+ * onClick: () => {
42
+ * console.log("Onboarding completed");
43
+ * },
44
+ * }}
45
+ * onboardingSteps={[
46
+ * {
47
+ * label: "Custom Component",
48
+ * element: <CustomComponent />,
49
+ * },
50
+ * ]}
51
+ * />
52
+ * </>
53
+ * );
54
+ * };
55
+ * @endexample
56
+ */
57
+ const Onboarding: React.FC<{
58
+ currentStep: number;
59
+ completeButtonProps: Object;
60
+ setCurrentStep: React.Dispatch<React.SetStateAction<number>>;
61
+ onboardingSteps?: OnboardingComponent[];
62
+ helpScreenClassName?: string;
63
+ isAnimated?: boolean;
64
+ }>;
65
+ export default Onboarding;
@@ -0,0 +1,63 @@
1
+ import React from "react";
2
+ type Option = {
3
+ label: string;
4
+ id: string;
5
+ position: number;
6
+ altId?: string;
7
+ _destroy?: boolean;
8
+ };
9
+ type OptionsType = Option[];
10
+ type BulkActionProps = {
11
+ enabled: boolean;
12
+ bulkAddHelpDocUrl: string;
13
+ };
14
+ type OptionFieldsProps = {
15
+ options: OptionsType;
16
+ onChange: (options: OptionsType) => void;
17
+ error?: string;
18
+ onEdit?: (index: number) => void;
19
+ onDelete?: (index: number) => void;
20
+ buttonProps?: ButtonProps;
21
+ minOptions?: number;
22
+ draggable?: boolean;
23
+ editable?: boolean;
24
+ isPictureChoice?: boolean;
25
+ name?: string;
26
+ currentRecord?: Object;
27
+ isTextArea?: boolean;
28
+ itemLabel?: string;
29
+ bulkActionProps?: BulkActionProps;
30
+ };
31
+ /**
32
+ *
33
+ * A component to add, edit, delete, and reorder options for multiple choice and
34
+ *
35
+ * single choice questions.
36
+ *
37
+ * @example
38
+ *
39
+ * import OptionFields from "@bigbinary/neeto-molecules/OptionFields";
40
+ *
41
+ * <Formik onReset={noop} onSubmit={noop}>
42
+ * <Form>
43
+ * <OptionFields
44
+ * name=""
45
+ * minOptions={2}
46
+ * options={[
47
+ * { id: "1", label: "Option 1", position: 1 },
48
+ * { id: "2", label: "Option 2", position: 2 },
49
+ * { id: "3", label: "Option 3", position: 3 },
50
+ * ]}
51
+ * onChange={noop}
52
+ * {...args}
53
+ * />
54
+ * </Form>
55
+ * </Formik>;
56
+ * @endexample
57
+ * This component must be used inside a Formik component. The values from the
58
+ *
59
+ * component will be passed to the onChange function as an array of options.
60
+ *
61
+ */
62
+ declare const OptionFields: React.FC<OptionFieldsProps>;
63
+ export default OptionFields;
@@ -8,7 +8,7 @@ export interface PhoneNumberInputProps extends InputProps {
8
8
  className?: string;
9
9
  selectProps?: SelectProps;
10
10
  error?: string;
11
- defaultCountry?: string;
11
+ initialCountryCode?: string;
12
12
  }
13
13
  export interface FormikPhoneNumberInputProps extends PhoneNumberInputProps {
14
14
  name: string;
@@ -27,7 +27,11 @@ export
27
27
  *
28
28
  * An input component to input and validate phone numbers with a country code
29
29
  *
30
- * picker.
30
+ * picker. The default country code will be detected automatically based on the
31
+ *
32
+ * location of the user's ip address. We are leveraging neetoIpLookupWeb for the
33
+ *
34
+ * same.
31
35
  *
32
36
  * ![PhoneNumberInput](https://user-images.githubusercontent.com/35297280/231367938-93aa94b0-2a8c-44b3-b1c7-8c60843e40c4.png|height=200|width=300)
33
37
  *
@@ -0,0 +1,87 @@
1
+ import React from "react";
2
+ interface InlineProps {
3
+ label: string;
4
+ description: string;
5
+ width?: number;
6
+ height?: number;
7
+ elementSelector?: string;
8
+ }
9
+ interface FloatingPopupProps {
10
+ label: string;
11
+ description: string;
12
+ btnText?: string;
13
+ btnColor?: string;
14
+ btnTextColor?: string;
15
+ btnPosition?: string;
16
+ icon?: React.FC;
17
+ showIcon?: boolean;
18
+ }
19
+ interface ElementPopupProps {
20
+ label: string;
21
+ description: string;
22
+ elementSelector?: string;
23
+ }
24
+ /**
25
+ *
26
+ * A component to generate and display the embed code for a product, which can then
27
+ *
28
+ * be pasted into a host application where the product should be embedded. Please
29
+ *
30
+ * note that this component does not embed the product itself but provides the
31
+ *
32
+ * necessary code and a preview to facilitate embedding.
33
+ *
34
+ * Here’s how you can use the ProductEmbed component in your React application:
35
+ *
36
+ * @example
37
+ *
38
+ * import React from "react";
39
+ * import ProductEmbed from "@bigbinary/neeto-molecules/ProductEmbed";
40
+ *
41
+ * const EmbedPage = () => (
42
+ * <ProductEmbed
43
+ * id="123"
44
+ * goBackLink="/share"
45
+ * options={{
46
+ * inline: {
47
+ * label: "Inline",
48
+ * description: "An inline component",
49
+ * width: 90,
50
+ * height: 100,
51
+ * elementSelector: "#inline-embed",
52
+ * },
53
+ * floatingPopup: {
54
+ * label: "Floating Popup",
55
+ * description: "A floating popup",
56
+ * btnText: "Schedule meeting",
57
+ * showIcon: true,
58
+ * icon: Calendar,
59
+ * },
60
+ * elementPopup: {
61
+ * label: "Element Popup",
62
+ * description: "An element popup",
63
+ * elementSelector: "element-id",
64
+ * },
65
+ * }}
66
+ * isQueryParamsEnabled={true}
67
+ * />
68
+ * );
69
+ *
70
+ * export default EmbedPage;
71
+ * @endexample
72
+ */
73
+ const ProductEmbed: React.FC<{
74
+ className?: string;
75
+ goBackLink?: string;
76
+ customEmbedScriptPath?: string;
77
+ customPreviewIframeUrl?: string;
78
+ extraArgs?: object;
79
+ id: string;
80
+ options?: {
81
+ inline?: InlineProps;
82
+ floatingPopup?: FloatingPopupProps;
83
+ elementPopup?: ElementPopupProps;
84
+ };
85
+ isQueryParamsEnabled?: boolean;
86
+ }>;
87
+ export default ProductEmbed;
package/types/Rename.d.ts CHANGED
@@ -48,8 +48,9 @@ const Rename: React.FC<{
48
48
  value: string;
49
49
  onRename?: (newName: string) => void;
50
50
  onClone?: () => void;
51
- onArchive?: () => void;
51
+ onArchiveStatusToggle?: () => void;
52
52
  onDelete?: () => void;
53
+ isArchived?: boolean;
53
54
  isUpdating?: boolean;
54
55
  placeholder?: string;
55
56
  hideMenu?: boolean;
@@ -64,5 +65,7 @@ const Rename: React.FC<{
64
65
  link: string;
65
66
  }[];
66
67
  formatText?: (value: string) => string;
68
+ dropdownButtonProps: ButtonProps;
69
+ dropdownProps: DropdownProps;
67
70
  }>;
68
71
  export default Rename;
@@ -130,10 +130,12 @@ const Schedule: React.FC<{
130
130
  handleSubmit?: Function;
131
131
  handleValuesChanged?: Function;
132
132
  showHeader?: boolean;
133
+ isEditable?: boolean;
133
134
  periods: {
134
135
  [key: string]: Array<any>;
135
136
  };
136
137
  ref?: React.MutableRefObject;
137
138
  allowAddPeriod?: boolean;
139
+ isCreating?: boolean;
138
140
  }>;
139
141
  export default Schedule;
package/types/Search.d.ts CHANGED
@@ -15,5 +15,7 @@ import { InputProps } from "neetoui";
15
15
  const Search: React.FC<{
16
16
  debounceTime?: number;
17
17
  onSearch?: (value: string) => void;
18
+ enableUrlSync?: boolean;
19
+ searchParamName?: string;
18
20
  } & InputProps>;
19
21
  export default Search;
@@ -2,8 +2,13 @@ import React, { ReactNode } from "react";
2
2
  import { IntegrationCardProps } from "./IntegrationCard";
3
3
  type SettingItem = {
4
4
  label: string;
5
+ description: string;
5
6
  path: string;
6
- } & Partial<IntegrationCardProps>;
7
+ children: ReactNode;
8
+ icon: ReactNode;
9
+ dataCy?: string;
10
+ isConnected?: boolean;
11
+ };
7
12
  type SettingCategory = {
8
13
  id: string;
9
14
  label: string;
@@ -44,13 +49,10 @@ type SettingCategory = {
44
49
  * {
45
50
  * label: 'Github',
46
51
  * description: 'Connect with github',
47
- * icon: GithubIcon
48
- * onConnect: () => setIsIntegrationModalOpen(true)
49
- * onDisconnect: ()=> setIsIntegrationDisconnectModalOpen(true)
50
- * ...
51
- * ...
52
- * //rest of the props for IntegrationCard should be passed here.
53
- * // other props will be passed on to the integration card.
52
+ * icon: GithubIcon,
53
+ * path: routes.settings.integrations.github.index,
54
+ * isConnected: true,
55
+ * // other props will be spread on the Link element in the settings card.
54
56
  * }
55
57
  * ],
56
58
  * },
@@ -81,7 +83,7 @@ type SettingCategory = {
81
83
  *
82
84
  * return (
83
85
  * <div>
84
- * <Settings categories={getCategories({setIsIntegrationModalOpen: setIsOpen})} />
86
+ * <Settings categories={getCategories()} />
85
87
  * <IntegrationModal isOpen={isOpen}>
86
88
  * </div>
87
89
  * );
@@ -89,7 +91,8 @@ type SettingCategory = {
89
91
  * @endexample
90
92
  */
91
93
  const Settings: React.FC<{
94
+ isTitleHidden?: boolean;
95
+ isSearchHidden?: boolean;
92
96
  categories: SettingCategory[];
93
- className?: string;
94
97
  }>;
95
98
  export default Settings;
@@ -0,0 +1,50 @@
1
+ import React from "react";
2
+ /**
3
+ *
4
+ * The ShareRecordingPane component provides a pane interface for sharing
5
+ *
6
+ * recordings. It includes options for specifying playback timestamps and generates
7
+ *
8
+ * shareable links accordingly. The pane allows users to copy the shareable link
9
+ *
10
+ * and adjust playback timestamps.
11
+ *
12
+ * @example
13
+ *
14
+ * import React, { useState } from "react";
15
+ * import { Button } from "neetoui";
16
+ * import ShareRecordingPane from "components/ShareRecordingPane";
17
+ *
18
+ * const ShareRecordingPaneExample = () => {
19
+ * const [isOpen, setIsOpen] = useState(false);
20
+ *
21
+ * return (
22
+ * <>
23
+ * <Button
24
+ * label="Open Share Recording Pane"
25
+ * onClick={() => setIsOpen(true)}
26
+ * />
27
+ * <ShareRecordingPane
28
+ * recordingUrl="https://example.com/recording"
29
+ * totalDuration={3600} // Total duration in seconds (e.g., 1 hour)
30
+ * getCurrentTimestamp={() => 300} // Current playback time in seconds
31
+ * isOpen={isOpen} // Boolean indicating if the pane is open
32
+ * onClose={() => setIsOpen(false)} // Function to close the pane
33
+ * isLoading={false}
34
+ * />
35
+ * </>
36
+ * );
37
+ * };
38
+ *
39
+ * export default ShareRecordingPaneExample;
40
+ * @endexample
41
+ */
42
+ declare const ShareRecordingPane: React.FC<{
43
+ recordingUrl: string;
44
+ totalDuration: number;
45
+ getCurrentTimestamp: () => number;
46
+ isOpen: boolean;
47
+ onClose: Function;
48
+ isLoading?: boolean;
49
+ }>;
50
+ export default ShareRecordingPane;
@@ -4,6 +4,7 @@ type MoreOptions = {
4
4
  title: string;
5
5
  link: Function;
6
6
  icon: React.ReactNode;
7
+ onClick: Function;
7
8
  dataCy: string;
8
9
  };
9
10
  /**
@@ -20,7 +21,7 @@ type MoreOptions = {
20
21
  * import ShareViaLink from "@bigbinary/neeto-molecules/ShareViaLink";
21
22
  *
22
23
  * const Share = ({ quiz }) => {
23
- * const { mutate: regenerateURL, isLoading: isRegenerating } =
24
+ * const { mutate: regenerateURL, isPending: isRegenerating } =
24
25
  * useRegenerateUrl();
25
26
  *
26
27
  * return (
@@ -44,10 +45,10 @@ type MoreOptions = {
44
45
  * import ShareViaLink from "@bigbinary/neeto-molecules/ShareViaLink";
45
46
  *
46
47
  * const Share = ({ quiz }) => {
47
- * const { mutate: regenerateURL, isLoading: isRegenerating } =
48
+ * const { mutate: regenerateURL, isPending: isRegenerating } =
48
49
  * useRegenerateUrl();
49
50
  *
50
- * const { mutate: updateUrl, isLoading: isUpdating } = useUpdateUrl();
51
+ * const { mutate: updateUrl, isPending: isUpdating } = useUpdateUrl();
51
52
  *
52
53
  * return (
53
54
  * <ShareViaLink
@@ -103,7 +104,7 @@ type MoreOptions = {
103
104
  * @example
104
105
  *
105
106
  * import ShareViaLink from "@bigbinary/neeto-molecules/ShareViaLink";
106
- * import { Message } from "neetoicons";
107
+ * import { Message, Notification } from "neetoicons";
107
108
  *
108
109
  * const Share = ({ quiz }) => (
109
110
  * <ShareViaLink
@@ -119,6 +120,14 @@ type MoreOptions = {
119
120
  * icon: Message,
120
121
  * dataCy: "share-via-email-link",
121
122
  * },
123
+ * {
124
+ * title: "Notify users",
125
+ * onClick: () => {
126
+ * alert("Notified users");
127
+ * },
128
+ * icon: Notification,
129
+ * dataCy: "notify-users",
130
+ * },
122
131
  * ]}
123
132
  * />
124
133
  * );
@@ -147,5 +156,7 @@ const ShareViaLink: React.FC<{
147
156
  url: string;
148
157
  moreOptions?: MoreOptions[];
149
158
  isOtherShareOptionsEnabled?: boolean;
159
+ disableShareSocialMedia?: boolean;
160
+ disableQRDownload?: boolean;
150
161
  }>;
151
162
  export default ShareViaLink;