@bigbinary/neeto-molecules 3.3.11 → 3.3.13

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 (325) hide show
  1. package/dist/Breadcrumbs.js +28 -24
  2. package/dist/Breadcrumbs.js.map +1 -1
  3. package/dist/BrowserSupport.js +95 -69
  4. package/dist/BrowserSupport.js.map +1 -1
  5. package/dist/Builder.js +337 -285
  6. package/dist/Builder.js.map +1 -1
  7. package/dist/CalendarView.js +121 -110
  8. package/dist/CalendarView.js.map +1 -1
  9. package/dist/{Chevron-dee43d2f.js → Chevron-6564bcdc.js} +81 -67
  10. package/dist/Chevron-6564bcdc.js.map +1 -0
  11. package/dist/Codeblock.js +30 -25
  12. package/dist/Codeblock.js.map +1 -1
  13. package/dist/Columns.js +3 -3
  14. package/dist/ConfigurePageSidebar.js +39 -37
  15. package/dist/ConfigurePageSidebar.js.map +1 -1
  16. package/dist/ConfirmationModal.js +54 -42
  17. package/dist/ConfirmationModal.js.map +1 -1
  18. package/dist/Container.js +6 -4
  19. package/dist/Container.js.map +1 -1
  20. package/dist/CopyToClipboardButton.js +5 -3
  21. package/dist/CopyToClipboardButton.js.map +1 -1
  22. package/dist/Currency.js +9 -4
  23. package/dist/Currency.js.map +1 -1
  24. package/dist/CustomDomain.js +56 -53
  25. package/dist/CustomDomain.js.map +1 -1
  26. package/dist/CustomDomainDashboard.js +131 -113
  27. package/dist/CustomDomainDashboard.js.map +1 -1
  28. package/dist/DateFormat.js +13 -7
  29. package/dist/DateFormat.js.map +1 -1
  30. package/dist/DateRangeFilter.js +43 -38
  31. package/dist/DateRangeFilter.js.map +1 -1
  32. package/dist/DeleteArchiveModal.js +47 -38
  33. package/dist/DeleteArchiveModal.js.map +1 -1
  34. package/dist/DeviceIncompatibilityMessage.js +96 -0
  35. package/dist/DeviceIncompatibilityMessage.js.map +1 -0
  36. package/dist/DocumentEditor.js +43 -39
  37. package/dist/DocumentEditor.js.map +1 -1
  38. package/dist/DownloadMobileAppCallout.js +15 -14
  39. package/dist/DownloadMobileAppCallout.js.map +1 -1
  40. package/dist/DynamicVariables.js +33 -26
  41. package/dist/DynamicVariables.js.map +1 -1
  42. package/dist/EmailForm.js +144 -131
  43. package/dist/EmailForm.js.map +1 -1
  44. package/dist/EmailPreview.js +83 -68
  45. package/dist/EmailPreview.js.map +1 -1
  46. package/dist/EmojiPicker.js +11 -6
  47. package/dist/EmojiPicker.js.map +1 -1
  48. package/dist/EmojiReactions.js +48 -37
  49. package/dist/EmojiReactions.js.map +1 -1
  50. package/dist/ErrorPage.js +51 -38
  51. package/dist/ErrorPage.js.map +1 -1
  52. package/dist/FileUpload.js +180 -149
  53. package/dist/FileUpload.js.map +1 -1
  54. package/dist/FloatingActionMenu.js +288 -230
  55. package/dist/FloatingActionMenu.js.map +1 -1
  56. package/dist/Header.js +42 -35
  57. package/dist/Header.js.map +1 -1
  58. package/dist/HelpPopover.js +50 -42
  59. package/dist/HelpPopover.js.map +1 -1
  60. package/dist/IconPicker.js +121 -100
  61. package/dist/IconPicker.js.map +1 -1
  62. package/dist/ImageWithFallback.js +9 -5
  63. package/dist/ImageWithFallback.js.map +1 -1
  64. package/dist/InlineInput.js +59 -52
  65. package/dist/InlineInput.js.map +1 -1
  66. package/dist/Insights.js +185 -153
  67. package/dist/Insights.js.map +1 -1
  68. package/dist/IntegrationCard.js +109 -91
  69. package/dist/IntegrationCard.js.map +1 -1
  70. package/dist/IntegrationDisconnectAlert.js +5 -3
  71. package/dist/IntegrationDisconnectAlert.js.map +1 -1
  72. package/dist/IntegrationWalkthroughModal.js +30 -20
  73. package/dist/IntegrationWalkthroughModal.js.map +1 -1
  74. package/dist/IpRestriction.js +209 -177
  75. package/dist/IpRestriction.js.map +1 -1
  76. package/dist/KeyboardShortcuts.js +83 -73
  77. package/dist/KeyboardShortcuts.js.map +1 -1
  78. package/dist/LoginPage.js +70 -63
  79. package/dist/LoginPage.js.map +1 -1
  80. package/dist/MadeWith.js +14 -9
  81. package/dist/MadeWith.js.map +1 -1
  82. package/dist/MenuBar.js +107 -77
  83. package/dist/MenuBar.js.map +1 -1
  84. package/dist/Metadata.js +124 -100
  85. package/dist/Metadata.js.map +1 -1
  86. package/dist/MoreDropdown.js +55 -43
  87. package/dist/MoreDropdown.js.map +1 -1
  88. package/dist/NavigationHeader.js +104 -81
  89. package/dist/NavigationHeader.js.map +1 -1
  90. package/dist/NeetoWidget.js +383 -330
  91. package/dist/NeetoWidget.js.map +1 -1
  92. package/dist/Onboarding.js +125 -107
  93. package/dist/Onboarding.js.map +1 -1
  94. package/dist/OptionFields.js +261 -227
  95. package/dist/OptionFields.js.map +1 -1
  96. package/dist/PageLoader.js +23 -19
  97. package/dist/PageLoader.js.map +1 -1
  98. package/dist/PhoneNumber.js +85 -69
  99. package/dist/PhoneNumber.js.map +1 -1
  100. package/dist/ProductEmbed.js +384 -341
  101. package/dist/ProductEmbed.js.map +1 -1
  102. package/dist/PublishBlock.js +185 -154
  103. package/dist/PublishBlock.js.map +1 -1
  104. package/dist/PublishYourItem.js +35 -30
  105. package/dist/PublishYourItem.js.map +1 -1
  106. package/dist/Rename.js +102 -83
  107. package/dist/Rename.js.map +1 -1
  108. package/dist/ResponsiveDevicePicker.js +25 -21
  109. package/dist/ResponsiveDevicePicker.js.map +1 -1
  110. package/dist/Schedule.js +340 -301
  111. package/dist/Schedule.js.map +1 -1
  112. package/dist/Scrollable.js +7 -4
  113. package/dist/Scrollable.js.map +1 -1
  114. package/dist/Search.js +6 -4
  115. package/dist/Search.js.map +1 -1
  116. package/dist/SendToFields.js +154 -125
  117. package/dist/SendToFields.js.map +1 -1
  118. package/dist/Settings.js +94 -78
  119. package/dist/Settings.js.map +1 -1
  120. package/dist/ShareRecordingPane.js +60 -49
  121. package/dist/ShareRecordingPane.js.map +1 -1
  122. package/dist/ShareViaEmail.js +167 -146
  123. package/dist/ShareViaEmail.js.map +1 -1
  124. package/dist/ShareViaLink.js +289 -255
  125. package/dist/ShareViaLink.js.map +1 -1
  126. package/dist/Sidebar.js +122 -111
  127. package/dist/Sidebar.js.map +1 -1
  128. package/dist/StickyRibbonsContainer.js +20 -18
  129. package/dist/StickyRibbonsContainer.js.map +1 -1
  130. package/dist/SubHeader.js +111 -100
  131. package/dist/SubHeader.js.map +1 -1
  132. package/dist/SuffixedInput.js +52 -47
  133. package/dist/SuffixedInput.js.map +1 -1
  134. package/dist/TableWrapper.js +9 -7
  135. package/dist/TableWrapper.js.map +1 -1
  136. package/dist/Taxonomy.js +179 -151
  137. package/dist/Taxonomy.js.map +1 -1
  138. package/dist/TimeFormat.js +2 -2
  139. package/dist/TimezoneMismatchModal.js +55 -43
  140. package/dist/TimezoneMismatchModal.js.map +1 -1
  141. package/dist/ToggleFeatureCard.js +74 -65
  142. package/dist/ToggleFeatureCard.js.map +1 -1
  143. package/dist/cjs/Breadcrumbs.js +28 -25
  144. package/dist/cjs/Breadcrumbs.js.map +1 -1
  145. package/dist/cjs/BrowserSupport.js +96 -71
  146. package/dist/cjs/BrowserSupport.js.map +1 -1
  147. package/dist/cjs/Builder.js +336 -286
  148. package/dist/cjs/Builder.js.map +1 -1
  149. package/dist/cjs/CalendarView.js +120 -111
  150. package/dist/cjs/CalendarView.js.map +1 -1
  151. package/dist/cjs/{Chevron-c10b4e16.js → Chevron-6368e586.js} +81 -69
  152. package/dist/cjs/Chevron-6368e586.js.map +1 -0
  153. package/dist/cjs/Codeblock.js +31 -27
  154. package/dist/cjs/Codeblock.js.map +1 -1
  155. package/dist/cjs/Columns.js +3 -3
  156. package/dist/cjs/ConfigurePageSidebar.js +38 -37
  157. package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
  158. package/dist/cjs/ConfirmationModal.js +53 -42
  159. package/dist/cjs/ConfirmationModal.js.map +1 -1
  160. package/dist/cjs/Container.js +5 -4
  161. package/dist/cjs/Container.js.map +1 -1
  162. package/dist/cjs/CopyToClipboardButton.js +4 -4
  163. package/dist/cjs/CopyToClipboardButton.js.map +1 -1
  164. package/dist/cjs/Currency.js +9 -5
  165. package/dist/cjs/Currency.js.map +1 -1
  166. package/dist/cjs/CustomDomain.js +55 -53
  167. package/dist/cjs/CustomDomain.js.map +1 -1
  168. package/dist/cjs/CustomDomainDashboard.js +131 -114
  169. package/dist/cjs/CustomDomainDashboard.js.map +1 -1
  170. package/dist/cjs/DateFormat.js +14 -9
  171. package/dist/cjs/DateFormat.js.map +1 -1
  172. package/dist/cjs/DateRangeFilter.js +44 -40
  173. package/dist/cjs/DateRangeFilter.js.map +1 -1
  174. package/dist/cjs/DeleteArchiveModal.js +46 -38
  175. package/dist/cjs/DeleteArchiveModal.js.map +1 -1
  176. package/dist/cjs/DeviceIncompatibilityMessage.js +123 -0
  177. package/dist/cjs/DeviceIncompatibilityMessage.js.map +1 -0
  178. package/dist/cjs/DocumentEditor.js +42 -40
  179. package/dist/cjs/DocumentEditor.js.map +1 -1
  180. package/dist/cjs/DownloadMobileAppCallout.js +15 -15
  181. package/dist/cjs/DownloadMobileAppCallout.js.map +1 -1
  182. package/dist/cjs/DynamicVariables.js +32 -27
  183. package/dist/cjs/DynamicVariables.js.map +1 -1
  184. package/dist/cjs/EmailForm.js +143 -131
  185. package/dist/cjs/EmailForm.js.map +1 -1
  186. package/dist/cjs/EmailPreview.js +82 -68
  187. package/dist/cjs/EmailPreview.js.map +1 -1
  188. package/dist/cjs/EmojiPicker.js +11 -7
  189. package/dist/cjs/EmojiPicker.js.map +1 -1
  190. package/dist/cjs/EmojiReactions.js +47 -37
  191. package/dist/cjs/EmojiReactions.js.map +1 -1
  192. package/dist/cjs/ErrorPage.js +51 -39
  193. package/dist/cjs/ErrorPage.js.map +1 -1
  194. package/dist/cjs/FileUpload.js +181 -152
  195. package/dist/cjs/FileUpload.js.map +1 -1
  196. package/dist/cjs/FloatingActionMenu.js +288 -232
  197. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  198. package/dist/cjs/Header.js +41 -36
  199. package/dist/cjs/Header.js.map +1 -1
  200. package/dist/cjs/HelpPopover.js +50 -43
  201. package/dist/cjs/HelpPopover.js.map +1 -1
  202. package/dist/cjs/IconPicker.js +121 -101
  203. package/dist/cjs/IconPicker.js.map +1 -1
  204. package/dist/cjs/ImageWithFallback.js +8 -6
  205. package/dist/cjs/ImageWithFallback.js.map +1 -1
  206. package/dist/cjs/InlineInput.js +59 -54
  207. package/dist/cjs/InlineInput.js.map +1 -1
  208. package/dist/cjs/Insights.js +185 -154
  209. package/dist/cjs/Insights.js.map +1 -1
  210. package/dist/cjs/IntegrationCard.js +110 -93
  211. package/dist/cjs/IntegrationCard.js.map +1 -1
  212. package/dist/cjs/IntegrationDisconnectAlert.js +6 -5
  213. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -1
  214. package/dist/cjs/IntegrationWalkthroughModal.js +30 -21
  215. package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -1
  216. package/dist/cjs/IpRestriction.js +208 -177
  217. package/dist/cjs/IpRestriction.js.map +1 -1
  218. package/dist/cjs/KeyboardShortcuts.js +83 -74
  219. package/dist/cjs/KeyboardShortcuts.js.map +1 -1
  220. package/dist/cjs/LoginPage.js +69 -63
  221. package/dist/cjs/LoginPage.js.map +1 -1
  222. package/dist/cjs/MadeWith.js +14 -10
  223. package/dist/cjs/MadeWith.js.map +1 -1
  224. package/dist/cjs/MenuBar.js +108 -79
  225. package/dist/cjs/MenuBar.js.map +1 -1
  226. package/dist/cjs/Metadata.js +123 -100
  227. package/dist/cjs/Metadata.js.map +1 -1
  228. package/dist/cjs/MoreDropdown.js +55 -45
  229. package/dist/cjs/MoreDropdown.js.map +1 -1
  230. package/dist/cjs/NavigationHeader.js +105 -83
  231. package/dist/cjs/NavigationHeader.js.map +1 -1
  232. package/dist/cjs/NeetoWidget.js +383 -332
  233. package/dist/cjs/NeetoWidget.js.map +1 -1
  234. package/dist/cjs/Onboarding.js +125 -109
  235. package/dist/cjs/Onboarding.js.map +1 -1
  236. package/dist/cjs/OptionFields.js +261 -229
  237. package/dist/cjs/OptionFields.js.map +1 -1
  238. package/dist/cjs/PageLoader.js +23 -20
  239. package/dist/cjs/PageLoader.js.map +1 -1
  240. package/dist/cjs/PhoneNumber.js +86 -72
  241. package/dist/cjs/PhoneNumber.js.map +1 -1
  242. package/dist/cjs/ProductEmbed.js +383 -341
  243. package/dist/cjs/ProductEmbed.js.map +1 -1
  244. package/dist/cjs/PublishBlock.js +185 -156
  245. package/dist/cjs/PublishBlock.js.map +1 -1
  246. package/dist/cjs/PublishYourItem.js +35 -31
  247. package/dist/cjs/PublishYourItem.js.map +1 -1
  248. package/dist/cjs/Rename.js +102 -85
  249. package/dist/cjs/Rename.js.map +1 -1
  250. package/dist/cjs/ResponsiveDevicePicker.js +26 -24
  251. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
  252. package/dist/cjs/Schedule.js +339 -301
  253. package/dist/cjs/Schedule.js.map +1 -1
  254. package/dist/cjs/Scrollable.js +7 -6
  255. package/dist/cjs/Scrollable.js.map +1 -1
  256. package/dist/cjs/Search.js +5 -5
  257. package/dist/cjs/Search.js.map +1 -1
  258. package/dist/cjs/SendToFields.js +154 -126
  259. package/dist/cjs/SendToFields.js.map +1 -1
  260. package/dist/cjs/Settings.js +94 -80
  261. package/dist/cjs/Settings.js.map +1 -1
  262. package/dist/cjs/ShareRecordingPane.js +60 -51
  263. package/dist/cjs/ShareRecordingPane.js.map +1 -1
  264. package/dist/cjs/ShareViaEmail.js +167 -148
  265. package/dist/cjs/ShareViaEmail.js.map +1 -1
  266. package/dist/cjs/ShareViaLink.js +290 -256
  267. package/dist/cjs/ShareViaLink.js.map +1 -1
  268. package/dist/cjs/Sidebar.js +120 -111
  269. package/dist/cjs/Sidebar.js.map +1 -1
  270. package/dist/cjs/StickyRibbonsContainer.js +20 -19
  271. package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
  272. package/dist/cjs/SubHeader.js +110 -101
  273. package/dist/cjs/SubHeader.js.map +1 -1
  274. package/dist/cjs/SuffixedInput.js +51 -48
  275. package/dist/cjs/SuffixedInput.js.map +1 -1
  276. package/dist/cjs/TableWrapper.js +9 -8
  277. package/dist/cjs/TableWrapper.js.map +1 -1
  278. package/dist/cjs/Taxonomy.js +178 -151
  279. package/dist/cjs/Taxonomy.js.map +1 -1
  280. package/dist/cjs/TimeFormat.js +2 -2
  281. package/dist/cjs/TimezoneMismatchModal.js +54 -43
  282. package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
  283. package/dist/cjs/ToggleFeatureCard.js +73 -66
  284. package/dist/cjs/ToggleFeatureCard.js.map +1 -1
  285. package/dist/cjs/{index-4ee3f585.js → index-c925b4b1.js} +296 -239
  286. package/dist/cjs/index-c925b4b1.js.map +1 -0
  287. package/dist/cjs/{useColumns-5ce3cf1e.js → useColumns-8894f767.js} +52 -42
  288. package/dist/cjs/useColumns-8894f767.js.map +1 -0
  289. package/dist/{index-0063079e.js → index-e123ffe8.js} +296 -238
  290. package/dist/index-e123ffe8.js.map +1 -0
  291. package/dist/{useColumns-e0b5dfb7.js → useColumns-13263cd8.js} +52 -40
  292. package/dist/useColumns-13263cd8.js.map +1 -0
  293. package/package.json +5 -3
  294. package/src/translations/en.json +3 -0
  295. package/types/Breadcrumbs.d.ts +0 -1
  296. package/types/Builder.d.ts +0 -1
  297. package/types/Codeblock.d.ts +0 -1
  298. package/types/Columns.d.ts +10 -4
  299. package/types/ConfirmationModal.d.ts +0 -1
  300. package/types/DeleteArchiveModal.d.ts +9 -6
  301. package/types/DeviceIncompatibilityMessage.d.ts +17 -0
  302. package/types/DocumentEditor.d.ts +0 -1
  303. package/types/EmailForm.d.ts +0 -1
  304. package/types/EmailFormProvider.d.ts +0 -1
  305. package/types/EmailPreview.d.ts +0 -1
  306. package/types/FileUpload.d.ts +8 -4
  307. package/types/IntegrationWalkthroughModal.d.ts +1 -1
  308. package/types/Metadata.d.ts +0 -1
  309. package/types/MoreDropdown.d.ts +0 -1
  310. package/types/NavigationHeader.d.ts +0 -4
  311. package/types/PhoneNumber.d.ts +1 -1
  312. package/types/ProductEmbed.d.ts +0 -1
  313. package/types/Schedule.d.ts +1 -1
  314. package/types/Search.d.ts +0 -1
  315. package/types/SendToFields.d.ts +0 -1
  316. package/types/Settings.d.ts +1 -1
  317. package/types/ShareRecordingPane.d.ts +1 -1
  318. package/types/ShareViaEmail.d.ts +1 -2
  319. package/types/Taxonomy.d.ts +0 -1
  320. package/dist/Chevron-dee43d2f.js.map +0 -1
  321. package/dist/cjs/Chevron-c10b4e16.js.map +0 -1
  322. package/dist/cjs/index-4ee3f585.js.map +0 -1
  323. package/dist/cjs/useColumns-5ce3cf1e.js.map +0 -1
  324. package/dist/index-0063079e.js.map +0 -1
  325. package/dist/useColumns-e0b5dfb7.js.map +0 -1
