@bigbinary/neeto-molecules 1.17.7 → 1.18.0

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 (224) hide show
  1. package/dist/BrowserSupport.js +3 -3
  2. package/dist/Builder.js +4 -4
  3. package/dist/CalendarView.js +5 -5
  4. package/dist/{Chevron-c64ff676.js → Chevron-be0c2de2.js} +4 -4
  5. package/dist/{Chevron-c64ff676.js.map → Chevron-be0c2de2.js.map} +1 -1
  6. package/dist/Codeblock.js +4 -4
  7. package/dist/Columns.js +5 -5
  8. package/dist/ConfigurePageSidebar.js +5 -5
  9. package/dist/CopyToClipboardButton.js +4 -4
  10. package/dist/Currency.js +2 -2
  11. package/dist/CustomDomain.js +5 -5
  12. package/dist/CustomDomainDashboard.js +6 -6
  13. package/dist/DateFormat.js +1 -1
  14. package/dist/DateRangeFilter.js +2 -2
  15. package/dist/DeleteArchiveModal.js +1 -1
  16. package/dist/DocumentEditor.js +3 -3
  17. package/dist/DynamicVariables.js +3 -3
  18. package/dist/EmailForm.js +5 -5
  19. package/dist/EmojiPicker.js +2 -2
  20. package/dist/EmojiReactions.js +1 -1
  21. package/dist/ErrorPage.js +1 -1
  22. package/dist/FloatingActionMenu.js +5 -5
  23. package/dist/Header.js +4 -4
  24. package/dist/HelpPopover.js +2 -2
  25. package/dist/IconPicker.js +3 -3
  26. package/dist/ImageWithFallback.js +4 -4
  27. package/dist/InlineInput.js +8 -7
  28. package/dist/InlineInput.js.map +1 -1
  29. package/dist/Insights.js +3 -3
  30. package/dist/IntegrationCard.js +3 -3
  31. package/dist/IntegrationDisconnectAlert.js +2 -2
  32. package/dist/IpRestriction.js +3 -3
  33. package/dist/KeyboardShortcuts.js +2 -2
  34. package/dist/LoginPage.js +7 -6
  35. package/dist/LoginPage.js.map +1 -1
  36. package/dist/MadeWith.js +2 -2
  37. package/dist/MenuBar.js +3 -3
  38. package/dist/Metadata.js +1 -1
  39. package/dist/MoreDropdown.js +3 -3
  40. package/dist/NavigationHeader.js +5 -5
  41. package/dist/NeetoWidget.js +4 -4
  42. package/dist/Onboarding.js +2 -2
  43. package/dist/OptionFields.js +4 -4
  44. package/dist/PageLoader.js +2 -2
  45. package/dist/PhoneNumber.js +4 -4
  46. package/dist/ProductEmbed.js +5 -5
  47. package/dist/PublishBlock.js +2 -2
  48. package/dist/Rename.js +5 -5
  49. package/dist/ResponsiveDevicePicker.js +5 -5
  50. package/dist/Schedule.js +8 -29
  51. package/dist/Schedule.js.map +1 -1
  52. package/dist/Scrollable.js +3 -3
  53. package/dist/Search.js +4 -4
  54. package/dist/Security.js +5 -5
  55. package/dist/SendToFields.js +3 -3
  56. package/dist/Settings.js +4 -4
  57. package/dist/ShareRecordingPane.js +4 -4
  58. package/dist/ShareViaEmail.js +5 -5
  59. package/dist/ShareViaLink.js +4 -4
  60. package/dist/Sidebar.js +5 -5
  61. package/dist/SubHeader.js +5 -5
  62. package/dist/SuffixedInput.js +4 -4
  63. package/dist/Taxonomy.js +6 -6
  64. package/dist/ThemeSidebar.js +14 -13
  65. package/dist/ThemeSidebar.js.map +1 -1
  66. package/dist/TimeFormat.js +1 -1
  67. package/dist/TimezoneMismatchModal.js +1 -1
  68. package/dist/ToggleFeatureCard.js +4 -4
  69. package/dist/cjs/BrowserSupport.js +9 -6
  70. package/dist/cjs/BrowserSupport.js.map +1 -1
  71. package/dist/cjs/Builder.js +21 -17
  72. package/dist/cjs/Builder.js.map +1 -1
  73. package/dist/cjs/CalendarView.js +19 -15
  74. package/dist/cjs/CalendarView.js.map +1 -1
  75. package/dist/cjs/{Chevron-8a4ed9cd.js → Chevron-059c442a.js} +15 -12
  76. package/dist/cjs/{Chevron-8a4ed9cd.js.map → Chevron-059c442a.js.map} +1 -1
  77. package/dist/cjs/Codeblock.js +7 -6
  78. package/dist/cjs/Codeblock.js.map +1 -1
  79. package/dist/cjs/Columns.js +5 -5
  80. package/dist/cjs/ConfigurePageSidebar.js +8 -7
  81. package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
  82. package/dist/cjs/CopyToClipboardButton.js +12 -8
  83. package/dist/cjs/CopyToClipboardButton.js.map +1 -1
  84. package/dist/cjs/Currency.js +8 -6
  85. package/dist/cjs/Currency.js.map +1 -1
  86. package/dist/cjs/CustomDomain.js +8 -7
  87. package/dist/cjs/CustomDomain.js.map +1 -1
  88. package/dist/cjs/CustomDomainDashboard.js +13 -11
  89. package/dist/cjs/CustomDomainDashboard.js.map +1 -1
  90. package/dist/cjs/DateFormat.js +4 -3
  91. package/dist/cjs/DateFormat.js.map +1 -1
  92. package/dist/cjs/DateRangeFilter.js +6 -4
  93. package/dist/cjs/DateRangeFilter.js.map +1 -1
  94. package/dist/cjs/DeleteArchiveModal.js +3 -2
  95. package/dist/cjs/DeleteArchiveModal.js.map +1 -1
  96. package/dist/cjs/DocumentEditor.js +12 -9
  97. package/dist/cjs/DocumentEditor.js.map +1 -1
  98. package/dist/cjs/DynamicVariables.js +9 -6
  99. package/dist/cjs/DynamicVariables.js.map +1 -1
  100. package/dist/cjs/EmailForm.js +12 -10
  101. package/dist/cjs/EmailForm.js.map +1 -1
  102. package/dist/cjs/EmojiPicker.js +6 -4
  103. package/dist/cjs/EmojiPicker.js.map +1 -1
  104. package/dist/cjs/EmojiReactions.js +3 -2
  105. package/dist/cjs/EmojiReactions.js.map +1 -1
  106. package/dist/cjs/ErrorPage.js +3 -2
  107. package/dist/cjs/ErrorPage.js.map +1 -1
  108. package/dist/cjs/FloatingActionMenu.js +27 -22
  109. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  110. package/dist/cjs/Header.js +11 -8
  111. package/dist/cjs/Header.js.map +1 -1
  112. package/dist/cjs/HelpPopover.js +8 -6
  113. package/dist/cjs/HelpPopover.js.map +1 -1
  114. package/dist/cjs/IconPicker.js +11 -8
  115. package/dist/cjs/IconPicker.js.map +1 -1
  116. package/dist/cjs/ImageWithFallback.js +15 -11
  117. package/dist/cjs/ImageWithFallback.js.map +1 -1
  118. package/dist/cjs/InlineInput.js +25 -18
  119. package/dist/cjs/InlineInput.js.map +1 -1
  120. package/dist/cjs/Insights.js +3 -3
  121. package/dist/cjs/IntegrationCard.js +9 -7
  122. package/dist/cjs/IntegrationCard.js.map +1 -1
  123. package/dist/cjs/IntegrationDisconnectAlert.js +6 -4
  124. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -1
  125. package/dist/cjs/IpRestriction.js +5 -4
  126. package/dist/cjs/IpRestriction.js.map +1 -1
  127. package/dist/cjs/KeyboardShortcuts.js +9 -7
  128. package/dist/cjs/KeyboardShortcuts.js.map +1 -1
  129. package/dist/cjs/LoginPage.js +11 -7
  130. package/dist/cjs/LoginPage.js.map +1 -1
  131. package/dist/cjs/MadeWith.js +6 -4
  132. package/dist/cjs/MadeWith.js.map +1 -1
  133. package/dist/cjs/MenuBar.js +22 -19
  134. package/dist/cjs/MenuBar.js.map +1 -1
  135. package/dist/cjs/Metadata.js +5 -4
  136. package/dist/cjs/Metadata.js.map +1 -1
  137. package/dist/cjs/MoreDropdown.js +18 -15
  138. package/dist/cjs/MoreDropdown.js.map +1 -1
  139. package/dist/cjs/NavigationHeader.js +9 -8
  140. package/dist/cjs/NavigationHeader.js.map +1 -1
  141. package/dist/cjs/NeetoWidget.js +15 -12
  142. package/dist/cjs/NeetoWidget.js.map +1 -1
  143. package/dist/cjs/Onboarding.js +9 -7
  144. package/dist/cjs/Onboarding.js.map +1 -1
  145. package/dist/cjs/OptionFields.js +21 -17
  146. package/dist/cjs/OptionFields.js.map +1 -1
  147. package/dist/cjs/PageLoader.js +6 -4
  148. package/dist/cjs/PageLoader.js.map +1 -1
  149. package/dist/cjs/PhoneNumber.js +23 -19
  150. package/dist/cjs/PhoneNumber.js.map +1 -1
  151. package/dist/cjs/ProductEmbed.js +24 -21
  152. package/dist/cjs/ProductEmbed.js.map +1 -1
  153. package/dist/cjs/PublishBlock.js +13 -11
  154. package/dist/cjs/PublishBlock.js.map +1 -1
  155. package/dist/cjs/Rename.js +17 -13
  156. package/dist/cjs/Rename.js.map +1 -1
  157. package/dist/cjs/ResponsiveDevicePicker.js +12 -8
  158. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
  159. package/dist/cjs/Schedule.js +24 -39
  160. package/dist/cjs/Schedule.js.map +1 -1
  161. package/dist/cjs/Scrollable.js +9 -6
  162. package/dist/cjs/Scrollable.js.map +1 -1
  163. package/dist/cjs/Search.js +12 -8
  164. package/dist/cjs/Search.js.map +1 -1
  165. package/dist/cjs/Security.js +12 -9
  166. package/dist/cjs/Security.js.map +1 -1
  167. package/dist/cjs/SendToFields.js +12 -9
  168. package/dist/cjs/SendToFields.js.map +1 -1
  169. package/dist/cjs/Settings.js +14 -11
  170. package/dist/cjs/Settings.js.map +1 -1
  171. package/dist/cjs/ShareRecordingPane.js +16 -12
  172. package/dist/cjs/ShareRecordingPane.js.map +1 -1
  173. package/dist/cjs/ShareViaEmail.js +15 -10
  174. package/dist/cjs/ShareViaEmail.js.map +1 -1
  175. package/dist/cjs/ShareViaLink.js +8 -7
  176. package/dist/cjs/ShareViaLink.js.map +1 -1
  177. package/dist/cjs/Sidebar.js +16 -12
  178. package/dist/cjs/Sidebar.js.map +1 -1
  179. package/dist/cjs/SubHeader.js +14 -11
  180. package/dist/cjs/SubHeader.js.map +1 -1
  181. package/dist/cjs/SuffixedInput.js +10 -7
  182. package/dist/cjs/SuffixedInput.js.map +1 -1
  183. package/dist/cjs/Taxonomy.js +19 -17
  184. package/dist/cjs/Taxonomy.js.map +1 -1
  185. package/dist/cjs/ThemeSidebar.js +33 -26
  186. package/dist/cjs/ThemeSidebar.js.map +1 -1
  187. package/dist/cjs/TimeFormat.js +1 -1
  188. package/dist/cjs/TimezoneMismatchModal.js +3 -2
  189. package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
  190. package/dist/cjs/ToggleFeatureCard.js +17 -13
  191. package/dist/cjs/ToggleFeatureCard.js.map +1 -1
  192. package/dist/cjs/{index-8a9dd202.js → index-9b0c3047.js} +7 -5
  193. package/dist/cjs/{index-8a9dd202.js.map → index-9b0c3047.js.map} +1 -1
  194. package/dist/cjs/{useColumns-a1c3668f.js → useColumns-9978cf70.js} +18 -14
  195. package/dist/cjs/{useColumns-a1c3668f.js.map → useColumns-9978cf70.js.map} +1 -1
  196. package/dist/{index-b9d0db95.js → index-8fd0cad5.js} +3 -3
  197. package/dist/{index-b9d0db95.js.map → index-8fd0cad5.js.map} +1 -1
  198. package/dist/{useColumns-d17d1f72.js → useColumns-751e9192.js} +5 -5
  199. package/dist/{useColumns-d17d1f72.js.map → useColumns-751e9192.js.map} +1 -1
  200. package/package.json +5 -2
  201. package/dist/cjs/defineProperty-886ed289.js +0 -47
  202. package/dist/cjs/defineProperty-886ed289.js.map +0 -1
  203. package/dist/cjs/extends-1b35a664.js +0 -19
  204. package/dist/cjs/extends-1b35a664.js.map +0 -1
  205. package/dist/cjs/index-c55ad2bc.js +0 -375
  206. package/dist/cjs/index-c55ad2bc.js.map +0 -1
  207. package/dist/cjs/objectWithoutProperties-2fed2d7d.js +0 -33
  208. package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +0 -1
  209. package/dist/cjs/slicedToArray-f320d9e7.js +0 -61
  210. package/dist/cjs/slicedToArray-f320d9e7.js.map +0 -1
  211. package/dist/cjs/toConsumableArray-9abb3858.js +0 -22
  212. package/dist/cjs/toConsumableArray-9abb3858.js.map +0 -1
  213. package/dist/defineProperty-549061a7.js +0 -43
  214. package/dist/defineProperty-549061a7.js.map +0 -1
  215. package/dist/extends-093996c9.js +0 -17
  216. package/dist/extends-093996c9.js.map +0 -1
  217. package/dist/index-9720867c.js +0 -372
  218. package/dist/index-9720867c.js.map +0 -1
  219. package/dist/objectWithoutProperties-a0edb288.js +0 -31
  220. package/dist/objectWithoutProperties-a0edb288.js.map +0 -1
  221. package/dist/slicedToArray-b4278ecd.js +0 -57
  222. package/dist/slicedToArray-b4278ecd.js.map +0 -1
  223. package/dist/toConsumableArray-1cc38429.js +0 -20
  224. package/dist/toConsumableArray-1cc38429.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IpRestriction.js","sources":["../../src/components/IpRestriction/utils.js","../../src/components/IpRestriction/constants.js","../../src/components/IpRestriction/AllowedIpRanges/AllowedIpRange.jsx","../../src/components/IpRestriction/AllowedIpRanges/index.jsx","../../src/components/IpRestriction/apis/current_ip.js","../../src/components/IpRestriction/hooks/reactQuery/useCurrentIp.js","../../src/components/IpRestriction/CurrentIp.jsx","../../src/components/IpRestriction/apis/allowed_ip_ranges.js","../../src/components/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js","../../src/components/IpRestriction/apis/ip_restriction.js","../../src/components/IpRestriction/hooks/reactQuery/useIpRestrictions.js","../../src/components/IpRestriction/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { IPv4, IPv6, Validator } from \"ip-num\";\nimport { assoc, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nconst toLabelAndValue = value => ({\n label: humanizeIpAddressFormat(value),\n value,\n});\n\nconst isValidIPv4String = ip =>\n isNotNil(ip) && Validator.isValidIPv4String(ip)[0];\n\nconst isValidIPv6String = ip =>\n isNotNil(ip) && Validator.isValidIPv6String(ip)[0];\n\nconst isValidIpString = ip => isValidIPv4String(ip) || isValidIPv6String(ip);\n\nconst areIpAddressesInSameFormat = (ipStart, ipEnd) =>\n (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) ||\n (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd));\n\nconst isValidIPv4Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv4.fromDecimalDottedString(ipStart);\n const ipEndAddr = IPv4.fromDecimalDottedString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPv6Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv6.fromString(ipStart);\n const ipEndAddr = IPv6.fromString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPRange = (ipStart, ipEnd) => {\n if (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) {\n return isValidIPv4Range(ipStart, ipEnd);\n }\n\n if (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd)) {\n return isValidIPv6Range(ipStart, ipEnd);\n }\n\n return false;\n};\n\nyup.addMethod(yup.string, \"validIp\", function (errorMessage) {\n return this.test(\"valid-ip\", errorMessage, function (value) {\n if (isNil(value)) {\n return this;\n }\n\n const isValidIp = isValidIpString(value);\n\n return (\n isValidIp || this.createError({ path: this.path, message: errorMessage })\n );\n });\n});\n\nexport const getIpRestrictionValidationSchema = () =>\n yup.object().shape({\n ipStart: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .required(t(\"neetoMolecules.ipRestriction.validations.ipStartRequired\")),\n ipEnd: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => areIpAddressesInSameFormat(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.eitherIpv4OrIpv6\"\n ),\n })\n )\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => isValidIPRange(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.ipEndGreaterThanIpStart\"\n ),\n })\n )\n .required(t(\"neetoMolecules.ipRestriction.validations.ipEndRequired\")),\n addressType: yup\n .object()\n .shape({\n value: yup.string().required(),\n label: yup.string().required(),\n })\n .nullable()\n .required(\n t(\"neetoMolecules.ipRestriction.validations.addressTypeRequired\")\n ),\n });\n\nexport const humanizeIpAddressFormat = addressFormat => {\n const addressFormats = { ipv4: \"IPv4\", ipv6: \"IPv6\" };\n\n return addressFormats[addressFormat];\n};\n\nexport const buildInitialValue = (isIpRestrictionEnabled, allowedIpRanges) => ({\n ipRestriction: isIpRestrictionEnabled,\n allowedIpRanges: buildAllowedIpRangesFormData(allowedIpRanges),\n});\n\nexport const buildAllowedIpRangesFormData = allowedIpRanges =>\n allowedIpRanges?.map(allowedIpRange =>\n assoc(\n \"addressType\",\n toLabelAndValue(allowedIpRange.addressType),\n allowedIpRange\n )\n );\n\nexport const buildIpRestrictionPayload = values => {\n const allowedIpRangesWithTransformedAddressType = values.allowedIpRanges.map(\n allowedIpRange =>\n assoc(\"addressType\", allowedIpRange.addressType.value, allowedIpRange)\n );\n\n return {\n isIpRestrictionEnabled: values.ipRestriction,\n allowedIpRanges: allowedIpRangesWithTransformedAddressType,\n };\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { getIpRestrictionValidationSchema } from \"./utils\";\n\nexport const IP_RESTRICTIONS_ENGINE_BASE_URL = \"/ip_restrictions/api/v1\";\n\nexport const QUERY_KEYS = {\n IP_RESTRICTION: \"IP_RESTRICTION\",\n ALLOWED_IP_RANGES: \"ALLOWED_IP_RANGES\",\n CURRENT_IP: \"CURRENT_IP\",\n};\n\nexport const TRUNCATE_LENGTH = 18;\n\nexport const ADDRESS_TYPE_SELECT_OPTIONS = [\n { label: t(\"neetoMolecules.ipRestriction.ipv4\"), value: \"ipv4\" },\n { label: t(\"neetoMolecules.ipRestriction.ipv6\"), value: \"ipv6\" },\n];\n\nexport const INITIAL_VALUES = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: ADDRESS_TYPE_SELECT_OPTIONS[0].value,\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n ipRestriction: yup.boolean(),\n allowedIpRanges: yup.array().of(getIpRestrictionValidationSchema()),\n});\n\nexport const NEW_ALLOWED_IP_RANGE = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: null,\n createdAt: new Date().toISOString(),\n};\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input, Select } from \"neetoui/formik\";\n\nimport { ADDRESS_TYPE_SELECT_OPTIONS } from \"../constants\";\n\nconst AllowedIpRange = withT(({ t, index, arrayHelpers }) => (\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-2 gap-4 p-3 sm:grid-cols-12\">\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-start-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipStart\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipStart`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipStart\")}\n />\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-end-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipEnd`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n />\n <Select\n className=\"col-span-1 text-left sm:col-span-2\"\n data-testid=\"address-type-select-field\"\n label={t(\"neetoMolecules.ipRestriction.type\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.addressType`}\n options={ADDRESS_TYPE_SELECT_OPTIONS}\n />\n <div className=\"col-span-1 flex sm:col-span-2 sm:justify-center\">\n <Button\n className=\"mt-auto sm:mt-0\"\n data-testid=\"allowed-ip-range-delete-btn\"\n icon={Delete}\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.discard\"),\n position: \"top\",\n }}\n onClick={() => arrayHelpers.remove(index)}\n />\n </div>\n </div>\n));\n\nexport default AllowedIpRange;\n","import React from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Button, Typography } from \"neetoui\";\n\nimport AllowedIpRange from \"./AllowedIpRange\";\n\nimport { NEW_ALLOWED_IP_RANGE } from \"../constants\";\n\nconst AllowedIpRanges = withT(({ t }) => (\n <div className=\"space-y-6\" data-cy=\"allowed-ip-range-container\">\n <Typography data-cy=\"allowed-ip-range-heading\" style=\"h4\">\n {t(\"neetoMolecules.ipRestriction.allowedIpRangeTitle\")}\n </Typography>\n <div className=\"space-y-4\">\n <div className=\"hidden grid-cols-12 gap-4 px-3 sm:grid\">\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipStart\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipEnd\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.type\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 text-center uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.actions\")}\n </Typography>\n </div>\n <div className=\"w-full space-y-2\">\n <FieldArray name=\"allowedIpRanges\">\n {arrayHelpers => (\n <>\n {arrayHelpers.form.values.allowedIpRanges.map(\n (allowedIpRange, index) => (\n <AllowedIpRange\n {...{ allowedIpRange, arrayHelpers, index }}\n key={allowedIpRange.createdAt}\n />\n )\n )}\n <Button\n data-cy=\"add-allowed-ip-range-button\"\n label={t(\"neetoMolecules.ipRestriction.addNew\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(NEW_ALLOWED_IP_RANGE)}\n />\n </>\n )}\n </FieldArray>\n </div>\n </div>\n </div>\n));\n\nexport default React.memo(AllowedIpRanges);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst show = params =>\n axios.get(`${IP_RESTRICTIONS_ENGINE_BASE_URL}/current_ip`, { params });\n\nconst currentIpApi = { show };\n\nexport default currentIpApi;\n","import { useQuery } from \"react-query\";\n\nimport currentIpApi from \"../../apis/current_ip\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { CURRENT_IP } = QUERY_KEYS;\n\nconst useShowCurrentIp = () =>\n useQuery([CURRENT_IP], () => currentIpApi.show());\n\nexport { useShowCurrentIp };\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { useShowCurrentIp } from \"./hooks/reactQuery/useCurrentIp\";\n\nconst CurrentIp = () => {\n const { data, isLoading } = useShowCurrentIp();\n\n return (\n <div\n className=\"flex flex-wrap items-baseline gap-1\"\n data-cy=\"current-ip-container\"\n >\n <Typography>\n <Trans\n i18nKey=\"neetoMolecules.ipRestriction.currentIpMessage\"\n values={{ ip: isLoading ? \"...\" : data.ip }}\n />\n </Typography>\n </div>\n );\n};\n\nexport default React.memo(CurrentIp);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst allowedIpRangesUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/allowed_ips`;\n\nconst fetch = () => axios.get(allowedIpRangesUrl);\n\nconst create = payload =>\n axios.post(allowedIpRangesUrl, { allowedIpRange: payload });\n\nconst destroy = id => axios.delete(`${allowedIpRangesUrl}/${id}`);\n\nconst update = ({ id, payload }) =>\n axios.patch(`${allowedIpRangesUrl}/${id}`, {\n allowedIpRange: payload,\n });\n\nconst allowedIpRangesApi = { fetch, create, destroy, update };\n\nexport default allowedIpRangesApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport allowedIpRangesApi from \"../../apis/allowed_ip_ranges\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useFetchAllowedIpRanges = options =>\n useQuery([ALLOWED_IP_RANGES], () => allowedIpRangesApi.fetch(), options);\n\nconst useCreateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.create, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nconst useDestroyAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.destroy, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nconst useUpdateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.update, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nexport {\n useFetchAllowedIpRanges,\n useCreateAllowedIpRanges,\n useDestroyAllowedIpRanges,\n useUpdateAllowedIpRanges,\n};\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst ipRestrictionUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/ip_restriction`;\n\nconst update = params =>\n axios.patch(ipRestrictionUrl, { ipRestriction: params });\n\nconst show = () => axios.get(ipRestrictionUrl);\n\nconst ipRestrictionApi = { update, show };\n\nexport default ipRestrictionApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport ipRestrictionApi from \"../../apis/ip_restriction\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { IP_RESTRICTION, ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useShowIpRestriction = () =>\n useQuery([IP_RESTRICTION], () => ipRestrictionApi.show());\n\nconst useUpdateIpRestriction = () =>\n useMutationWithInvalidation(ipRestrictionApi.update, {\n keysToInvalidate: [IP_RESTRICTION, ALLOWED_IP_RANGES],\n });\n\nexport { useShowIpRestriction, useUpdateIpRestriction };\n","import React, { useState } from \"react\";\n\nimport { Typography, Alert, Callout, Button } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Checkbox,\n Button as FormikButton,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport PageLoader from \"components/PageLoader\";\n\nimport AllowedIpRanges from \"./AllowedIpRanges\";\nimport { VALIDATION_SCHEMA } from \"./constants\";\nimport CurrentIp from \"./CurrentIp\";\nimport { useFetchAllowedIpRanges } from \"./hooks/reactQuery/useAllowedIpRanges\";\nimport {\n useShowIpRestriction,\n useUpdateIpRestriction,\n} from \"./hooks/reactQuery/useIpRestrictions\";\nimport { buildInitialValue, buildIpRestrictionPayload } from \"./utils\";\n\nconst IpRestriction = () => {\n const { t } = useTranslation();\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n\n const {\n data: { isIpRestrictionEnabled } = {},\n isLoading: isFetchingIpRestriction,\n } = useShowIpRestriction();\n\n const {\n data: allowedIpRanges,\n isLoading: isFetchingAllowedIpRanges,\n isRefetching,\n } = useFetchAllowedIpRanges({ enabled: isIpRestrictionEnabled });\n\n const { mutate: updateIpRestriction, isLoading: isUpdating } =\n useUpdateIpRestriction();\n\n if (isFetchingIpRestriction || isFetchingAllowedIpRanges || isRefetching) {\n return (\n <div className=\"h-screen\">\n <PageLoader />\n </div>\n );\n }\n\n const handleSubmit = (values, formikBag) => {\n if (values.ipRestriction) setIsAlertOpen(true);\n else handleUpdateIpRestriction(values, formikBag);\n };\n\n const handleCloseAlert = setSubmitting => {\n setIsAlertOpen(false);\n setSubmitting(false);\n };\n\n const handleUpdateIpRestriction = (values, { setSubmitting, resetForm }) => {\n updateIpRestriction(buildIpRestrictionPayload(values), {\n onSuccess: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n resetForm({ values });\n },\n onError: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n },\n });\n };\n\n return (\n <NeetoUIForm\n className=\"mx-auto mb-4 w-full sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n formikProps={{\n initialValues: buildInitialValue(\n isIpRestrictionEnabled,\n allowedIpRanges\n ),\n validationSchema: VALIDATION_SCHEMA,\n validateOnBlur: true,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, dirty, setFieldValue, resetForm, setSubmitting }) => (\n <>\n <BlockNavigation />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-200 neeto-ui-rounded-lg mx-auto mb-4 w-full overflow-hidden border sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n data-cy=\"ip-restrictions-card\"\n >\n <div className=\"space-y-2 p-6\">\n <Checkbox\n checked={values.ipRestriction}\n className=\"flex-grow-0\"\n data-cy=\"enable-ip-restriction-checkbox\"\n disabled={isFetchingIpRestriction || isUpdating}\n name=\"ipRestriction\"\n label={\n <Typography style=\"h3\">\n {t(\"neetoMolecules.ipRestriction.switchLabel\")}\n </Typography>\n }\n onChange={() =>\n setFieldValue(\"ipRestriction\", !values.ipRestriction)\n }\n />\n <Typography data-cy=\"ip-restriction-description\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.description\")}\n </Typography>\n </div>\n {values.ipRestriction && (\n <div className=\"neeto-ui-bg-gray-100 w-full space-y-6 p-6\">\n <CurrentIp />\n <AllowedIpRanges />\n <Callout style=\"warning\">\n <div className=\"leading-2 block whitespace-pre-wrap py-1\">\n <Trans i18nKey=\"neetoMolecules.ipRestriction.warningMessage\" />\n </div>\n </Callout>\n </div>\n )}\n </div>\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n {dirty && (\n <Typography className=\"neeto-ui-text-error-500\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.validations.unsavedChanges\")}\n </Typography>\n )}\n <div className=\"ml-auto flex justify-between\">\n <Button\n className=\"mr-2\"\n disabled={!dirty}\n label={t(\"neetoMolecules.common.actions.reset\")}\n style=\"secondary\"\n type=\"reset\"\n onClick={resetForm}\n />\n <FormikButton\n data-cy=\"ip-restriction-save-changes\"\n data-testid=\"save-changes-button\"\n isLoading={isUpdating}\n type=\"submit\"\n >\n {t(\"neetoMolecules.common.actions.saveChanges\")}\n </FormikButton>\n </div>\n </div>\n <Alert\n isOpen={isAlertOpen}\n isSubmitting={isUpdating}\n title={t(\"neetoMolecules.ipRestriction.enableAlert.title\")}\n message={\n <Trans i18nKey=\"neetoMolecules.ipRestriction.enableAlert.message\" />\n }\n submitButtonLabel={t(\n \"neetoMolecules.ipRestriction.enableAlert.submitButtonLabel\"\n )}\n onClose={() => handleCloseAlert(setSubmitting)}\n onSubmit={() =>\n handleUpdateIpRestriction(values, { setSubmitting, resetForm })\n }\n />\n </>\n )}\n </NeetoUIForm>\n );\n};\n\nexport default React.memo(IpRestriction);\n"],"names":["toLabelAndValue","value","label","humanizeIpAddressFormat","isValidIPv4String","ip","isNotNil","Validator","isValidIPv6String","isValidIpString","areIpAddressesInSameFormat","ipStart","ipEnd","isValidIPv4Range","ipStartAddr","IPv4","fromDecimalDottedString","ipEndAddr","isLessThanOrEquals","isValidIPv6Range","IPv6","fromString","isValidIPRange","yup","addMethod","string","errorMessage","test","isNil","isValidIp","createError","path","message","getIpRestrictionValidationSchema","object","shape","validIp","t","required","when","schema","addressType","nullable","addressFormat","addressFormats","ipv4","ipv6","buildInitialValue","isIpRestrictionEnabled","allowedIpRanges","ipRestriction","buildAllowedIpRangesFormData","map","allowedIpRange","assoc","buildIpRestrictionPayload","values","allowedIpRangesWithTransformedAddressType","IP_RESTRICTIONS_ENGINE_BASE_URL","QUERY_KEYS","IP_RESTRICTION","ALLOWED_IP_RANGES","CURRENT_IP","ADDRESS_TYPE_SELECT_OPTIONS","VALIDATION_SCHEMA","array","of","NEW_ALLOWED_IP_RANGE","createdAt","Date","toISOString","AllowedIpRange","withT","_ref","index","arrayHelpers","React","createElement","className","Input","labelProps","name","concat","placeholder","Select","options","Button","icon","Delete","style","tooltipProps","content","position","onClick","remove","AllowedIpRanges","Typography","FieldArray","Fragment","form","key","push","memo","show","params","axios","get","currentIpApi","useShowCurrentIp","useQuery","CurrentIp","_useShowCurrentIp","data","isLoading","Trans","i18nKey","allowedIpRangesUrl","fetch","create","payload","post","destroy","id","update","patch","allowedIpRangesApi","useFetchAllowedIpRanges","ipRestrictionUrl","ipRestrictionApi","useShowIpRestriction","useUpdateIpRestriction","useMutationWithInvalidation","keysToInvalidate","IpRestriction","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isAlertOpen","setIsAlertOpen","_useShowIpRestriction","_useShowIpRestriction2","_useShowIpRestriction3","isFetchingIpRestriction","_useFetchAllowedIpRan","enabled","isFetchingAllowedIpRanges","isRefetching","_useUpdateIpRestricti","updateIpRestriction","mutate","isUpdating","PageLoader","handleSubmit","formikBag","handleUpdateIpRestriction","handleCloseAlert","setSubmitting","resetForm","onSuccess","onError","NeetoUIForm","formikProps","initialValues","validationSchema","validateOnBlur","enableReinitialize","onSubmit","_ref2","dirty","setFieldValue","BlockNavigation","Checkbox","checked","disabled","onChange","Callout","type","FormikButton","Alert","isOpen","isSubmitting","title","submitButtonLabel","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"IpRestriction.js","sources":["../../src/components/IpRestriction/utils.js","../../src/components/IpRestriction/constants.js","../../src/components/IpRestriction/AllowedIpRanges/AllowedIpRange.jsx","../../src/components/IpRestriction/AllowedIpRanges/index.jsx","../../src/components/IpRestriction/apis/current_ip.js","../../src/components/IpRestriction/hooks/reactQuery/useCurrentIp.js","../../src/components/IpRestriction/CurrentIp.jsx","../../src/components/IpRestriction/apis/allowed_ip_ranges.js","../../src/components/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js","../../src/components/IpRestriction/apis/ip_restriction.js","../../src/components/IpRestriction/hooks/reactQuery/useIpRestrictions.js","../../src/components/IpRestriction/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { IPv4, IPv6, Validator } from \"ip-num\";\nimport { assoc, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nconst toLabelAndValue = value => ({\n label: humanizeIpAddressFormat(value),\n value,\n});\n\nconst isValidIPv4String = ip =>\n isNotNil(ip) && Validator.isValidIPv4String(ip)[0];\n\nconst isValidIPv6String = ip =>\n isNotNil(ip) && Validator.isValidIPv6String(ip)[0];\n\nconst isValidIpString = ip => isValidIPv4String(ip) || isValidIPv6String(ip);\n\nconst areIpAddressesInSameFormat = (ipStart, ipEnd) =>\n (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) ||\n (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd));\n\nconst isValidIPv4Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv4.fromDecimalDottedString(ipStart);\n const ipEndAddr = IPv4.fromDecimalDottedString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPv6Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv6.fromString(ipStart);\n const ipEndAddr = IPv6.fromString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPRange = (ipStart, ipEnd) => {\n if (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) {\n return isValidIPv4Range(ipStart, ipEnd);\n }\n\n if (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd)) {\n return isValidIPv6Range(ipStart, ipEnd);\n }\n\n return false;\n};\n\nyup.addMethod(yup.string, \"validIp\", function (errorMessage) {\n return this.test(\"valid-ip\", errorMessage, function (value) {\n if (isNil(value)) {\n return this;\n }\n\n const isValidIp = isValidIpString(value);\n\n return (\n isValidIp || this.createError({ path: this.path, message: errorMessage })\n );\n });\n});\n\nexport const getIpRestrictionValidationSchema = () =>\n yup.object().shape({\n ipStart: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .required(t(\"neetoMolecules.ipRestriction.validations.ipStartRequired\")),\n ipEnd: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => areIpAddressesInSameFormat(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.eitherIpv4OrIpv6\"\n ),\n })\n )\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => isValidIPRange(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.ipEndGreaterThanIpStart\"\n ),\n })\n )\n .required(t(\"neetoMolecules.ipRestriction.validations.ipEndRequired\")),\n addressType: yup\n .object()\n .shape({\n value: yup.string().required(),\n label: yup.string().required(),\n })\n .nullable()\n .required(\n t(\"neetoMolecules.ipRestriction.validations.addressTypeRequired\")\n ),\n });\n\nexport const humanizeIpAddressFormat = addressFormat => {\n const addressFormats = { ipv4: \"IPv4\", ipv6: \"IPv6\" };\n\n return addressFormats[addressFormat];\n};\n\nexport const buildInitialValue = (isIpRestrictionEnabled, allowedIpRanges) => ({\n ipRestriction: isIpRestrictionEnabled,\n allowedIpRanges: buildAllowedIpRangesFormData(allowedIpRanges),\n});\n\nexport const buildAllowedIpRangesFormData = allowedIpRanges =>\n allowedIpRanges?.map(allowedIpRange =>\n assoc(\n \"addressType\",\n toLabelAndValue(allowedIpRange.addressType),\n allowedIpRange\n )\n );\n\nexport const buildIpRestrictionPayload = values => {\n const allowedIpRangesWithTransformedAddressType = values.allowedIpRanges.map(\n allowedIpRange =>\n assoc(\"addressType\", allowedIpRange.addressType.value, allowedIpRange)\n );\n\n return {\n isIpRestrictionEnabled: values.ipRestriction,\n allowedIpRanges: allowedIpRangesWithTransformedAddressType,\n };\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { getIpRestrictionValidationSchema } from \"./utils\";\n\nexport const IP_RESTRICTIONS_ENGINE_BASE_URL = \"/ip_restrictions/api/v1\";\n\nexport const QUERY_KEYS = {\n IP_RESTRICTION: \"IP_RESTRICTION\",\n ALLOWED_IP_RANGES: \"ALLOWED_IP_RANGES\",\n CURRENT_IP: \"CURRENT_IP\",\n};\n\nexport const TRUNCATE_LENGTH = 18;\n\nexport const ADDRESS_TYPE_SELECT_OPTIONS = [\n { label: t(\"neetoMolecules.ipRestriction.ipv4\"), value: \"ipv4\" },\n { label: t(\"neetoMolecules.ipRestriction.ipv6\"), value: \"ipv6\" },\n];\n\nexport const INITIAL_VALUES = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: ADDRESS_TYPE_SELECT_OPTIONS[0].value,\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n ipRestriction: yup.boolean(),\n allowedIpRanges: yup.array().of(getIpRestrictionValidationSchema()),\n});\n\nexport const NEW_ALLOWED_IP_RANGE = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: null,\n createdAt: new Date().toISOString(),\n};\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input, Select } from \"neetoui/formik\";\n\nimport { ADDRESS_TYPE_SELECT_OPTIONS } from \"../constants\";\n\nconst AllowedIpRange = withT(({ t, index, arrayHelpers }) => (\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-2 gap-4 p-3 sm:grid-cols-12\">\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-start-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipStart\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipStart`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipStart\")}\n />\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-end-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipEnd`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n />\n <Select\n className=\"col-span-1 text-left sm:col-span-2\"\n data-testid=\"address-type-select-field\"\n label={t(\"neetoMolecules.ipRestriction.type\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.addressType`}\n options={ADDRESS_TYPE_SELECT_OPTIONS}\n />\n <div className=\"col-span-1 flex sm:col-span-2 sm:justify-center\">\n <Button\n className=\"mt-auto sm:mt-0\"\n data-testid=\"allowed-ip-range-delete-btn\"\n icon={Delete}\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.discard\"),\n position: \"top\",\n }}\n onClick={() => arrayHelpers.remove(index)}\n />\n </div>\n </div>\n));\n\nexport default AllowedIpRange;\n","import React from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Button, Typography } from \"neetoui\";\n\nimport AllowedIpRange from \"./AllowedIpRange\";\n\nimport { NEW_ALLOWED_IP_RANGE } from \"../constants\";\n\nconst AllowedIpRanges = withT(({ t }) => (\n <div className=\"space-y-6\" data-cy=\"allowed-ip-range-container\">\n <Typography data-cy=\"allowed-ip-range-heading\" style=\"h4\">\n {t(\"neetoMolecules.ipRestriction.allowedIpRangeTitle\")}\n </Typography>\n <div className=\"space-y-4\">\n <div className=\"hidden grid-cols-12 gap-4 px-3 sm:grid\">\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipStart\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipEnd\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.type\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 text-center uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.actions\")}\n </Typography>\n </div>\n <div className=\"w-full space-y-2\">\n <FieldArray name=\"allowedIpRanges\">\n {arrayHelpers => (\n <>\n {arrayHelpers.form.values.allowedIpRanges.map(\n (allowedIpRange, index) => (\n <AllowedIpRange\n {...{ allowedIpRange, arrayHelpers, index }}\n key={allowedIpRange.createdAt}\n />\n )\n )}\n <Button\n data-cy=\"add-allowed-ip-range-button\"\n label={t(\"neetoMolecules.ipRestriction.addNew\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(NEW_ALLOWED_IP_RANGE)}\n />\n </>\n )}\n </FieldArray>\n </div>\n </div>\n </div>\n));\n\nexport default React.memo(AllowedIpRanges);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst show = params =>\n axios.get(`${IP_RESTRICTIONS_ENGINE_BASE_URL}/current_ip`, { params });\n\nconst currentIpApi = { show };\n\nexport default currentIpApi;\n","import { useQuery } from \"react-query\";\n\nimport currentIpApi from \"../../apis/current_ip\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { CURRENT_IP } = QUERY_KEYS;\n\nconst useShowCurrentIp = () =>\n useQuery([CURRENT_IP], () => currentIpApi.show());\n\nexport { useShowCurrentIp };\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { useShowCurrentIp } from \"./hooks/reactQuery/useCurrentIp\";\n\nconst CurrentIp = () => {\n const { data, isLoading } = useShowCurrentIp();\n\n return (\n <div\n className=\"flex flex-wrap items-baseline gap-1\"\n data-cy=\"current-ip-container\"\n >\n <Typography>\n <Trans\n i18nKey=\"neetoMolecules.ipRestriction.currentIpMessage\"\n values={{ ip: isLoading ? \"...\" : data.ip }}\n />\n </Typography>\n </div>\n );\n};\n\nexport default React.memo(CurrentIp);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst allowedIpRangesUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/allowed_ips`;\n\nconst fetch = () => axios.get(allowedIpRangesUrl);\n\nconst create = payload =>\n axios.post(allowedIpRangesUrl, { allowedIpRange: payload });\n\nconst destroy = id => axios.delete(`${allowedIpRangesUrl}/${id}`);\n\nconst update = ({ id, payload }) =>\n axios.patch(`${allowedIpRangesUrl}/${id}`, {\n allowedIpRange: payload,\n });\n\nconst allowedIpRangesApi = { fetch, create, destroy, update };\n\nexport default allowedIpRangesApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport allowedIpRangesApi from \"../../apis/allowed_ip_ranges\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useFetchAllowedIpRanges = options =>\n useQuery([ALLOWED_IP_RANGES], () => allowedIpRangesApi.fetch(), options);\n\nconst useCreateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.create, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nconst useDestroyAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.destroy, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nconst useUpdateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.update, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nexport {\n useFetchAllowedIpRanges,\n useCreateAllowedIpRanges,\n useDestroyAllowedIpRanges,\n useUpdateAllowedIpRanges,\n};\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst ipRestrictionUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/ip_restriction`;\n\nconst update = params =>\n axios.patch(ipRestrictionUrl, { ipRestriction: params });\n\nconst show = () => axios.get(ipRestrictionUrl);\n\nconst ipRestrictionApi = { update, show };\n\nexport default ipRestrictionApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport ipRestrictionApi from \"../../apis/ip_restriction\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { IP_RESTRICTION, ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useShowIpRestriction = () =>\n useQuery([IP_RESTRICTION], () => ipRestrictionApi.show());\n\nconst useUpdateIpRestriction = () =>\n useMutationWithInvalidation(ipRestrictionApi.update, {\n keysToInvalidate: [IP_RESTRICTION, ALLOWED_IP_RANGES],\n });\n\nexport { useShowIpRestriction, useUpdateIpRestriction };\n","import React, { useState } from \"react\";\n\nimport { Typography, Alert, Callout, Button } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Checkbox,\n Button as FormikButton,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport PageLoader from \"components/PageLoader\";\n\nimport AllowedIpRanges from \"./AllowedIpRanges\";\nimport { VALIDATION_SCHEMA } from \"./constants\";\nimport CurrentIp from \"./CurrentIp\";\nimport { useFetchAllowedIpRanges } from \"./hooks/reactQuery/useAllowedIpRanges\";\nimport {\n useShowIpRestriction,\n useUpdateIpRestriction,\n} from \"./hooks/reactQuery/useIpRestrictions\";\nimport { buildInitialValue, buildIpRestrictionPayload } from \"./utils\";\n\nconst IpRestriction = () => {\n const { t } = useTranslation();\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n\n const {\n data: { isIpRestrictionEnabled } = {},\n isLoading: isFetchingIpRestriction,\n } = useShowIpRestriction();\n\n const {\n data: allowedIpRanges,\n isLoading: isFetchingAllowedIpRanges,\n isRefetching,\n } = useFetchAllowedIpRanges({ enabled: isIpRestrictionEnabled });\n\n const { mutate: updateIpRestriction, isLoading: isUpdating } =\n useUpdateIpRestriction();\n\n if (isFetchingIpRestriction || isFetchingAllowedIpRanges || isRefetching) {\n return (\n <div className=\"h-screen\">\n <PageLoader />\n </div>\n );\n }\n\n const handleSubmit = (values, formikBag) => {\n if (values.ipRestriction) setIsAlertOpen(true);\n else handleUpdateIpRestriction(values, formikBag);\n };\n\n const handleCloseAlert = setSubmitting => {\n setIsAlertOpen(false);\n setSubmitting(false);\n };\n\n const handleUpdateIpRestriction = (values, { setSubmitting, resetForm }) => {\n updateIpRestriction(buildIpRestrictionPayload(values), {\n onSuccess: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n resetForm({ values });\n },\n onError: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n },\n });\n };\n\n return (\n <NeetoUIForm\n className=\"mx-auto mb-4 w-full sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n formikProps={{\n initialValues: buildInitialValue(\n isIpRestrictionEnabled,\n allowedIpRanges\n ),\n validationSchema: VALIDATION_SCHEMA,\n validateOnBlur: true,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, dirty, setFieldValue, resetForm, setSubmitting }) => (\n <>\n <BlockNavigation />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-200 neeto-ui-rounded-lg mx-auto mb-4 w-full overflow-hidden border sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n data-cy=\"ip-restrictions-card\"\n >\n <div className=\"space-y-2 p-6\">\n <Checkbox\n checked={values.ipRestriction}\n className=\"flex-grow-0\"\n data-cy=\"enable-ip-restriction-checkbox\"\n disabled={isFetchingIpRestriction || isUpdating}\n name=\"ipRestriction\"\n label={\n <Typography style=\"h3\">\n {t(\"neetoMolecules.ipRestriction.switchLabel\")}\n </Typography>\n }\n onChange={() =>\n setFieldValue(\"ipRestriction\", !values.ipRestriction)\n }\n />\n <Typography data-cy=\"ip-restriction-description\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.description\")}\n </Typography>\n </div>\n {values.ipRestriction && (\n <div className=\"neeto-ui-bg-gray-100 w-full space-y-6 p-6\">\n <CurrentIp />\n <AllowedIpRanges />\n <Callout style=\"warning\">\n <div className=\"leading-2 block whitespace-pre-wrap py-1\">\n <Trans i18nKey=\"neetoMolecules.ipRestriction.warningMessage\" />\n </div>\n </Callout>\n </div>\n )}\n </div>\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n {dirty && (\n <Typography className=\"neeto-ui-text-error-500\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.validations.unsavedChanges\")}\n </Typography>\n )}\n <div className=\"ml-auto flex justify-between\">\n <Button\n className=\"mr-2\"\n disabled={!dirty}\n label={t(\"neetoMolecules.common.actions.reset\")}\n style=\"secondary\"\n type=\"reset\"\n onClick={resetForm}\n />\n <FormikButton\n data-cy=\"ip-restriction-save-changes\"\n data-testid=\"save-changes-button\"\n isLoading={isUpdating}\n type=\"submit\"\n >\n {t(\"neetoMolecules.common.actions.saveChanges\")}\n </FormikButton>\n </div>\n </div>\n <Alert\n isOpen={isAlertOpen}\n isSubmitting={isUpdating}\n title={t(\"neetoMolecules.ipRestriction.enableAlert.title\")}\n message={\n <Trans i18nKey=\"neetoMolecules.ipRestriction.enableAlert.message\" />\n }\n submitButtonLabel={t(\n \"neetoMolecules.ipRestriction.enableAlert.submitButtonLabel\"\n )}\n onClose={() => handleCloseAlert(setSubmitting)}\n onSubmit={() =>\n handleUpdateIpRestriction(values, { setSubmitting, resetForm })\n }\n />\n </>\n )}\n </NeetoUIForm>\n );\n};\n\nexport default React.memo(IpRestriction);\n"],"names":["toLabelAndValue","value","label","humanizeIpAddressFormat","isValidIPv4String","ip","isNotNil","Validator","isValidIPv6String","isValidIpString","areIpAddressesInSameFormat","ipStart","ipEnd","isValidIPv4Range","ipStartAddr","IPv4","fromDecimalDottedString","ipEndAddr","isLessThanOrEquals","isValidIPv6Range","IPv6","fromString","isValidIPRange","yup","addMethod","string","errorMessage","test","isNil","isValidIp","createError","path","message","getIpRestrictionValidationSchema","object","shape","validIp","t","required","when","schema","addressType","nullable","addressFormat","addressFormats","ipv4","ipv6","buildInitialValue","isIpRestrictionEnabled","allowedIpRanges","ipRestriction","buildAllowedIpRangesFormData","map","allowedIpRange","assoc","buildIpRestrictionPayload","values","allowedIpRangesWithTransformedAddressType","IP_RESTRICTIONS_ENGINE_BASE_URL","QUERY_KEYS","IP_RESTRICTION","ALLOWED_IP_RANGES","CURRENT_IP","ADDRESS_TYPE_SELECT_OPTIONS","VALIDATION_SCHEMA","array","of","NEW_ALLOWED_IP_RANGE","createdAt","Date","toISOString","AllowedIpRange","withT","_ref","index","arrayHelpers","React","createElement","className","Input","labelProps","name","concat","placeholder","Select","options","Button","icon","Delete","style","tooltipProps","content","position","onClick","remove","AllowedIpRanges","Typography","FieldArray","Fragment","form","key","push","memo","show","params","axios","get","currentIpApi","useShowCurrentIp","useQuery","CurrentIp","_useShowCurrentIp","data","isLoading","Trans","i18nKey","allowedIpRangesUrl","fetch","create","payload","post","destroy","id","update","patch","allowedIpRangesApi","useFetchAllowedIpRanges","ipRestrictionUrl","ipRestrictionApi","useShowIpRestriction","useUpdateIpRestriction","useMutationWithInvalidation","keysToInvalidate","IpRestriction","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isAlertOpen","setIsAlertOpen","_useShowIpRestriction","_useShowIpRestriction2","_useShowIpRestriction3","isFetchingIpRestriction","_useFetchAllowedIpRan","enabled","isFetchingAllowedIpRanges","isRefetching","_useUpdateIpRestricti","updateIpRestriction","mutate","isUpdating","PageLoader","handleSubmit","formikBag","handleUpdateIpRestriction","handleCloseAlert","setSubmitting","resetForm","onSuccess","onError","NeetoUIForm","formikProps","initialValues","validationSchema","validateOnBlur","enableReinitialize","onSubmit","_ref2","dirty","setFieldValue","BlockNavigation","Checkbox","checked","disabled","onChange","Callout","type","FormikButton","Alert","isOpen","isSubmitting","title","submitButtonLabel","onClose"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  var shallow = require('zustand/shallow');
4
4
  var withImmutableActions = require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
5
5
  var zustand = require('zustand');
6
- var slicedToArray = require('./slicedToArray-f320d9e7.js');
6
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
7
7
  var React = require('react');
8
8
  var neetoIcons = require('@bigbinary/neeto-icons');
9
9
  var neetoui = require('@bigbinary/neetoui');
@@ -11,7 +11,7 @@ var managers = require('@bigbinary/neetoui/managers');
11
11
  var classnames = require('classnames');
12
12
  var useHotkeys = require('@bigbinary/neeto-hotkeys');
13
13
  var reactI18next = require('react-i18next');
14
- var defineProperty = require('./defineProperty-886ed289.js');
14
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
15
15
  var i18next = require('i18next');
16
16
  var platform = require('platform');
17
17
  var ramda = require('ramda');
@@ -20,9 +20,11 @@ var injectCss = require('./inject-css-80a5faa3.js');
20
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
21
 
22
22
  var withImmutableActions__default = /*#__PURE__*/_interopDefaultLegacy(withImmutableActions);
23
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
23
24
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
25
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
25
26
  var useHotkeys__default = /*#__PURE__*/_interopDefaultLegacy(useHotkeys);
27
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
26
28
  var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
27
29
  var platform__default = /*#__PURE__*/_interopDefaultLegacy(platform);
28
30
 
@@ -93,7 +95,7 @@ var replaceKeys = function replaceKeys(hotkey, keyName, replaceWith) {
93
95
  };
94
96
  var convertHotKeyToWindows = function convertHotKeyToWindows(hotkey) {
95
97
  ramda.toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(function (_ref) {
96
- var _ref2 = slicedToArray._slicedToArray(_ref, 2),
98
+ var _ref2 = _slicedToArray__default["default"](_ref, 2),
97
99
  macKey = _ref2[0],
98
100
  windowsKey = _ref2[1];
99
101
  hotkey = replaceKeys(hotkey, macKey, windowsKey);
@@ -110,7 +112,7 @@ var convertHotkeyToUsersPlatform = function convertHotkeyToUsersPlatform(hotkey)
110
112
  var shortenHotKey = function shortenHotKey(hotkey) {
111
113
  var result = hotkey;
112
114
  Object.entries(KEY_SHORTFORM_MAP).forEach(function (_ref3) {
113
- var _ref4 = slicedToArray._slicedToArray(_ref3, 2),
115
+ var _ref4 = _slicedToArray__default["default"](_ref3, 2),
114
116
  longform = _ref4[0],
115
117
  shortform = _ref4[1];
116
118
  result = result.replaceAll(longform, shortform);
@@ -118,7 +120,7 @@ var shortenHotKey = function shortenHotKey(hotkey) {
118
120
  return result;
119
121
  };
120
122
  var getGlobalShortcuts = function getGlobalShortcuts() {
121
- return defineProperty._defineProperty({}, i18next__default["default"].t("neetoMolecules.keyboardShortcuts.global.categoryName"), {
123
+ return _defineProperty__default["default"]({}, i18next__default["default"].t("neetoMolecules.keyboardShortcuts.global.categoryName"), {
122
124
  openKeyboardShortcutsPane: {
123
125
  sequence: "shift+/",
124
126
  description: i18next__default["default"].t("neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane")
@@ -199,7 +201,7 @@ var HotKeyList = function HotKeyList(_ref) {
199
201
  textTransform: "uppercase",
200
202
  weight: "bold"
201
203
  }, categoryName), Object.entries(categoryValues).map(function (_ref2) {
202
- var _ref3 = slicedToArray._slicedToArray(_ref2, 2),
204
+ var _ref3 = _slicedToArray__default["default"](_ref2, 2),
203
205
  _ref3$ = _ref3[1],
204
206
  sequence = _ref3$.sequence,
205
207
  description = _ref3$.description;
@@ -226,7 +228,7 @@ var KeyboardShortcutsPane = function KeyboardShortcutsPane(_ref) {
226
228
  var _ref$productShortcuts = _ref.productShortcuts,
227
229
  productShortcuts = _ref$productShortcuts === void 0 ? {} : _ref$productShortcuts;
228
230
  var _useKeyboardShortcuts = useKeyboardShortcutsPaneState(),
229
- _useKeyboardShortcuts2 = slicedToArray._slicedToArray(_useKeyboardShortcuts, 2),
231
+ _useKeyboardShortcuts2 = _slicedToArray__default["default"](_useKeyboardShortcuts, 2),
230
232
  isOpen = _useKeyboardShortcuts2[0],
231
233
  setIsOpen = _useKeyboardShortcuts2[1];
232
234
  var hasOverlays = managers.manager.hasOverlays();
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcuts.js","sources":["../../src/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js","../../src/components/KeyboardShortcuts/Pane/constants.js","../../src/components/KeyboardShortcuts/Pane/utils.js","../../src/components/KeyboardShortcuts/Pane/HotKey.jsx","../../src/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../../src/components/KeyboardShortcuts/Pane/index.jsx","../../src/components/KeyboardShortcuts/index.js"],"sourcesContent":["import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useKeyboardShortcutsStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useKeyboardShortcutsPaneState = () => {\n const { isOpen, setIsOpen } = useKeyboardShortcutsStore.pick();\n\n return [isOpen, setIsOpen];\n};\n\nexport default useKeyboardShortcutsPaneState;\n","export const KEY_SHORTFORM_MAP = {\n command: \"⌘\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"OS X\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"⌘\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport platform from \"platform\";\nimport { toPairs } from \"ramda\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const platformInfo = platform.parse(navigator.userAgent);\n const isOSX = platformInfo.os?.family?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"shift+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import React from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Kbd, Typography } from \"@bigbinary/neetoui\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy=\"hotkey-item\"\n data-testid=\"hotkey-item\"\n >\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <React.Fragment key={idx}>\n <Kbd {...{ keyName }} tooltipProps={getTooltipProps(keyName)} />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <Kbd keyName=\"then\" />\n )}\n </React.Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default React.memo(HotKey);\n","import React from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Button, Typography } from \"@bigbinary/neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = ({ hotkeys }) => {\n const { t } = useTranslation();\n\n return Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <Typography style=\"h6\" textTransform=\"uppercase\" weight=\"bold\">\n {categoryName}\n </Typography>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && (\n <HotKey\n description={description}\n key={sequence}\n sequence={sequence}\n />\n )\n )}\n {fullShortcutsLink && (\n <Button\n className=\"mb-3\"\n href={fullShortcutsLink}\n style=\"link\"\n target=\"_blank\"\n label={t(\n \"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\"\n )}\n />\n )}\n </div>\n );\n });\n};\n\nexport default React.memo(HotKeyList);\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport React from \"react\";\n\nimport { Close } from \"@bigbinary/neeto-icons\";\nimport { Typography, Button } from \"@bigbinary/neetoui\";\nimport { manager } from \"@bigbinary/neetoui/managers\";\nimport classnames from \"classnames\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport \"./keyboard-shortcuts.scss\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = manager.hasOverlays();\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(shortcuts.openKeyboardShortcutsPane.sequence, () =>\n setIsOpen(prevIsOpen => !prevIsOpen)\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false));\n\n return (\n <div\n data-cy=\"keyboard-shortcuts-pane\"\n className={classnames(\n \"neeto-molecules-keyboard-shortcuts-pane neeto-ui-border-gray-300 transition-width neeto-ui-bg-white ml-auto h-screen overflow-hidden border-l duration-300 ease-in-out\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"right-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"neeto-ui-border-gray-300 my-2 flex items-center justify-between border-b px-4 pb-2\">\n <Typography data-cy=\"keyboard-shortcuts-pane-title\" style=\"h4\">\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </Typography>\n <Button\n data-cy=\"keyboard-shortcuts-pane-close-button\"\n icon={Close}\n style=\"text\"\n onClick={() => setIsOpen(false)}\n />\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["useKeyboardShortcutsStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useKeyboardShortcutsPaneState","_useKeyboardShortcuts","store","shallow","KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","windows","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_platformInfo$os","_platformInfo$os$fami","platformInfo","platform","parse","navigator","userAgent","isOSX","os","family","includes","shortenHotKey","result","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","getTooltipProps","key","position","content","followCursor","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","React","createElement","className","Typography","lineHeight","style","idx","Fragment","Kbd","tooltipProps","length","memo","HotKeyList","hotkeys","_useTranslation","useTranslation","keys","categoryName","categoryValues","fullShortcutsLink","textTransform","weight","_ref3$","Button","href","target","label","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts2","hasOverlays","manager","GLOBAL_SHORTCUTS","shortcuts","useHotkeys","prevIsOpen","classnames","absolute","icon","Close","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
1
+ {"version":3,"file":"KeyboardShortcuts.js","sources":["../../src/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js","../../src/components/KeyboardShortcuts/Pane/constants.js","../../src/components/KeyboardShortcuts/Pane/utils.js","../../src/components/KeyboardShortcuts/Pane/HotKey.jsx","../../src/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../../src/components/KeyboardShortcuts/Pane/index.jsx","../../src/components/KeyboardShortcuts/index.js"],"sourcesContent":["import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useKeyboardShortcutsStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useKeyboardShortcutsPaneState = () => {\n const { isOpen, setIsOpen } = useKeyboardShortcutsStore.pick();\n\n return [isOpen, setIsOpen];\n};\n\nexport default useKeyboardShortcutsPaneState;\n","export const KEY_SHORTFORM_MAP = {\n command: \"⌘\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"OS X\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"⌘\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport platform from \"platform\";\nimport { toPairs } from \"ramda\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const platformInfo = platform.parse(navigator.userAgent);\n const isOSX = platformInfo.os?.family?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"shift+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import React from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Kbd, Typography } from \"@bigbinary/neetoui\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy=\"hotkey-item\"\n data-testid=\"hotkey-item\"\n >\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <React.Fragment key={idx}>\n <Kbd {...{ keyName }} tooltipProps={getTooltipProps(keyName)} />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <Kbd keyName=\"then\" />\n )}\n </React.Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default React.memo(HotKey);\n","import React from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Button, Typography } from \"@bigbinary/neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = ({ hotkeys }) => {\n const { t } = useTranslation();\n\n return Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <Typography style=\"h6\" textTransform=\"uppercase\" weight=\"bold\">\n {categoryName}\n </Typography>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && (\n <HotKey\n description={description}\n key={sequence}\n sequence={sequence}\n />\n )\n )}\n {fullShortcutsLink && (\n <Button\n className=\"mb-3\"\n href={fullShortcutsLink}\n style=\"link\"\n target=\"_blank\"\n label={t(\n \"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\"\n )}\n />\n )}\n </div>\n );\n });\n};\n\nexport default React.memo(HotKeyList);\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport React from \"react\";\n\nimport { Close } from \"@bigbinary/neeto-icons\";\nimport { Typography, Button } from \"@bigbinary/neetoui\";\nimport { manager } from \"@bigbinary/neetoui/managers\";\nimport classnames from \"classnames\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport \"./keyboard-shortcuts.scss\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = manager.hasOverlays();\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(shortcuts.openKeyboardShortcutsPane.sequence, () =>\n setIsOpen(prevIsOpen => !prevIsOpen)\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false));\n\n return (\n <div\n data-cy=\"keyboard-shortcuts-pane\"\n className={classnames(\n \"neeto-molecules-keyboard-shortcuts-pane neeto-ui-border-gray-300 transition-width neeto-ui-bg-white ml-auto h-screen overflow-hidden border-l duration-300 ease-in-out\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"right-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"neeto-ui-border-gray-300 my-2 flex items-center justify-between border-b px-4 pb-2\">\n <Typography data-cy=\"keyboard-shortcuts-pane-title\" style=\"h4\">\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </Typography>\n <Button\n data-cy=\"keyboard-shortcuts-pane-close-button\"\n icon={Close}\n style=\"text\"\n onClick={() => setIsOpen(false)}\n />\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["useKeyboardShortcutsStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useKeyboardShortcutsPaneState","_useKeyboardShortcuts","store","shallow","KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","windows","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_platformInfo$os","_platformInfo$os$fami","platformInfo","platform","parse","navigator","userAgent","isOSX","os","family","includes","shortenHotKey","result","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","getTooltipProps","key","position","content","followCursor","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","React","createElement","className","Typography","lineHeight","style","idx","Fragment","Kbd","tooltipProps","length","memo","HotKeyList","hotkeys","_useTranslation","useTranslation","keys","categoryName","categoryValues","fullShortcutsLink","textTransform","weight","_ref3$","Button","href","target","label","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts2","hasOverlays","manager","GLOBAL_SHORTCUTS","shortcuts","useHotkeys","prevIsOpen","classnames","absolute","icon","Close","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-c55ad2bc.js');
4
- var slicedToArray = require('./slicedToArray-f320d9e7.js');
3
+ var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
4
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var _regeneratorRuntime = require('@babel/runtime/regenerator');
5
6
  var React = require('react');
6
7
  var neetoui = require('@bigbinary/neetoui');
7
8
  var reactI18next = require('react-i18next');
@@ -32,6 +33,9 @@ function _interopNamespace(e) {
32
33
  return Object.freeze(n);
33
34
  }
34
35
 
36
+ var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
37
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
38
+ var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
35
39
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
36
40
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
37
41
 
@@ -99,7 +103,7 @@ var SignInForm = function SignInForm(_ref) {
99
103
  var SignIn = function SignIn(_ref) {
100
104
  var handleSubmit = _ref.handleSubmit;
101
105
  var _useState = React.useState(null),
102
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
106
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
103
107
  isSubmitting = _useState2[0],
104
108
  setIsSubmitting = _useState2[1];
105
109
  var _useTranslation = reactI18next.useTranslation(),
@@ -108,9 +112,9 @@ var SignIn = function SignIn(_ref) {
108
112
  window.location.pathname = redirectTo || "/";
109
113
  };
110
114
  var handleFormSubmit = /*#__PURE__*/function () {
111
- var _ref2 = index._asyncToGenerator( /*#__PURE__*/index.regenerator.mark(function _callee(formValues) {
115
+ var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(formValues) {
112
116
  var response;
113
- return index.regenerator.wrap(function _callee$(_context) {
117
+ return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
114
118
  while (1) switch (_context.prev = _context.next) {
115
119
  case 0:
116
120
  _context.prev = 0;
@@ -138,8 +142,8 @@ var SignIn = function SignIn(_ref) {
138
142
  };
139
143
  }();
140
144
  var loginAsOliver = /*#__PURE__*/function () {
141
- var _ref3 = index._asyncToGenerator( /*#__PURE__*/index.regenerator.mark(function _callee2() {
142
- return index.regenerator.wrap(function _callee2$(_context2) {
145
+ var _ref3 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2() {
146
+ return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
143
147
  while (1) switch (_context2.prev = _context2.next) {
144
148
  case 0:
145
149
  setIsSubmitting(true);
@@ -1 +1 @@
1
- {"version":3,"file":"LoginPage.js","sources":["../../src/components/LoginPage/constants.js","../../src/components/LoginPage/Form.jsx","../../src/components/LoginPage/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as Yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = { email: \"\", password: \"\" };\n\nexport const DEFAULT_EMAIL = \"oliver@example.com\";\nexport const DEFAULT_PASSWORD = \"welcome\";\n\nexport const LOGIN_FORM_VALIDATION_SCHEMA = Yup.object().shape({\n email: Yup.string()\n .email(t(\"neetoMolecules.login.invalidEmail\"))\n .required(t(\"neetoMolecules.login.emailRequired\")),\n password: Yup.string().required(t(\"neetoMolecules.login.passwordRequired\")),\n});\n","import React from \"react\";\n\nimport { Form, Formik } from \"formik\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Button, Input } from \"neetoui/formik\";\nimport { assoc } from \"ramda\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport { INITIAL_FORM_VALUES, LOGIN_FORM_VALIDATION_SCHEMA } from \"./constants\";\n\nconst SignInForm = ({ handleFormSubmit }) => {\n const { t } = useTranslation();\n const { email = \"\" } = getQueryParams();\n\n const emailPrefilledInitialValues = () =>\n assoc(\"email\", email, INITIAL_FORM_VALUES);\n\n if (Button === undefined) {\n return (\n <Trans\n components={{ code: <code /> }}\n i18nKey=\"neetoMolecules.login.installNeetoUI\"\n />\n );\n }\n\n return (\n <Formik\n initialValues={emailPrefilledInitialValues()}\n validationSchema={LOGIN_FORM_VALIDATION_SCHEMA}\n onSubmit={handleFormSubmit}\n >\n <Form className=\"w-full space-y-6\">\n <Input\n required\n data-cy=\"login-email-text-field\"\n data-test-id=\"login-email\"\n label={t(\"neetoMolecules.login.email\")}\n name=\"email\"\n size=\"large\"\n />\n <Input\n required\n data-cy=\"login-password-text-field\"\n data-test-id=\"login-password\"\n label={t(\"neetoMolecules.login.password\")}\n name=\"password\"\n size=\"large\"\n type=\"password\"\n />\n <Button\n fullWidth\n data-cy=\"login-submit-button\"\n data-test-id=\"login-submit-button\"\n label={t(\"neetoMolecules.login.login\")}\n size=\"large\"\n style=\"secondary\"\n type=\"submit\"\n />\n </Form>\n </Formik>\n );\n};\n\nexport default SignInForm;\n","import React, { useState } from \"react\";\n\nimport { Button, Toastr, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport { DEFAULT_EMAIL, DEFAULT_PASSWORD } from \"./constants\";\nimport SignInForm from \"./Form\";\n\nconst SignIn = ({ handleSubmit }) => {\n const [isSubmitting, setIsSubmitting] = useState(null);\n const { t } = useTranslation();\n\n const redirectAfterSuccessfulLogin = redirectTo => {\n window.location.pathname = redirectTo || \"/\";\n };\n\n const handleFormSubmit = async formValues => {\n try {\n const response = await handleSubmit({ user: formValues });\n Toastr.success(t(\"neetoMolecules.login.success\"));\n redirectAfterSuccessfulLogin(response.redirectTo);\n } catch {\n /* empty */\n }\n };\n\n const loginAsOliver = async () => {\n setIsSubmitting(true);\n await handleFormSubmit({\n email: DEFAULT_EMAIL,\n password: DEFAULT_PASSWORD,\n });\n setIsSubmitting(false);\n };\n\n return (\n <div className=\"flex h-screen w-full justify-center\">\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-lg neeto-ui-shadow-sm w-full max-w-lg space-y-6 self-center p-8 sm:min-w-max sm:p-10\">\n <Typography style=\"h3\" weight=\"medium\">\n <Trans\n components={{ bold: <b data-test-id=\"organization-name\" /> }}\n i18nKey=\"neetoMolecules.login.toOrganizationAccount\"\n values={{ organizationName: globalProps.organization.name }}\n />\n </Typography>\n <Button\n fullWidth\n disabled={isSubmitting}\n label={t(\"neetoMolecules.login.loginAsOliver\")}\n loading={isSubmitting}\n size=\"large\"\n style=\"primary\"\n onClick={loginAsOliver}\n />\n <Typography className=\"text-center\" style=\"body1\" weight=\"semibold\">\n {t(\"neetoMolecules.common.or\").toLocaleUpperCase()}\n </Typography>\n <SignInForm {...{ handleFormSubmit }} />\n </div>\n </div>\n );\n};\n\nSignIn.propTypes = {\n /**\n * The function that is triggered when login button is clicked.\n */\n handleSubmit: PropTypes.func,\n};\n\nexport default SignIn;\n"],"names":["INITIAL_FORM_VALUES","email","password","DEFAULT_EMAIL","DEFAULT_PASSWORD","LOGIN_FORM_VALIDATION_SCHEMA","Yup","object","shape","string","t","required","SignInForm","_ref","handleFormSubmit","_useTranslation","useTranslation","_getQueryParams","getQueryParams","_getQueryParams$email","emailPrefilledInitialValues","assoc","Button","undefined","React","createElement","Trans","components","code","i18nKey","Formik","initialValues","validationSchema","onSubmit","Form","className","Input","label","name","size","type","fullWidth","style","SignIn","handleSubmit","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","redirectAfterSuccessfulLogin","redirectTo","window","location","pathname","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","formValues","response","wrap","_callee$","_context","prev","next","user","sent","Toastr","success","t0","stop","_x","apply","arguments","loginAsOliver","_ref3","_callee2","_callee2$","_context2","Typography","weight","bold","values","organizationName","globalProps","organization","disabled","loading","onClick","toLocaleUpperCase"],"mappings":"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"}
1
+ {"version":3,"file":"LoginPage.js","sources":["../../src/components/LoginPage/constants.js","../../src/components/LoginPage/Form.jsx","../../src/components/LoginPage/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as Yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = { email: \"\", password: \"\" };\n\nexport const DEFAULT_EMAIL = \"oliver@example.com\";\nexport const DEFAULT_PASSWORD = \"welcome\";\n\nexport const LOGIN_FORM_VALIDATION_SCHEMA = Yup.object().shape({\n email: Yup.string()\n .email(t(\"neetoMolecules.login.invalidEmail\"))\n .required(t(\"neetoMolecules.login.emailRequired\")),\n password: Yup.string().required(t(\"neetoMolecules.login.passwordRequired\")),\n});\n","import React from \"react\";\n\nimport { Form, Formik } from \"formik\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Button, Input } from \"neetoui/formik\";\nimport { assoc } from \"ramda\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport { INITIAL_FORM_VALUES, LOGIN_FORM_VALIDATION_SCHEMA } from \"./constants\";\n\nconst SignInForm = ({ handleFormSubmit }) => {\n const { t } = useTranslation();\n const { email = \"\" } = getQueryParams();\n\n const emailPrefilledInitialValues = () =>\n assoc(\"email\", email, INITIAL_FORM_VALUES);\n\n if (Button === undefined) {\n return (\n <Trans\n components={{ code: <code /> }}\n i18nKey=\"neetoMolecules.login.installNeetoUI\"\n />\n );\n }\n\n return (\n <Formik\n initialValues={emailPrefilledInitialValues()}\n validationSchema={LOGIN_FORM_VALIDATION_SCHEMA}\n onSubmit={handleFormSubmit}\n >\n <Form className=\"w-full space-y-6\">\n <Input\n required\n data-cy=\"login-email-text-field\"\n data-test-id=\"login-email\"\n label={t(\"neetoMolecules.login.email\")}\n name=\"email\"\n size=\"large\"\n />\n <Input\n required\n data-cy=\"login-password-text-field\"\n data-test-id=\"login-password\"\n label={t(\"neetoMolecules.login.password\")}\n name=\"password\"\n size=\"large\"\n type=\"password\"\n />\n <Button\n fullWidth\n data-cy=\"login-submit-button\"\n data-test-id=\"login-submit-button\"\n label={t(\"neetoMolecules.login.login\")}\n size=\"large\"\n style=\"secondary\"\n type=\"submit\"\n />\n </Form>\n </Formik>\n );\n};\n\nexport default SignInForm;\n","import React, { useState } from \"react\";\n\nimport { Button, Toastr, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport { DEFAULT_EMAIL, DEFAULT_PASSWORD } from \"./constants\";\nimport SignInForm from \"./Form\";\n\nconst SignIn = ({ handleSubmit }) => {\n const [isSubmitting, setIsSubmitting] = useState(null);\n const { t } = useTranslation();\n\n const redirectAfterSuccessfulLogin = redirectTo => {\n window.location.pathname = redirectTo || \"/\";\n };\n\n const handleFormSubmit = async formValues => {\n try {\n const response = await handleSubmit({ user: formValues });\n Toastr.success(t(\"neetoMolecules.login.success\"));\n redirectAfterSuccessfulLogin(response.redirectTo);\n } catch {\n /* empty */\n }\n };\n\n const loginAsOliver = async () => {\n setIsSubmitting(true);\n await handleFormSubmit({\n email: DEFAULT_EMAIL,\n password: DEFAULT_PASSWORD,\n });\n setIsSubmitting(false);\n };\n\n return (\n <div className=\"flex h-screen w-full justify-center\">\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-lg neeto-ui-shadow-sm w-full max-w-lg space-y-6 self-center p-8 sm:min-w-max sm:p-10\">\n <Typography style=\"h3\" weight=\"medium\">\n <Trans\n components={{ bold: <b data-test-id=\"organization-name\" /> }}\n i18nKey=\"neetoMolecules.login.toOrganizationAccount\"\n values={{ organizationName: globalProps.organization.name }}\n />\n </Typography>\n <Button\n fullWidth\n disabled={isSubmitting}\n label={t(\"neetoMolecules.login.loginAsOliver\")}\n loading={isSubmitting}\n size=\"large\"\n style=\"primary\"\n onClick={loginAsOliver}\n />\n <Typography className=\"text-center\" style=\"body1\" weight=\"semibold\">\n {t(\"neetoMolecules.common.or\").toLocaleUpperCase()}\n </Typography>\n <SignInForm {...{ handleFormSubmit }} />\n </div>\n </div>\n );\n};\n\nSignIn.propTypes = {\n /**\n * The function that is triggered when login button is clicked.\n */\n handleSubmit: PropTypes.func,\n};\n\nexport default SignIn;\n"],"names":["INITIAL_FORM_VALUES","email","password","DEFAULT_EMAIL","DEFAULT_PASSWORD","LOGIN_FORM_VALIDATION_SCHEMA","Yup","object","shape","string","t","required","SignInForm","_ref","handleFormSubmit","_useTranslation","useTranslation","_getQueryParams","getQueryParams","_getQueryParams$email","emailPrefilledInitialValues","assoc","Button","undefined","React","createElement","Trans","components","code","i18nKey","Formik","initialValues","validationSchema","onSubmit","Form","className","Input","label","name","size","type","fullWidth","style","SignIn","handleSubmit","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","redirectAfterSuccessfulLogin","redirectTo","window","location","pathname","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","formValues","response","wrap","_callee$","_context","prev","next","user","sent","Toastr","success","t0","stop","_x","apply","arguments","loginAsOliver","_ref3","_callee2","_callee2$","_context2","Typography","weight","bold","values","organizationName","globalProps","organization","disabled","loading","onClick","toLocaleUpperCase"],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var _extends = require('./extends-1b35a664.js');
4
- var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
3
+ var _extends = require('@babel/runtime/helpers/extends');
4
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
5
  var React = require('react');
6
6
  var reactI18next = require('react-i18next');
7
7
  var injectCss = require('./inject-css-80a5faa3.js');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
10
 
11
+ var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
12
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
11
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
14
 
13
15
  var css = ".neeto-molecules-made-with__wrapper{background:#fff;border:1px solid #dfdfde;border-radius:4px;color:#000;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Fira Sans,Droid Sans,Helvetica Neue;font-size:14px;font-weight:400;padding:4px 6px;transition:all;transition-duration:.3s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.neeto-molecules-made-with__wrapper strong{font-weight:700}.neeto-molecules-made-with__wrapper:hover{box-shadow:inset 0 0 0 1px #dfdfde}";
@@ -16,9 +18,9 @@ injectCss.n(css,{});
16
18
  var _excluded = ["productName"];
17
19
  var MadeWith = function MadeWith(_ref) {
18
20
  var productName = _ref.productName,
19
- otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
21
+ otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
20
22
  var name = productName || globalProps.appName;
21
- return /*#__PURE__*/React__default["default"].createElement("a", _extends._extends({
23
+ return /*#__PURE__*/React__default["default"].createElement("a", _extends__default["default"]({
22
24
  className: "neeto-molecules-made-with__wrapper",
23
25
  "data-cy": "made-with-".concat(name.toLowerCase()),
24
26
  "data-testid": "made-with-".concat(name.toLowerCase()),
@@ -1 +1 @@
1
- {"version":3,"file":"MadeWith.js","sources":["../../src/components/MadeWith/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport { Trans } from \"react-i18next\";\n\nimport \"./made-with.scss\";\n\nconst MadeWith = ({ productName, ...otherProps }) => {\n const name = productName || globalProps.appName;\n\n return (\n <a\n className=\"neeto-molecules-made-with__wrapper\"\n data-cy={`made-with-${name.toLowerCase()}`}\n data-testid={`made-with-${name.toLowerCase()}`}\n href={`https://www.neeto.com/${name.toLowerCase()}`}\n rel=\"noreferrer\"\n target=\"_blank\"\n {...otherProps}\n >\n <Trans\n i18nKey=\"neetoMolecules.common.madeWith\"\n values={{ productName: name }}\n />\n </a>\n );\n};\n\nMadeWith.propTypes = {\n /**\n * Product name to be displayed on the component (optional).\n */\n productName: PropTypes.string,\n};\n\nexport default React.memo(MadeWith);\n"],"names":["MadeWith","_ref","productName","otherProps","_objectWithoutProperties","_excluded","name","globalProps","appName","React","createElement","_extends","className","concat","toLowerCase","href","rel","target","Trans","i18nKey","values","memo"],"mappings":";;;;;;;;;;;;;;;;AAOA,IAAMA,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAAuC;AAAA,EAAA,IAAjCC,WAAW,GAAAD,IAAA,CAAXC,WAAW;AAAKC,IAAAA,UAAU,GAAAC,gDAAA,CAAAH,IAAA,EAAAI,SAAA,CAAA,CAAA;AAC5C,EAAA,IAAMC,IAAI,GAAGJ,WAAW,IAAIK,WAAW,CAACC,OAAO,CAAA;AAE/C,EAAA,oBACEC,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAAC,iBAAA,CAAA;AACEC,IAAAA,SAAS,EAAC,oCAAoC;AAC9C,IAAA,SAAA,EAAA,YAAA,CAAAC,MAAA,CAAsBP,IAAI,CAACQ,WAAW,EAAE,CAAG;AAC3C,IAAA,aAAA,EAAA,YAAA,CAAAD,MAAA,CAA0BP,IAAI,CAACQ,WAAW,EAAE,CAAG;IAC/CC,IAAI,EAAA,wBAAA,CAAAF,MAAA,CAA2BP,IAAI,CAACQ,WAAW,EAAE,CAAG;AACpDE,IAAAA,GAAG,EAAC,YAAY;AAChBC,IAAAA,MAAM,EAAC,QAAA;AAAQ,GAAA,EACXd,UAAU,CAEdM,eAAAA,yBAAA,CAAAC,aAAA,CAACQ,kBAAK,EAAA;AACJC,IAAAA,OAAO,EAAC,gCAAgC;AACxCC,IAAAA,MAAM,EAAE;AAAElB,MAAAA,WAAW,EAAEI,IAAAA;AAAK,KAAA;AAAE,GAC/B,CACA,CAAC,CAAA;AAER,CAAC,CAAA;AASD,YAAA,aAAeG,yBAAK,CAACY,IAAI,CAACrB,QAAQ,CAAC;;;;"}
1
+ {"version":3,"file":"MadeWith.js","sources":["../../src/components/MadeWith/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport { Trans } from \"react-i18next\";\n\nimport \"./made-with.scss\";\n\nconst MadeWith = ({ productName, ...otherProps }) => {\n const name = productName || globalProps.appName;\n\n return (\n <a\n className=\"neeto-molecules-made-with__wrapper\"\n data-cy={`made-with-${name.toLowerCase()}`}\n data-testid={`made-with-${name.toLowerCase()}`}\n href={`https://www.neeto.com/${name.toLowerCase()}`}\n rel=\"noreferrer\"\n target=\"_blank\"\n {...otherProps}\n >\n <Trans\n i18nKey=\"neetoMolecules.common.madeWith\"\n values={{ productName: name }}\n />\n </a>\n );\n};\n\nMadeWith.propTypes = {\n /**\n * Product name to be displayed on the component (optional).\n */\n productName: PropTypes.string,\n};\n\nexport default React.memo(MadeWith);\n"],"names":["MadeWith","_ref","productName","otherProps","_objectWithoutProperties","_excluded","name","globalProps","appName","React","createElement","_extends","className","concat","toLowerCase","href","rel","target","Trans","i18nKey","values","memo"],"mappings":";;;;;;;;;;;;;;;;;;AAOA,IAAMA,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAAuC;AAAA,EAAA,IAAjCC,WAAW,GAAAD,IAAA,CAAXC,WAAW;AAAKC,IAAAA,UAAU,GAAAC,4CAAA,CAAAH,IAAA,EAAAI,SAAA,CAAA,CAAA;AAC5C,EAAA,IAAMC,IAAI,GAAGJ,WAAW,IAAIK,WAAW,CAACC,OAAO,CAAA;AAE/C,EAAA,oBACEC,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAAC,4BAAA,CAAA;AACEC,IAAAA,SAAS,EAAC,oCAAoC;AAC9C,IAAA,SAAA,EAAA,YAAA,CAAAC,MAAA,CAAsBP,IAAI,CAACQ,WAAW,EAAE,CAAG;AAC3C,IAAA,aAAA,EAAA,YAAA,CAAAD,MAAA,CAA0BP,IAAI,CAACQ,WAAW,EAAE,CAAG;IAC/CC,IAAI,EAAA,wBAAA,CAAAF,MAAA,CAA2BP,IAAI,CAACQ,WAAW,EAAE,CAAG;AACpDE,IAAAA,GAAG,EAAC,YAAY;AAChBC,IAAAA,MAAM,EAAC,QAAA;AAAQ,GAAA,EACXd,UAAU,CAEdM,eAAAA,yBAAA,CAAAC,aAAA,CAACQ,kBAAK,EAAA;AACJC,IAAAA,OAAO,EAAC,gCAAgC;AACxCC,IAAAA,MAAM,EAAE;AAAElB,MAAAA,WAAW,EAAEI,IAAAA;AAAK,KAAA;AAAE,GAC/B,CACA,CAAC,CAAA;AAER,CAAC,CAAA;AASD,YAAA,aAAeG,yBAAK,CAACY,IAAI,CAACrB,QAAQ,CAAC;;;;"}