@bigbinary/neeto-molecules 5.1.19 → 5.1.21

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 (166) hide show
  1. package/dist/FinderModal.js +56 -9
  2. package/dist/FinderModal.js.map +1 -1
  3. package/dist/IpRestriction.js +2 -3175
  4. package/dist/IpRestriction.js.map +1 -1
  5. package/dist/MadeWith.js +3 -74
  6. package/dist/MadeWith.js.map +1 -1
  7. package/dist/NeetoWidget.js +3 -1958
  8. package/dist/NeetoWidget.js.map +1 -1
  9. package/dist/Onboarding.js +3 -400
  10. package/dist/Onboarding.js.map +1 -1
  11. package/dist/chevron-up-B2_LTx_h.js +15 -0
  12. package/dist/chevron-up-B2_LTx_h.js.map +1 -0
  13. package/dist/cjs/FinderModal.js +54 -7
  14. package/dist/cjs/FinderModal.js.map +1 -1
  15. package/dist/cjs/IpRestriction.js +21 -3194
  16. package/dist/cjs/IpRestriction.js.map +1 -1
  17. package/dist/cjs/MadeWith.js +17 -88
  18. package/dist/cjs/MadeWith.js.map +1 -1
  19. package/dist/cjs/NeetoWidget.js +4 -1959
  20. package/dist/cjs/NeetoWidget.js.map +1 -1
  21. package/dist/cjs/Onboarding.js +3 -400
  22. package/dist/cjs/Onboarding.js.map +1 -1
  23. package/dist/cjs/chevron-up-CpzhFWzM.js +17 -0
  24. package/dist/cjs/chevron-up-CpzhFWzM.js.map +1 -0
  25. package/dist/cjs/copy-CerjTcLL.js +20 -0
  26. package/dist/cjs/copy-CerjTcLL.js.map +1 -0
  27. package/dist/cjs/globe-DawgK2Dx.js +21 -0
  28. package/dist/cjs/globe-DawgK2Dx.js.map +1 -0
  29. package/dist/cjs/index-ARGXqXxG.js +78 -0
  30. package/dist/cjs/index-ARGXqXxG.js.map +1 -0
  31. package/dist/cjs/index-BeqE2JWC.js +3180 -0
  32. package/dist/cjs/index-BeqE2JWC.js.map +1 -0
  33. package/dist/cjs/panel-left-close-CLoRPBWH.js +21 -0
  34. package/dist/cjs/panel-left-close-CLoRPBWH.js.map +1 -0
  35. package/dist/cjs/phone-number-Bza7WGZm.js +315 -0
  36. package/dist/cjs/phone-number-Bza7WGZm.js.map +1 -0
  37. package/dist/cjs/prism-tomorrow-BMFuJ5o1.js +1963 -0
  38. package/dist/cjs/prism-tomorrow-BMFuJ5o1.js.map +1 -0
  39. package/dist/cjs/react-confetti-DdGoyZ0y.js +405 -0
  40. package/dist/cjs/react-confetti-DdGoyZ0y.js.map +1 -0
  41. package/dist/cjs/smartphone-ChvEvl-o.js +36 -0
  42. package/dist/cjs/smartphone-ChvEvl-o.js.map +1 -0
  43. package/dist/cjs/trash-2-CotPjU5n.js +23 -0
  44. package/dist/cjs/trash-2-CotPjU5n.js.map +1 -0
  45. package/dist/cjs/triangle-alert-De-qkUXK.js +27 -0
  46. package/dist/cjs/triangle-alert-De-qkUXK.js.map +1 -0
  47. package/dist/cjs/v2/AuditLogs.js +4 -18
  48. package/dist/cjs/v2/AuditLogs.js.map +1 -1
  49. package/dist/cjs/v2/Builder.js +4 -18
  50. package/dist/cjs/v2/Builder.js.map +1 -1
  51. package/dist/cjs/v2/Codeblock.js +1 -0
  52. package/dist/cjs/v2/Codeblock.js.map +1 -1
  53. package/dist/cjs/v2/CopyToClipboardButton.js +3 -16
  54. package/dist/cjs/v2/CopyToClipboardButton.js.map +1 -1
  55. package/dist/cjs/v2/FinderModal.js +48 -14
  56. package/dist/cjs/v2/FinderModal.js.map +1 -1
  57. package/dist/cjs/v2/FloatingActionMenu.js +1 -0
  58. package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
  59. package/dist/cjs/v2/Insights.js +344 -0
  60. package/dist/cjs/v2/Insights.js.map +1 -0
  61. package/dist/cjs/v2/IntegrationCard.js +222 -0
  62. package/dist/cjs/v2/IntegrationCard.js.map +1 -0
  63. package/dist/cjs/v2/IpRestriction.js +525 -0
  64. package/dist/cjs/v2/IpRestriction.js.map +1 -0
  65. package/dist/cjs/v2/MadeWith.js +73 -0
  66. package/dist/cjs/v2/MadeWith.js.map +1 -0
  67. package/dist/cjs/v2/Metadata.js +215 -0
  68. package/dist/cjs/v2/Metadata.js.map +1 -0
  69. package/dist/cjs/v2/NavigationHeader.js +1 -0
  70. package/dist/cjs/v2/NavigationHeader.js.map +1 -1
  71. package/dist/cjs/v2/NeetoWidget.js +855 -0
  72. package/dist/cjs/v2/NeetoWidget.js.map +1 -0
  73. package/dist/cjs/v2/Onboarding.js +323 -0
  74. package/dist/cjs/v2/Onboarding.js.map +1 -0
  75. package/dist/cjs/v2/OptionFields.js +1291 -0
  76. package/dist/cjs/v2/OptionFields.js.map +1 -0
  77. package/dist/cjs/v2/PhoneNumber.js +20 -307
  78. package/dist/cjs/v2/PhoneNumber.js.map +1 -1
  79. package/dist/cjs/v2/ProductEmbed.js +1870 -0
  80. package/dist/cjs/v2/ProductEmbed.js.map +1 -0
  81. package/dist/cjs/v2/PublishBlock.js +6 -22
  82. package/dist/cjs/v2/PublishBlock.js.map +1 -1
  83. package/dist/cjs/v2/PublishYourItem.js +60 -0
  84. package/dist/cjs/v2/PublishYourItem.js.map +1 -0
  85. package/dist/cjs/v2/ResponsiveDevicePicker.js +88 -0
  86. package/dist/cjs/v2/ResponsiveDevicePicker.js.map +1 -0
  87. package/dist/cjs/v2/SessionEnvironment.js +479 -0
  88. package/dist/cjs/v2/SessionEnvironment.js.map +1 -0
  89. package/dist/copy-DhbOoOav.js +18 -0
  90. package/dist/copy-DhbOoOav.js.map +1 -0
  91. package/dist/globe-rBiI1CjO.js +19 -0
  92. package/dist/globe-rBiI1CjO.js.map +1 -0
  93. package/dist/index-0jnA7dx6.js +3178 -0
  94. package/dist/index-0jnA7dx6.js.map +1 -0
  95. package/dist/index-DF5MKxql.js +76 -0
  96. package/dist/index-DF5MKxql.js.map +1 -0
  97. package/dist/panel-left-close-37jik3GB.js +19 -0
  98. package/dist/panel-left-close-37jik3GB.js.map +1 -0
  99. package/dist/phone-number-CGZtDB_n.js +291 -0
  100. package/dist/phone-number-CGZtDB_n.js.map +1 -0
  101. package/dist/prism-tomorrow-ZUb2Ikm9.js +1961 -0
  102. package/dist/prism-tomorrow-ZUb2Ikm9.js.map +1 -0
  103. package/dist/react-confetti-BnGq_LBE.js +403 -0
  104. package/dist/react-confetti-BnGq_LBE.js.map +1 -0
  105. package/dist/smartphone-B-jv1y8j.js +33 -0
  106. package/dist/smartphone-B-jv1y8j.js.map +1 -0
  107. package/dist/trash-2-N0F6K63L.js +21 -0
  108. package/dist/trash-2-N0F6K63L.js.map +1 -0
  109. package/dist/triangle-alert-Pkh6pc42.js +25 -0
  110. package/dist/triangle-alert-Pkh6pc42.js.map +1 -0
  111. package/dist/v2/AuditLogs.js +3 -17
  112. package/dist/v2/AuditLogs.js.map +1 -1
  113. package/dist/v2/Builder.js +3 -17
  114. package/dist/v2/Builder.js.map +1 -1
  115. package/dist/v2/Codeblock.js +1 -0
  116. package/dist/v2/Codeblock.js.map +1 -1
  117. package/dist/v2/CopyToClipboardButton.js +2 -15
  118. package/dist/v2/CopyToClipboardButton.js.map +1 -1
  119. package/dist/v2/FinderModal.js +49 -15
  120. package/dist/v2/FinderModal.js.map +1 -1
  121. package/dist/v2/FloatingActionMenu.js +1 -0
  122. package/dist/v2/FloatingActionMenu.js.map +1 -1
  123. package/dist/v2/Insights.js +342 -0
  124. package/dist/v2/Insights.js.map +1 -0
  125. package/dist/v2/IntegrationCard.js +220 -0
  126. package/dist/v2/IntegrationCard.js.map +1 -0
  127. package/dist/v2/IpRestriction.js +504 -0
  128. package/dist/v2/IpRestriction.js.map +1 -0
  129. package/dist/v2/MadeWith.js +52 -0
  130. package/dist/v2/MadeWith.js.map +1 -0
  131. package/dist/v2/Metadata.js +213 -0
  132. package/dist/v2/Metadata.js.map +1 -0
  133. package/dist/v2/NavigationHeader.js +1 -0
  134. package/dist/v2/NavigationHeader.js.map +1 -1
  135. package/dist/v2/NeetoWidget.js +834 -0
  136. package/dist/v2/NeetoWidget.js.map +1 -0
  137. package/dist/v2/Onboarding.js +321 -0
  138. package/dist/v2/Onboarding.js.map +1 -0
  139. package/dist/v2/OptionFields.js +1289 -0
  140. package/dist/v2/OptionFields.js.map +1 -0
  141. package/dist/v2/PhoneNumber.js +20 -287
  142. package/dist/v2/PhoneNumber.js.map +1 -1
  143. package/dist/v2/ProductEmbed.js +1868 -0
  144. package/dist/v2/ProductEmbed.js.map +1 -0
  145. package/dist/v2/PublishBlock.js +5 -21
  146. package/dist/v2/PublishBlock.js.map +1 -1
  147. package/dist/v2/PublishYourItem.js +58 -0
  148. package/dist/v2/PublishYourItem.js.map +1 -0
  149. package/dist/v2/ResponsiveDevicePicker.js +86 -0
  150. package/dist/v2/ResponsiveDevicePicker.js.map +1 -0
  151. package/dist/v2/SessionEnvironment.js +477 -0
  152. package/dist/v2/SessionEnvironment.js.map +1 -0
  153. package/package.json +3 -3
  154. package/types/v2/Insights.d.ts +69 -0
  155. package/types/v2/IntegrationCard.d.ts +30 -0
  156. package/types/v2/IpRestriction.d.ts +5 -0
  157. package/types/v2/MadeWith.d.ts +8 -0
  158. package/types/v2/Metadata.d.ts +26 -0
  159. package/types/v2/MobilePreviewHeader.d.ts +8 -0
  160. package/types/v2/NeetoWidget.d.ts +19 -0
  161. package/types/v2/Onboarding.d.ts +22 -0
  162. package/types/v2/OptionFields.d.ts +55 -0
  163. package/types/v2/ProductEmbed.d.ts +90 -0
  164. package/types/v2/PublishYourItem.d.ts +8 -0
  165. package/types/v2/ResponsiveDevicePicker.d.ts +11 -0
  166. package/types/v2/SessionEnvironment.d.ts +34 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IpRestriction.js","sources":["../../../src/v2/components/IpRestriction/utils.js","../../../src/v2/components/IpRestriction/constants.js","../../../src/v2/components/IpRestriction/AllowedIpRanges/AllowedIpRange.jsx","../../../src/v2/components/IpRestriction/AllowedIpRanges/index.jsx","../../../src/v2/components/IpRestriction/apis/current_ip.js","../../../src/v2/components/IpRestriction/hooks/reactQuery/useCurrentIp.js","../../../src/v2/components/IpRestriction/CurrentIp.jsx","../../../src/v2/components/IpRestriction/apis/allowed_ip_ranges.js","../../../src/v2/components/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js","../../../src/v2/components/IpRestriction/apis/ip_restriction.js","../../../src/v2/components/IpRestriction/hooks/reactQuery/useIpRestrictions.js","../../../src/v2/components/IpRestriction/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { IPv4, IPv6, Validator } from \"ip-num\";\nimport { isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\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 // v2 Select stores the scalar option value (string), not the option object.\n addressType: yup\n .string()\n .nullable()\n .required(\n t(\"neetoMolecules.ipRestriction.validations.addressTypeRequired\")\n ),\n });\n\nexport const buildInitialValue = (isIpRestrictionEnabled, allowedIpRanges) => ({\n ipRestriction: isIpRestrictionEnabled,\n allowedIpRanges,\n});\n\nexport const buildIpRestrictionPayload = values => ({\n isIpRestrictionEnabled: values.ipRestriction,\n allowedIpRanges: values.allowedIpRanges,\n});\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { getIpRestrictionValidationSchema } from \"./utils\";\n\nexport const IP_RESTRICTIONS_ENGINE_BASE_URL = \"/neeto_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 { Button } from \"@bigbinary/neeto-atoms\";\nimport { Input, Select } from \"@bigbinary/neeto-atoms/formik\";\nimport { Trash2 } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport { ADDRESS_TYPE_SELECT_OPTIONS } from \"../constants\";\n\nconst AllowedIpRange = withT(({ t, index, arrayHelpers }) => (\n <div className=\"flex items-start gap-3\">\n <div className=\"grid flex-grow grid-cols-1 gap-3 md:grid-cols-3\">\n <Input\n className=\"text-start\"\n data-testid=\"ip-start-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipStart\")}\n labelProps={{ className: \"md:hidden\" }}\n name={`allowedIpRanges.${index}.ipStart`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipStart\")}\n />\n <Input\n className=\"text-start\"\n data-testid=\"ip-end-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n labelProps={{ className: \"md:hidden\" }}\n name={`allowedIpRanges.${index}.ipEnd`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n />\n <Select\n className=\"text-start\"\n data-testid=\"address-type-select-field\"\n label={t(\"neetoMolecules.ipRestriction.type\")}\n labelProps={{ className: \"md:hidden\" }}\n name={`allowedIpRanges.${index}.addressType`}\n options={ADDRESS_TYPE_SELECT_OPTIONS}\n />\n </div>\n <div className=\"flex flex-shrink-0 justify-center md:min-w-14\">\n <Button\n className=\"mt-5 md:mt-0\"\n data-testid=\"allowed-ip-range-delete-button\"\n icon={Trash2}\n size=\"icon\"\n variant=\"ghost\"\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 { memo } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { FieldArray } from \"formik\";\nimport { Plus } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport AllowedIpRange from \"./AllowedIpRange\";\n\nimport { NEW_ALLOWED_IP_RANGE } from \"../constants\";\n\nconst AllowedIpRanges = withT(({ t }) => (\n <div\n className=\"flex flex-col gap-y-5\"\n data-testid=\"allowed-ip-range-container\"\n >\n <Typography data-testid=\"allowed-ip-range-heading\" variant=\"h4\">\n {t(\"neetoMolecules.ipRestriction.allowedIpRangeTitle\")}\n </Typography>\n <div className=\"flex flex-col gap-y-3\">\n <div className=\"hidden gap-3 md:flex\">\n <div className=\"grid flex-grow grid-cols-3 gap-3\">\n <Typography className=\"text-muted-foreground uppercase\" variant=\"h6\">\n {t(\"neetoMolecules.ipRestriction.ipStart\")}*\n </Typography>\n <Typography className=\"text-muted-foreground uppercase\" variant=\"h6\">\n {t(\"neetoMolecules.ipRestriction.ipEnd\")}*\n </Typography>\n <Typography className=\"text-muted-foreground uppercase\" variant=\"h6\">\n {t(\"neetoMolecules.ipRestriction.type\")}*\n </Typography>\n </div>\n <div className=\"min-w-14 flex-shrink-0\">\n <Typography\n className=\"text-muted-foreground text-center uppercase\"\n variant=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.actions\")}\n </Typography>\n </div>\n </div>\n <div className=\"flex w-full flex-col gap-y-6 md:gap-y-4\">\n <FieldArray name=\"allowedIpRanges\">\n {arrayHelpers => (\n <>\n {arrayHelpers.form.values.allowedIpRanges.map(\n (allowedIpRange, index) => (\n <div\n className=\"border-border w-full border-b pb-6 last:border-none last:pb-0 md:border-none md:pb-0\"\n key={index}\n >\n <AllowedIpRange\n {...{ allowedIpRange, arrayHelpers, index }}\n key={allowedIpRange.createdAt}\n />\n </div>\n )\n )}\n <Button\n className=\"md:mt-2\"\n data-testid=\"add-allowed-ip-range-button\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.ipRestriction.addNew\")}\n variant=\"link\"\n onClick={() => arrayHelpers.push(NEW_ALLOWED_IP_RANGE)}\n />\n </>\n )}\n </FieldArray>\n </div>\n </div>\n </div>\n));\n\nexport default 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 \"@tanstack/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({\n queryKey: [CURRENT_IP],\n queryFn: () => currentIpApi.show(),\n });\n\nexport { useShowCurrentIp };\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\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-testid=\"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 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 { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/v2/react-utils/useMutationWithInvalidation\";\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({\n queryKey: [ALLOWED_IP_RANGES],\n queryFn: () => allowedIpRangesApi.fetch(),\n ...options,\n });\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 { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/v2/react-utils/useMutationWithInvalidation\";\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({\n queryKey: [IP_RESTRICTION],\n queryFn: () => ipRestrictionApi.show(),\n });\n\nconst useUpdateIpRestriction = () =>\n useMutationWithInvalidation(ipRestrictionApi.update, {\n keysToInvalidate: [[IP_RESTRICTION], [ALLOWED_IP_RANGES]],\n });\n\nexport { useShowIpRestriction, useUpdateIpRestriction };\n","import { memo, useState } from \"react\";\n\nimport {\n Alert,\n Button,\n Callout,\n Spinner,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport {\n Form as NeetoUIForm,\n Switch,\n Button as FormikButton,\n BlockNavigation,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport classnames from \"classnames\";\nimport { Trans, useTranslation } from \"react-i18next\";\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\nimport CardLayout from \"../CardLayout\";\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, isPending: isUpdating } =\n useUpdateIpRestriction();\n\n if (isFetchingIpRestriction || isFetchingAllowedIpRanges || isRefetching) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\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=\"w-full\"\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, resetForm, setSubmitting }) => (\n <CardLayout\n actionBlock={\n <div className=\"flex flex-wrap items-center gap-2\">\n <FormikButton\n data-testid=\"ip-restriction-save-changes\"\n loading={isUpdating}\n >\n {t(\"neetoMolecules.common.actions.saveChanges\")}\n </FormikButton>\n <Button\n data-testid=\"ip-restriction-reset-btn\"\n disabled={!dirty}\n label={t(\"neetoMolecules.common.actions.reset\")}\n type=\"reset\"\n variant=\"secondary\"\n onClick={resetForm}\n />\n {dirty && (\n <Typography className=\"text-destructive\" variant=\"body2\">\n {t(\"neetoMolecules.ipRestriction.validations.unsavedChanges\")}\n </Typography>\n )}\n </div>\n }\n >\n <BlockNavigation />\n <div\n className={classnames(\"flex flex-col gap-y-2\", {\n \"pb-6\": values.ipRestriction,\n })}\n >\n <Switch\n className=\"flex-grow-0\"\n data-testid=\"enable-ip-restriction-switch\"\n disabled={isFetchingIpRestriction || isUpdating}\n id=\"ipRestriction\"\n label={t(\"neetoMolecules.ipRestriction.switchLabel\")}\n name=\"ipRestriction\"\n labelProps={{\n className: \"text-[1.75rem] font-semibold leading-tight\",\n }}\n />\n <Typography\n data-testid=\"ip-restriction-description\"\n variant=\"body2\"\n >\n {t(\"neetoMolecules.ipRestriction.description\")}\n </Typography>\n </div>\n {values.ipRestriction && (\n <div className=\"border-border flex w-full flex-col gap-y-6 border-t pt-6\">\n <CurrentIp />\n <AllowedIpRanges />\n <Callout variant=\"warning\">\n <div className=\"py-1 whitespace-pre-wrap\">\n <Trans i18nKey=\"neetoMolecules.ipRestriction.warningMessage\" />\n </div>\n </Callout>\n </div>\n )}\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 </CardLayout>\n )}\n </NeetoUIForm>\n );\n};\n\nexport default memo(IpRestriction);\n"],"names":["isValidIPv4String","ip","isNotNil","Validator","isValidIPv6String","isValidIpString","areIpAddressesInSameFormat","ipStart","ipEnd","isValidIPv4Range","ipStartAddr","IPv4","fromDecimalDottedString","ipEndAddr","isLessThanOrEquals","isValidIPv6Range","IPv6","fromString","isValidIPRange","yup","addMethod","string","errorMessage","test","value","isNil","isValidIp","createError","path","message","getIpRestrictionValidationSchema","object","shape","validIp","t","required","when","schema","addressType","nullable","buildInitialValue","isIpRestrictionEnabled","allowedIpRanges","ipRestriction","buildIpRestrictionPayload","values","IP_RESTRICTIONS_ENGINE_BASE_URL","QUERY_KEYS","IP_RESTRICTION","ALLOWED_IP_RANGES","CURRENT_IP","ADDRESS_TYPE_SELECT_OPTIONS","label","VALIDATION_SCHEMA","array","of","NEW_ALLOWED_IP_RANGE","createdAt","Date","toISOString","AllowedIpRange","withT","_ref","index","arrayHelpers","_jsxs","className","children","_jsx","Input","labelProps","name","concat","placeholder","Select","options","Button","icon","Trash2","size","variant","tooltipProps","content","position","onClick","remove","AllowedIpRanges","Typography","FieldArray","_Fragment","form","map","allowedIpRange","_createElement","key","Plus","iconPosition","push","memo","show","params","axios","get","currentIpApi","useShowCurrentIp","useQuery","queryKey","queryFn","CurrentIp","_useShowCurrentIp","data","isLoading","Trans","i18nKey","allowedIpRangesUrl","fetch","create","payload","post","destroy","id","update","patch","allowedIpRangesApi","useFetchAllowedIpRanges","_objectSpread","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","isPending","Spinner","handleSubmit","formikBag","handleUpdateIpRestriction","handleCloseAlert","setSubmitting","resetForm","onSuccess","onError","NeetoUIForm","formikProps","initialValues","validationSchema","validateOnBlur","enableReinitialize","onSubmit","_ref2","dirty","CardLayout","actionBlock","FormikButton","loading","disabled","type","BlockNavigation","classnames","Switch","Callout","Alert","isOpen","isSubmitting","title","submitButtonLabel","onClose"],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