package/dist/Settings.js CHANGED
@@ -1,20 +1,20 @@
1
- import React__default, { memo, useEffect } from 'react';
1
+ import { memo, useEffect, createElement } from 'react';
2
2
  import classnames from 'classnames';
3
3
  import useQueryParams from '@bigbinary/neeto-commons-frontend/react-utils/useQueryParams';
4
4
  import NoData from '@bigbinary/neetoui/NoData';
5
5
  import { omit, isEmpty } from 'ramda';
6
6
  import { useTranslation } from 'react-i18next';
7
7
  import Header from './Header.js';
8
- import _extends from '@babel/runtime/helpers/extends';
8
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
9
9
  import { hyphenate, isPresent, filterBy, isNotEmpty } from '@bigbinary/neeto-cist';
10
10
  import Typography from '@bigbinary/neetoui/Typography';
11
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
12
11
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
13
12
  import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
14
13
  import Check from '@bigbinary/neeto-icons/Check';
15
14
  import Tag from '@bigbinary/neetoui/Tag';
16
15
  import { joinHyphenCase } from '@bigbinary/neeto-commons-frontend/utils/general';
17
16
  import { withRouter, Link } from 'react-router-dom';
17
+ import { jsxs, jsx } from 'react/jsx-runtime';
18
18
  import './Breadcrumbs.js';
