@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
@@ -13,11 +13,11 @@ var dayjs = require('dayjs');
13
13
  var timezone = require('dayjs/plugin/timezone');
14
14
  var utc = require('dayjs/plugin/utc');
15
15
  var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
16
+ var jsxRuntime = require('react/jsx-runtime');
16
17
 
17
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
19
 
19
20
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
20
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
21
  var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
22
22
  var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);
23
23
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
@@ -93,51 +93,62 @@ var TimezoneMismatchModal = function TimezoneMismatchModal(_ref) {
93
93
  if (!(process.env.RAILS_ENV !== "heroku")) return;
94
94
  setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);
95
95
  }, []);
96
- return /*#__PURE__*/React__default["default"].createElement(Modal__default["default"], {
96
+ return /*#__PURE__*/jsxRuntime.jsxs(Modal__default["default"], {
97
97
  closeOnOutsideClick: false,
98
98
  isOpen: isTimezoneModalOpen || isOpen,
99
99
  size: "large",
100
- onClose: handleCancel
101
- }, /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Header, null, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
102
- style: "h2",
103
- weight: "normal"
104
- }, t("neetoMolecules.alert.timezone.title"))), /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Body, null, /*#__PURE__*/React__default["default"].createElement("span", {
105
- className: "flex flex-col space-y-4"
106
- }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
107
- component: "span",
108
- style: "body2"
109
- }, t("neetoMolecules.alert.timezone.message", {
110
- entity: globalProps.appName
111
- })), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
112
- component: "span",
113
- style: "h4"
114
- }, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
115
- i18nKey: "neetoMolecules.alert.timezone.userTimezone",
116
- values: {
117
- entity: getUserTimeZone()
118
- }
119
- })), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
120
- component: "span",
121
- style: "h4"
122
- }, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
123
- i18nKey: "neetoMolecules.alert.timezone.browserTimezone",
124
- values: {
125
- entity: getBrowserTimeZone()
126
- }
127
- })))), /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Footer, {
128
- className: "space-x-2"
129
- }, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
130
- "data-testid": "update-timezone-button",
131
- disabled: isPending,
132
- label: t("neetoMolecules.alert.timezone.updateProfile"),
133
- loading: isPending,
134
- style: "primary",
135
- onClick: handleUpdateTimeZone
136
- }), /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
137
- label: t("neetoMolecules.common.actions.cancel"),
138
- style: "text",
139
- onClick: handleCancel
140
- })));
100
+ onClose: handleCancel,
101
+ children: [/*#__PURE__*/jsxRuntime.jsx(Modal__default["default"].Header, {
102
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
103
+ style: "h2",
104
+ weight: "normal",
105
+ children: t("neetoMolecules.alert.timezone.title")
106
+ })
107
+ }), /*#__PURE__*/jsxRuntime.jsx(Modal__default["default"].Body, {
108
+ children: /*#__PURE__*/jsxRuntime.jsxs("span", {
109
+ className: "flex flex-col space-y-4",
110
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
111
+ component: "span",
112
+ style: "body2",
113
+ children: t("neetoMolecules.alert.timezone.message", {
114
+ entity: globalProps.appName
115
+ })
116
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
117
+ component: "span",
118
+ style: "h4",
119
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
120
+ i18nKey: "neetoMolecules.alert.timezone.userTimezone",
121
+ values: {
122
+ entity: getUserTimeZone()
123
+ }
124
+ })
125
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
126
+ component: "span",
127
+ style: "h4",
128
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
129
+ i18nKey: "neetoMolecules.alert.timezone.browserTimezone",
130
+ values: {
131
+ entity: getBrowserTimeZone()
132
+ }
133
+ })
134
+ })]
135
+ })
136
+ }), /*#__PURE__*/jsxRuntime.jsxs(Modal__default["default"].Footer, {
137
+ className: "space-x-2",
138
+ children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
139
+ "data-testid": "update-timezone-button",
140
+ disabled: isPending,
141
+ label: t("neetoMolecules.alert.timezone.updateProfile"),
142
+ loading: isPending,
143
+ style: "primary",
144
+ onClick: handleUpdateTimeZone
145
+ }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
146
+ label: t("neetoMolecules.common.actions.cancel"),
147
+ style: "text",
148
+ onClick: handleCancel
149
+ })]
150
+ })]
151
+ });
141
152
  };
142
153
 
143
154
  module.exports = TimezoneMismatchModal;