+ var React = require('react');
6
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
7
+ var neetoCist = require('@bigbinary/neeto-cist');
8
+ var initializers = require('@bigbinary/neeto-commons-frontend/v2/initializers');
9
+ var Icons = require('@bigbinary/neeto-icons/logos');
10
+ var reactI18next = require('react-i18next');
11
+ var index$1 = require('../index-ARGXqXxG.js');
12
+ var jsxRuntime = require('react/jsx-runtime');
13
+ require('../_commonjsHelpers-BJu3ubxk.js');
14
+
15
+ function _interopNamespaceDefault(e) {
16
+ var n = Object.create(null);
17
+ if (e) {
18
+ Object.keys(e).forEach(function (k) {
19
+ if (k !== 'default') {
20
+ var d = Object.getOwnPropertyDescriptor(e, k);
21
+ Object.defineProperty(n, k, d.get ? d : {
22
+ enumerable: true,
23
+ get: function () { return e[k]; }
24
+ });
25
+ }
26
+ });
27
+ }
28
+ n.default = e;
29
+ return Object.freeze(n);
30
+ }
31
+
32
+ var Icons__namespace = /*#__PURE__*/_interopNamespaceDefault(Icons);
33
+
34
+ var _excluded = ["productName", "productIcon"];
35
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
36
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
37
+ var MadeWith = function MadeWith(_ref) {
38
+ var _globalProps$organiza;
39
+ var productName = _ref.productName,
40
+ ProductIcon = _ref.productIcon,
41
+ otherProps = _objectWithoutProperties(_ref, _excluded);
42
+ var name = neetoCist.capitalize(productName || initializers.globalProps.appName || "Neeto");
43
+ var subdomain = (_globalProps$organiza = initializers.globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.subdomain;
44
+ var utmParams = "utm_source=madewith".concat(subdomain ? "&utm_campaign=".concat(subdomain) : "");
45
+ var IconComponent = ProductIcon || Icons__namespace[index$1.uppercamelcase(name)];
46
+ return /*#__PURE__*/jsxRuntime.jsxs("a", _objectSpread(_objectSpread({
47
+ className: "bg-background text-foreground border-border hover:ring-border inline-flex items-center gap-1.5 rounded-md border px-2 py-1.5 text-sm font-normal no-underline transition-all duration-300 select-none hover:ring-1 hover:ring-inset motion-reduce:transition-none",
48
+ "data-testid": "made-with-".concat(name.toLowerCase()),
49
+ href: "https://www.neeto.com/".concat(name.toLowerCase(), "?").concat(utmParams),
50
+ rel: "noreferrer",
51
+ target: "_blank"
52
+ }, otherProps), {}, {
53
+ children: [IconComponent && /*#__PURE__*/jsxRuntime.jsx("span", {
54
+ "data-testid": "made-with-".concat(name.toLowerCase(), "-icon"),
55
+ children: /*#__PURE__*/jsxRuntime.jsx(IconComponent, {
56
+ size: 14
57
+ })
58
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
59
+ className: "leading-snug",
60
+ variant: "body2",
61
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
62
+ i18nKey: "neetoMolecules.common.madeWith",
63
+ values: {
64
+ productName: name
65
+ }
66
+ })
67
+ })]
68
+ }));
69
+ };
70
+ var index = /*#__PURE__*/React.memo(MadeWith);
71
+
72
+ module.exports = index;
73
+ //# sourceMappingURL=MadeWith.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MadeWith.js","sources":["../../../src/v2/components/MadeWith/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport * as Icons from \"neetoicons/logos\";\nimport PropTypes from \"prop-types\";\nimport { Trans } from \"react-i18next\";\nimport uppercamelcase from \"uppercamelcase\";\n\nconst MadeWith = ({ productName, productIcon: ProductIcon, ...otherProps }) => {\n const name = capitalize(productName || globalProps.appName || \"Neeto\");\n const subdomain = globalProps.organization?.subdomain;\n const utmParams = `utm_source=madewith${\n subdomain ? `&utm_campaign=${subdomain}` : \"\"\n }`;\n\n const IconComponent = ProductIcon || Icons[uppercamelcase(name)];\n\n return (\n <a\n className=\"bg-background text-foreground border-border hover:ring-border inline-flex items-center gap-1.5 rounded-md border px-2 py-1.5 text-sm font-normal no-underline transition-all duration-300 select-none hover:ring-1 hover:ring-inset motion-reduce:transition-none\"\n data-testid={`made-with-${name.toLowerCase()}`}\n href={`https://www.neeto.com/${name.toLowerCase()}?${utmParams}`}\n rel=\"noreferrer\"\n target=\"_blank\"\n {...otherProps}\n >\n {IconComponent && (\n <span data-testid={`made-with-${name.toLowerCase()}-icon`}>\n <IconComponent size={14} />\n </span>\n )}\n <Typography className=\"leading-snug\" variant=\"body2\">\n <Trans\n i18nKey=\"neetoMolecules.common.madeWith\"\n values={{ productName: name }}\n />\n </Typography>\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 /**\n * Product icon component to be displayed on the badge (optional).\n */\n productIcon: PropTypes.elementType,\n};\n\nexport default memo(MadeWith);\n"],"names":["MadeWith","_ref","_globalProps$organiza","productName","ProductIcon","productIcon","otherProps","_objectWithoutProperties","_excluded","name","capitalize","globalProps","appName","subdomain","organization","utmParams","concat","IconComponent","Icons","uppercamelcase","_jsxs","_objectSpread","className","toLowerCase","href","rel","target","children","_jsx","size","Typography","variant","Trans","i18nKey","values","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAAiE;AAAA,EAAA,IAAAC,qBAAA;AAAA,EAAA,IAA3DC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAeC,WAAW,GAAAH,IAAA,CAAxBI,WAAW;AAAkBC,IAAAA,UAAU,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA,CAAA;EACtE,IAAMC,IAAI,GAAGC,oBAAU,CAACP,WAAW,IAAIQ,wBAAW,CAACC,OAAO,IAAI,OAAO,CAAC;AACtE,EAAA,IAAMC,SAAS,GAAA,CAAAX,qBAAA,GAAGS,wBAAW,CAACG,YAAY,MAAA,IAAA,IAAAZ,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAxBA,qBAAA,CAA0BW,SAAS;EACrD,IAAME,SAAS,GAAA,qBAAA,CAAAC,MAAA,CACbH,SAAS,GAAA,gBAAA,CAAAG,MAAA,CAAoBH,SAAS,CAAA,GAAK,EAAE,CAC7C;EAEF,IAAMI,aAAa,GAAGb,WAAW,IAAIc,gBAAK,CAACC,sBAAc,CAACV,IAAI,CAAC,CAAC;AAEhE,EAAA,oBACEW,eAAA,CAAA,GAAA,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACEC,IAAAA,SAAS,EAAC,mQAAmQ;AAC7Q,IAAA,aAAA,EAAA,YAAA,CAAAN,MAAA,CAA0BP,IAAI,CAACc,WAAW,EAAE,CAAG;AAC/CC,IAAAA,IAAI,EAAA,wBAAA,CAAAR,MAAA,CAA2BP,IAAI,CAACc,WAAW,EAAE,EAAA,GAAA,CAAA,CAAAP,MAAA,CAAID,SAAS,CAAG;AACjEU,IAAAA,GAAG,EAAC,YAAY;AAChBC,IAAAA,MAAM,EAAC;AAAQ,GAAA,EACXpB,UAAU,CAAA,EAAA,EAAA,EAAA;IAAAqB,QAAA,EAAA,CAEbV,aAAa,iBACZW,cAAA,CAAA,MAAA,EAAA;AAAM,MAAA,aAAA,EAAA,YAAA,CAAAZ,MAAA,CAA0BP,IAAI,CAACc,WAAW,EAAE,EAAA,OAAA,CAAQ;MAAAI,QAAA,eACxDC,cAAA,CAACX,aAAa,EAAA;AAACY,QAAAA,IAAI,EAAE;OAAK;AAAC,KACvB,CACP,eACDD,cAAA,CAACE,qBAAU,EAAA;AAACR,MAAAA,SAAS,EAAC,cAAc;AAACS,MAAAA,OAAO,EAAC,OAAO;MAAAJ,QAAA,eAClDC,cAAA,CAACI,kBAAK,EAAA;AACJC,QAAAA,OAAO,EAAC,gCAAgC;AACxCC,QAAAA,MAAM,EAAE;AAAE/B,UAAAA,WAAW,EAAEM;AAAK;OAC7B;AAAC,KACQ,CAAC;AAAA,GAAA,CACZ,CAAC;AAER,CAAC;AAcD,YAAA,aAAe0B,UAAI,CAACnC,QAAQ,CAAC;;;;"}
@@ -0,0 +1,215 @@
1
+ 'use strict';
2
+
3
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
+ var React = require('react');
5
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
6
+ var classnames = require('classnames');
7
+ var useBreakpoints = require('@bigbinary/neeto-commons-frontend/v2/react-utils/useBreakpoints');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
10
+ var neetoCist = require('@bigbinary/neeto-cist');
11
+ var reactI18next = require('react-i18next');
12
+ var chevronUp = require('../chevron-up-CpzhFWzM.js');
13
+ var chevronDown = require('../chevron-down-DwiliwN1.js');
14
+ var panelLeftClose = require('../panel-left-close-CLoRPBWH.js');
15
+ require('../createLucideIcon-DBDhE7kE.js');
16
+
17
+ var Block = function Block(_ref) {
18
+ var title = _ref.title,
19
+ actionBlock = _ref.actionBlock,
20
+ children = _ref.children,
21
+ _ref$className = _ref.className,
22
+ className = _ref$className === void 0 ? "" : _ref$className;
23
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
24
+ className: "border-border mb-4 w-full border-b pb-4",
25
+ "data-testid": "neeto-molecules-metadata-block",
26
+ children: [(title || actionBlock) && /*#__PURE__*/jsxRuntime.jsxs("div", {
27
+ className: "mb-2 flex w-full items-center justify-between gap-2",
28
+ children: [title && /*#__PURE__*/jsxRuntime.jsx("div", {
29
+ className: "flex w-60 items-center gap-2 break-all",
30
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
31
+ className: "text-foreground uppercase",
32
+ "data-testid": "metadata-block-title",
33
+ variant: "h5",
34
+ weight: "bold",
35
+ children: title
36
+ })
37
+ }), actionBlock && /*#__PURE__*/jsxRuntime.jsx("div", {
38
+ className: "ms-auto",
39
+ children: actionBlock
40
+ })]
41
+ }), !!children && /*#__PURE__*/jsxRuntime.jsx("div", {
42
+ className: classnames("bg-background", className),
43
+ "data-testid": "metadata-card",
44
+ children: children
45
+ })]
46
+ });
47
+ };
48
+
49
+ var STYLES = {
50
+ inline: "inline",
51
+ multiline: "multiline"
52
+ };
53
+ var SIZES = {
54
+ small: "small",
55
+ medium: "medium"
56
+ };
57
+ var DEFAULT_TRUNCATE_AT = 3;
58
+ var SIZE_WIDTH_CLASSES = _defineProperty(_defineProperty({}, SIZES.medium, "w-[384px] min-w-[384px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]"), SIZES.small, "w-[340px] min-w-[340px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]");
59
+
60
+ var DetailsBlock = function DetailsBlock(_ref) {
61
+ var title = _ref.title,
62
+ actionBlock = _ref.actionBlock,
63
+ _ref$details = _ref.details,
64
+ details = _ref$details === void 0 ? [] : _ref$details,
65
+ className = _ref.className,
66
+ _ref$style = _ref.style,
67
+ style = _ref$style === void 0 ? STYLES.inline : _ref$style,
68
+ _ref$truncate = _ref.truncate,
69
+ truncate = _ref$truncate === void 0 ? false : _ref$truncate,
70
+ _ref$truncateAt = _ref.truncateAt,
71
+ truncateAt = _ref$truncateAt === void 0 ? DEFAULT_TRUNCATE_AT : _ref$truncateAt,
72
+ children = _ref.children;
73
+ var _useState = React.useState(false),
74
+ _useState2 = _slicedToArray(_useState, 2),
75
+ showTruncated = _useState2[0],
76
+ setShowTruncated = _useState2[1];
77
+ var _useTranslation = reactI18next.useTranslation(),
78
+ t = _useTranslation.t;
79
+ var _ref2 = truncate ? [details.slice(0, truncateAt), details.slice(truncateAt)] : [details],
80
+ _ref3 = _slicedToArray(_ref2, 2),
81
+ visibleDetails = _ref3[0],
82
+ truncatedDetails = _ref3[1];
83
+ var renderDetailsValue = function renderDetailsValue(value) {
84
+ if (typeof value === "string") {
85
+ return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
86
+ className: "[overflow-wrap:anywhere]",
87
+ variant: "body2",
88
+ children: value
89
+ });
90
+ }
91
+ return /*#__PURE__*/jsxRuntime.jsx("span", {
92
+ className: "min-w-0 flex-grow",
93
+ children: value
94
+ });
95
+ };
96
+ return /*#__PURE__*/jsxRuntime.jsx(Block, {
97
+ actionBlock: actionBlock,
98
+ className: className,
99
+ title: title !== null && title !== void 0 ? title : t("neetoMolecules.metadata.detailsTitle"),
100
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
101
+ className: "flex flex-col gap-y-3",
102
+ "data-testid": "neeto-molecules-metadata-details-block",
103
+ children: [visibleDetails.map(function (_ref4, index) {
104
+ var label = _ref4.label,
105
+ value = _ref4.value,
106
+ type = _ref4.type;
107
+ return /*#__PURE__*/jsxRuntime.jsx(React.Fragment, {
108
+ children: type === "divider" ? /*#__PURE__*/jsxRuntime.jsx("hr", {
109
+ className: "border-border"
110
+ }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
111
+ "data-testid": "details-card-detail-wrapper",
112
+ className: classnames("flex", {
113
+ "items-center gap-x-4": style === STYLES.inline,
114
+ "flex-col": style === STYLES.multiline
115
+ }),
116
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
117
+ className: "text-muted-foreground",
118
+ variant: "body2",
119
+ children: label
120
+ }), renderDetailsValue(value)]
121
+ })
122
+ }, index);
123
+ }), !truncate && children, showTruncated && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
124
+ children: [truncatedDetails.map(function (_ref5, index) {
125
+ var label = _ref5.label,
126
+ value = _ref5.value,
127
+ type = _ref5.type;
128
+ return /*#__PURE__*/jsxRuntime.jsx(React.Fragment, {
129
+ children: type === "divider" ? /*#__PURE__*/jsxRuntime.jsx("hr", {
130
+ className: "border-border"
131
+ }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
132
+ className: classnames("flex", {
133
+ "gap-x-4": style === STYLES.inline,
134
+ "flex-col": style === STYLES.multiline
135
+ }),
136
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
137
+ className: "text-muted-foreground",
138
+ variant: "body2",
139
+ children: label
140
+ }), renderDetailsValue(value)]
141
+ })
142
+ }, index);
143
+ }), children]
144
+ }), truncate && neetoCist.isNotEmpty(truncatedDetails) && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
145
+ "data-testid": "expand-button",
146
+ icon: showTruncated ? chevronUp.ChevronUp : chevronDown.ChevronDown,
147
+ iconPosition: "left",
148
+ variant: "link",
149
+ label: showTruncated ? t("neetoMolecules.metadata.card.viewLess") : t("neetoMolecules.metadata.card.viewMore"),
150
+ onClick: function onClick() {
151
+ return setShowTruncated(function (showTruncated) {
152
+ return !showTruncated;
153
+ });
154
+ }
155
+ })]
156
+ })
157
+ });
158
+ };
159
+
160
+ var Metadata = function Metadata(_ref) {
161
+ var _SIZE_WIDTH_CLASSES$s;
162
+ var headerBlock = _ref.headerBlock,
163
+ _ref$size = _ref.size,
164
+ size = _ref$size === void 0 ? SIZES.medium : _ref$size,
165
+ children = _ref.children,
166
+ _ref$className = _ref.className,
167
+ className = _ref$className === void 0 ? "" : _ref$className;
168
+ var _useBreakpoints = useBreakpoints(),
169
+ isSize = _useBreakpoints.isSize;
170
+ var isLargerScreen = isSize("desktop") || isSize("largeDesktop");
171
+ var _useState = React.useState(!isLargerScreen),
172
+ _useState2 = _slicedToArray(_useState, 2),
173
+ isElementsPanelCollapsed = _useState2[0],
174
+ setIsElementsPanelCollapsed = _useState2[1];
175
+ React.useEffect(function () {
176
+ setIsElementsPanelCollapsed(!isLargerScreen);
177
+ }, [isLargerScreen]);
178
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
179
+ children: [!isElementsPanelCollapsed && /*#__PURE__*/jsxRuntime.jsx("div", {
180
+ className: "absolute end-0 top-0 z-[51] hidden h-full w-full bg-black/40 min-[576px]:max-[1024px]:block",
181
+ onClick: function onClick() {
182
+ setIsElementsPanelCollapsed(!isElementsPanelCollapsed);
183
+ }
184
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
185
+ className: classnames("relative z-[51] h-full transition-all duration-150 motion-reduce:transition-none max-[1024px]:fixed max-[1024px]:end-0 max-[1024px]:top-0 max-[1024px]:transition-none", isElementsPanelCollapsed ? "w-0 max-w-0 min-w-0" : "w-[384px] min-w-[384px] max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0 min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]"),
186
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
187
+ className: "flex h-full w-full justify-end overflow-hidden",
188
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
189
+ "data-testid": "neeto-molecules-metadata-wrapper",
190
+ className: classnames("bg-background border-border h-dvh flex-shrink-0 overflow-x-hidden overflow-y-auto border-s p-6 max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-12", (_SIZE_WIDTH_CLASSES$s = SIZE_WIDTH_CLASSES[size]) !== null && _SIZE_WIDTH_CLASSES$s !== void 0 ? _SIZE_WIDTH_CLASSES$s : SIZE_WIDTH_CLASSES[SIZES.medium], className),
191
+ children: [headerBlock && /*#__PURE__*/jsxRuntime.jsx("div", {
192
+ className: "mb-5 flex w-full justify-center",
193
+ "data-testid": "neeto-molecules-metadata-header",
194
+ children: headerBlock
195
+ }), children]
196
+ })
197
+ }), !isLargerScreen && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
198
+ icon: panelLeftClose.PanelLeftClose,
199
+ size: "icon",
200
+ variant: "secondary",
201
+ className: classnames("absolute end-[calc(100%_+_8px)] top-2 shrink-0 max-[576px]:end-2", {
202
+ "-scale-x-100 max-[576px]:start-2 max-[576px]:end-auto": isElementsPanelCollapsed
203
+ }),
204
+ onClick: function onClick() {
205
+ setIsElementsPanelCollapsed(!isElementsPanelCollapsed);
206
+ }
207
+ })]
208
+ })]
209
+ });
210
+ };
211
+ Metadata.Block = Block;
212
+ Metadata.DetailsBlock = DetailsBlock;
213
+
214
+ module.exports = Metadata;
215
+ //# sourceMappingURL=Metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metadata.js","sources":["../../../src/v2/components/Metadata/Block.jsx","../../../src/v2/components/Metadata/constants.js","../../../src/v2/components/Metadata/DetailsBlock.jsx","../../../src/v2/components/Metadata/index.jsx"],"sourcesContent":["import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Block = ({ title, actionBlock, children, className = \"\" }) => (\n <div\n className=\"border-border mb-4 w-full border-b pb-4\"\n data-testid=\"neeto-molecules-metadata-block\"\n >\n {(title || actionBlock) && (\n <div className=\"mb-2 flex w-full items-center justify-between gap-2\">\n {title && (\n <div className=\"flex w-60 items-center gap-2 break-all\">\n <Typography\n className=\"text-foreground uppercase\"\n data-testid=\"metadata-block-title\"\n variant=\"h5\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n </div>\n )}\n {actionBlock && <div className=\"ms-auto\">{actionBlock}</div>}\n </div>\n )}\n {!!children && (\n <div\n className={classnames(\"bg-background\", className)}\n data-testid=\"metadata-card\"\n >\n {children}\n </div>\n )}\n </div>\n);\n\nBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Block` component.\n */\n className: PropTypes.string,\n};\n\nexport default Block;\n","export const STYLES = { inline: \"inline\", multiline: \"multiline\" };\n\nexport const SIZES = { small: \"small\", medium: \"medium\" };\n\nexport const DEFAULT_TRUNCATE_AT = 3;\n\nexport const SIZE_WIDTH_CLASSES = {\n [SIZES.medium]:\n \"w-[384px] min-w-[384px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\",\n [SIZES.small]:\n \"w-[340px] min-w-[340px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\",\n};\n","import { Fragment, useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { isNotEmpty } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_TRUNCATE_AT, STYLES } from \"./constants\";\n\nconst DetailsBlock = ({\n title,\n actionBlock,\n details = [],\n className,\n style = STYLES.inline,\n truncate = false,\n truncateAt = DEFAULT_TRUNCATE_AT,\n children,\n}) => {\n const [showTruncated, setShowTruncated] = useState(false);\n\n const { t } = useTranslation();\n\n const [visibleDetails, truncatedDetails] = truncate\n ? [details.slice(0, truncateAt), details.slice(truncateAt)]\n : [details];\n\n const renderDetailsValue = value => {\n if (typeof value === \"string\") {\n return (\n <Typography className=\"[overflow-wrap:anywhere]\" variant=\"body2\">\n {value}\n </Typography>\n );\n }\n\n return <span className=\"min-w-0 flex-grow\">{value}</span>;\n };\n\n return (\n <Block\n {...{ actionBlock, className }}\n title={title ?? t(\"neetoMolecules.metadata.detailsTitle\")}\n >\n <div\n className=\"flex flex-col gap-y-3\"\n data-testid=\"neeto-molecules-metadata-details-block\"\n >\n {visibleDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"border-border\" />\n ) : (\n <div\n data-testid=\"details-card-detail-wrapper\"\n className={classnames(\"flex\", {\n \"items-center gap-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography className=\"text-muted-foreground\" variant=\"body2\">\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {!truncate && children}\n {showTruncated && (\n <>\n {truncatedDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"border-border\" />\n ) : (\n <div\n className={classnames(\"flex\", {\n \"gap-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography\n className=\"text-muted-foreground\"\n variant=\"body2\"\n >\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {children}\n </>\n )}\n {truncate && isNotEmpty(truncatedDetails) && (\n <Button\n data-testid=\"expand-button\"\n icon={showTruncated ? ChevronUp : ChevronDown}\n iconPosition=\"left\"\n variant=\"link\"\n label={\n showTruncated\n ? t(\"neetoMolecules.metadata.card.viewLess\")\n : t(\"neetoMolecules.metadata.card.viewMore\")\n }\n onClick={() => setShowTruncated(showTruncated => !showTruncated)}\n />\n )}\n </div>\n </Block>\n );\n};\n\nDetailsBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The details to be rendered inside the block.\n */\n details: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.node,\n type: PropTypes.string,\n })\n ),\n /**\n * To specify whether the label and value should be rendered in a single line or in two lines.\n */\n style: PropTypes.oneOf([\"inline\", \"multiline\"]),\n /**\n * To specify whether the visible details should be truncated at a specific point.\n */\n truncate: PropTypes.bool,\n /**\n * To specify the position at which the details should be truncated and `View more` button should be shown.\n */\n truncateAt: PropTypes.number,\n /**\n * To specify external classNames as overrides to the `DetailsBlock` component.\n */\n className: PropTypes.string,\n /**\n * The additional content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n};\n\nexport default DetailsBlock;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { PanelLeftClose } from \"lucide-react\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\n\nimport Block from \"./Block\";\nimport { SIZES, SIZE_WIDTH_CLASSES } from \"./constants\";\nimport DetailsBlock from \"./DetailsBlock\";\n\nconst Metadata = ({\n headerBlock,\n size = SIZES.medium,\n children,\n className = \"\",\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = isSize(\"desktop\") || isSize(\"largeDesktop\");\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"absolute end-0 top-0 z-[51] hidden h-full w-full bg-black/40 min-[576px]:max-[1024px]:block\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n \"relative z-[51] h-full transition-all duration-150 motion-reduce:transition-none max-[1024px]:fixed max-[1024px]:end-0 max-[1024px]:top-0 max-[1024px]:transition-none\",\n isElementsPanelCollapsed\n ? \"w-0 max-w-0 min-w-0\"\n : \"w-[384px] min-w-[384px] max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0 min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\"\n )}\n >\n <div className=\"flex h-full w-full justify-end overflow-hidden\">\n <div\n data-testid=\"neeto-molecules-metadata-wrapper\"\n className={classnames(\n \"bg-background border-border h-dvh flex-shrink-0 overflow-x-hidden overflow-y-auto border-s p-6 max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-12\",\n SIZE_WIDTH_CLASSES[size] ?? SIZE_WIDTH_CLASSES[SIZES.medium],\n className\n )}\n >\n {headerBlock && (\n <div\n className=\"mb-5 flex w-full justify-center\"\n data-testid=\"neeto-molecules-metadata-header\"\n >\n {headerBlock}\n </div>\n )}\n {children}\n </div>\n </div>\n {!isLargerScreen && (\n <Button\n icon={PanelLeftClose}\n size=\"icon\"\n variant=\"secondary\"\n className={classnames(\n \"absolute end-[calc(100%_+_8px)] top-2 shrink-0 max-[576px]:end-2\",\n {\n \"-scale-x-100 max-[576px]:start-2 max-[576px]:end-auto\":\n isElementsPanelCollapsed,\n }\n )}\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n </div>\n </>\n );\n};\n\nMetadata.Block = Block;\nMetadata.DetailsBlock = DetailsBlock;\n\nMetadata.propTypes = {\n /**\n * To specify the content to be rendered as the title of the `Metadata` wrapper.\n */\n headerBlock: PropTypes.node,\n /**\n * The content to be rendered inside the `Metadata` wrapper.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Metadata` component.\n */\n className: PropTypes.string,\n /**\n * To set the size of the `Metadata` wrapper.\n */\n size: PropTypes.oneOf([\"small\", \"medium\"]),\n};\n\nexport default Metadata;\n"],"names":["Block","_ref","title","actionBlock","children","_ref$className","className","_jsxs","_jsx","Typography","variant","weight","classnames","STYLES","inline","multiline","SIZES","small","medium","DEFAULT_TRUNCATE_AT","SIZE_WIDTH_CLASSES","_defineProperty","DetailsBlock","_ref$details","details","_ref$style","style","_ref$truncate","truncate","_ref$truncateAt","truncateAt","_useState","useState","_useState2","_slicedToArray","showTruncated","setShowTruncated","_useTranslation","useTranslation","t","_ref2","slice","_ref3","visibleDetails","truncatedDetails","renderDetailsValue","value","map","_ref4","index","label","type","Fragment","_Fragment","_ref5","isNotEmpty","Button","icon","ChevronUp","ChevronDown","iconPosition","onClick","Metadata","_SIZE_WIDTH_CLASSES$s","headerBlock","_ref$size","size","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","isElementsPanelCollapsed","setIsElementsPanelCollapsed","useEffect","PanelLeftClose"],"mappings":"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"}
@@ -31,6 +31,7 @@ require('../ellipsis-BcfLTtl5.js');
31
31
  require('@bigbinary/neeto-commons-frontend/v2/utils');