19
19
  import './inject-css-c86de496.js';
20
20
  import './MoreDropdown.js';
@@ -34,6 +34,8 @@ import '@bigbinary/neeto-commons-frontend/utils';
34
34
  var UNSUPPORTED_LINK_PROPS = ["staticContext", "tReady"];
35
35
 
36
36
  var _excluded$1 = ["label", "description", "icon", "path", "dataCy", "className", "children"];
37
+ function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
38
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
37
39
  var Item = function Item(_ref) {
38
40
  var label = _ref.label,
39
41
  description = _ref.description,
@@ -45,33 +47,40 @@ var Item = function Item(_ref) {
45
47
  className = _ref$className === void 0 ? "" : _ref$className,
46
48
  children = _ref.children,
47
49
  otherProps = _objectWithoutProperties(_ref, _excluded$1);
48
- return /*#__PURE__*/React__default.createElement(Link, _extends({
50
+ return /*#__PURE__*/jsxs(Link, _objectSpread$3(_objectSpread$3({
49
51
  "data-cy": dataCy,
50
52
  to: path,
51
53
  className: classnames("neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex cursor-pointer flex-col space-y-4 border p-6 no-underline outline-none transition-transform duration-300 ease-in-out hover:-translate-y-1", className)
52
- }, omit(UNSUPPORTED_LINK_PROPS, otherProps)), /*#__PURE__*/React__default.createElement("div", {
53
- "data-testid": "settings-item-".concat(joinHyphenCase(label))
54
- }, /*#__PURE__*/React__default.createElement("div", {
55
- className: "mb-2 flex items-center gap-4"
56
- }, Icon && /*#__PURE__*/React__default.createElement(Icon, {
57
- className: "neeto-ui-text-gray-600",
58
- size: 32
59
- }), /*#__PURE__*/React__default.createElement(Typography, {
60
- "data-cy": "settings-item-heading",
61
- style: "h4",
62
- weight: "semibold"
63
- }, label)), /*#__PURE__*/React__default.createElement(Typography, {
64
- "data-cy": "settings-item-description",
65
- style: "body2"
66
- }, description)), children && /*#__PURE__*/React__default.createElement("div", {
67
- className: "neeto-ui-border-gray-300 border-t pt-3"
68
- }, children));
54
+ }, omit(UNSUPPORTED_LINK_PROPS, otherProps)), {}, {
55
+ children: [/*#__PURE__*/jsxs("div", {
56
+ "data-testid": "settings-item-".concat(joinHyphenCase(label)),
57
+ children: [/*#__PURE__*/jsxs("div", {
58
+ className: "mb-2 flex items-center gap-4",
59
+ children: [Icon && /*#__PURE__*/jsx(Icon, {
60
+ className: "neeto-ui-text-gray-600",
61
+ size: 32
62
+ }), /*#__PURE__*/jsx(Typography, {
63
+ "data-cy": "settings-item-heading",
64
+ style: "h4",
65
+ weight: "semibold",
66
+ children: label
67
+ })]
68
+ }), /*#__PURE__*/jsx(Typography, {
69
+ "data-cy": "settings-item-description",
70
+ style: "body2",
71
+ children: description
72
+ })]
73
+ }), children && /*#__PURE__*/jsx("div", {
74
+ className: "neeto-ui-border-gray-300 border-t pt-3",
75
+ children: children
76
+ })]
77
+ }));
69
78
  };
70
79
  var Item$1 = /*#__PURE__*/memo(withRouter(Item));
71
80
 
72
81
  var _excluded = ["t", "isConnected", "icon", "description", "label", "path"];
73
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
74
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
82
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
83
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
75
84
  var IntegrationItem = withT(function (_ref) {
76
85
  var t = _ref.t,
77
86
  isConnected = _ref.isConnected,
@@ -80,23 +89,26 @@ var IntegrationItem = withT(function (_ref) {
80
89
  label = _ref.label,
81
90
  path = _ref.path,
82
91
  otherProps = _objectWithoutProperties(_ref, _excluded);
83
- return /*#__PURE__*/React__default.createElement(Item$1, _extends({}, _objectSpread$1({
92
+ return /*#__PURE__*/jsx(Item$1, _objectSpread$2(_objectSpread$2({}, _objectSpread$2({
84
93
  description: description,
85
94
  icon: icon,
86
95
  label: label,
87
96
  path: path
88
- }, otherProps), {
89
- dataCy: "".concat(hyphenate(label).replace(/\./g, "-"), "-integration-card")
90
- }), isConnected && /*#__PURE__*/React__default.createElement(Tag, {
91
- className: "flex-row-reverse",
92
- "data-cy": "integration-status-tag",
93
- icon: Check,
94
- label: t("neetoMolecules.integrationCard.connected"),
95
- style: "success"
97
+ }, otherProps)), {}, {
98
+ dataCy: "".concat(hyphenate(label).replace(/\./g, "-"), "-integration-card"),
99
+ children: isConnected && /*#__PURE__*/jsx(Tag, {
100
+ className: "flex-row-reverse",
101
+ "data-cy": "integration-status-tag",
102
+ icon: Check,
103
+ label: t("neetoMolecules.integrationCard.connected"),
104
+ style: "success"
105
+ })
96
106
  }));
97
107
  });
98
- var IntegrationItem$1 = /*#__PURE__*/React__default.memo(IntegrationItem);
108
+ var IntegrationItem$1 = /*#__PURE__*/memo(IntegrationItem);
99
109
 
110
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
111
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
100
112
  var Category = function Category(_ref) {
101
113
  var items = _ref.items,
102
114
  label = _ref.label,
@@ -104,24 +116,25 @@ var Category = function Category(_ref) {
104
116
  isIntegration = _ref.isIntegration;
105
117
  var SettingsCard = isIntegration ? IntegrationItem$1 : Item$1;
106
118
  var isLabelPresent = isPresent(label);
107
- return /*#__PURE__*/React__default.createElement("div", {
119
+ return /*#__PURE__*/jsxs("div", {
108
120
  id: id,
109
121
  className: classnames("flex flex-col", {
110
122
  "mb-7": isLabelPresent
111
- })
112
- }, isLabelPresent && /*#__PURE__*/React__default.createElement(Typography, {
113
- className: "mb-6 mt-2",
114
- component: "h2",
115
- "data-cy": "settings-category-heading",
116
- style: "h2",
117
- weight: "semibold"
118
- }, label), /*#__PURE__*/React__default.createElement("div", {
119
- className: "grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4"
120
- }, items.map(function (item) {
121
- return /*#__PURE__*/React__default.createElement(SettingsCard, _extends({
122
- key: item.label
123
- }, item));
124
- })));
123
+ }),
124
+ children: [isLabelPresent && /*#__PURE__*/jsx(Typography, {
125
+ className: "mb-6 mt-2",
126
+ component: "h2",
127
+ "data-cy": "settings-category-heading",
128
+ style: "h2",
129
+ weight: "semibold",
130
+ children: label
131
+ }), /*#__PURE__*/jsx("div", {
132
+ className: "grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4",
133
+ children: items.map(function (item) {
134
+ return /*#__PURE__*/jsx(SettingsCard, _objectSpread$1({}, item), item.label);
135
+ })
136
+ })]
137
+ });
125
138
  };
126
139
 
127
140
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -178,39 +191,42 @@ var Settings = function Settings(_ref) {
178
191
  useEffect(function () {
179
192
  scrollIntoSettingCategory(categoryParam);
180
193
  }, [categoryParam]);
181
- return /*#__PURE__*/React__default.createElement("div", {
194
+ return /*#__PURE__*/jsxs("div", {
182
195
  className: classnames("neeto-molecules-container", {
183
196
  "h-auto overflow-y-auto": isTitleHidden
184
- })
185
- }, isHeaderVisible && /*#__PURE__*/React__default.createElement(Header, {
186
- className: classnames({
187
- "min-h-0 pb-4 pt-8": isTitleHidden
188
197
  }),
189
- title: !isTitleHidden && headerTitle,
190
- searchProps: isSearchHidden ? null : {
191
- className: "w-72",
192
- placeholder: t("neetoMolecules.settingsPage.placeholder.search")
193
- }
194
- }), isEmpty(filteredCategories) ? /*#__PURE__*/React__default.createElement("div", {
195
- className: "flex h-full w-full flex-grow items-center justify-center",
196
- "data-testid": "settings-no-data"
197
- }, /*#__PURE__*/React__default.createElement(NoData, {
198
- title: t("neetoMolecules.settingsPage.noData")
199
- })) : /*#__PURE__*/React__default.createElement("div", {
200
- className: "w-full"
201
- }, filteredCategories.map(function (_ref2) {
202
- var id = _ref2.id,
203
- label = _ref2.label,
204
- items = _ref2.items,
205
- isIntegration = _ref2.isIntegration;
206
- return /*#__PURE__*/React__default.createElement(Category, {
207
- id: id,
208
- isIntegration: isIntegration,
209
- items: items,
210
- label: label,
211
- key: id
212
- });
213
- })));
198
+ children: [isHeaderVisible && /*#__PURE__*/jsx(Header, {
199
+ className: classnames({
200
+ "min-h-0 pb-4 pt-8": isTitleHidden
201
+ }),
202
+ title: !isTitleHidden && headerTitle,
203
+ searchProps: isSearchHidden ? null : {
204
+ className: "w-72",
205
+ placeholder: t("neetoMolecules.settingsPage.placeholder.search")
206
+ }
207
+ }), isEmpty(filteredCategories) ? /*#__PURE__*/jsx("div", {
208
+ className: "flex h-full w-full flex-grow items-center justify-center",
209
+ "data-testid": "settings-no-data",
210
+ children: /*#__PURE__*/jsx(NoData, {
211
+ title: t("neetoMolecules.settingsPage.noData")
212
+ })
213
+ }) : /*#__PURE__*/jsx("div", {
214
+ className: "w-full",
215
+ children: filteredCategories.map(function (_ref2) {
216
+ var id = _ref2.id,
217
+ label = _ref2.label,
218
+ items = _ref2.items,
219
+ isIntegration = _ref2.isIntegration;
220
+ return /*#__PURE__*/createElement(Category, {
221
+ id: id,
222
+ isIntegration: isIntegration,
223
+ items: items,
224
+ label: label,
225
+ key: id
226
+ });
227
+ })
228
+ })]
229
+ });
214
230
  };
215
231
 
216
232
  export { Settings as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","sources":["../src/components/Settings/constants.js","../src/components/Settings/Item.jsx","../src/components/Settings/IntegrationItem.jsx","../src/components/Settings/Category.jsx","../src/components/Settings/utils.js","../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import React, { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n dataCy,\n className = \"\",\n children,\n ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex cursor-pointer flex-col space-y-4 border p-6 no-underline outline-none transition-transform duration-300 ease-in-out hover:-translate-y-1\",\n className\n )}\n {...omit(UNSUPPORTED_LINK_PROPS, otherProps)}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n <div className=\"mb-2 flex items-center gap-4\">\n {Icon && <Icon className=\"neeto-ui-text-gray-600\" size={32} />}\n <Typography\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n </div>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 border-t pt-3\">{children}</div>\n )}\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Check } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\n\nimport Item from \"./Item\";\n\nconst IntegrationItem = withT(\n ({ t, isConnected, icon, description, label, path, ...otherProps }) => (\n <Item\n {...{ description, icon, label, path, ...otherProps }}\n dataCy={`${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`}\n >\n {isConnected && (\n <Tag\n className=\"flex-row-reverse\"\n data-cy=\"integration-status-tag\"\n icon={Check}\n label={t(\"neetoMolecules.integrationCard.connected\")}\n style=\"success\"\n />\n )}\n </Item>\n )\n);\n\nexport default React.memo(IntegrationItem);\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classNames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography\n className=\"mb-6 mt-2\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n )}\n <div className=\"grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import React, { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n categories = [],\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n {isHeaderVisible && (\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: propTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","Item","_ref","label","description","_ref$icon","icon","Icon","path","dataCy","_ref$className","className","children","otherProps","_objectWithoutProperties","_excluded","React","createElement","Link","_extends","to","classnames","omit","concat","joinHyphenCase","size","Typography","style","weight","memo","withRouter","IntegrationItem","withT","t","isConnected","_objectSpread","hyphenate","replace","Tag","Check","Category","items","id","isIntegration","SettingsCard","isLabelPresent","isPresent","classNames","component","map","item","key","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_useTranslation","useTranslation","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","NoData"],"mappings":"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"}
1
+ {"version":3,"file":"Settings.js","sources":["../src/components/Settings/constants.js","../src/components/Settings/Item.jsx","../src/components/Settings/IntegrationItem.jsx","../src/components/Settings/Category.jsx","../src/components/Settings/utils.js","../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n dataCy,\n className = \"\",\n children,\n ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex cursor-pointer flex-col space-y-4 border p-6 no-underline outline-none transition-transform duration-300 ease-in-out hover:-translate-y-1\",\n className\n )}\n {...omit(UNSUPPORTED_LINK_PROPS, otherProps)}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n <div className=\"mb-2 flex items-center gap-4\">\n {Icon && <Icon className=\"neeto-ui-text-gray-600\" size={32} />}\n <Typography\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n </div>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 border-t pt-3\">{children}</div>\n )}\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Check } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\n\nimport Item from \"./Item\";\n\nconst IntegrationItem = withT(\n ({ t, isConnected, icon, description, label, path, ...otherProps }) => (\n <Item\n {...{ description, icon, label, path, ...otherProps }}\n dataCy={`${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`}\n >\n {isConnected && (\n <Tag\n className=\"flex-row-reverse\"\n data-cy=\"integration-status-tag\"\n icon={Check}\n label={t(\"neetoMolecules.integrationCard.connected\")}\n style=\"success\"\n />\n )}\n </Item>\n )\n);\n\nexport default memo(IntegrationItem);\n","import classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classNames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography\n className=\"mb-6 mt-2\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n )}\n <div className=\"grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n categories = [],\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n {isHeaderVisible && (\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: propTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","Item","_ref","label","description","_ref$icon","icon","Icon","path","dataCy","_ref$className","className","children","otherProps","_objectWithoutProperties","_excluded","_jsxs","Link","_objectSpread","to","classnames","omit","concat","joinHyphenCase","_jsx","size","Typography","style","weight","memo","withRouter","IntegrationItem","withT","t","isConnected","hyphenate","replace","Tag","Check","Category","items","id","isIntegration","SettingsCard","isLabelPresent","isPresent","classNames","component","map","item","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_useTranslation","useTranslation","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","NoData","_createElement","key"],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- import _extends from '@babel/runtime/helpers/extends';
2
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
2
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
- import React__default, { useState, useEffect } from 'react';
5
3
  import Pane from '@bigbinary/neetoui/Pane';
6
4
  import Typography from '@bigbinary/neetoui/Typography';
7
5
  import Spinner from '@bigbinary/neetoui/Spinner';
8
6
  import { useTranslation } from 'react-i18next';
9
7
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
8
+ import { useState, useEffect } from 'react';
10
9
  import { buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
11
10
  import Input from '@bigbinary/neetoui/Input';
12
11
  import Checkbox from '@bigbinary/neetoui/Checkbox';
13
12
  import Tooltip from '@bigbinary/neetoui/Tooltip';
14
13
  import { not } from 'ramda';
15
14
  import CopyToClipboardButton from './CopyToClipboardButton.js';
15
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
16
16
  import 'classnames';
17
17
  import '@bigbinary/neeto-commons-frontend/utils/general';
18
18
  import '@bigbinary/neeto-icons/Copy';
@@ -124,38 +124,44 @@ var SharePaneBody = function SharePaneBody(_ref) {
124
124
  }));
125
125
  setShareLink(playbackUrl);
126
126
  }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);
127
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
128
- className: "neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex w-full items-center justify-between p-2"
129
- }, /*#__PURE__*/React__default.createElement(Tooltip, {
130
- content: shareLink
131
- }, /*#__PURE__*/React__default.createElement(Typography, {
132
- className: "truncate",
133
- style: "body2"
134
- }, shareLink)), /*#__PURE__*/React__default.createElement(CopyToClipboardButton, {
135
- className: "flex-shrink-0",
136
- style: "secondary",
137
- value: shareLink
138
- })), /*#__PURE__*/React__default.createElement("div", {
139
- className: "flex items-center gap-x-2"
140
- }, /*#__PURE__*/React__default.createElement(Checkbox, {
141
- checked: isPlaybackTimeCheckboxChecked,
142
- className: "grow-0",
143
- "data-cy": "time-checkbox",
144
- label: t("neetoMolecules.shareRecording.checkboxLabel"),
145
- onChange: function onChange(_ref2) {
146
- var checked = _ref2.target.checked;
147
- return setIsPlaybackTimeCheckboxChecked(checked);
148
- }
149
- }), /*#__PURE__*/React__default.createElement(Input, {
150
- className: "w-40",
151
- "data-cy": "time-input",
152
- disabled: not(isPlaybackTimeCheckboxChecked),
153
- placeholder: showHours ? "HH:MM:SS" : "MM:SS",
154
- value: rawInput,
155
- onBlur: formatAndSetTime,
156
- onChange: handlePlaybackTimestampChange,
157
- onKeyDown: handleKeyDown
158
- })));
127
+ return /*#__PURE__*/jsxs(Fragment, {
128
+ children: [/*#__PURE__*/jsxs("div", {
129
+ className: "neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex w-full items-center justify-between p-2",
130
+ children: [/*#__PURE__*/jsx(Tooltip, {
131
+ content: shareLink,
132
+ children: /*#__PURE__*/jsx(Typography, {
133
+ className: "truncate",
134
+ style: "body2",
135
+ children: shareLink
136
+ })
137
+ }), /*#__PURE__*/jsx(CopyToClipboardButton, {
138
+ className: "flex-shrink-0",
139
+ style: "secondary",
140
+ value: shareLink
141
+ })]
142
+ }), /*#__PURE__*/jsxs("div", {
143
+ className: "flex items-center gap-x-2",
144
+ children: [/*#__PURE__*/jsx(Checkbox, {
145
+ checked: isPlaybackTimeCheckboxChecked,
146
+ className: "grow-0",
147
+ "data-cy": "time-checkbox",
148
+ label: t("neetoMolecules.shareRecording.checkboxLabel"),
149
+ onChange: function onChange(_ref2) {
150
+ var checked = _ref2.target.checked;
151
+ return setIsPlaybackTimeCheckboxChecked(checked);
152
+ }
153
+ }), /*#__PURE__*/jsx(Input, {
154
+ className: "w-40",
155
+ "data-cy": "time-input",
156
+ disabled: not(isPlaybackTimeCheckboxChecked),
157
+ placeholder: showHours ? "HH:MM:SS" : "MM:SS",
158
+ value: rawInput,
159
+ onBlur: formatAndSetTime,
160
+ onChange: handlePlaybackTimestampChange,
161
+ onKeyDown: handleKeyDown
162
+ })]
163
+ })]
164
+ });
159
165
  };