@@ -1 +1 @@
1
- {"version":3,"file":"TimezoneMismatchModal.js","sources":["../../src/components/TimezoneMismatchModal/apis/time_zone.js","../../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../../src/components/TimezoneMismatchModal/utils.js","../../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { globalProps } from \"neetocommons/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport React, { useEffect, useState } from \"react\";\n\nimport { noop } from \"@bigbinary/neeto-cist\";\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (!(process.env.RAILS_ENV !== \"heroku\")) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col space-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","dayjs","extend","utc","timezone","getBrowserTimeZone","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","React","createElement","Modal","closeOnOutsideClick","size","Header","Typography","style","weight","Body","className","component","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"TimezoneMismatchModal.js","sources":["../../src/components/TimezoneMismatchModal/apis/time_zone.js","../../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../../src/components/TimezoneMismatchModal/utils.js","../../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { globalProps } from \"neetocommons/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { useEffect, useState } from \"react\";\n\nimport { noop } from \"@bigbinary/neeto-cist\";\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (!(process.env.RAILS_ENV !== \"heroku\")) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col space-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","dayjs","extend","utc","timezone","getBrowserTimeZone","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","_jsxs","Modal","closeOnOutsideClick","size","children","_jsx","Header","Typography","style","weight","Body","className","component","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,WAAW,GAAG,kBAAkB,CAAA;AAEtC,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,OAAO,EAAA;AAAA,EAAA,OAAIC,yBAAK,CAACC,KAAK,CAACJ,WAAW,EAAEE,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAEnE,IAAMG,WAAW,GAAG;AAAEJ,EAAAA,cAAc,EAAdA,cAAAA;AAAe,CAAC;;ACFtC,IAAMK,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,OACrBC,sBAAW,CAAC;IACVC,UAAU,EAAEH,WAAW,CAACJ,cAAc;IACtCQ,SAAS,EAAE,SAAAA,SAAA,GAAA;AAAA,MAAA,OAAMC,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAE,CAAA;AAAA,KAAA;AAC3C,GAAC,CAAC,CAAA;AAAA,CAAA;;ACHJC,yBAAK,CAACC,MAAM,CAACC,uBAAG,CAAC,CAAA;AACjBF,yBAAK,CAACC,MAAM,CAACE,4BAAQ,CAAC,CAAA;AAEf,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAA;AAAA,EAAA,OAASJ,yBAAK,CAACK,EAAE,CAACC,KAAK,EAAE,CAAA;AAAA,CAAA,CAAA;AAEjD,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAAA;AAAA,EAAA,IAAAC,iBAAA,CAAA;EAAA,OAAAA,CAAAA,iBAAA,GAASC,wBAAW,CAACC,IAAI,cAAAF,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,iBAAA,CAAkBG,QAAQ,CAAA;AAAA,CAAA,CAAA;AAExD,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAIC,SAAS,EAAEC,SAAS,EAAA;AAAA,EAAA;AAC7D;IACAd,yBAAK,EAAE,CAACK,EAAE,CAACQ,SAAS,CAAC,CAACE,MAAM,CAAC,GAAG,CAAC,KAAKf,yBAAK,EAAE,CAACK,EAAE,CAACS,SAAS,CAAC,CAACC,MAAM,CAAC,GAAG,CAAA;AAAC,IAAA;AAAA,CAAA;;ACCzE,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,IAAA,EAA2C;AAAA,EAAA,IAAAC,WAAA,GAAAD,IAAA,CAArCE,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;IAAAE,YAAA,GAAAH,IAAA,CAAEI,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,YAAA,CAAA;AAC7D,EAAA,IAAAG,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAAC,SAAA,GAAsDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,kCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9DI,IAAAA,mBAAmB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,sBAAsB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAClD,EAAA,IAAAI,kBAAA,GAA8CvC,iBAAiB,EAAE;IAAzDwC,SAAS,GAAAD,kBAAA,CAATC,SAAS;IAAU7C,cAAc,GAAA4C,kBAAA,CAAtBE,MAAM,CAAA;EACzB,IAAMC,4BAA4B,GAAGvB,0BAA0B,CAC7DL,eAAe,EAAE,EACjBH,kBAAkB,EACpB,CAAC,CAAA;AAED,EAAA,IAAMgC,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;AACjC,IAAA,IAAM/C,OAAO,GAAG;MAAEsB,QAAQ,EAAEP,kBAAkB,EAAC;KAAG,CAAA;IAElDhB,cAAc,CAACC,OAAO,EAAE;MACtBO,SAAS,EAAE,SAAAA,SAAAA,GAAM;QACfmC,sBAAsB,CAAC,KAAK,CAAC,CAAA;AAC7BV,QAAAA,OAAO,EAAE,CAAA;AACX,OAAA;AACF,KAAC,CAAC,CAAA;GACH,CAAA;AAED,EAAA,IAAMgB,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBN,sBAAsB,CAAC,KAAK,CAAC,CAAA;AAC7BV,IAAAA,OAAO,EAAE,CAAA;GACV,CAAA;AAEDiB,EAAAA,eAAS,CAAC,YAAM;IACd,IAAI,EAAEC,OAAO,CAACC,GAAG,CAACC,SAAS,KAAK,QAAQ,CAAC,EAAE,OAAA;IAC3CV,sBAAsB,CAAC,CAACI,4BAA4B,CAAC,CAAA;GACtD,EAAE,EAAE,CAAC,CAAA;EAEN,oBACEO,eAAA,CAACC,yBAAK,EAAA;AACJC,IAAAA,mBAAmB,EAAE,KAAM;IAC3BzB,MAAM,EAAEW,mBAAmB,IAAIX,MAAO;AACtC0B,IAAAA,IAAI,EAAC,OAAO;AACZxB,IAAAA,OAAO,EAAEgB,YAAa;AAAAS,IAAAA,QAAA,EAEtBC,cAAAA,cAAA,CAACJ,yBAAK,CAACK,MAAM,EAAA;MAAAF,QAAA,eACXC,cAAA,CAACE,8BAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,QAAQ;QAAAL,QAAA,EACnCrB,CAAC,CAAC,qCAAqC,CAAA;OAC9B,CAAA;AAAC,KACD,CAAC,eACfsB,cAAA,CAACJ,yBAAK,CAACS,IAAI,EAAA;AAAAN,MAAAA,QAAA,eACTJ,eAAA,CAAA,MAAA,EAAA;AAAMW,QAAAA,SAAS,EAAC,yBAAyB;QAAAP,QAAA,EAAA,cACvCC,cAAA,CAACE,8BAAU,EAAA;AAACK,UAAAA,SAAS,EAAC,MAAM;AAACJ,UAAAA,KAAK,EAAC,OAAO;AAAAJ,UAAAA,QAAA,EACvCrB,CAAC,CAAC,uCAAuC,EAAE;YAC1C8B,MAAM,EAAE9C,WAAW,CAAC+C,OAAAA;WACrB,CAAA;AAAC,SACQ,CAAC,eACbT,cAAA,CAACE,8BAAU,EAAA;AAACK,UAAAA,SAAS,EAAC,MAAM;AAACJ,UAAAA,KAAK,EAAC,IAAI;UAAAJ,QAAA,eACrCC,cAAA,CAACU,kBAAK,EAAA;AACJC,YAAAA,OAAO,EAAC,4CAA4C;AACpDC,YAAAA,MAAM,EAAE;cAAEJ,MAAM,EAAEhD,eAAe,EAAC;AAAE,aAAA;WACrC,CAAA;AAAC,SACQ,CAAC,eACbwC,cAAA,CAACE,8BAAU,EAAA;AAACK,UAAAA,SAAS,EAAC,MAAM;AAACJ,UAAAA,KAAK,EAAC,IAAI;UAAAJ,QAAA,eACrCC,cAAA,CAACU,kBAAK,EAAA;AACJC,YAAAA,OAAO,EAAC,+CAA+C;AACvDC,YAAAA,MAAM,EAAE;cAAEJ,MAAM,EAAEnD,kBAAkB,EAAC;AAAE,aAAA;WACxC,CAAA;AAAC,SACQ,CAAC,CAAA;OACT,CAAA;AAAC,KACG,CAAC,eACbsC,eAAA,CAACC,yBAAK,CAACiB,MAAM,EAAA;AAACP,MAAAA,SAAS,EAAC,WAAW;MAAAP,QAAA,EAAA,cACjCC,cAAA,CAACc,0BAAM,EAAA;AACL,QAAA,aAAA,EAAY,wBAAwB;AACpCC,QAAAA,QAAQ,EAAE7B,SAAU;AACpB8B,QAAAA,KAAK,EAAEtC,CAAC,CAAC,6CAA6C,CAAE;AACxDuC,QAAAA,OAAO,EAAE/B,SAAU;AACnBiB,QAAAA,KAAK,EAAC,SAAS;AACfe,QAAAA,OAAO,EAAE7B,oBAAAA;AAAqB,OAC/B,CAAC,eACFW,cAAA,CAACc,0BAAM,EAAA;AACLE,QAAAA,KAAK,EAAEtC,CAAC,CAAC,sCAAsC,CAAE;AACjDyB,QAAAA,KAAK,EAAC,MAAM;AACZe,QAAAA,OAAO,EAAE5B,YAAAA;AAAa,OACvB,CAAC,CAAA;AAAA,KACU,CAAC,CAAA;AAAA,GACV,CAAC,CAAA;AAEZ;;;;"}
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var _extends = require('@babel/runtime/helpers/extends');
4
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
4
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
6
5
  var React = require('react');
@@ -21,13 +20,12 @@ var injectCss = require('./inject-css-80a5faa3.js');
21
20
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
22
21
  var Tooltip = require('@bigbinary/neetoui/Tooltip');
23
22
  var Switch = require('@bigbinary/neetoui/formik/Switch');
23
+ var jsxRuntime = require('react/jsx-runtime');
24
24
 
25
25
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
26
 
27
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
28
27
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
29
28
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
30
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
29
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
32
30
  var useOnClickOutside__default = /*#__PURE__*/_interopDefaultLegacy(useOnClickOutside);
33
31
  var useHotkeys__default = /*#__PURE__*/_interopDefaultLegacy(useHotkeys);
@@ -68,17 +66,21 @@ var TooltipSwitch = function TooltipSwitch(_ref) {
68
66
  tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
69
67
  otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
70
68
  var tooltipContent = enabledCondition ? tooltipProps.enabledSwitchText : tooltipProps.disabledSwitchText;
71
- return /*#__PURE__*/React__default["default"].createElement(Tooltip__default["default"], _extends__default["default"]({
69
+ return /*#__PURE__*/jsxRuntime.jsx(Tooltip__default["default"], _objectSpread$1(_objectSpread$1({
72
70
  content: tooltipContent,
73
71
  disabled: !tooltipContent,
74
72
  position: "top"
75
- }, tooltipProps), /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(Switch__default["default"], _extends__default["default"]({
76
- "data-cy": switchDataCy,
77
- "data-testid": "toggle-feature-card-switch",
78
- disabled: isDisabled
79
- }, _objectSpread$1({
80
- name: name
81
- }, otherProps)))));
73
+ }, tooltipProps), {}, {
74
+ children: /*#__PURE__*/jsxRuntime.jsx("span", {
75
+ children: /*#__PURE__*/jsxRuntime.jsx(Switch__default["default"], _objectSpread$1({
76
+ "data-cy": switchDataCy,
77
+ "data-testid": "toggle-feature-card-switch",
78
+ disabled: isDisabled
79
+ }, _objectSpread$1({
80
+ name: name
81
+ }, otherProps)))
82
+ })
83
+ }));
82
84
  };