32
32
  require('@bigbinary/neeto-team-members-frontend/Profile');
33
33
  require('@bigbinary/neeto-commons-frontend/v2/initializers');
34
+ require('../trash-2-CotPjU5n.js');
34
35
 
35
36
  /**
36
37
  * @license lucide-react v1.7.0 - ISC
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationHeader.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/house.js","../../../src/v2/components/NavigationHeader/constants.jsx","../../../src/v2/components/NavigationHeader/LeftBlock.jsx","../../../src/v2/components/NavigationHeader/OverflowLinks.jsx","../../../src/v2/components/NavigationHeader/utils.js","../../../src/v2/components/NavigationHeader/Navigation.jsx","../../../src/v2/components/NavigationHeader/RightBlock.jsx","../../../src/v2/components/NavigationHeader/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\", key: \"5wwlr5\" }],\n [\n \"path\",\n {\n d: \"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\",\n key: \"r6nss1\"\n }\n ]\n];\nconst House = createLucideIcon(\"house\", __iconNode);\n\nexport { __iconNode, House as default };\n//# sourceMappingURL=house.js.map\n","import { t } from \"i18next\";\nimport { Home } from \"lucide-react\";\n\nexport const DEFAULT_HOME_BUTTON_PROPS = {\n tooltip: {\n content: t(\"neetoMolecules.navigationHeader.home\"),\n position: \"bottom\",\n },\n homeUrl: \"/\",\n icon: <Home className=\"size-5\" />,\n};\n","import { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { mergeDeepRight } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport { DEFAULT_HOME_BUTTON_PROPS } from \"./constants\";\n\nimport Rename from \"../Rename\";\n\nconst LeftBlock = ({\n homeButtonProps: customHomeButtonProps,\n homeUrl,\n renameProps,\n children,\n}) => {\n const homeButtonProps = mergeDeepRight(\n DEFAULT_HOME_BUTTON_PROPS,\n customHomeButtonProps\n );\n\n return (\n <div\n className=\"flex items-center gap-0.5 md:gap-1\"\n data-testid=\"navigation-header-left-block\"\n >\n <Tooltip\n content={homeButtonProps.tooltip.content}\n position={homeButtonProps.tooltip.position}\n >\n <Link data-testid=\"home-button\" to={homeUrl}>\n <div className=\"hover:bg-muted rounded p-1\">\n {homeButtonProps.icon}\n </div>\n </Link>\n </Tooltip>\n {isPresent(renameProps) && (\n <Rename\n dropdownItems={renameProps.dropdownItems}\n value={renameProps.value}\n {...renameProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nLeftBlock.propTypes = {\n homeButtonProps: PropTypes.shape({\n tooltip: PropTypes.shape({\n content: PropTypes.string,\n position: PropTypes.string,\n }),\n icon: PropTypes.node,\n }),\n homeUrl: PropTypes.string.isRequired,\n renameProps: PropTypes.object,\n children: PropTypes.node,\n};\n\nexport default LeftBlock;\n","import {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classNames from \"classnames\";\nimport { existsBy, isNotEmpty } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useLocation } from \"react-router-dom\";\n\nconst OverflowLinks = ({ overflowLinks }) => {\n const { pathname } = useLocation();\n const { t } = useTranslation();\n\n const isMoreButtonActive = existsBy({ to: pathname }, overflowLinks);\n\n if (!isNotEmpty(overflowLinks)) {\n return null;\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger\n className={classNames(\n \"nm-navigation-header__link nm-navigation-header__link--more text-foreground/60 hover:text-foreground inline-flex h-[calc(100%-1px)] items-center justify-center gap-1.5 rounded-md border border-transparent bg-transparent px-3 py-1.5 text-[15px] font-medium capitalize transition-all\",\n {\n \"bg-background text-foreground shadow-sm\": isMoreButtonActive,\n }\n )}\n >\n {t(\"neetoMolecules.navigationHeader.more\")}\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n {overflowLinks.map(({ key, to, label, disabled, ...rest }) => {\n const isActive = to === pathname;\n\n return (\n <DropdownMenuItem\n {...{ disabled }}\n asChild\n data-active={isActive || undefined}\n data-testid={`${joinHyphenCase(key)}-more-tab`}\n key={key}\n className={classNames({\n \"bg-accent text-accent-foreground\": isActive,\n })}\n >\n <Link\n {...{ to }}\n className=\"block w-full\"\n onClick={e => disabled && e.preventDefault()}\n {...rest}\n >\n {label}\n </Link>\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nOverflowLinks.propTypes = {\n overflowLinks: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n to: PropTypes.string,\n label: PropTypes.string,\n disabled: PropTypes.bool,\n })\n ),\n};\n\nexport default OverflowLinks;\n","export const isAbsoluteUrl = url => /^https?:\\/\\//.test(url);\n\nexport const getActiveLinkValue = (links, pathname) => {\n const matches = links.filter(\n ({ to }) => pathname === to || pathname.startsWith(`${to}/`)\n );\n\n if (matches.length === 0) return undefined;\n\n return matches.reduce((longest, link) =>\n link.to.length > longest.to.length ? link : longest\n ).to;\n};\n","import { Tabs, TabsList, TabsTrigger } from \"@bigbinary/neeto-atoms/primitives\";\nimport classNames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { Link, useLocation } from \"react-router-dom\";\n\nimport OverflowLinks from \"./OverflowLinks\";\nimport { getActiveLinkValue } from \"./utils\";\n\nimport MoreDropdown from \"../MoreDropdown\";\n\nconst NavigationLinks = ({ headerLinks, maxVisibleLinks = 5 }) => {\n const { pathname } = useLocation();\n const visibleLinks = headerLinks.slice(0, maxVisibleLinks);\n const overflowLinks = headerLinks.slice(maxVisibleLinks);\n const activeValue = getActiveLinkValue(visibleLinks, pathname);\n\n return (\n <div\n className=\"flex w-full items-center justify-between gap-2 md:justify-center md:gap-3\"\n data-testid=\"navigation-header-navigation-links\"\n >\n <Tabs value={activeValue ?? \"\"}>\n <TabsList className=\"group-data-horizontal/tabs:h-10\">\n {visibleLinks.map(\n ({\n className = \"\",\n key,\n to,\n label,\n disabled,\n labelProps,\n moreOptions,\n ...rest\n }) => (\n <TabsTrigger\n {...{ disabled }}\n asChild\n data-testid={`${joinHyphenCase(key)}-tab`}\n key={key}\n value={to}\n className={classNames(\n \"nm-navigation-header__link px-3 py-1.5 text-[15px] capitalize no-underline\",\n className,\n {\n \"disabled pointer-events-none cursor-not-allowed opacity-50\":\n disabled,\n }\n )}\n >\n <Link\n {...{ to }}\n onClick={e => disabled && e.preventDefault()}\n {...rest}\n >\n <span {...(labelProps || {})}>{label}</span>\n {moreOptions && <MoreDropdown {...moreOptions} />}\n </Link>\n </TabsTrigger>\n )\n )}\n <OverflowLinks {...{ overflowLinks }} />\n </TabsList>\n </Tabs>\n </div>\n );\n};\n\nNavigationLinks.propTypes = {\n headerLinks: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n to: PropTypes.string,\n label: PropTypes.string,\n className: PropTypes.string,\n labelProps: PropTypes.object,\n moreOptions: PropTypes.object,\n })\n ),\n maxVisibleLinks: PropTypes.number,\n};\n\nexport default NavigationLinks;\n","import classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isAbsoluteUrl } from \"./utils\";\n\nimport PublishBlock from \"../PublishBlock\";\n\nconst RightBlock = ({\n isDraftBlockHidden,\n previewDraftUrl,\n isResetDraftButtonVisible,\n onResetClick,\n isResetting,\n isPublishDisabled,\n isPublishing,\n handlePublish,\n isPublishPreviewDisabled,\n previewPublishedUrl,\n isPublishButtonVisible,\n isResetAlertOpen,\n setIsResetAlertOpen,\n handleReset,\n publishAlertTitle,\n publishAlertDescription,\n publishButtonProps = {},\n}) => {\n const { t } = useTranslation();\n\n const renderDraftButtons = ({ ViewDraftButton, ResetDraftButton }) =>\n !isDraftBlockHidden && (\n <>\n <ViewDraftButton\n {...(isAbsoluteUrl(previewDraftUrl)\n ? { href: previewDraftUrl }\n : { to: previewDraftUrl })}\n />\n {isResetDraftButtonVisible && (\n <ResetDraftButton\n loading={isResetting}\n onClick={() => onResetClick()}\n />\n )}\n </>\n );\n\n const renderPublishButtons = ({ PublishButton, PublishPreviewButton }) => (\n <>\n {isPublishButtonVisible && (\n <PublishButton\n disabled={isPublishDisabled}\n loading={isPublishing}\n onClick={() => handlePublish()}\n {...publishButtonProps}\n />\n )}\n <PublishPreviewButton\n {...(isAbsoluteUrl(previewPublishedUrl)\n ? { href: previewPublishedUrl }\n : { to: previewPublishedUrl })}\n disabled={isPublishPreviewDisabled}\n className={classNames({\n \"nm-publish-preview-button--standalone\": !isPublishButtonVisible,\n })}\n />\n </>\n );\n\n return (\n <>\n <PublishBlock {...{ renderDraftButtons, renderPublishButtons }} />\n <PublishBlock.Alert\n isOpen={isResetAlertOpen}\n isSubmitting={isResetting}\n message={\n publishAlertDescription ||\n t(\"neetoMolecules.navigationHeader.resetDescription\")\n }\n title={\n publishAlertTitle || t(\"neetoMolecules.navigationHeader.resetTitle\")\n }\n onClose={() => setIsResetAlertOpen(false)}\n onSubmit={handleReset}\n />\n </>\n );\n};\n\nRightBlock.propTypes = {\n isDraftBlockHidden: PropTypes.bool,\n previewDraftUrl: PropTypes.string,\n isResetDraftButtonVisible: PropTypes.bool,\n onResetClick: PropTypes.func,\n isResetting: PropTypes.bool,\n isPublishDisabled: PropTypes.bool,\n isPublishing: PropTypes.bool,\n handlePublish: PropTypes.func,\n isPublishPreviewDisabled: PropTypes.bool,\n previewPublishedUrl: PropTypes.string,\n isPublishButtonVisible: PropTypes.bool,\n isResetAlertOpen: PropTypes.bool,\n setIsResetAlertOpen: PropTypes.func,\n handleReset: PropTypes.func,\n publishAlertDescription: PropTypes.string,\n publishAlertTitle: PropTypes.string,\n publishButtonProps: PropTypes.object,\n};\n\nexport default RightBlock;\n","import { isPresent } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport { filter, length } from \"ramda\";\n\nimport LeftBlock from \"./LeftBlock\";\nimport NavigationLinks from \"./Navigation\";\nimport RightBlock from \"./RightBlock\";\n\nconst NavigationHeader = ({\n leftActionBlock,\n navigationLinks,\n rightActionBlock,\n}) => {\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n const numberOfChildren = length(\n filter(isPresent, [leftActionBlock, navigationLinks, rightActionBlock])\n );\n\n const gridStyle = {\n gridTemplateColumns: isMobile\n ? `repeat(${\n navigationLinks ? numberOfChildren - 1 : numberOfChildren\n }, auto)`\n : `repeat(${numberOfChildren}, 1fr)`,\n };\n\n return (\n <div className=\"w-full\">\n <div\n className=\"nm-navigation-header border-border bg-card flex h-16 w-full flex-shrink-0 items-center overflow-x-auto border-b px-2 py-2 md:px-4 lg:px-6\"\n data-testid=\"navigation-header\"\n >\n <div className=\"grid w-full gap-4\" style={gridStyle}>\n {leftActionBlock}\n {!isMobile && navigationLinks}\n {rightActionBlock}\n </div>\n </div>\n {isMobile && (\n <div className=\"nm-navigation-header border-border bg-card flex flex-shrink-0 items-center overflow-x-auto border-b px-4 py-2 lg:px-6\">\n {navigationLinks}\n </div>\n )}\n </div>\n );\n};\n\nNavigationHeader.LeftActionBlock = LeftBlock;\nNavigationHeader.NavigationLinks = NavigationLinks;\nNavigationHeader.RightActionBlock = RightBlock;\n\nNavigationHeader.propTypes = {\n leftActionBlock: PropTypes.node,\n navigationLinks: PropTypes.node,\n rightActionBlock: PropTypes.node,\n};\n\nexport default NavigationHeader;\n"],"names":["createLucideIcon","DEFAULT_HOME_BUTTON_PROPS","tooltip","content","t","position","homeUrl","icon","_jsx","Home","className","LeftBlock","_ref","customHomeButtonProps","homeButtonProps","renameProps","children","mergeDeepRight","_jsxs","Tooltip","Link","to","isPresent","Rename","_objectSpread","dropdownItems","value","OverflowLinks","overflowLinks","_useLocation","useLocation","pathname","_useTranslation","useTranslation","isMoreButtonActive","existsBy","isNotEmpty","DropdownMenu","DropdownMenuTrigger","classNames","DropdownMenuContent","align","map","_ref2","key","label","disabled","rest","_objectWithoutProperties","_excluded","isActive","_createElement","DropdownMenuItem","asChild","undefined","concat","joinHyphenCase","onClick","e","preventDefault","isAbsoluteUrl","url","test","getActiveLinkValue","links","matches","filter","startsWith","length","reduce","longest","link","NavigationLinks","headerLinks","_ref$maxVisibleLinks","maxVisibleLinks","visibleLinks","slice","activeValue","Tabs","TabsList","_ref2$className","labelProps","moreOptions","TabsTrigger","MoreDropdown","RightBlock","isDraftBlockHidden","previewDraftUrl","isResetDraftButtonVisible","onResetClick","isResetting","isPublishDisabled","isPublishing","handlePublish","isPublishPreviewDisabled","previewPublishedUrl","isPublishButtonVisible","isResetAlertOpen","setIsResetAlertOpen","handleReset","publishAlertTitle","publishAlertDescription","_ref$publishButtonPro","publishButtonProps","renderDraftButtons","ViewDraftButton","ResetDraftButton","_Fragment","href","loading","renderPublishButtons","_ref3","PublishButton","PublishPreviewButton","PublishBlock","Alert","isOpen","isSubmitting","message","title","onClose","onSubmit","NavigationHeader","leftActionBlock","navigationLinks","rightActionBlock","_useBreakpoints","useBreakpoints","isSize","isMobile","numberOfChildren","gridStyle","gridTemplateColumns","style","LeftActionBlock","RightActionBlock"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"NavigationHeader.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/house.js","../../../src/v2/components/NavigationHeader/constants.jsx","../../../src/v2/components/NavigationHeader/LeftBlock.jsx","../../../src/v2/components/NavigationHeader/OverflowLinks.jsx","../../../src/v2/components/NavigationHeader/utils.js","../../../src/v2/components/NavigationHeader/Navigation.jsx","../../../src/v2/components/NavigationHeader/RightBlock.jsx","../../../src/v2/components/NavigationHeader/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\", key: \"5wwlr5\" }],\n [\n \"path\",\n {\n d: \"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\",\n key: \"r6nss1\"\n }\n ]\n];\nconst House = createLucideIcon(\"house\", __iconNode);\n\nexport { __iconNode, House as default };\n//# sourceMappingURL=house.js.map\n","import { t } from \"i18next\";\nimport { Home } from \"lucide-react\";\n\nexport const DEFAULT_HOME_BUTTON_PROPS = {\n tooltip: {\n content: t(\"neetoMolecules.navigationHeader.home\"),\n position: \"bottom\",\n },\n homeUrl: \"/\",\n icon: <Home className=\"size-5\" />,\n};\n","import { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { mergeDeepRight } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport { DEFAULT_HOME_BUTTON_PROPS } from \"./constants\";\n\nimport Rename from \"../Rename\";\n\nconst LeftBlock = ({\n homeButtonProps: customHomeButtonProps,\n homeUrl,\n renameProps,\n children,\n}) => {\n const homeButtonProps = mergeDeepRight(\n DEFAULT_HOME_BUTTON_PROPS,\n customHomeButtonProps\n );\n\n return (\n <div\n className=\"flex items-center gap-0.5 md:gap-1\"\n data-testid=\"navigation-header-left-block\"\n >\n <Tooltip\n content={homeButtonProps.tooltip.content}\n position={homeButtonProps.tooltip.position}\n >\n <Link data-testid=\"home-button\" to={homeUrl}>\n <div className=\"hover:bg-muted rounded p-1\">\n {homeButtonProps.icon}\n </div>\n </Link>\n </Tooltip>\n {isPresent(renameProps) && (\n <Rename\n dropdownItems={renameProps.dropdownItems}\n value={renameProps.value}\n {...renameProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nLeftBlock.propTypes = {\n homeButtonProps: PropTypes.shape({\n tooltip: PropTypes.shape({\n content: PropTypes.string,\n position: PropTypes.string,\n }),\n icon: PropTypes.node,\n }),\n homeUrl: PropTypes.string.isRequired,\n renameProps: PropTypes.object,\n children: PropTypes.node,\n};\n\nexport default LeftBlock;\n","import {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classNames from \"classnames\";\nimport { existsBy, isNotEmpty } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useLocation } from \"react-router-dom\";\n\nconst OverflowLinks = ({ overflowLinks }) => {\n const { pathname } = useLocation();\n const { t } = useTranslation();\n\n const isMoreButtonActive = existsBy({ to: pathname }, overflowLinks);\n\n if (!isNotEmpty(overflowLinks)) {\n return null;\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger\n className={classNames(\n \"nm-navigation-header__link nm-navigation-header__link--more text-foreground/60 hover:text-foreground inline-flex h-[calc(100%-1px)] items-center justify-center gap-1.5 rounded-md border border-transparent bg-transparent px-3 py-1.5 text-[15px] font-medium capitalize transition-all\",\n {\n \"bg-background text-foreground shadow-sm\": isMoreButtonActive,\n }\n )}\n >\n {t(\"neetoMolecules.navigationHeader.more\")}\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n {overflowLinks.map(({ key, to, label, disabled, ...rest }) => {\n const isActive = to === pathname;\n\n return (\n <DropdownMenuItem\n {...{ disabled }}\n asChild\n data-active={isActive || undefined}\n data-testid={`${joinHyphenCase(key)}-more-tab`}\n key={key}\n className={classNames({\n \"bg-accent text-accent-foreground\": isActive,\n })}\n >\n <Link\n {...{ to }}\n className=\"block w-full\"\n onClick={e => disabled && e.preventDefault()}\n {...rest}\n >\n {label}\n </Link>\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nOverflowLinks.propTypes = {\n overflowLinks: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n to: PropTypes.string,\n label: PropTypes.string,\n disabled: PropTypes.bool,\n })\n ),\n};\n\nexport default OverflowLinks;\n","export const isAbsoluteUrl = url => /^https?:\\/\\//.test(url);\n\nexport const getActiveLinkValue = (links, pathname) => {\n const matches = links.filter(\n ({ to }) => pathname === to || pathname.startsWith(`${to}/`)\n );\n\n if (matches.length === 0) return undefined;\n\n return matches.reduce((longest, link) =>\n link.to.length > longest.to.length ? link : longest\n ).to;\n};\n","import { Tabs, TabsList, TabsTrigger } from \"@bigbinary/neeto-atoms/primitives\";\nimport classNames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { Link, useLocation } from \"react-router-dom\";\n\nimport OverflowLinks from \"./OverflowLinks\";\nimport { getActiveLinkValue } from \"./utils\";\n\nimport MoreDropdown from \"../MoreDropdown\";\n\nconst NavigationLinks = ({ headerLinks, maxVisibleLinks = 5 }) => {\n const { pathname } = useLocation();\n const visibleLinks = headerLinks.slice(0, maxVisibleLinks);\n const overflowLinks = headerLinks.slice(maxVisibleLinks);\n const activeValue = getActiveLinkValue(visibleLinks, pathname);\n\n return (\n <div\n className=\"flex w-full items-center justify-between gap-2 md:justify-center md:gap-3\"\n data-testid=\"navigation-header-navigation-links\"\n >\n <Tabs value={activeValue ?? \"\"}>\n <TabsList className=\"group-data-horizontal/tabs:h-10\">\n {visibleLinks.map(\n ({\n className = \"\",\n key,\n to,\n label,\n disabled,\n labelProps,\n moreOptions,\n ...rest\n }) => (\n <TabsTrigger\n {...{ disabled }}\n asChild\n data-testid={`${joinHyphenCase(key)}-tab`}\n key={key}\n value={to}\n className={classNames(\n \"nm-navigation-header__link px-3 py-1.5 text-[15px] capitalize no-underline\",\n className,\n {\n \"disabled pointer-events-none cursor-not-allowed opacity-50\":\n disabled,\n }\n )}\n >\n <Link\n {...{ to }}\n onClick={e => disabled && e.preventDefault()}\n {...rest}\n >\n <span {...(labelProps || {})}>{label}</span>\n {moreOptions && <MoreDropdown {...moreOptions} />}\n </Link>\n </TabsTrigger>\n )\n )}\n <OverflowLinks {...{ overflowLinks }} />\n </TabsList>\n </Tabs>\n </div>\n );\n};\n\nNavigationLinks.propTypes = {\n headerLinks: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n to: PropTypes.string,\n label: PropTypes.string,\n className: PropTypes.string,\n labelProps: PropTypes.object,\n moreOptions: PropTypes.object,\n })\n ),\n maxVisibleLinks: PropTypes.number,\n};\n\nexport default NavigationLinks;\n","import classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isAbsoluteUrl } from \"./utils\";\n\nimport PublishBlock from \"../PublishBlock\";\n\nconst RightBlock = ({\n isDraftBlockHidden,\n previewDraftUrl,\n isResetDraftButtonVisible,\n onResetClick,\n isResetting,\n isPublishDisabled,\n isPublishing,\n handlePublish,\n isPublishPreviewDisabled,\n previewPublishedUrl,\n isPublishButtonVisible,\n isResetAlertOpen,\n setIsResetAlertOpen,\n handleReset,\n publishAlertTitle,\n publishAlertDescription,\n publishButtonProps = {},\n}) => {\n const { t } = useTranslation();\n\n const renderDraftButtons = ({ ViewDraftButton, ResetDraftButton }) =>\n !isDraftBlockHidden && (\n <>\n <ViewDraftButton\n {...(isAbsoluteUrl(previewDraftUrl)\n ? { href: previewDraftUrl }\n : { to: previewDraftUrl })}\n />\n {isResetDraftButtonVisible && (\n <ResetDraftButton\n loading={isResetting}\n onClick={() => onResetClick()}\n />\n )}\n </>\n );\n\n const renderPublishButtons = ({ PublishButton, PublishPreviewButton }) => (\n <>\n {isPublishButtonVisible && (\n <PublishButton\n disabled={isPublishDisabled}\n loading={isPublishing}\n onClick={() => handlePublish()}\n {...publishButtonProps}\n />\n )}\n <PublishPreviewButton\n {...(isAbsoluteUrl(previewPublishedUrl)\n ? { href: previewPublishedUrl }\n : { to: previewPublishedUrl })}\n disabled={isPublishPreviewDisabled}\n className={classNames({\n \"nm-publish-preview-button--standalone\": !isPublishButtonVisible,\n })}\n />\n </>\n );\n\n return (\n <>\n <PublishBlock {...{ renderDraftButtons, renderPublishButtons }} />\n <PublishBlock.Alert\n isOpen={isResetAlertOpen}\n isSubmitting={isResetting}\n message={\n publishAlertDescription ||\n t(\"neetoMolecules.navigationHeader.resetDescription\")\n }\n title={\n publishAlertTitle || t(\"neetoMolecules.navigationHeader.resetTitle\")\n }\n onClose={() => setIsResetAlertOpen(false)}\n onSubmit={handleReset}\n />\n </>\n );\n};\n\nRightBlock.propTypes = {\n isDraftBlockHidden: PropTypes.bool,\n previewDraftUrl: PropTypes.string,\n isResetDraftButtonVisible: PropTypes.bool,\n onResetClick: PropTypes.func,\n isResetting: PropTypes.bool,\n isPublishDisabled: PropTypes.bool,\n isPublishing: PropTypes.bool,\n handlePublish: PropTypes.func,\n isPublishPreviewDisabled: PropTypes.bool,\n previewPublishedUrl: PropTypes.string,\n isPublishButtonVisible: PropTypes.bool,\n isResetAlertOpen: PropTypes.bool,\n setIsResetAlertOpen: PropTypes.func,\n handleReset: PropTypes.func,\n publishAlertDescription: PropTypes.string,\n publishAlertTitle: PropTypes.string,\n publishButtonProps: PropTypes.object,\n};\n\nexport default RightBlock;\n","import { isPresent } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport { filter, length } from \"ramda\";\n\nimport LeftBlock from \"./LeftBlock\";\nimport NavigationLinks from \"./Navigation\";\nimport RightBlock from \"./RightBlock\";\n\nconst NavigationHeader = ({\n leftActionBlock,\n navigationLinks,\n rightActionBlock,\n}) => {\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n const numberOfChildren = length(\n filter(isPresent, [leftActionBlock, navigationLinks, rightActionBlock])\n );\n\n const gridStyle = {\n gridTemplateColumns: isMobile\n ? `repeat(${\n navigationLinks ? numberOfChildren - 1 : numberOfChildren\n }, auto)`\n : `repeat(${numberOfChildren}, 1fr)`,\n };\n\n return (\n <div className=\"w-full\">\n <div\n className=\"nm-navigation-header border-border bg-card flex h-16 w-full flex-shrink-0 items-center overflow-x-auto border-b px-2 py-2 md:px-4 lg:px-6\"\n data-testid=\"navigation-header\"\n >\n <div className=\"grid w-full gap-4\" style={gridStyle}>\n {leftActionBlock}\n {!isMobile && navigationLinks}\n {rightActionBlock}\n </div>\n </div>\n {isMobile && (\n <div className=\"nm-navigation-header border-border bg-card flex flex-shrink-0 items-center overflow-x-auto border-b px-4 py-2 lg:px-6\">\n {navigationLinks}\n </div>\n )}\n </div>\n );\n};\n\nNavigationHeader.LeftActionBlock = LeftBlock;\nNavigationHeader.NavigationLinks = NavigationLinks;\nNavigationHeader.RightActionBlock = RightBlock;\n\nNavigationHeader.propTypes = {\n leftActionBlock: PropTypes.node,\n navigationLinks: PropTypes.node,\n rightActionBlock: PropTypes.node,\n};\n\nexport default NavigationHeader;\n"],"names":["createLucideIcon","DEFAULT_HOME_BUTTON_PROPS","tooltip","content","t","position","homeUrl","icon","_jsx","Home","className","LeftBlock","_ref","customHomeButtonProps","homeButtonProps","renameProps","children","mergeDeepRight","_jsxs","Tooltip","Link","to","isPresent","Rename","_objectSpread","dropdownItems","value","OverflowLinks","overflowLinks","_useLocation","useLocation","pathname","_useTranslation","useTranslation","isMoreButtonActive","existsBy","isNotEmpty","DropdownMenu","DropdownMenuTrigger","classNames","DropdownMenuContent","align","map","_ref2","key","label","disabled","rest","_objectWithoutProperties","_excluded","isActive","_createElement","DropdownMenuItem","asChild","undefined","concat","joinHyphenCase","onClick","e","preventDefault","isAbsoluteUrl","url","test","getActiveLinkValue","links","matches","filter","startsWith","length","reduce","longest","link","NavigationLinks","headerLinks","_ref$maxVisibleLinks","maxVisibleLinks","visibleLinks","slice","activeValue","Tabs","TabsList","_ref2$className","labelProps","moreOptions","TabsTrigger","MoreDropdown","RightBlock","isDraftBlockHidden","previewDraftUrl","isResetDraftButtonVisible","onResetClick","isResetting","isPublishDisabled","isPublishing","handlePublish","isPublishPreviewDisabled","previewPublishedUrl","isPublishButtonVisible","isResetAlertOpen","setIsResetAlertOpen","handleReset","publishAlertTitle","publishAlertDescription","_ref$publishButtonPro","publishButtonProps","renderDraftButtons","ViewDraftButton","ResetDraftButton","_Fragment","href","loading","renderPublishButtons","_ref3","PublishButton","PublishPreviewButton","PublishBlock","Alert","isOpen","isSubmitting","message","title","onClose","onSubmit","NavigationHeader","leftActionBlock","navigationLinks","rightActionBlock","_useBreakpoints","useBreakpoints","isSize","isMobile","numberOfChildren","gridStyle","gridTemplateColumns","style","LeftActionBlock","RightActionBlock"],"mappings":"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","x_google_ignoreList":[0]}