160
166
 
161
167
  var _excluded = ["recordingUrl", "totalDuration", "getCurrentTimestamp", "isOpen", "onClose", "isLoading"];
@@ -172,24 +178,29 @@ var ShareRecordingPane = function ShareRecordingPane(_ref) {
172
178
  otherProps = _objectWithoutProperties(_ref, _excluded);
173
179
  var _useTranslation = useTranslation(),
174
180
  t = _useTranslation.t;
175
- return /*#__PURE__*/React__default.createElement(Pane, _extends({}, _objectSpread({
181
+ return /*#__PURE__*/jsxs(Pane, _objectSpread(_objectSpread({}, _objectSpread({
176
182
  isOpen: isOpen,
177
183
  onClose: onClose
178
- }, otherProps), {
184
+ }, otherProps)), {}, {
179
185
  "data-cy": "share-pane",
180
- size: "large"
181
- }), /*#__PURE__*/React__default.createElement(Pane.Header, null, /*#__PURE__*/React__default.createElement(Typography, {
182
- style: "h2"
183
- }, t("neetoMolecules.shareRecording.title"))), /*#__PURE__*/React__default.createElement(Pane.Body, {
184
- className: "flex flex-col space-y-2"
185
- }, isLoading ? /*#__PURE__*/React__default.createElement(Spinner, {
186
- className: "mx-auto"
187
- }) : /*#__PURE__*/React__default.createElement(SharePaneBody, {
188
- getCurrentTimestamp: getCurrentTimestamp,
189
- isOpen: isOpen,
190
- recordingUrl: recordingUrl,
191
- totalDuration: totalDuration
192
- })));
186
+ size: "large",
187
+ children: [/*#__PURE__*/jsx(Pane.Header, {
188
+ children: /*#__PURE__*/jsx(Typography, {
189
+ style: "h2",
190
+ children: t("neetoMolecules.shareRecording.title")
191
+ })
192
+ }), /*#__PURE__*/jsx(Pane.Body, {
193
+ className: "flex flex-col space-y-2",
194
+ children: isLoading ? /*#__PURE__*/jsx(Spinner, {
195
+ className: "mx-auto"
196
+ }) : /*#__PURE__*/jsx(SharePaneBody, {
197
+ getCurrentTimestamp: getCurrentTimestamp,
198
+ isOpen: isOpen,
199
+ recordingUrl: recordingUrl,
200
+ totalDuration: totalDuration
201
+ })
202
+ })]
203
+ }));
193
204
  };