83
85
 
84
86
  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; }
@@ -147,7 +149,7 @@ var ToggleFeatureCard = function ToggleFeatureCard(_ref) {
147
149
  }, {
148
150
  mode: "scoped"
149
151
  });
150
- return /*#__PURE__*/React__default["default"].createElement("div", {
152
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
151
153
  id: id,
152
154
  "data-testid": "toggle-feature-card",
153
155
  ref: cardRef,
@@ -155,60 +157,65 @@ var ToggleFeatureCard = function ToggleFeatureCard(_ref) {
155
157
  "neeto-ui-border-gray-300": !shouldHighlight
156
158
  }, {
157
159
  "toggle-feature-card--highlighted": shouldHighlight
158
- })
159
- }, /*#__PURE__*/React__default["default"].createElement(Label__default["default"], {
160
- className: "flex flex-row items-center gap-2"
161
- }, /*#__PURE__*/React__default["default"].createElement(TooltipSwitch, _extends__default["default"]({}, _objectSpread({
162
- enabledCondition: enabledCondition,
163
- isDisabled: isDisabled,
164
- switchDataCy: switchDataCy
165
- }, switchProps), {
166
- name: switchName
167
- })), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
168
- component: "span",
169
- "data-cy": titleDataCy,
170
- "data-testid": "toggle-feature-card-title",
171
- style: "h4",
172
- weight: "semibold"
173
- }, title)), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
174
- className: "mb-4 whitespace-pre-line",
175
- "data-cy": descriptionDataCy,
176
- "data-testid": "toggle-feature-card-description",
177
- style: "body2"
178
- }, description), hasInput && !isEditing && /*#__PURE__*/React__default["default"].createElement("div", {
179
- className: "m-0 flex flex-row items-center space-x-2"
180
- }, inputProps === null || inputProps === void 0 ? void 0 : inputProps.display, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
181
- "data-cy": inputProps === null || inputProps === void 0 ? void 0 : inputProps.editButtonDataCy,
182
- "data-testid": "toggle-feature-card-input-display-edit",
183
- icon: Edit__default["default"],
184
- size: "small",
185
- style: "text",
186
- type: "button",
187
- tooltipProps: {
188
- content: (inputProps === null || inputProps === void 0 ? void 0 : inputProps.editButtonTooltip) || t("neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip"),
189
- position: "right"
190
- },
191
- onClick: function onClick() {
192
- return setIsEditing(true);
193
- }
194
- })), hasInput && isEditing && /*#__PURE__*/React__default["default"].createElement(Input__default["default"], _extends__default["default"]({
195
- autoFocus: true,
196
- "data-cy": inputProps === null || inputProps === void 0 ? void 0 : inputProps.dataCy,
197
- "data-testid": "toggle-feature-card-input-field",
198
- label: inputProps === null || inputProps === void 0 ? void 0 : inputProps.label,
199
- name: inputProps === null || inputProps === void 0 ? void 0 : inputProps.name,
200
- placeholder: inputProps === null || inputProps === void 0 ? void 0 : inputProps.placeholder,
201
- ref: inputRef,
202
- size: "medium",
203
- suffix: /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
204
- "data-testid": "toggle-feature-card-input-reset",
205
- icon: Close__default["default"],
206
- size: "small",
207
- style: "text",
208
- type: "button",
209
- onClick: handleInputReset
210
- })
211
- }, inputProps)), children);
160
+ }),
161
+ children: [/*#__PURE__*/jsxRuntime.jsxs(Label__default["default"], {
162
+ className: "flex flex-row items-center gap-2",
163
+ children: [/*#__PURE__*/jsxRuntime.jsx(TooltipSwitch, _objectSpread(_objectSpread({}, _objectSpread({
164
+ enabledCondition: enabledCondition,
165
+ isDisabled: isDisabled,
166
+ switchDataCy: switchDataCy
167
+ }, switchProps)), {}, {
168
+ name: switchName
169
+ })), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
170
+ component: "span",
171
+ "data-cy": titleDataCy,
172
+ "data-testid": "toggle-feature-card-title",
173
+ style: "h4",
174
+ weight: "semibold",
175
+ children: title
176
+ })]
177
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
178
+ className: "mb-4 whitespace-pre-line",
179
+ "data-cy": descriptionDataCy,
180
+ "data-testid": "toggle-feature-card-description",
181
+ style: "body2",
182
+ children: description
183
+ }), hasInput && !isEditing && /*#__PURE__*/jsxRuntime.jsxs("div", {
184
+ className: "m-0 flex flex-row items-center space-x-2",
185
+ children: [inputProps === null || inputProps === void 0 ? void 0 : inputProps.display, /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
186
+ "data-cy": inputProps === null || inputProps === void 0 ? void 0 : inputProps.editButtonDataCy,
187
+ "data-testid": "toggle-feature-card-input-display-edit",
188
+ icon: Edit__default["default"],
189
+ size: "small",
190
+ style: "text",
191
+ type: "button",
192
+ tooltipProps: {
193
+ content: (inputProps === null || inputProps === void 0 ? void 0 : inputProps.editButtonTooltip) || t("neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip"),
194
+ position: "right"
195
+ },
196
+ onClick: function onClick() {
197
+ return setIsEditing(true);
198
+ }
199
+ })]
200
+ }), hasInput && isEditing && /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], _objectSpread({
201
+ autoFocus: true,
202
+ "data-cy": inputProps === null || inputProps === void 0 ? void 0 : inputProps.dataCy,
203
+ "data-testid": "toggle-feature-card-input-field",
204
+ label: inputProps === null || inputProps === void 0 ? void 0 : inputProps.label,
205
+ name: inputProps === null || inputProps === void 0 ? void 0 : inputProps.name,
206
+ placeholder: inputProps === null || inputProps === void 0 ? void 0 : inputProps.placeholder,
207
+ ref: inputRef,
208
+ size: "medium",
209
+ suffix: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
210
+ "data-testid": "toggle-feature-card-input-reset",
211
+ icon: Close__default["default"],
212
+ size: "small",
213
+ style: "text",
214
+ type: "button",
215
+ onClick: handleInputReset
216
+ })
217
+ }, inputProps)), children]
218
+ });
212
219
  };
213
220
 
214
221
  module.exports = ToggleFeatureCard;
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleFeatureCard.js","sources":["../../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\n","import React from \"react\";\n\nimport { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nconst TooltipSwitch = ({\n enabledCondition,\n name = \"\",\n isDisabled = false,\n switchDataCy,\n tooltipProps = {},\n ...otherProps\n}) => {\n const tooltipContent = enabledCondition\n ? tooltipProps.enabledSwitchText\n : tooltipProps.disabledSwitchText;\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={!tooltipContent}\n position=\"top\"\n {...tooltipProps}\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name, ...otherProps }}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default TooltipSwitch;\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Edit, Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZES } from \"./constants\";\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps,\n switchProps = {},\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (!(submitCount >= 1 && isEmpty(errors))) return;\n setIsEditing(false);\n }, [submitCount]);\n\n useEffect(() => {\n if (isEmpty(errors)) return;\n setIsEditing(true);\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotkeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n {...{ id }}\n data-testid=\"toggle-feature-card\"\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{\n enabledCondition,\n isDisabled,\n switchDataCy,\n ...switchProps,\n }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n tooltipProps={{\n content:\n inputProps?.editButtonTooltip ||\n t(\n \"neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip\"\n ),\n position: \"right\",\n }}\n onClick={() => setIsEditing(true)}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n {...inputProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n }),\n /**\n * Can be used to add props to the switch component.\n */\n switchProps: PropTypes.shape({\n onChange: PropTypes.func,\n className: PropTypes.string,\n checked: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n enabledSwitchText: PropTypes.string,\n disabledSwitchText: PropTypes.string,\n }),\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","_ref$tooltipProps","tooltipProps","otherProps","_objectWithoutProperties","_excluded","tooltipContent","enabledSwitchText","disabledSwitchText","React","createElement","Tooltip","_extends","content","disabled","position","FormikSwitch","_objectSpread","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","children","inputProps","_ref$switchProps","switchProps","_useTranslation","useTranslation","t","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotkeys","mode","ref","className","classnames","Label","Typography","component","style","weight","display","Button","editButtonDataCy","icon","Edit","size","type","editButtonTooltip","onClick","Input","autoFocus","dataCy","label","placeholder","suffix","Close"],"mappings":"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"}
1
+ {"version":3,"file":"ToggleFeatureCard.js","sources":["../../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\n","import { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nconst TooltipSwitch = ({\n enabledCondition,\n name = \"\",\n isDisabled = false,\n switchDataCy,\n tooltipProps = {},\n ...otherProps\n}) => {\n const tooltipContent = enabledCondition\n ? tooltipProps.enabledSwitchText\n : tooltipProps.disabledSwitchText;\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={!tooltipContent}\n position=\"top\"\n {...tooltipProps}\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name, ...otherProps }}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default TooltipSwitch;\n","import { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Edit, Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZES } from \"./constants\";\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps,\n switchProps = {},\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (!(submitCount >= 1 && isEmpty(errors))) return;\n setIsEditing(false);\n }, [submitCount]);\n\n useEffect(() => {\n if (isEmpty(errors)) return;\n setIsEditing(true);\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotkeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n {...{ id }}\n data-testid=\"toggle-feature-card\"\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{\n enabledCondition,\n isDisabled,\n switchDataCy,\n ...switchProps,\n }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n tooltipProps={{\n content:\n inputProps?.editButtonTooltip ||\n t(\n \"neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip\"\n ),\n position: \"right\",\n }}\n onClick={() => setIsEditing(true)}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n {...inputProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n }),\n /**\n * Can be used to add props to the switch component.\n */\n switchProps: PropTypes.shape({\n onChange: PropTypes.func,\n className: PropTypes.string,\n checked: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n enabledSwitchText: PropTypes.string,\n disabledSwitchText: PropTypes.string,\n }),\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","_ref$tooltipProps","tooltipProps","otherProps","_objectWithoutProperties","_excluded","tooltipContent","enabledSwitchText","disabledSwitchText","_jsx","Tooltip","_objectSpread","content","disabled","position","children","FormikSwitch","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","inputProps","_ref$switchProps","switchProps","_useTranslation","useTranslation","t","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotkeys","mode","_jsxs","ref","className","classnames","Label","Typography","component","style","weight","display","Button","editButtonDataCy","icon","Edit","size","type","editButtonTooltip","onClick","Input","autoFocus","dataCy","label","placeholder","suffix","Close"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAA+B;AAAA,EAAA,IAAzBC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO,CAAA;AAC7CC,EAAAA,eAAS,CAAC,YAAM;AAAA,IAAA,IAAAC,qBAAA,CAAA;IACd,IAAI,CAACF,OAAO,EAAE,OAAA;AACd,IAAA,CAAAE,qBAAA,GAAAC,QAAQ,CAACC,cAAc,CAACL,SAAS,CAAC,MAAA,IAAA,IAAAG,qBAAA,KAAlCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAoCG,cAAc,EAAE,CAAA;AACtD,GAAC,EAAE,CAACL,OAAO,CAAC,CAAC,CAAA;AACf,CAAC;;;;;;;;ACJD,IAAMM,aAAa,GAAG,SAAhBA,aAAaA,CAAAR,IAAA,EAOb;AAAA,EAAA,IANJS,gBAAgB,GAAAT,IAAA,CAAhBS,gBAAgB;IAAAC,SAAA,GAAAV,IAAA,CAChBW,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;IAAAE,eAAA,GAAAZ,IAAA,CACTa,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAClBE,YAAY,GAAAd,IAAA,CAAZc,YAAY;IAAAC,iBAAA,GAAAf,IAAA,CACZgB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,iBAAA;AACdE,IAAAA,UAAU,GAAAC,4CAAA,CAAAlB,IAAA,EAAAmB,SAAA,CAAA,CAAA;EAEb,IAAMC,cAAc,GAAGX,gBAAgB,GACnCO,YAAY,CAACK,iBAAiB,GAC9BL,YAAY,CAACM,kBAAkB,CAAA;AAEnC,EAAA,oBACEC,cAAA,CAACC,2BAAO,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACNC,IAAAA,OAAO,EAAEN,cAAe;IACxBO,QAAQ,EAAE,CAACP,cAAe;AAC1BQ,IAAAA,QAAQ,EAAC,KAAA;AAAK,GAAA,EACVZ,YAAY,CAAA,EAAA,EAAA,EAAA;AAAAa,IAAAA,QAAA,eAEhBN,cAAA,CAAA,MAAA,EAAA;AAAAM,MAAAA,QAAA,eACEN,cAAA,CAACO,0BAAY,EAAAL,eAAA,CAAA;AACX,QAAA,SAAA,EAASX,YAAa;AACtB,QAAA,aAAA,EAAY,4BAA4B;AACxCa,QAAAA,QAAQ,EAAEd,UAAAA;AAAW,OAAA,EAAAY,eAAA,CAAA;AACfd,QAAAA,IAAI,EAAJA,IAAAA;AAAI,OAAA,EAAKM,UAAU,CAC1B,CAAA,CAAA;KACG,CAAA;AAAC,GAAA,CACA,CAAC,CAAA;AAEd,CAAC;;;;ACbD,IAAMc,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAA/B,IAAA,EAWjB;AAAA,EAAA,IAAAgC,UAAA,GAAAhC,IAAA,CAVJiC,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,gBAAA,GAAAlC,IAAA,CACVmC,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,gBAAA;IAAAE,eAAA,GAAApC,IAAA,CAClBqC,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,eAAA;IAAAE,gBAAA,GAAAtC,IAAA,CACrBuC,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAE,iBAAA,GAAAxC,IAAA,CAChBc,YAAY;AAAZA,IAAAA,YAAY,GAAA0B,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA;IAAAC,qBAAA,GAAAzC,IAAA,CACjB0C,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAA7B,eAAA,GAAAZ,IAAA,CACtBa,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAA+B,aAAA,GAAA3C,IAAA,CAClB6B,QAAQ;AAARA,IAAAA,QAAQ,GAAAc,aAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,aAAA;IACfC,UAAU,GAAA5C,IAAA,CAAV4C,UAAU;IAAAC,gBAAA,GAAA7C,IAAA,CACV8C,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA,CAAA;AAEhB,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAMC,OAAO,GAAGC,YAAM,EAAE,CAAA;AACxB,EAAA,IAAMC,EAAE,GAAGC,iBAAO,CAACpB,KAAK,CAAC,CAAA;AAEzB,EAAA,IAAAqB,SAAA,GAAkCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,kCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA1CI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE9B,EAAA,IAAAI,iBAAA,GACEC,uBAAgB,EAAE;IADZC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAEC,MAAM,GAAAH,iBAAA,CAANG,MAAM;IAAEC,WAAW,GAAAJ,iBAAA,CAAXI,WAAW;IAAEC,MAAM,GAAAL,iBAAA,CAANK,MAAM;IAAEC,aAAa,GAAAN,iBAAA,CAAbM,aAAa,CAAA;AAGjE/D,EAAAA,eAAS,CAAC,YAAM;IACd,IAAI,EAAE6D,WAAW,IAAI,CAAC,IAAIG,aAAO,CAACF,MAAM,CAAC,CAAC,EAAE,OAAA;IAC5CN,YAAY,CAAC,KAAK,CAAC,CAAA;AACrB,GAAC,EAAE,CAACK,WAAW,CAAC,CAAC,CAAA;AAEjB7D,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIgE,aAAO,CAACF,MAAM,CAAC,EAAE,OAAA;IACrBN,YAAY,CAAC,IAAI,CAAC,CAAA;AACpB,GAAC,EAAE,CAACI,MAAM,EAAEE,MAAM,CAAC,CAAC,CAAA;AAEpB,EAAA,IAAAG,UAAA,GAA8Cb,cAAQ,CACpDc,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAKnB,EAClC,CAAC;IAAAoB,UAAA,GAAAf,kCAAA,CAAAW,UAAA,EAAA,CAAA,CAAA;AAFMK,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAI1C,EAAA,IAAMG,QAAQ,GAAG,CAAAZ,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAG1B,UAAU,CAAC,MAAIO,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEjC,IAAI,CAAA,CAAA;EACzD,IAAMF,gBAAgB,GAAGsD,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAG1B,UAAU,CAAC,CAAA;AAE7C,EAAA,IAAMuC,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;IAC7BjB,YAAY,CAAC,KAAK,CAAC,CAAA;IACnBgB,QAAQ,IACNb,aAAa,CAAClB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEjC,IAAI,EAAEuD,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAGtB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEjC,IAAI,CAAC,CAAC,CAAA;GACrE,CAAA;EAEDkE,qCAAiB,CAAC3B,OAAO,EAAE,YAAA;IAAA,OAAMwB,kBAAkB,CAAC,KAAK,CAAC,CAAA;GAAC,CAAA,CAAA;AAE3D3E,EAAAA,iBAAiB,CAAC;AAAEE,IAAAA,SAAS,EAAEmD,EAAE;AAAElD,IAAAA,OAAO,EAAEuE,eAAAA;AAAgB,GAAC,CAAC,CAAA;AAE9D,EAAA,IAAMK,QAAQ,GAAGC,8BAAU,CAAC,OAAO,EAAE,YAAA;IAAA,OAAMpB,YAAY,CAAC,KAAK,CAAC,CAAA;GAAE,EAAA;AAC9DqB,IAAAA,IAAI,EAAE,QAAA;AACR,GAAC,CAAC,CAAA;AAEF,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AACQ7B,IAAAA,EAAE,EAAFA,EAAE;AACR,IAAA,aAAA,EAAY,qBAAqB;AACjC8B,IAAAA,GAAG,EAAEhC,OAAQ;AACbiC,IAAAA,SAAS,EAAEC,8BAAU,CACnB,2EAA2E,EAC3E;AAAE,MAAA,0BAA0B,EAAE,CAACX,eAAAA;AAAgB,KAAC,EAChD;AAAE,MAAA,kCAAkC,EAAEA,eAAAA;AAAgB,KACxD,CAAE;IAAA5C,QAAA,EAAA,cAEFoD,eAAA,CAACI,yBAAK,EAAA;AAACF,MAAAA,SAAS,EAAC,kCAAkC;MAAAtD,QAAA,EAAA,cACjDN,cAAA,CAACf,aAAa,EAAAiB,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAA;AAEVhB,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBI,QAAAA,UAAU,EAAVA,UAAU;AACVC,QAAAA,YAAY,EAAZA,YAAAA;AAAY,OAAA,EACTgC,WAAW,CAAA,CAAA,EAAA,EAAA,EAAA;AAEhBnC,QAAAA,IAAI,EAAE0B,UAAAA;AAAW,OAAA,CAClB,CAAC,eACFd,cAAA,CAAC+D,8BAAU,EAAA;AACTC,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAShD,WAAY;AACrB,QAAA,aAAA,EAAY,2BAA2B;AACvCiD,QAAAA,KAAK,EAAC,IAAI;AACVC,QAAAA,MAAM,EAAC,UAAU;AAAA5D,QAAAA,QAAA,EAEhBI,KAAAA;AAAK,OACI,CAAC,CAAA;AAAA,KACR,CAAC,eACRV,cAAA,CAAC+D,8BAAU,EAAA;AACTH,MAAAA,SAAS,EAAC,0BAA0B;AACpC,MAAA,SAAA,EAASzC,iBAAkB;AAC3B,MAAA,aAAA,EAAY,iCAAiC;AAC7C8C,MAAAA,KAAK,EAAC,OAAO;AAAA3D,MAAAA,QAAA,EAEZM,WAAAA;AAAW,KACF,CAAC,EACZwC,QAAQ,IAAI,CAACjB,SAAS,iBACrBuB,eAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,0CAA0C;MAAAtD,QAAA,EAAA,CACtDe,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAE8C,OAAO,eACpBnE,cAAA,CAACoE,0BAAM,EAAA;AACL,QAAA,SAAA,EAAS/C,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEgD,gBAAiB;AACtC,QAAA,aAAA,EAAY,wCAAwC;AACpDC,QAAAA,IAAI,EAAEC,wBAAK;AACXC,QAAAA,IAAI,EAAC,OAAO;AACZP,QAAAA,KAAK,EAAC,MAAM;AACZQ,QAAAA,IAAI,EAAC,QAAQ;AACbhF,QAAAA,YAAY,EAAE;AACZU,UAAAA,OAAO,EACL,CAAAkB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEqD,iBAAiB,KAC7BhD,CAAC,CACC,iEACF,CAAC;AACHrB,UAAAA,QAAQ,EAAE,OAAA;SACV;QACFsE,OAAO,EAAE,SAAAA,OAAA,GAAA;UAAA,OAAMvC,YAAY,CAAC,IAAI,CAAC,CAAA;AAAA,SAAA;AAAC,OACnC,CAAC,CAAA;KACC,CACN,EACAgB,QAAQ,IAAIjB,SAAS,iBACpBnC,cAAA,CAAC4E,yBAAK,EAAA1E,aAAA,CAAA;MACJ2E,SAAS,EAAA,IAAA;AACT,MAAA,SAAA,EAASxD,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEyD,MAAO;AAC5B,MAAA,aAAA,EAAY,iCAAiC;AAC7CC,MAAAA,KAAK,EAAE1D,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAE0D,KAAM;AACzB3F,MAAAA,IAAI,EAAEiC,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEjC,IAAK;AACvB4F,MAAAA,WAAW,EAAE3D,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAE2D,WAAY;AACrCrB,MAAAA,GAAG,EAAEJ,QAAS;AACdiB,MAAAA,IAAI,EAAC,QAAQ;MACbS,MAAM,eACJjF,cAAA,CAACoE,0BAAM,EAAA;AACL,QAAA,aAAA,EAAY,iCAAiC;AAC7CE,QAAAA,IAAI,EAAEY,yBAAM;AACZV,QAAAA,IAAI,EAAC,OAAO;AACZP,QAAAA,KAAK,EAAC,MAAM;AACZQ,QAAAA,IAAI,EAAC,QAAQ;AACbE,QAAAA,OAAO,EAAEtB,gBAAAA;OACV,CAAA;AACF,KAAA,EACGhC,UAAU,CACf,CACF,EACAf,QAAQ,CAAA;AAAA,GACN,CAAC,CAAA;AAEV;;;;"}