194
205
 
195
206
  export { ShareRecordingPane as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ShareRecordingPane.js","sources":["../src/components/ShareRecordingPane/constants.js","../src/components/ShareRecordingPane/utils.js","../src/components/ShareRecordingPane/SharePaneBody.jsx","../src/components/ShareRecordingPane/index.jsx"],"sourcesContent":["export const ONE_SECOND = 1;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\n","import { ONE_HOUR, ONE_MINUTE } from \"./constants\";\n\nexport const padZero = (number, length = 2) => {\n let string = String(number);\n const threshold = Math.pow(10, length - 1);\n\n if (number < threshold) {\n while (String(threshold).length > string.length) {\n string = `0${number}`;\n }\n }\n\n return string;\n};\n\nexport const shouldRenderHoursInput = duration => {\n const hours = Math.floor(duration / ONE_HOUR);\n\n return hours > 0;\n};\n\nexport const formatTime = (timeInSeconds, showHours) => {\n const hours = Math.floor(timeInSeconds / ONE_HOUR);\n const minutes = Math.floor((timeInSeconds % ONE_HOUR) / ONE_MINUTE);\n const seconds = timeInSeconds % ONE_MINUTE;\n\n return showHours\n ? `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`\n : `${padZero(minutes)}:${padZero(seconds)}`;\n};\n\nexport const parseTime = timeString => {\n const parts = timeString\n .split(\":\")\n .map(part => (part === \"\" ? NaN : parseInt(part, 10)));\n if (parts.some(isNaN) || parts.length > 3) {\n return 0;\n }\n\n if (parts.length === 1) {\n return parts[0];\n } else if (parts.length === 2) {\n return parts[0] * ONE_MINUTE + parts[1];\n } else if (parts.length === 3) {\n return parts[0] * ONE_HOUR + parts[1] * ONE_MINUTE + parts[2];\n }\n\n return 0;\n};\n\nexport const validateInput = input => {\n const regex = /^[0-9:]{0,8}$/;\n const colons = (input.match(/:/g) || []).length;\n\n return regex.test(input) && colons <= 2;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography, Input, Checkbox, Tooltip } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport {\n formatTime,\n parseTime,\n shouldRenderHoursInput,\n validateInput,\n} from \"./utils\";\n\nconst SharePaneBody = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n}) => {\n const { t } = useTranslation();\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLink, setShareLink] = useState(\"\");\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n const [rawInput, setRawInput] = useState(\"\");\n\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\n\n const showHours = shouldRenderHoursInput(totalDuration);\n\n const handlePlaybackTimestampChange = e => {\n const input = e.target.value;\n if (validateInput(input)) {\n setRawInput(input);\n }\n };\n\n const formatAndSetTime = () => {\n let timeInSeconds = parseTime(rawInput);\n if (timeInSeconds > totalDuration) {\n timeInSeconds = totalDuration;\n }\n setCurrentPlaybackTime(timeInSeconds);\n setRawInput(formatTime(timeInSeconds, showHours));\n };\n\n const handleKeyDown = e => {\n if (!(e.key === \"Enter\")) return;\n formatAndSetTime();\n };\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n setRawInput(\n formatTime(currentTimestamp > 0 ? currentTimestamp : 0, showHours)\n );\n }, [isOpen, showHours, currentTimestamp]);\n\n useEffect(() => {\n const playbackUrl = buildUrl(recordingUrl, {\n ...(isPlaybackTimeCheckboxChecked &&\n currentPlaybackTime > 0 && { time: currentPlaybackTime }),\n });\n\n setShareLink(playbackUrl);\n }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);\n\n return (\n <>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex w-full items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n value={shareLink}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <Input\n className=\"w-40\"\n data-cy=\"time-input\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n placeholder={showHours ? \"HH:MM:SS\" : \"MM:SS\"}\n value={rawInput}\n onBlur={formatAndSetTime}\n onChange={handlePlaybackTimestampChange}\n onKeyDown={handleKeyDown}\n />\n </div>\n </>\n );\n};\n\nexport default SharePaneBody;\n","/* eslint-disable @bigbinary/neeto/no-dumb-components-with-use-translation */\nimport React from \"react\";\n\nimport { Pane, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SharePaneBody from \"./SharePaneBody\";\n\nconst ShareRecordingPane = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n onClose,\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n return (\n <Pane\n {...{ isOpen, onClose, ...otherProps }}\n data-cy=\"share-pane\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <SharePaneBody\n {...{ getCurrentTimestamp, isOpen, recordingUrl, totalDuration }}\n />\n )}\n </Pane.Body>\n </Pane>\n );\n};\n\nShareRecordingPane.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string.isRequired,\n /**\n * Total duration of the content being shared.\n */\n totalDuration: PropTypes.number.isRequired,\n /**\n * A function that returns current playback time of the recorded content in seconds.\n */\n getCurrentTimestamp: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether the pane is open or not.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Function to close the pane.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n};\n\nexport default ShareRecordingPane;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","padZero","number","length","arguments","undefined","string","String","threshold","Math","pow","concat","shouldRenderHoursInput","duration","hours","floor","formatTime","timeInSeconds","showHours","minutes","seconds","parseTime","timeString","parts","split","map","part","NaN","parseInt","some","isNaN","validateInput","input","regex","colons","match","test","SharePaneBody","_ref","recordingUrl","totalDuration","getCurrentTimestamp","isOpen","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLink","setShareLink","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","_useState6","rawInput","setRawInput","_useState7","_useState8","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","handlePlaybackTimestampChange","e","target","value","formatAndSetTime","handleKeyDown","key","useEffect","not","playbackUrl","buildUrl","_objectSpread","time","React","createElement","Fragment","className","Tooltip","content","Typography","style","CopyToClipboardButton","Checkbox","checked","label","onChange","_ref2","Input","disabled","placeholder","onBlur","onKeyDown","ShareRecordingPane","onClose","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","Pane","_extends","size","Header","Body","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"ShareRecordingPane.js","sources":["../src/components/ShareRecordingPane/constants.js","../src/components/ShareRecordingPane/utils.js","../src/components/ShareRecordingPane/SharePaneBody.jsx","../src/components/ShareRecordingPane/index.jsx"],"sourcesContent":["export const ONE_SECOND = 1;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\n","import { ONE_HOUR, ONE_MINUTE } from \"./constants\";\n\nexport const padZero = (number, length = 2) => {\n let string = String(number);\n const threshold = Math.pow(10, length - 1);\n\n if (number < threshold) {\n while (String(threshold).length > string.length) {\n string = `0${number}`;\n }\n }\n\n return string;\n};\n\nexport const shouldRenderHoursInput = duration => {\n const hours = Math.floor(duration / ONE_HOUR);\n\n return hours > 0;\n};\n\nexport const formatTime = (timeInSeconds, showHours) => {\n const hours = Math.floor(timeInSeconds / ONE_HOUR);\n const minutes = Math.floor((timeInSeconds % ONE_HOUR) / ONE_MINUTE);\n const seconds = timeInSeconds % ONE_MINUTE;\n\n return showHours\n ? `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`\n : `${padZero(minutes)}:${padZero(seconds)}`;\n};\n\nexport const parseTime = timeString => {\n const parts = timeString\n .split(\":\")\n .map(part => (part === \"\" ? NaN : parseInt(part, 10)));\n if (parts.some(isNaN) || parts.length > 3) {\n return 0;\n }\n\n if (parts.length === 1) {\n return parts[0];\n } else if (parts.length === 2) {\n return parts[0] * ONE_MINUTE + parts[1];\n } else if (parts.length === 3) {\n return parts[0] * ONE_HOUR + parts[1] * ONE_MINUTE + parts[2];\n }\n\n return 0;\n};\n\nexport const validateInput = input => {\n const regex = /^[0-9:]{0,8}$/;\n const colons = (input.match(/:/g) || []).length;\n\n return regex.test(input) && colons <= 2;\n};\n","import { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography, Input, Checkbox, Tooltip } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport {\n formatTime,\n parseTime,\n shouldRenderHoursInput,\n validateInput,\n} from \"./utils\";\n\nconst SharePaneBody = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n}) => {\n const { t } = useTranslation();\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLink, setShareLink] = useState(\"\");\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n const [rawInput, setRawInput] = useState(\"\");\n\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\n\n const showHours = shouldRenderHoursInput(totalDuration);\n\n const handlePlaybackTimestampChange = e => {\n const input = e.target.value;\n if (validateInput(input)) {\n setRawInput(input);\n }\n };\n\n const formatAndSetTime = () => {\n let timeInSeconds = parseTime(rawInput);\n if (timeInSeconds > totalDuration) {\n timeInSeconds = totalDuration;\n }\n setCurrentPlaybackTime(timeInSeconds);\n setRawInput(formatTime(timeInSeconds, showHours));\n };\n\n const handleKeyDown = e => {\n if (!(e.key === \"Enter\")) return;\n formatAndSetTime();\n };\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n setRawInput(\n formatTime(currentTimestamp > 0 ? currentTimestamp : 0, showHours)\n );\n }, [isOpen, showHours, currentTimestamp]);\n\n useEffect(() => {\n const playbackUrl = buildUrl(recordingUrl, {\n ...(isPlaybackTimeCheckboxChecked &&\n currentPlaybackTime > 0 && { time: currentPlaybackTime }),\n });\n\n setShareLink(playbackUrl);\n }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);\n\n return (\n <>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex w-full items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n value={shareLink}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <Input\n className=\"w-40\"\n data-cy=\"time-input\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n placeholder={showHours ? \"HH:MM:SS\" : \"MM:SS\"}\n value={rawInput}\n onBlur={formatAndSetTime}\n onChange={handlePlaybackTimestampChange}\n onKeyDown={handleKeyDown}\n />\n </div>\n </>\n );\n};\n\nexport default SharePaneBody;\n","/* eslint-disable @bigbinary/neeto/no-dumb-components-with-use-translation */\nimport { Pane, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SharePaneBody from \"./SharePaneBody\";\n\nconst ShareRecordingPane = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n onClose,\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n return (\n <Pane\n {...{ isOpen, onClose, ...otherProps }}\n data-cy=\"share-pane\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <SharePaneBody\n {...{ getCurrentTimestamp, isOpen, recordingUrl, totalDuration }}\n />\n )}\n </Pane.Body>\n </Pane>\n );\n};\n\nShareRecordingPane.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string.isRequired,\n /**\n * Total duration of the content being shared.\n */\n totalDuration: PropTypes.number.isRequired,\n /**\n * A function that returns current playback time of the recorded content in seconds.\n */\n getCurrentTimestamp: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether the pane is open or not.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Function to close the pane.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n};\n\nexport default ShareRecordingPane;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","padZero","number","length","arguments","undefined","string","String","threshold","Math","pow","concat","shouldRenderHoursInput","duration","hours","floor","formatTime","timeInSeconds","showHours","minutes","seconds","parseTime","timeString","parts","split","map","part","NaN","parseInt","some","isNaN","validateInput","input","regex","colons","match","test","SharePaneBody","_ref","recordingUrl","totalDuration","getCurrentTimestamp","isOpen","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLink","setShareLink","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","_useState6","rawInput","setRawInput","_useState7","_useState8","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","handlePlaybackTimestampChange","e","target","value","formatAndSetTime","handleKeyDown","key","useEffect","not","playbackUrl","buildUrl","_objectSpread","time","_jsxs","_Fragment","children","className","_jsx","Tooltip","content","Typography","style","CopyToClipboardButton","Checkbox","checked","label","onChange","_ref2","Input","disabled","placeholder","onBlur","onKeyDown","ShareRecordingPane","onClose","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","Pane","size","Header","Body","Spinner"],"mappings":"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"}