@bigbinary/neeto-webhooks-frontend 3.0.13 → 3.0.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"NeetoWebhooks.js","sources":["../../app/javascript/src/v2/components/Common/withReactQuery.jsx","../../app/javascript/src/v2/components/Deliveries/Details/constants.js","../../app/javascript/src/v2/components/Deliveries/Details/Snippet.jsx","../../app/javascript/src/v2/components/Deliveries/Details/TransactionDetails.jsx","../../app/javascript/src/v2/components/Deliveries/Details/index.jsx","../../app/javascript/src/v2/components/Deliveries/utils.jsx","../../app/javascript/src/v2/components/Deliveries/index.jsx","../../app/javascript/src/v2/components/Webhooks/constants.js","../../app/javascript/src/v2/components/Webhooks/EventCheckbox.jsx","../../app/javascript/src/v2/components/Webhooks/ToggleActiveSwitch.jsx","../../app/javascript/src/v2/components/Webhooks/utils.jsx","../../app/javascript/src/v2/components/Webhooks/AddWebhookPane.jsx","../../app/javascript/src/v2/components/Webhooks/Header.jsx","../../app/javascript/src/v2/components/Webhooks/index.jsx","../../app/javascript/src/v2/components/NeetoWebhooks.jsx"],"sourcesContent":["/* eslint-disable sonarjs/prefer-immediate-return */\n\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport { ReactQueryDevtools } from \"@tanstack/react-query-devtools\";\n\nimport queryClient from \"utils/queryClient\";\n\nconst withReactQuery = Component => {\n const QueryWrapper = props => (\n <QueryClientProvider client={queryClient}>\n <Component {...props} />\n <ReactQueryDevtools initialIsOpen={false} position=\"bottom\" />\n </QueryClientProvider>\n );\n\n return QueryWrapper;\n};\n\nexport default withReactQuery;\n","export const DELIVERY_TAB = {\n response: \"response\",\n request: \"request\",\n};\nexport const DELIVERY_STATUS = {\n failure: \"failure\",\n success: \"success\",\n};\n","const Snippet = ({ children, dataTestid = \"\" }) => (\n <div\n className=\"my-2 whitespace-pre-wrap break-all rounded-lg border border-border bg-muted p-4\"\n data-testid={dataTestid}\n >\n {children}\n </div>\n);\n\nexport default Snippet;\n","import { useState } from \"react\";\n\nimport { Typography, Tabs, Badge } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DELIVERY_TAB } from \"./constants\";\nimport Snippet from \"./Snippet\";\n\nconst TransactionDetails = ({ delivery }) => {\n const [activeHeader, setActiveHeader] = useState(DELIVERY_TAB.request);\n\n const { t } = useTranslation();\n\n const { status, identifier, responseStatusCode, sid } = delivery;\n\n const renderPayload = () => {\n try {\n return JSON.stringify(JSON.parse(delivery.requestBody), null, 2);\n } catch {\n return \"\";\n }\n };\n\n return (\n <div className=\"sticky top-0 mb-2 flex w-full flex-col bg-background\">\n <div className=\"flex w-full flex-col space-y-2 pb-4\">\n <span className=\"flex items-center space-x-1\">\n {t(\"neetoWebhooks.delivery.sid\")}:\n <Typography\n className=\"px-2\"\n data-testid=\"delivery-sid\"\n variant=\"body2\"\n weight=\"bold\"\n >\n {sid}\n </Typography>\n </span>\n <span className=\"flex items-center space-x-1\">\n {t(\"neetoWebhooks.delivery.deliveryId\")}:\n <Typography\n className=\"px-2\"\n data-testid=\"delivery-identifier\"\n variant=\"body2\"\n weight=\"bold\"\n >\n {identifier}\n </Typography>\n </span>\n <span className=\"flex items-center\">\n {t(\"neetoWebhooks.common.responseStatus\")}:\n <Typography\n className=\"px-2\"\n data-testid=\"delivery-response-code\"\n variant=\"body2\"\n weight=\"bold\"\n >\n {responseStatusCode}\n </Typography>\n <Badge variant={status === \"success\" ? \"green\" : \"amber\"}>\n {status}\n </Badge>\n </span>\n </div>\n <Tabs value={activeHeader} onValueChange={setActiveHeader}>\n <Tabs.List>\n <Tabs.Item value={DELIVERY_TAB.request}>\n {t(\"neetoWebhooks.delivery.request\")}\n </Tabs.Item>\n <Tabs.Item value={DELIVERY_TAB.response}>\n {t(\"neetoWebhooks.delivery.response\")}\n </Tabs.Item>\n </Tabs.List>\n <Tabs.Content value={DELIVERY_TAB.request}>\n <div className=\"mt-2 w-full space-y-4\">\n <div>\n <Typography variant=\"h5\">\n {t(\"neetoWebhooks.delivery.header\")}\n </Typography>\n <Snippet dataTestid=\"delivery-request-header\">\n {delivery.requestHeader}\n </Snippet>\n </div>\n <div>\n <Typography variant=\"h5\">\n {t(\"neetoWebhooks.delivery.payload\")}\n </Typography>\n <Snippet dataTestid=\"delivery-request-payload\">\n {renderPayload()}\n </Snippet>\n </div>\n </div>\n </Tabs.Content>\n <Tabs.Content value={DELIVERY_TAB.response}>\n <div className=\"mt-2 w-full space-y-4\">\n <div>\n <Typography variant=\"h5\">\n {t(\"neetoWebhooks.delivery.header\")}\n </Typography>\n <Snippet dataTestid=\"delivery-response-header\">\n {delivery.responseHeader}\n </Snippet>\n </div>\n <div>\n <Typography variant=\"h5\">\n {t(\"neetoWebhooks.delivery.body\")}\n </Typography>\n <Snippet dataTestid=\"delivery-response-body\">\n {delivery.responseBody}\n </Snippet>\n </div>\n </div>\n </Tabs.Content>\n </Tabs>\n </div>\n );\n};\n\nexport default TransactionDetails;\n","import { Button, Sheet, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\nimport DateFormat from \"neetomolecules/v2/DateFormat\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useRedeliverWebhook,\n useShowDelivery,\n} from \"hooks/reactQuery/useDeliveriesApi\";\n\nimport TransactionDetails from \"./TransactionDetails\";\n\nconst Details = ({ onClose, deliveryId, webhookSid }) => {\n const { t } = useTranslation();\n\n const { isPending: isRedelivering, mutateAsync: redeliverWebhook } =\n useRedeliverWebhook(deliveryId, webhookSid);\n\n const { isPending: isLoading, data: { delivery } = {} } = useShowDelivery(\n deliveryId,\n webhookSid\n );\n\n const handleRedeliverClick = async () => {\n await redeliverWebhook();\n };\n\n return (\n <Sheet {...{ onClose }} isOpen={isPresent(deliveryId)} size=\"large\">\n <>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Sheet.Header>\n <Sheet.Title>\n <DateFormat.Date\n date={delivery.createdAt}\n tooltipProps={{ disabled: true }}\n typographyProps={{ variant: null }}\n />\n <span> • </span>\n <DateFormat.Time\n date={delivery.createdAt}\n tooltipProps={{ disabled: true }}\n typographyProps={{ variant: null, weight: \"normal\" }}\n />\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n {isPresent(delivery) && <TransactionDetails {...{ delivery }} />}\n </Sheet.Body>\n <Sheet.Footer className=\"gap-x-2\">\n {delivery?.eventId && (\n <Button\n disabled={isRedelivering || delivery.webhook?.versionExpired}\n label={t(\"neetoWebhooks.delivery.redeliver\")}\n loading={isRedelivering}\n onClick={handleRedeliverClick}\n />\n )}\n <Button\n label={t(\"neetoWebhooks.buttons.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n </>\n )}\n </>\n </Sheet>\n );\n};\n\nexport default Details;\n","import { Badge, Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport DateFormat from \"neetomolecules/v2/DateFormat\";\n\nexport const buildColumns = ({ deliveryDetailsPath, page }) => [\n {\n id: \"identifier\",\n accessorKey: \"identifier\",\n header: t(\"neetoWebhooks.delivery.deliveryId\"),\n size: 390,\n cell: ({ row }) => {\n const delivery = row.original;\n\n return (\n <div className=\"flex items-center gap-x-3\">\n <Button\n className=\"min-w-0 shrink justify-start text-left [&>span]:min-w-0 [&>span>span]:truncate\"\n title={delivery.identifier}\n variant=\"link\"\n to={buildUrl(deliveryDetailsPath, {\n deliveryId: delivery.sid,\n page,\n })}\n >\n {delivery.identifier}\n </Button>\n {delivery.redelivery && (\n <Badge className=\"shrink-0\" variant=\"blue\">\n {t(\"neetoWebhooks.delivery.redelivery\")}\n </Badge>\n )}\n </div>\n );\n },\n },\n {\n id: \"createdAt\",\n accessorKey: \"createdAt\",\n header: t(\"neetoWebhooks.tableHeaders.createdAt\"),\n size: 280,\n cell: ({ getValue }) => <DateFormat.DateTime date={getValue()} />,\n },\n {\n id: \"responseStatusCode\",\n header: t(\"neetoWebhooks.common.responseStatus\"),\n size: 250,\n cell: ({ row }) => {\n const { responseStatusCode, status } = row.original;\n\n return (\n <span className=\"flex items-center gap-x-2\">\n <Badge variant={status === \"success\" ? \"green\" : \"amber\"}>\n {status}\n </Badge>\n <Typography variant=\"body2\">{responseStatusCode}</Typography>\n </span>\n );\n },\n },\n {\n id: \"event\",\n accessorKey: \"event\",\n header: t(\"neetoWebhooks.common.event\", SINGULAR),\n size: 270,\n cell: ({ getValue }) => getValue()?.label,\n },\n];\n","import { DataTable, Empty, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { Send } from \"lucide-react\";\nimport { isNotEmpty, removeBy } from \"neetocist\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport TableWrapper from \"neetomolecules/v2/TableWrapper\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useParams, useRouteMatch } from \"react-router-dom\";\n\nimport { useFetchDeliveries } from \"hooks/reactQuery/useDeliveriesApi\";\nimport { getDeliveryDetailsPath, getDeliveriesPath } from \"utils/paths\";\nimport withReactQuery from \"v2/components/Common/withReactQuery\";\n\nimport Details from \"./Details\";\nimport { buildColumns } from \"./utils\";\n\nconst Deliveries = ({\n webhooksUrl,\n breadcrumbs: hostBreadcrumbs,\n helpLink,\n}) => {\n const { url: deliveriesUrl } = useRouteMatch();\n const history = useHistory();\n const { t } = useTranslation();\n const { webhookId, deliveryId } = useParams();\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const deliveriesPath = getDeliveriesPath(webhooksUrl);\n const deliveryDetailsPath = getDeliveryDetailsPath(deliveriesUrl);\n\n const {\n isLoading,\n isFetching,\n data: { totalCount, deliveries = [] } = {},\n } = useFetchDeliveries(webhookId, {\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const breadcrumbsWithoutWebhooksTitle = removeBy(\n { text: t(\"neetoWebhooks.webhook.title\") },\n hostBreadcrumbs\n );\n\n const breadcrumbs = [\n ...breadcrumbsWithoutWebhooksTitle,\n { link: webhooksUrl, text: t(\"neetoWebhooks.webhook.title\") },\n { link: window.location.pathname, text: t(\"neetoWebhooks.delivery.title\") },\n ];\n\n if (isLoading) {\n return (\n <div className=\"flex justify-center items-center w-full h-screen\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container className=\"w-full\">\n <Header\n {...{ breadcrumbs }}\n title={t(\"neetoWebhooks.delivery.title\")}\n titleHelpPopoverProps={{\n title: t(\"neetoWebhooks.delivery.title\"),\n description: t(\"neetoWebhooks.delivery.helpDescription\"),\n helpLinkProps: { href: helpLink },\n }}\n />\n {isNotEmpty(deliveries) ? (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <DataTable\n {...{ totalCount }}\n columns={buildColumns({ deliveryDetailsPath, page })}\n currentPage={Number(page)}\n data={deliveries}\n loading={isFetching}\n pageSize={DEFAULT_PAGE_SIZE}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex justify-center items-center w-full h-full\">\n <Empty\n description={t(\"neetoWebhooks.delivery.empty.description\")}\n icon={Send}\n title={t(\"neetoWebhooks.delivery.empty.title\")}\n />\n </div>\n )}\n <Details\n {...{ deliveryId }}\n webhookSid={webhookId}\n onClose={() =>\n history.replace(buildUrl(deliveriesPath, { webhookId, page }))\n }\n />\n </Container>\n );\n};\n\nexport default withReactQuery(Deliveries);\n","export const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\nexport const WEBHOOK_INITIAL_VALUES = {\n endpoint: \"\",\n events: [],\n secret: \"\",\n isActive: true,\n};\n","import { Checkbox } from \"@bigbinary/neeto-atoms\";\nimport { findIndexBy } from \"neetocist\";\n\nconst EventCheckbox = ({ events, values, arrayHelpers, onEventsChange }) => {\n const handleToggle = (isSelected, index, event) => {\n if (isSelected) {\n arrayHelpers.remove(index);\n } else {\n arrayHelpers.push(event);\n }\n onEventsChange?.();\n };\n\n return (\n <div>\n {events.map(event => {\n const index = findIndexBy(event, values.events ?? []);\n const isSelected = index > -1;\n\n return (\n <Checkbox\n checked={isSelected}\n className=\"my-4\"\n key={event.identifier}\n label={event.label}\n onCheckedChange={() => handleToggle(isSelected, index, event)}\n />\n );\n })}\n </div>\n );\n};\nexport default EventCheckbox;\n","import { useState, useRef } from \"react\";\n\nimport { Switch } from \"@bigbinary/neeto-atoms\";\n\nimport { useUpdateWebhook } from \"hooks/reactQuery/useWebhooksApi\";\n\nconst ToggleActiveSwitch = ({ isActive, webhookId }) => {\n const [status, setStatus] = useState(isActive);\n const previousStatusRef = useRef(isActive);\n\n const { mutate: updateWebhook } = useUpdateWebhook(webhookId, {\n onError: () => {\n // Revert to the previous state\n setStatus(previousStatusRef.current);\n },\n onSuccess: () => {\n // Update the previous status ref on successful update\n previousStatusRef.current = status;\n },\n });\n\n const handleToggle = updatedStatus => {\n // Store the current status as previous before changing\n previousStatusRef.current = status;\n setStatus(updatedStatus);\n updateWebhook({ id: webhookId, payload: { isActive: updatedStatus } });\n };\n\n return <Switch checked={status} onCheckedChange={handleToggle} />;\n};\n\nexport default ToggleActiveSwitch;\n","import { Badge, Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { findBy, removeById, snakeToCamelCase } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { assoc, pluck } from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\nimport * as yup from \"yup\";\n\nimport { MENU_ITEMS } from \"./constants\";\nimport ToggleActiveSwitch from \"./ToggleActiveSwitch\";\n\nconst getMenuItems = ({ onEdit, onDelete }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoWebhooks.buttons.edit\"),\n \"data-testid\": \"neeto-webhooks-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoWebhooks.buttons.delete\"),\n \"data-testid\": \"neeto-webhooks-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const getValidationSchema = webhooks =>\n yup.object().shape({\n endpoint: yup\n .string()\n .trim()\n .matches(\n /^(https?):\\/\\//i,\n t(\"neetoWebhooks.errors.webhook.invalidUrlProtocol\")\n )\n .url(t(\"neetoWebhooks.errors.webhook.invalidUrl\"))\n .required(t(\"neetoWebhooks.errors.webhook.required\"))\n .test(\n \"Is endpoint unique\",\n t(\"neetoWebhooks.errors.webhook.urlNotUnique\"),\n (endpoint, ctx) =>\n !pluck(\"endpoint\", removeById(ctx.parent.id, webhooks)).includes(\n endpoint?.trim()\n )\n ),\n events: yup\n .array()\n .default([])\n .min(1, t(\"neetoWebhooks.errors.webhook.events.required\")),\n secret: yup.string().trim().nullable(),\n });\n\nexport const buildEventsOptions = events =>\n events.map(event => ({\n label: t(`neetoWebhooks.webhooks.events.${snakeToCamelCase(event)}`),\n value: event,\n }));\n\nexport const buildPayload = ({ isEditing, values, initialValues }) => {\n const events = values.events.map(({ identifier }) => ({ identifier }));\n if (!isEditing) return { ...values, eventsAttributes: events };\n\n const deletable = (initialValues.events ?? [])\n .filter(({ identifier }) => !findBy({ identifier }, values.events))\n .map(assoc(\"_destroy\", true));\n\n const creatable = values.events.filter(\n ({ identifier }) => !findBy({ identifier }, initialValues.events)\n );\n\n return { ...values, eventsAttributes: [...creatable, ...deletable] };\n};\n\nexport const formatTimeUntilExpiration = expiresAt => {\n if (!expiresAt) return null;\n\n const now = new Date();\n const expiry = new Date(expiresAt);\n const diffMs = expiry - now;\n\n if (diffMs <= 0) return null;\n\n const diffHours = Math.floor(diffMs / (1000 * 60 * 60));\n const diffDays = Math.floor(diffHours / 24);\n\n if (diffDays > 0) {\n return t(\"neetoWebhooks.webhook.versionStatus.expiresIn.days\", {\n count: diffDays,\n });\n }\n const remainingHours = diffHours;\n const remainingMinutes = Math.floor(\n (diffMs % (1000 * 60 * 60)) / (1000 * 60)\n );\n\n return t(\"neetoWebhooks.webhook.versionStatus.expiresIn.hoursAndMinutes\", {\n hours: remainingHours,\n hoursPlural: remainingHours !== 1 ? \"s\" : \"\",\n minutes: remainingMinutes,\n minutesPlural: remainingMinutes !== 1 ? \"s\" : \"\",\n });\n};\n\nexport const formatExpiredDate = expiresAt => {\n if (!expiresAt) return null;\n\n const expiry = new Date(expiresAt);\n\n return t(\"neetoWebhooks.webhook.versionStatus.expiredOn\", {\n date: expiry.toLocaleDateString(),\n });\n};\n\nexport const buildColumns = ({ handleDelete, handleEdit, deliveriesPath }) => [\n {\n id: \"endpoint\",\n accessorKey: \"endpoint\",\n header: t(\"neetoWebhooks.common.endpoint\"),\n size: 700,\n cell: ({ row, getValue }) => {\n const webhook = row.original;\n\n return (\n <div className=\"flex items-center justify-between gap-3 w-full\">\n <Button\n className=\"min-w-0 justify-start text-left [&>span]:min-w-0 [&>span>span]:truncate shrink\"\n title={getValue()}\n to={buildUrl(deliveriesPath, { webhookId: webhook.sid })}\n variant=\"link\"\n >\n {getValue()}\n </Button>\n <MoreDropdown\n menuItems={getMenuItems({\n onEdit: () => handleEdit(webhook.id),\n onDelete: () => handleDelete(webhook.id),\n })}\n />\n </div>\n );\n },\n },\n {\n id: \"isActive\",\n accessorKey: \"isActive\",\n header: t(\"neetoWebhooks.webhook.active\"),\n size: 150,\n cell: ({ row, getValue }) => (\n <ToggleActiveSwitch isActive={getValue()} webhookId={row.original.id} />\n ),\n },\n {\n id: \"version\",\n accessorKey: \"version\",\n header: t(\"neetoWebhooks.webhook.version\"),\n size: 200,\n cell: ({ row, getValue }) => {\n const webhook = row.original;\n const timeMessage = webhook.versionExpired\n ? formatExpiredDate(webhook.versionExpiresAt)\n : formatTimeUntilExpiration(webhook.versionExpiresAt);\n\n return (\n <div className=\"flex flex-col space-y-1\">\n <div className=\"flex items-center space-x-2\">\n <span>{getValue()}</span>\n {webhook.versionExpired && <Badge variant=\"red\">expired</Badge>}\n {webhook.versionDeprecated && !webhook.versionExpired && (\n <Badge variant=\"amber\">deprecated</Badge>\n )}\n </div>\n {timeMessage && (\n <Typography color=\"muted\" variant=\"caption\">\n {timeMessage}.{\" \"}\n <a\n className=\"text-primary underline decoration-primary/40 underline-offset-4 hover:decoration-primary\"\n href={webhook.defaultVersionPayloadDocUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n {t(\"neetoWebhooks.webhook.versionStatus.moreDetails\")}\n </a>\n .\n </Typography>\n )}\n </div>\n );\n },\n },\n {\n id: \"events\",\n accessorKey: \"events\",\n header: t(\"neetoWebhooks.common.event\", PLURAL),\n size: 300,\n cell: ({ getValue }) => (\n <span className=\"whitespace-normal\">\n {pluck(\"label\", getValue()).sort().join(\", \")}\n </span>\n ),\n },\n];\n\nexport const generateRandomSecret = () => uuid().replace(/-/g, \"\");\n","import { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport {\n Button,\n Label,\n Sheet,\n Spinner,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport {\n ActionBlock,\n Form,\n Input,\n Textarea,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { FieldArray, ErrorMessage } from \"formik\";\nimport { Plus } from \"lucide-react\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchEvents } from \"hooks/reactQuery/useEventsApi\";\nimport {\n useCreateWebhook,\n useShowWebhook,\n useUpdateWebhook,\n} from \"hooks/reactQuery/useWebhooksApi\";\n\nimport { WEBHOOK_INITIAL_VALUES } from \"./constants\";\nimport EventCheckbox from \"./EventCheckbox\";\nimport {\n buildPayload,\n generateRandomSecret,\n getValidationSchema,\n} from \"./utils\";\n\nconst AddWebhookPane = ({\n editingWebhookId,\n entityId,\n entityType,\n isOpen,\n onClose,\n onCreate,\n webhooks,\n webhooksHelpLink,\n secretsHelpLink,\n}) => {\n const { t } = useTranslation();\n const [isSecretInputFieldVisible, setIsSecretInputFieldVisible] =\n useState(false);\n\n const { mutate: createWebhook } = useCreateWebhook({\n onSuccess: () => {\n onClose();\n onCreate?.();\n },\n });\n\n const { data: { webhook = {} } = {} } = useShowWebhook(editingWebhookId, {\n entityId,\n });\n\n const { mutate: updateWebhook } = useUpdateWebhook(editingWebhookId, {\n onSuccess: onClose,\n });\n const endpointRef = useRef();\n\n const { data: events = [], isLoading } = useFetchEvents();\n\n const initialValues = useMemo(\n () =>\n editingWebhookId\n ? {\n ...WEBHOOK_INITIAL_VALUES,\n ...webhook,\n events: Array.isArray(webhook?.events) ? webhook?.events : [],\n }\n : { ...WEBHOOK_INITIAL_VALUES, events },\n [editingWebhookId, webhook, events]\n );\n\n const isWebhookExpiredOrDeprecated =\n editingWebhookId && (webhook.versionExpired || webhook.versionDeprecated);\n\n const handleSubmit = values => {\n // Check if webhook is expired or deprecated before allowing edit\n if (\n editingWebhookId &&\n (webhook.versionExpired || webhook.versionDeprecated)\n ) {\n return;\n }\n\n const payload = buildPayload({\n isEditing: editingWebhookId,\n values,\n initialValues,\n });\n\n editingWebhookId\n ? updateWebhook({ id: editingWebhookId, payload, entityId })\n : createWebhook({ ...payload, entityId, entityType });\n };\n\n const handleClick = setFieldValue => {\n const randomWebhookSecret = generateRandomSecret();\n setFieldValue(\"secret\", randomWebhookSecret);\n setIsSecretInputFieldVisible(true);\n };\n\n const handleRegenerate = setFieldValue => {\n const randomWebhookSecret = generateRandomSecret();\n setFieldValue(\"secret\", randomWebhookSecret);\n };\n\n const handleDelete = setFieldValue => {\n setFieldValue(\"secret\", null);\n setIsSecretInputFieldVisible(false);\n };\n\n useEffect(() => {\n if (webhook?.secret) {\n setIsSecretInputFieldVisible(true);\n }\n }, [webhook]);\n\n return (\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema(webhooks),\n initialValues,\n onSubmit: values => handleSubmit(getValidationSchema().cast(values)),\n }}\n >\n {({ setFieldValue, setFieldTouched, values, isValid, dirty }) => (\n <Sheet\n {...{ isOpen, onClose }}\n initialFocusRef={endpointRef}\n size=\"large\"\n >\n <Sheet.Header>\n <Sheet.Title\n className=\"flex items-center gap-2\"\n data-testid=\"add-new-webhook-pane-header\"\n >\n {editingWebhookId\n ? t(\"neetoWebhooks.webhook.edit\")\n : t(\"neetoWebhooks.webhook.add\")}\n <HelpPopover\n description={t(\"neetoWebhooks.webhook.helpDescription\")}\n helpLinkProps={{ href: webhooksHelpLink }}\n title={t(\"neetoWebhooks.webhook.title\")}\n />\n </Sheet.Title>\n </Sheet.Header>\n {isLoading ? (\n <Sheet.Body>\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n </Sheet.Body>\n ) : (\n <>\n <Sheet.Body className=\"pb-6\">\n <div className=\"w-full space-y-4 md:space-y-6\">\n <Typography className=\"mb-4\" variant=\"body2\">\n {t(\"neetoWebhooks.webhook.postRequestIsSentToEndpointURL\")}\n </Typography>\n <Textarea\n required\n className=\"[&_textarea]:[field-sizing:content]!\"\n data-testid=\"endpoint-input-field\"\n label={t(\"neetoWebhooks.webhook.endpoint\")}\n name=\"endpoint\"\n placeholder={t(\"neetoWebhooks.webhook.endpointPlaceholder\")}\n ref={endpointRef}\n resize=\"none\"\n size=\"small\"\n />\n <div className=\"space-y-2\">\n <div className=\"flex items-center gap-x-2\">\n <Label>{t(\"neetoWebhooks.webhook.secret\")}</Label>\n <HelpPopover\n helpLinkProps={{ href: secretsHelpLink }}\n popoverProps={{ position: \"bottom\" }}\n title={t(\"neetoWebhooks.webhook.secretkeyHelpTitle\")}\n description={t(\n \"neetoWebhooks.webhook.secretkeyHelpDescription\"\n )}\n />\n </div>\n {isSecretInputFieldVisible ? (\n <div className=\"flex items-center justify-between space-x-2\">\n <Input\n data-testid=\"secret-key-input-field\"\n name=\"secret\"\n placeholder={t(\n \"neetoWebhooks.webhook.secretPlaceholder\"\n )}\n />\n <MoreDropdown\n menuItems={[\n {\n key: \"regenerate-secret\",\n label: t(\"neetoWebhooks.buttons.regenerate\"),\n \"data-testid\": \"regenerate-secret\",\n onClick: () => handleRegenerate(setFieldValue),\n },\n {\n key: \"delete-secret\",\n label: t(\"neetoWebhooks.buttons.delete\"),\n \"data-testid\": \"delete-secret\",\n onClick: () => handleDelete(setFieldValue),\n },\n ]}\n />\n </div>\n ) : (\n <Button\n data-testid=\"add-secret-key\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoWebhooks.buttons.generateSecretKey\")}\n variant=\"link\"\n onClick={() => handleClick(setFieldValue)}\n />\n )}\n </div>\n <div className=\"space-y-2\">\n <Label required>\n {t(\"neetoWebhooks.common.event\", PLURAL)}\n </Label>\n <FieldArray\n name=\"events\"\n render={arrayHelpers => (\n <EventCheckbox\n {...{ arrayHelpers, events, values }}\n onEventsChange={() => setFieldTouched(\"events\", true)}\n />\n )}\n />\n <ErrorMessage\n name=\"events\"\n render={msg => (\n <Typography\n className=\"mt-1\"\n color=\"destructive\"\n data-testid=\"event-error-text\"\n variant=\"caption\"\n >\n {msg}\n </Typography>\n )}\n />\n </div>\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{\n disabled:\n isWebhookExpiredOrDeprecated ||\n !isValid ||\n (editingWebhookId && !dirty),\n }}\n />\n </Sheet.Footer>\n </>\n )}\n </Sheet>\n )}\n </Form>\n );\n};\n\nexport default AddWebhookPane;\n","import { memo } from \"react\";\n\nimport { Typography, Button } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\n\nconst Header = withT(\n ({\n t,\n breadcrumbs,\n title,\n titleHelpPopoverProps,\n setIsAddWebhookPaneOpen,\n headerSize,\n webhooks,\n webhooksHelpLink,\n }) => (\n <>\n <NeetoHeader\n {...{ breadcrumbs }}\n size={headerSize}\n title={title || t(\"neetoWebhooks.webhook.title\")}\n actionBlock={\n <Button\n data-testid=\"add-new-webhook-button\"\n label={t(\"neetoWebhooks.webhook.add\")}\n onClick={() => setIsAddWebhookPaneOpen(true)}\n />\n }\n titleHelpPopoverProps={{\n description: t(\"neetoWebhooks.webhook.helpDescription\"),\n helpLinkProps: { href: webhooksHelpLink },\n title: t(\"neetoWebhooks.webhook.title\"),\n ...titleHelpPopoverProps,\n }}\n />\n {isNotEmpty(webhooks) && (\n <SubHeader\n leftActionBlock={\n <Typography as=\"h6\" variant=\"h6\">\n {t(\"neetoWebhooks.common.webhookWithCount\", {\n count: webhooks.length,\n })}\n </Typography>\n }\n />\n )}\n </>\n )\n);\n\nexport default memo(Header);\n","import { useCallback, useState } from \"react\";\n\nimport {\n Alert,\n Button,\n DataTable,\n Empty,\n Spinner,\n} from \"@bigbinary/neeto-atoms\";\nimport { Webhook } from \"lucide-react\";\nimport { isNotEmpty } from \"neetocist\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport Container from \"neetomolecules/v2/Container\";\nimport TableWrapper from \"neetomolecules/v2/TableWrapper\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchWebhooks,\n useDestroyWebhook,\n} from \"hooks/reactQuery/useWebhooksApi\";\nimport withReactQuery from \"v2/components/Common/withReactQuery\";\n\nimport AddWebhookPane from \"./AddWebhookPane\";\nimport Header from \"./Header\";\nimport { buildColumns } from \"./utils\";\n\nconst Webhooks = ({\n deliveriesPath,\n entityType,\n breadcrumbs,\n title,\n titleHelpPopoverProps,\n entityId,\n onCreate,\n onDelete,\n headerSize,\n containerClassName = \"\",\n webhooksHelpLink,\n secretsHelpLink,\n}) => {\n const [editingWebhookId, setEditingWebhookId] = useState(null);\n const [deletingWebhookId, setDeletingWebhookId] = useState(null);\n const [isAddWebhookPaneOpen, setIsAddWebhookPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n\n const { t } = useTranslation();\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n isLoading,\n isFetching,\n data: { webhooks = [], totalCount = 0 } = {},\n } = useFetchWebhooks({\n entityId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const { isPending: isDeleting, mutate: destroyWebhook } = useDestroyWebhook({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n onDelete?.();\n },\n });\n\n const handlePaneClose = () => {\n setEditingWebhookId(null);\n setIsAddWebhookPaneOpen(false);\n };\n\n const handleEdit = useCallback(id => {\n setEditingWebhookId(id);\n setIsAddWebhookPaneOpen(true);\n }, []);\n\n const handleDelete = useCallback(id => {\n setDeletingWebhookId(id);\n setIsDeleteAlertOpen(true);\n }, []);\n\n if (isLoading) {\n return (\n <div className=\"flex justify-center items-center w-full h-screen\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container className={containerClassName}>\n <Header\n {...{\n breadcrumbs,\n headerSize,\n setIsAddWebhookPaneOpen,\n title,\n titleHelpPopoverProps,\n webhooks,\n webhooksHelpLink,\n }}\n />\n {isNotEmpty(webhooks) ? (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <DataTable\n {...{ totalCount }}\n currentPage={Number(page)}\n data={webhooks}\n loading={isFetching}\n pageSize={DEFAULT_PAGE_SIZE}\n columns={buildColumns({\n handleDelete,\n handleEdit,\n deliveriesPath,\n })}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex justify-center items-center w-full h-full\">\n <Empty\n icon={Webhook}\n title={t(\"neetoWebhooks.webhook.empty\")}\n description={\n <Button\n href={webhooksHelpLink}\n label={t(\"neetoWebhooks.webhook.emptyHelpText\")}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n />\n }\n primaryButtonProps={{\n label: t(\"neetoWebhooks.webhook.add\"),\n onClick: () => setIsAddWebhookPaneOpen(true),\n }}\n />\n </div>\n )}\n <AddWebhookPane\n {...{\n editingWebhookId,\n entityId,\n entityType,\n onCreate,\n secretsHelpLink,\n webhooks,\n webhooksHelpLink,\n }}\n isOpen={isAddWebhookPaneOpen}\n onClose={handlePaneClose}\n />\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoWebhooks.buttons.delete\")}\n message={t(\"neetoWebhooks.alert.delete.message\", {\n entity: t(\"neetoWebhooks.entity.webhook\"),\n })}\n title={t(\"neetoWebhooks.alert.delete.title\", {\n entity: t(\"neetoWebhooks.entity.webhook\"),\n })}\n onClose={() => setIsDeleteAlertOpen(false)}\n onSubmit={() => destroyWebhook(deletingWebhookId, { entityId })}\n />\n </Container>\n );\n};\n\nexport default withReactQuery(Webhooks);\n","import { mergeRight } from \"ramda\";\nimport { Switch, Route, useRouteMatch } from \"react-router-dom\";\n\nimport { HELP_LINK_URLS } from \"src/constants/urls\";\nimport { getDeliveriesPath, getDeliveryDetailsPath } from \"utils/paths\";\n\nimport Deliveries from \"./Deliveries\";\nimport Webhooks from \"./Webhooks\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport \"../../stylesheets/main.css\";\n\nconst NeetoWebhooks = ({\n entityType,\n entityId,\n breadcrumbs = [],\n title,\n titleHelpPopoverProps,\n onCreate,\n onDelete,\n headerSize,\n containerClassName,\n helpLinkUrls = {},\n}) => {\n const { path: webhooksPath, url: webhooksUrl } = useRouteMatch();\n\n const deliveriesPath = getDeliveriesPath(webhooksUrl);\n const deliveryDetailsPath = getDeliveryDetailsPath(deliveriesPath);\n const helpLinks = mergeRight(HELP_LINK_URLS, helpLinkUrls);\n\n return (\n <Switch>\n <Route\n exact\n path={webhooksPath}\n component={() => (\n <Webhooks\n {...{\n breadcrumbs,\n containerClassName,\n deliveriesPath,\n entityId,\n entityType,\n headerSize,\n onCreate,\n onDelete,\n title,\n titleHelpPopoverProps,\n }}\n secretsHelpLink={helpLinks.secrets}\n webhooksHelpLink={helpLinks.webhooks}\n />\n )}\n />\n <Route\n exact\n path={deliveryDetailsPath}\n render={() => (\n <Deliveries\n {...{ breadcrumbs, webhooksUrl }}\n helpLink={helpLinks.deliveries}\n />\n )}\n />\n <Route\n path={deliveriesPath}\n render={() => (\n <Deliveries\n {...{ breadcrumbs, webhooksUrl }}\n helpLink={helpLinks.deliveries}\n />\n )}\n />\n </Switch>\n );\n};\n\nexport default NeetoWebhooks;\n"],"names":["withReactQuery","Component","QueryWrapper","props","_jsxs","QueryClientProvider","client","queryClient","children","_jsx","_objectSpread","ReactQueryDevtools","initialIsOpen","position","DELIVERY_TAB","response","request","Snippet","_ref","_ref$dataTestid","dataTestid","className","TransactionDetails","delivery","_useState","useState","_useState2","_slicedToArray","activeHeader","setActiveHeader","_useTranslation","useTranslation","t","status","identifier","responseStatusCode","sid","renderPayload","JSON","stringify","parse","requestBody","_unused","Typography","variant","weight","Badge","Tabs","value","onValueChange","List","Item","Content","requestHeader","responseHeader","responseBody","Details","_delivery$webhook","onClose","deliveryId","webhookSid","_useRedeliverWebhook","useRedeliverWebhook","isRedelivering","isPending","redeliverWebhook","mutateAsync","_useShowDelivery","useShowDelivery","isLoading","_useShowDelivery$data","data","_useShowDelivery$data2","handleRedeliverClick","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stop","apply","arguments","Sheet","isOpen","isPresent","size","_Fragment","Spinner","Header","Title","DateFormat","Date","date","createdAt","tooltipProps","disabled","typographyProps","Time","Body","Footer","eventId","Button","webhook","versionExpired","label","loading","onClick","buildColumns","deliveryDetailsPath","page","id","accessorKey","header","cell","row","original","title","to","buildUrl","redelivery","_ref3","getValue","DateTime","_ref4","_row$original","SINGULAR","_ref5","_getValue","Deliveries","webhooksUrl","hostBreadcrumbs","breadcrumbs","helpLink","_useRouteMatch","useRouteMatch","deliveriesUrl","url","history","useHistory","_useParams","useParams","webhookId","_useQueryParams","useQueryParams","_useQueryParams$page","DEFAULT_PAGE_INDEX","deliveriesPath","getDeliveriesPath","getDeliveryDetailsPath","_useFetchDeliveries","useFetchDeliveries","pageSize","DEFAULT_PAGE_SIZE","isFetching","_useFetchDeliveries$d","_useFetchDeliveries$d2","totalCount","_useFetchDeliveries$d3","deliveries","breadcrumbsWithoutWebhooksTitle","removeBy","text","concat","_toConsumableArray","link","window","location","pathname","Container","titleHelpPopoverProps","description","helpLinkProps","href","isNotEmpty","TableWrapper","hasPagination","DataTable","columns","currentPage","Number","Empty","icon","Send","replace","MENU_ITEMS","EDIT","DELETE","WEBHOOK_INITIAL_VALUES","endpoint","events","secret","isActive","EventCheckbox","values","arrayHelpers","onEventsChange","handleToggle","isSelected","index","event","remove","push","map","_values$events","findIndexBy","Checkbox","checked","onCheckedChange","ToggleActiveSwitch","setStatus","previousStatusRef","useRef","_useUpdateWebhook","useUpdateWebhook","onError","current","onSuccess","updateWebhook","mutate","updatedStatus","payload","Switch","getMenuItems","onEdit","onDelete","key","getValidationSchema","webhooks","yup","object","shape","string","trim","matches","required","test","ctx","pluck","removeById","parent","includes","array","min","nullable","buildPayload","_initialValues$events","isEditing","initialValues","eventsAttributes","deletable","filter","findBy","assoc","creatable","formatTimeUntilExpiration","expiresAt","now","expiry","diffMs","diffHours","Math","floor","diffDays","count","remainingHours","remainingMinutes","hours","hoursPlural","minutes","minutesPlural","formatExpiredDate","toLocaleDateString","_ref6","handleDelete","handleEdit","_ref7","MoreDropdown","menuItems","_ref8","_ref9","timeMessage","versionExpiresAt","versionDeprecated","color","defaultVersionPayloadDocUrl","rel","target","PLURAL","_ref10","sort","join","generateRandomSecret","uuid","AddWebhookPane","editingWebhookId","entityId","entityType","onCreate","webhooksHelpLink","secretsHelpLink","isSecretInputFieldVisible","setIsSecretInputFieldVisible","_useCreateWebhook","useCreateWebhook","createWebhook","_useShowWebhook","useShowWebhook","_useShowWebhook$data","_useShowWebhook$data2","_useShowWebhook$data3","endpointRef","_useFetchEvents","useFetchEvents","_useFetchEvents$data","useMemo","Array","isArray","isWebhookExpiredOrDeprecated","handleSubmit","handleClick","setFieldValue","randomWebhookSecret","handleRegenerate","useEffect","Form","formikProps","enableReinitialize","validationSchema","onSubmit","cast","setFieldTouched","isValid","dirty","initialFocusRef","HelpPopover","Textarea","name","placeholder","ref","resize","Label","popoverProps","Input","Plus","iconPosition","FieldArray","render","ErrorMessage","msg","ActionBlock","cancelButtonProps","submitButtonProps","withT","setIsAddWebhookPaneOpen","headerSize","NeetoHeader","actionBlock","SubHeader","leftActionBlock","as","length","memo","Webhooks","_ref$containerClassNa","containerClassName","setEditingWebhookId","_useState3","_useState4","deletingWebhookId","setDeletingWebhookId","_useState5","_useState6","isAddWebhookPaneOpen","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useFetchWebhooks","useFetchWebhooks","_useFetchWebhooks$dat","_useFetchWebhooks$dat2","_useFetchWebhooks$dat3","_useFetchWebhooks$dat4","_useDestroyWebhook","useDestroyWebhook","isDeleting","destroyWebhook","handlePaneClose","useCallback","Webhook","primaryButtonProps","Alert","isSubmitting","submitButtonLabel","message","entity","NeetoWebhooks","_ref$breadcrumbs","_ref$helpLinkUrls","helpLinkUrls","webhooksPath","path","helpLinks","mergeRight","HELP_LINK_URLS","Route","exact","component","secrets"],"mappings":"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"}
1
+ {"version":3,"file":"NeetoWebhooks.js","sources":["../../app/javascript/src/v2/components/Common/withReactQuery.jsx","../../app/javascript/src/v2/components/Deliveries/Details/constants.js","../../app/javascript/src/v2/components/Deliveries/Details/Snippet.jsx","../../app/javascript/src/v2/components/Deliveries/Details/TransactionDetails.jsx","../../app/javascript/src/v2/components/Deliveries/Details/index.jsx","../../app/javascript/src/v2/components/Deliveries/utils.jsx","../../app/javascript/src/v2/components/Deliveries/index.jsx","../../app/javascript/src/v2/components/Webhooks/constants.js","../../app/javascript/src/v2/components/Webhooks/EventCheckbox.jsx","../../app/javascript/src/v2/components/Webhooks/ToggleActiveSwitch.jsx","../../app/javascript/src/v2/components/Webhooks/utils.jsx","../../app/javascript/src/v2/components/Webhooks/AddWebhookPane.jsx","../../app/javascript/src/v2/components/Webhooks/Header.jsx","../../app/javascript/src/v2/components/Webhooks/index.jsx","../../app/javascript/src/v2/components/NeetoWebhooks.jsx"],"sourcesContent":["/* eslint-disable sonarjs/prefer-immediate-return */\n\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport { ReactQueryDevtools } from \"@tanstack/react-query-devtools\";\n\nimport queryClient from \"utils/queryClient\";\n\nconst withReactQuery = Component => {\n const QueryWrapper = props => (\n <QueryClientProvider client={queryClient}>\n <Component {...props} />\n <ReactQueryDevtools initialIsOpen={false} position=\"bottom\" />\n </QueryClientProvider>\n );\n\n return QueryWrapper;\n};\n\nexport default withReactQuery;\n","export const DELIVERY_TAB = {\n response: \"response\",\n request: \"request\",\n};\nexport const DELIVERY_STATUS = {\n failure: \"failure\",\n success: \"success\",\n};\n","const Snippet = ({ children, dataTestid = \"\" }) => (\n <div\n className=\"my-2 whitespace-pre-wrap break-all rounded-lg border border-border bg-muted p-4\"\n data-testid={dataTestid}\n >\n {children}\n </div>\n);\n\nexport default Snippet;\n","import { useState } from \"react\";\n\nimport { Typography, Tabs, Badge } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DELIVERY_TAB } from \"./constants\";\nimport Snippet from \"./Snippet\";\n\nconst TransactionDetails = ({ delivery }) => {\n const [activeHeader, setActiveHeader] = useState(DELIVERY_TAB.request);\n\n const { t } = useTranslation();\n\n const { status, identifier, responseStatusCode, sid } = delivery;\n\n const renderPayload = () => {\n try {\n return JSON.stringify(JSON.parse(delivery.requestBody), null, 2);\n } catch {\n return \"\";\n }\n };\n\n return (\n <div className=\"sticky top-0 mb-2 flex w-full flex-col bg-background\">\n <div className=\"flex w-full flex-col space-y-2 pb-4\">\n <span className=\"flex items-center space-x-1\">\n {t(\"neetoWebhooks.delivery.sid\")}:\n <Typography\n className=\"px-2\"\n data-testid=\"delivery-sid\"\n variant=\"body2\"\n weight=\"bold\"\n >\n {sid}\n </Typography>\n </span>\n <span className=\"flex items-center space-x-1\">\n {t(\"neetoWebhooks.delivery.deliveryId\")}:\n <Typography\n className=\"px-2\"\n data-testid=\"delivery-identifier\"\n variant=\"body2\"\n weight=\"bold\"\n >\n {identifier}\n </Typography>\n </span>\n <span className=\"flex items-center\">\n {t(\"neetoWebhooks.common.responseStatus\")}:\n <Typography\n className=\"px-2\"\n data-testid=\"delivery-response-code\"\n variant=\"body2\"\n weight=\"bold\"\n >\n {responseStatusCode}\n </Typography>\n <Badge variant={status === \"success\" ? \"green\" : \"amber\"}>\n {status}\n </Badge>\n </span>\n </div>\n <Tabs value={activeHeader} onValueChange={setActiveHeader}>\n <Tabs.List>\n <Tabs.Item value={DELIVERY_TAB.request}>\n {t(\"neetoWebhooks.delivery.request\")}\n </Tabs.Item>\n <Tabs.Item value={DELIVERY_TAB.response}>\n {t(\"neetoWebhooks.delivery.response\")}\n </Tabs.Item>\n </Tabs.List>\n <Tabs.Content value={DELIVERY_TAB.request}>\n <div className=\"mt-2 w-full space-y-4\">\n <div>\n <Typography variant=\"h5\">\n {t(\"neetoWebhooks.delivery.header\")}\n </Typography>\n <Snippet dataTestid=\"delivery-request-header\">\n {delivery.requestHeader}\n </Snippet>\n </div>\n <div>\n <Typography variant=\"h5\">\n {t(\"neetoWebhooks.delivery.payload\")}\n </Typography>\n <Snippet dataTestid=\"delivery-request-payload\">\n {renderPayload()}\n </Snippet>\n </div>\n </div>\n </Tabs.Content>\n <Tabs.Content value={DELIVERY_TAB.response}>\n <div className=\"mt-2 w-full space-y-4\">\n <div>\n <Typography variant=\"h5\">\n {t(\"neetoWebhooks.delivery.header\")}\n </Typography>\n <Snippet dataTestid=\"delivery-response-header\">\n {delivery.responseHeader}\n </Snippet>\n </div>\n <div>\n <Typography variant=\"h5\">\n {t(\"neetoWebhooks.delivery.body\")}\n </Typography>\n <Snippet dataTestid=\"delivery-response-body\">\n {delivery.responseBody}\n </Snippet>\n </div>\n </div>\n </Tabs.Content>\n </Tabs>\n </div>\n );\n};\n\nexport default TransactionDetails;\n","import { Button, Sheet, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\nimport DateFormat from \"neetomolecules/v2/DateFormat\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useRedeliverWebhook,\n useShowDelivery,\n} from \"hooks/reactQuery/useDeliveriesApi\";\n\nimport TransactionDetails from \"./TransactionDetails\";\n\nconst Details = ({ onClose, deliveryId, webhookSid }) => {\n const { t } = useTranslation();\n\n const { isPending: isRedelivering, mutateAsync: redeliverWebhook } =\n useRedeliverWebhook(deliveryId, webhookSid);\n\n const { isPending: isLoading, data: { delivery } = {} } = useShowDelivery(\n deliveryId,\n webhookSid\n );\n\n const handleRedeliverClick = async () => {\n await redeliverWebhook();\n };\n\n return (\n <Sheet {...{ onClose }} isOpen={isPresent(deliveryId)} size=\"large\">\n <>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Sheet.Header>\n <Sheet.Title>\n <DateFormat.Date\n date={delivery.createdAt}\n tooltipProps={{ disabled: true }}\n typographyProps={{ variant: null }}\n />\n <span> • </span>\n <DateFormat.Time\n date={delivery.createdAt}\n tooltipProps={{ disabled: true }}\n typographyProps={{ variant: null, weight: \"normal\" }}\n />\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n {isPresent(delivery) && <TransactionDetails {...{ delivery }} />}\n </Sheet.Body>\n <Sheet.Footer className=\"gap-x-2\">\n {delivery?.eventId && (\n <Button\n disabled={isRedelivering || delivery.webhook?.versionExpired}\n label={t(\"neetoWebhooks.delivery.redeliver\")}\n loading={isRedelivering}\n onClick={handleRedeliverClick}\n />\n )}\n <Button\n label={t(\"neetoWebhooks.buttons.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n </>\n )}\n </>\n </Sheet>\n );\n};\n\nexport default Details;\n","import { Badge, Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport DateFormat from \"neetomolecules/v2/DateFormat\";\n\nexport const buildColumns = ({ deliveryDetailsPath, page }) => [\n {\n id: \"identifier\",\n accessorKey: \"identifier\",\n header: t(\"neetoWebhooks.delivery.deliveryId\"),\n size: 390,\n cell: ({ row }) => {\n const delivery = row.original;\n\n return (\n <div className=\"flex items-center gap-x-3\">\n <Button\n className=\"min-w-0 shrink justify-start text-left [&>span]:min-w-0 [&>span>span]:truncate\"\n title={delivery.identifier}\n variant=\"link\"\n to={buildUrl(deliveryDetailsPath, {\n deliveryId: delivery.sid,\n page,\n })}\n >\n {delivery.identifier}\n </Button>\n {delivery.redelivery && (\n <Badge className=\"shrink-0\" variant=\"blue\">\n {t(\"neetoWebhooks.delivery.redelivery\")}\n </Badge>\n )}\n </div>\n );\n },\n },\n {\n id: \"createdAt\",\n accessorKey: \"createdAt\",\n header: t(\"neetoWebhooks.tableHeaders.createdAt\"),\n size: 280,\n cell: ({ getValue }) => <DateFormat.DateTime date={getValue()} />,\n },\n {\n id: \"responseStatusCode\",\n header: t(\"neetoWebhooks.common.responseStatus\"),\n size: 250,\n cell: ({ row }) => {\n const { responseStatusCode, status } = row.original;\n\n return (\n <span className=\"flex items-center gap-x-2\">\n <Badge variant={status === \"success\" ? \"green\" : \"amber\"}>\n {status}\n </Badge>\n <Typography variant=\"body2\">{responseStatusCode}</Typography>\n </span>\n );\n },\n },\n {\n id: \"event\",\n accessorKey: \"event\",\n header: t(\"neetoWebhooks.common.event\", SINGULAR),\n size: 270,\n cell: ({ getValue }) => getValue()?.label,\n },\n];\n","import { DataTable, Empty, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { Send } from \"lucide-react\";\nimport { isNotEmpty, removeBy } from \"neetocist\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport TableWrapper from \"neetomolecules/v2/TableWrapper\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useParams, useRouteMatch } from \"react-router-dom\";\n\nimport { useFetchDeliveries } from \"hooks/reactQuery/useDeliveriesApi\";\nimport { getDeliveryDetailsPath, getDeliveriesPath } from \"utils/paths\";\nimport withReactQuery from \"v2/components/Common/withReactQuery\";\n\nimport Details from \"./Details\";\nimport { buildColumns } from \"./utils\";\n\nconst Deliveries = ({\n webhooksUrl,\n breadcrumbs: hostBreadcrumbs,\n helpLink,\n}) => {\n const { url: deliveriesUrl } = useRouteMatch();\n const history = useHistory();\n const { t } = useTranslation();\n const { webhookId, deliveryId } = useParams();\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const deliveriesPath = getDeliveriesPath(webhooksUrl);\n const deliveryDetailsPath = getDeliveryDetailsPath(deliveriesUrl);\n\n const {\n isLoading,\n isFetching,\n data: { totalCount, deliveries = [] } = {},\n } = useFetchDeliveries(webhookId, {\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const breadcrumbsWithoutWebhooksTitle = removeBy(\n { text: t(\"neetoWebhooks.webhook.title\") },\n hostBreadcrumbs\n );\n\n const breadcrumbs = [\n ...breadcrumbsWithoutWebhooksTitle,\n { link: webhooksUrl, text: t(\"neetoWebhooks.webhook.title\") },\n { link: window.location.pathname, text: t(\"neetoWebhooks.delivery.title\") },\n ];\n\n if (isLoading) {\n return (\n <div className=\"flex justify-center items-center w-full h-screen\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container className=\"w-full\">\n <Header\n {...{ breadcrumbs }}\n title={t(\"neetoWebhooks.delivery.title\")}\n titleHelpPopoverProps={{\n title: t(\"neetoWebhooks.delivery.title\"),\n description: t(\"neetoWebhooks.delivery.helpDescription\"),\n helpLinkProps: { href: helpLink },\n }}\n />\n {isNotEmpty(deliveries) ? (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <DataTable\n {...{ totalCount }}\n columns={buildColumns({ deliveryDetailsPath, page })}\n currentPage={Number(page)}\n data={deliveries}\n loading={isFetching}\n pageSize={DEFAULT_PAGE_SIZE}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex justify-center items-center w-full h-full\">\n <Empty\n description={t(\"neetoWebhooks.delivery.empty.description\")}\n icon={Send}\n title={t(\"neetoWebhooks.delivery.empty.title\")}\n />\n </div>\n )}\n <Details\n {...{ deliveryId }}\n webhookSid={webhookId}\n onClose={() =>\n history.replace(buildUrl(deliveriesPath, { webhookId, page }))\n }\n />\n </Container>\n );\n};\n\nexport default withReactQuery(Deliveries);\n","export const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\nexport const WEBHOOK_INITIAL_VALUES = {\n endpoint: \"\",\n events: [],\n secret: \"\",\n isActive: true,\n};\n","import { Checkbox } from \"@bigbinary/neeto-atoms\";\nimport { findIndexBy } from \"neetocist\";\n\nconst EventCheckbox = ({ events, values, arrayHelpers, onEventsChange }) => {\n const handleToggle = (isSelected, index, event) => {\n if (isSelected) {\n arrayHelpers.remove(index);\n } else {\n arrayHelpers.push(event);\n }\n onEventsChange?.();\n };\n\n return (\n <div>\n {events.map(event => {\n const index = findIndexBy(event, values.events ?? []);\n const isSelected = index > -1;\n\n return (\n <Checkbox\n checked={isSelected}\n className=\"my-4\"\n key={event.identifier}\n label={event.label}\n onCheckedChange={() => handleToggle(isSelected, index, event)}\n />\n );\n })}\n </div>\n );\n};\nexport default EventCheckbox;\n","import { useState, useRef } from \"react\";\n\nimport { Switch } from \"@bigbinary/neeto-atoms\";\n\nimport { useUpdateWebhook } from \"hooks/reactQuery/useWebhooksApi\";\n\nconst ToggleActiveSwitch = ({ isActive, webhookId }) => {\n const [status, setStatus] = useState(isActive);\n const previousStatusRef = useRef(isActive);\n\n const { mutate: updateWebhook } = useUpdateWebhook(webhookId, {\n onError: () => {\n // Revert to the previous state\n setStatus(previousStatusRef.current);\n },\n onSuccess: () => {\n // Update the previous status ref on successful update\n previousStatusRef.current = status;\n },\n });\n\n const handleToggle = updatedStatus => {\n // Store the current status as previous before changing\n previousStatusRef.current = status;\n setStatus(updatedStatus);\n updateWebhook({ id: webhookId, payload: { isActive: updatedStatus } });\n };\n\n return <Switch checked={status} onCheckedChange={handleToggle} />;\n};\n\nexport default ToggleActiveSwitch;\n","import { Badge, Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { findBy, removeById, snakeToCamelCase } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { assoc, pluck } from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\nimport * as yup from \"yup\";\n\nimport { MENU_ITEMS } from \"./constants\";\nimport ToggleActiveSwitch from \"./ToggleActiveSwitch\";\n\nconst getMenuItems = ({ onEdit, onDelete }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoWebhooks.buttons.edit\"),\n \"data-testid\": \"neeto-webhooks-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoWebhooks.buttons.delete\"),\n \"data-testid\": \"neeto-webhooks-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const getValidationSchema = webhooks =>\n yup.object().shape({\n endpoint: yup\n .string()\n .trim()\n .matches(\n /^(https?):\\/\\//i,\n t(\"neetoWebhooks.errors.webhook.invalidUrlProtocol\")\n )\n .url(t(\"neetoWebhooks.errors.webhook.invalidUrl\"))\n .required(t(\"neetoWebhooks.errors.webhook.required\"))\n .test(\n \"Is endpoint unique\",\n t(\"neetoWebhooks.errors.webhook.urlNotUnique\"),\n (endpoint, ctx) =>\n !pluck(\"endpoint\", removeById(ctx.parent.id, webhooks)).includes(\n endpoint?.trim()\n )\n ),\n events: yup\n .array()\n .default([])\n .min(1, t(\"neetoWebhooks.errors.webhook.events.required\")),\n secret: yup.string().trim().nullable(),\n });\n\nexport const buildEventsOptions = events =>\n events.map(event => ({\n label: t(`neetoWebhooks.webhooks.events.${snakeToCamelCase(event)}`),\n value: event,\n }));\n\nexport const buildPayload = ({ isEditing, values, initialValues }) => {\n const events = values.events.map(({ identifier }) => ({ identifier }));\n if (!isEditing) return { ...values, eventsAttributes: events };\n\n const deletable = (initialValues.events ?? [])\n .filter(({ identifier }) => !findBy({ identifier }, values.events))\n .map(assoc(\"_destroy\", true));\n\n const creatable = values.events.filter(\n ({ identifier }) => !findBy({ identifier }, initialValues.events)\n );\n\n return { ...values, eventsAttributes: [...creatable, ...deletable] };\n};\n\nexport const formatTimeUntilExpiration = expiresAt => {\n if (!expiresAt) return null;\n\n const now = new Date();\n const expiry = new Date(expiresAt);\n const diffMs = expiry - now;\n\n if (diffMs <= 0) return null;\n\n const diffHours = Math.floor(diffMs / (1000 * 60 * 60));\n const diffDays = Math.floor(diffHours / 24);\n\n if (diffDays > 0) {\n return t(\"neetoWebhooks.webhook.versionStatus.expiresIn.days\", {\n count: diffDays,\n });\n }\n const remainingHours = diffHours;\n const remainingMinutes = Math.floor(\n (diffMs % (1000 * 60 * 60)) / (1000 * 60)\n );\n\n return t(\"neetoWebhooks.webhook.versionStatus.expiresIn.hoursAndMinutes\", {\n hours: remainingHours,\n hoursPlural: remainingHours !== 1 ? \"s\" : \"\",\n minutes: remainingMinutes,\n minutesPlural: remainingMinutes !== 1 ? \"s\" : \"\",\n });\n};\n\nexport const formatExpiredDate = expiresAt => {\n if (!expiresAt) return null;\n\n const expiry = new Date(expiresAt);\n\n return t(\"neetoWebhooks.webhook.versionStatus.expiredOn\", {\n date: expiry.toLocaleDateString(),\n });\n};\n\nexport const buildColumns = ({ handleDelete, handleEdit, deliveriesPath }) => [\n {\n id: \"endpoint\",\n accessorKey: \"endpoint\",\n header: t(\"neetoWebhooks.common.endpoint\"),\n size: 700,\n cell: ({ row, getValue }) => {\n const webhook = row.original;\n\n return (\n <div className=\"flex items-center justify-between gap-3 w-full\">\n <Button\n className=\"min-w-0 justify-start text-left [&>span]:min-w-0 [&>span>span]:truncate shrink\"\n title={getValue()}\n to={buildUrl(deliveriesPath, { webhookId: webhook.sid })}\n variant=\"link\"\n >\n {getValue()}\n </Button>\n <MoreDropdown\n menuItems={getMenuItems({\n onEdit: () => handleEdit(webhook.id),\n onDelete: () => handleDelete(webhook.id),\n })}\n />\n </div>\n );\n },\n },\n {\n id: \"isActive\",\n accessorKey: \"isActive\",\n header: t(\"neetoWebhooks.webhook.active\"),\n size: 150,\n cell: ({ row, getValue }) => (\n <ToggleActiveSwitch isActive={getValue()} webhookId={row.original.id} />\n ),\n },\n {\n id: \"version\",\n accessorKey: \"version\",\n header: t(\"neetoWebhooks.webhook.version\"),\n size: 200,\n cell: ({ row, getValue }) => {\n const webhook = row.original;\n const timeMessage = webhook.versionExpired\n ? formatExpiredDate(webhook.versionExpiresAt)\n : formatTimeUntilExpiration(webhook.versionExpiresAt);\n\n return (\n <div className=\"flex flex-col space-y-1\">\n <div className=\"flex items-center space-x-2\">\n <span>{getValue()}</span>\n {webhook.versionExpired && <Badge variant=\"red\">expired</Badge>}\n {webhook.versionDeprecated && !webhook.versionExpired && (\n <Badge variant=\"amber\">deprecated</Badge>\n )}\n </div>\n {timeMessage && (\n <Typography color=\"muted\" variant=\"caption\">\n {timeMessage}.{\" \"}\n <a\n className=\"text-primary underline decoration-primary/40 underline-offset-4 hover:decoration-primary\"\n href={webhook.defaultVersionPayloadDocUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n {t(\"neetoWebhooks.webhook.versionStatus.moreDetails\")}\n </a>\n .\n </Typography>\n )}\n </div>\n );\n },\n },\n {\n id: \"events\",\n accessorKey: \"events\",\n header: t(\"neetoWebhooks.common.event\", PLURAL),\n size: 300,\n cell: ({ getValue }) => (\n <span className=\"whitespace-normal\">\n {pluck(\"label\", getValue()).sort().join(\", \")}\n </span>\n ),\n },\n];\n\nexport const generateRandomSecret = () => uuid().replace(/-/g, \"\");\n","import { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport {\n Button,\n Label,\n Sheet,\n Spinner,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport {\n ActionBlock,\n Form,\n Input,\n Textarea,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { FieldArray, ErrorMessage } from \"formik\";\nimport { Plus } from \"lucide-react\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchEvents } from \"hooks/reactQuery/useEventsApi\";\nimport {\n useCreateWebhook,\n useShowWebhook,\n useUpdateWebhook,\n} from \"hooks/reactQuery/useWebhooksApi\";\n\nimport { WEBHOOK_INITIAL_VALUES } from \"./constants\";\nimport EventCheckbox from \"./EventCheckbox\";\nimport {\n buildPayload,\n generateRandomSecret,\n getValidationSchema,\n} from \"./utils\";\n\nconst AddWebhookPane = ({\n editingWebhookId,\n entityId,\n entityType,\n isOpen,\n onClose,\n onCreate,\n webhooks,\n webhooksHelpLink,\n secretsHelpLink,\n}) => {\n const { t } = useTranslation();\n const [isSecretInputFieldVisible, setIsSecretInputFieldVisible] =\n useState(false);\n\n const { mutate: createWebhook } = useCreateWebhook({\n onSuccess: () => {\n onClose();\n onCreate?.();\n },\n });\n\n const { data: { webhook = {} } = {} } = useShowWebhook(editingWebhookId, {\n entityId,\n });\n\n const { mutate: updateWebhook } = useUpdateWebhook(editingWebhookId, {\n onSuccess: onClose,\n });\n const endpointRef = useRef();\n\n const { data: events = [], isLoading } = useFetchEvents();\n\n const initialValues = useMemo(\n () =>\n editingWebhookId\n ? {\n ...WEBHOOK_INITIAL_VALUES,\n ...webhook,\n events: Array.isArray(webhook?.events) ? webhook?.events : [],\n }\n : { ...WEBHOOK_INITIAL_VALUES, events },\n [editingWebhookId, webhook, events]\n );\n\n const isWebhookExpiredOrDeprecated =\n editingWebhookId && (webhook.versionExpired || webhook.versionDeprecated);\n\n const handleSubmit = values => {\n // Check if webhook is expired or deprecated before allowing edit\n if (\n editingWebhookId &&\n (webhook.versionExpired || webhook.versionDeprecated)\n ) {\n return;\n }\n\n const payload = buildPayload({\n isEditing: editingWebhookId,\n values,\n initialValues,\n });\n\n editingWebhookId\n ? updateWebhook({ id: editingWebhookId, payload, entityId })\n : createWebhook({ ...payload, entityId, entityType });\n };\n\n const handleClick = setFieldValue => {\n const randomWebhookSecret = generateRandomSecret();\n setFieldValue(\"secret\", randomWebhookSecret);\n setIsSecretInputFieldVisible(true);\n };\n\n const handleRegenerate = setFieldValue => {\n const randomWebhookSecret = generateRandomSecret();\n setFieldValue(\"secret\", randomWebhookSecret);\n };\n\n const handleDelete = setFieldValue => {\n setFieldValue(\"secret\", null);\n setIsSecretInputFieldVisible(false);\n };\n\n useEffect(() => {\n if (webhook?.secret) {\n setIsSecretInputFieldVisible(true);\n }\n }, [webhook]);\n\n return (\n <Sheet {...{ isOpen, onClose }} initialFocusRef={endpointRef} size=\"large\">\n <Sheet.Header>\n <Sheet.Title\n className=\"flex items-center gap-2\"\n data-testid=\"add-new-webhook-pane-header\"\n >\n {editingWebhookId\n ? t(\"neetoWebhooks.webhook.edit\")\n : t(\"neetoWebhooks.webhook.add\")}\n <HelpPopover\n description={t(\"neetoWebhooks.webhook.helpDescription\")}\n helpLinkProps={{ href: webhooksHelpLink }}\n title={t(\"neetoWebhooks.webhook.title\")}\n />\n </Sheet.Title>\n </Sheet.Header>\n <Form\n className=\"flex min-h-0 flex-1 flex-col\"\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema(webhooks),\n initialValues,\n onSubmit: values => handleSubmit(getValidationSchema().cast(values)),\n }}\n >\n {({ setFieldValue, setFieldTouched, values, isValid, dirty }) =>\n isLoading ? (\n <Sheet.Body>\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n </Sheet.Body>\n ) : (\n <>\n <Sheet.Body className=\"pb-6\">\n <div className=\"w-full space-y-4 md:space-y-6\">\n <Typography className=\"mb-4\" variant=\"body2\">\n {t(\"neetoWebhooks.webhook.postRequestIsSentToEndpointURL\")}\n </Typography>\n <Textarea\n required\n className=\"[&_textarea]:[field-sizing:content]!\"\n data-testid=\"endpoint-input-field\"\n label={t(\"neetoWebhooks.webhook.endpoint\")}\n name=\"endpoint\"\n placeholder={t(\"neetoWebhooks.webhook.endpointPlaceholder\")}\n ref={endpointRef}\n resize=\"none\"\n size=\"small\"\n />\n <div className=\"space-y-2\">\n <div className=\"flex items-center gap-x-2\">\n <Label>{t(\"neetoWebhooks.webhook.secret\")}</Label>\n <HelpPopover\n helpLinkProps={{ href: secretsHelpLink }}\n popoverProps={{ position: \"bottom\" }}\n title={t(\"neetoWebhooks.webhook.secretkeyHelpTitle\")}\n description={t(\n \"neetoWebhooks.webhook.secretkeyHelpDescription\"\n )}\n />\n </div>\n {isSecretInputFieldVisible ? (\n <div className=\"flex items-center justify-between space-x-2\">\n <Input\n data-testid=\"secret-key-input-field\"\n name=\"secret\"\n placeholder={t(\n \"neetoWebhooks.webhook.secretPlaceholder\"\n )}\n />\n <MoreDropdown\n menuItems={[\n {\n key: \"regenerate-secret\",\n label: t(\"neetoWebhooks.buttons.regenerate\"),\n \"data-testid\": \"regenerate-secret\",\n onClick: () => handleRegenerate(setFieldValue),\n },\n {\n key: \"delete-secret\",\n label: t(\"neetoWebhooks.buttons.delete\"),\n \"data-testid\": \"delete-secret\",\n onClick: () => handleDelete(setFieldValue),\n },\n ]}\n />\n </div>\n ) : (\n <Button\n data-testid=\"add-secret-key\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoWebhooks.buttons.generateSecretKey\")}\n variant=\"link\"\n onClick={() => handleClick(setFieldValue)}\n />\n )}\n </div>\n <div className=\"space-y-2\">\n <Label required>\n {t(\"neetoWebhooks.common.event\", PLURAL)}\n </Label>\n <FieldArray\n name=\"events\"\n render={arrayHelpers => (\n <EventCheckbox\n {...{ arrayHelpers, events, values }}\n onEventsChange={() => setFieldTouched(\"events\", true)}\n />\n )}\n />\n <ErrorMessage\n name=\"events\"\n render={msg => (\n <Typography\n className=\"mt-1\"\n color=\"destructive\"\n data-testid=\"event-error-text\"\n variant=\"caption\"\n >\n {msg}\n </Typography>\n )}\n />\n </div>\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{\n disabled:\n isWebhookExpiredOrDeprecated ||\n !isValid ||\n (editingWebhookId && !dirty),\n }}\n />\n </Sheet.Footer>\n </>\n )\n }\n </Form>\n </Sheet>\n );\n};\n\nexport default AddWebhookPane;\n","import { memo } from \"react\";\n\nimport { Typography, Button } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\n\nconst Header = withT(\n ({\n t,\n breadcrumbs,\n title,\n titleHelpPopoverProps,\n setIsAddWebhookPaneOpen,\n headerSize,\n webhooks,\n webhooksHelpLink,\n }) => (\n <>\n <NeetoHeader\n {...{ breadcrumbs }}\n size={headerSize}\n title={title || t(\"neetoWebhooks.webhook.title\")}\n actionBlock={\n <Button\n data-testid=\"add-new-webhook-button\"\n label={t(\"neetoWebhooks.webhook.add\")}\n onClick={() => setIsAddWebhookPaneOpen(true)}\n />\n }\n titleHelpPopoverProps={{\n description: t(\"neetoWebhooks.webhook.helpDescription\"),\n helpLinkProps: { href: webhooksHelpLink },\n title: t(\"neetoWebhooks.webhook.title\"),\n ...titleHelpPopoverProps,\n }}\n />\n {isNotEmpty(webhooks) && (\n <SubHeader\n leftActionBlock={\n <Typography as=\"h6\" variant=\"h6\">\n {t(\"neetoWebhooks.common.webhookWithCount\", {\n count: webhooks.length,\n })}\n </Typography>\n }\n />\n )}\n </>\n )\n);\n\nexport default memo(Header);\n","import { useCallback, useState } from \"react\";\n\nimport {\n Alert,\n Button,\n DataTable,\n Empty,\n Spinner,\n} from \"@bigbinary/neeto-atoms\";\nimport { Webhook } from \"lucide-react\";\nimport { isNotEmpty } from \"neetocist\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport Container from \"neetomolecules/v2/Container\";\nimport TableWrapper from \"neetomolecules/v2/TableWrapper\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchWebhooks,\n useDestroyWebhook,\n} from \"hooks/reactQuery/useWebhooksApi\";\nimport withReactQuery from \"v2/components/Common/withReactQuery\";\n\nimport AddWebhookPane from \"./AddWebhookPane\";\nimport Header from \"./Header\";\nimport { buildColumns } from \"./utils\";\n\nconst Webhooks = ({\n deliveriesPath,\n entityType,\n breadcrumbs,\n title,\n titleHelpPopoverProps,\n entityId,\n onCreate,\n onDelete,\n headerSize,\n containerClassName = \"\",\n webhooksHelpLink,\n secretsHelpLink,\n}) => {\n const [editingWebhookId, setEditingWebhookId] = useState(null);\n const [deletingWebhookId, setDeletingWebhookId] = useState(null);\n const [isAddWebhookPaneOpen, setIsAddWebhookPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n\n const { t } = useTranslation();\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n isLoading,\n isFetching,\n data: { webhooks = [], totalCount = 0 } = {},\n } = useFetchWebhooks({\n entityId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const { isPending: isDeleting, mutate: destroyWebhook } = useDestroyWebhook({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n onDelete?.();\n },\n });\n\n const handlePaneClose = () => {\n setEditingWebhookId(null);\n setIsAddWebhookPaneOpen(false);\n };\n\n const handleEdit = useCallback(id => {\n setEditingWebhookId(id);\n setIsAddWebhookPaneOpen(true);\n }, []);\n\n const handleDelete = useCallback(id => {\n setDeletingWebhookId(id);\n setIsDeleteAlertOpen(true);\n }, []);\n\n if (isLoading) {\n return (\n <div className=\"flex justify-center items-center w-full h-screen\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container className={containerClassName}>\n <Header\n {...{\n breadcrumbs,\n headerSize,\n setIsAddWebhookPaneOpen,\n title,\n titleHelpPopoverProps,\n webhooks,\n webhooksHelpLink,\n }}\n />\n {isNotEmpty(webhooks) ? (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <DataTable\n {...{ totalCount }}\n currentPage={Number(page)}\n data={webhooks}\n loading={isFetching}\n pageSize={DEFAULT_PAGE_SIZE}\n columns={buildColumns({\n handleDelete,\n handleEdit,\n deliveriesPath,\n })}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex justify-center items-center w-full h-full\">\n <Empty\n icon={Webhook}\n title={t(\"neetoWebhooks.webhook.empty\")}\n description={\n <Button\n href={webhooksHelpLink}\n label={t(\"neetoWebhooks.webhook.emptyHelpText\")}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n />\n }\n primaryButtonProps={{\n label: t(\"neetoWebhooks.webhook.add\"),\n onClick: () => setIsAddWebhookPaneOpen(true),\n }}\n />\n </div>\n )}\n <AddWebhookPane\n {...{\n editingWebhookId,\n entityId,\n entityType,\n onCreate,\n secretsHelpLink,\n webhooks,\n webhooksHelpLink,\n }}\n isOpen={isAddWebhookPaneOpen}\n onClose={handlePaneClose}\n />\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoWebhooks.buttons.delete\")}\n message={t(\"neetoWebhooks.alert.delete.message\", {\n entity: t(\"neetoWebhooks.entity.webhook\"),\n })}\n title={t(\"neetoWebhooks.alert.delete.title\", {\n entity: t(\"neetoWebhooks.entity.webhook\"),\n })}\n onClose={() => setIsDeleteAlertOpen(false)}\n onSubmit={() => destroyWebhook(deletingWebhookId, { entityId })}\n />\n </Container>\n );\n};\n\nexport default withReactQuery(Webhooks);\n","import { useEffect } from \"react\";\n\nimport { mergeRight } from \"ramda\";\nimport { Switch, Route, useRouteMatch } from \"react-router-dom\";\n\nimport { HELP_LINK_URLS } from \"src/constants/urls\";\nimport { getDeliveriesPath, getDeliveryDetailsPath } from \"utils/paths\";\nimport validateEntityProps from \"utils/validateEntityProps\";\n\nimport Deliveries from \"./Deliveries\";\nimport Webhooks from \"./Webhooks\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport \"../../stylesheets/main.css\";\n\nconst NeetoWebhooks = ({\n entityType,\n entityId,\n breadcrumbs = [],\n title,\n titleHelpPopoverProps,\n onCreate,\n onDelete,\n headerSize,\n containerClassName,\n helpLinkUrls = {},\n}) => {\n const { path: webhooksPath, url: webhooksUrl } = useRouteMatch();\n\n useEffect(\n () => validateEntityProps({ entityId, entityType }),\n [entityId, entityType]\n );\n\n const deliveriesPath = getDeliveriesPath(webhooksUrl);\n const deliveryDetailsPath = getDeliveryDetailsPath(deliveriesPath);\n const helpLinks = mergeRight(HELP_LINK_URLS, helpLinkUrls);\n\n return (\n <Switch>\n <Route\n exact\n path={webhooksPath}\n component={() => (\n <Webhooks\n {...{\n breadcrumbs,\n containerClassName,\n deliveriesPath,\n entityId,\n entityType,\n headerSize,\n onCreate,\n onDelete,\n title,\n titleHelpPopoverProps,\n }}\n secretsHelpLink={helpLinks.secrets}\n webhooksHelpLink={helpLinks.webhooks}\n />\n )}\n />\n <Route\n exact\n path={deliveryDetailsPath}\n render={() => (\n <Deliveries\n {...{ breadcrumbs, webhooksUrl }}\n helpLink={helpLinks.deliveries}\n />\n )}\n />\n <Route\n path={deliveriesPath}\n render={() => (\n <Deliveries\n {...{ breadcrumbs, webhooksUrl }}\n helpLink={helpLinks.deliveries}\n />\n )}\n />\n </Switch>\n );\n};\n\nexport default NeetoWebhooks;\n"],"names":["withReactQuery","Component","QueryWrapper","props","_jsxs","QueryClientProvider","client","queryClient","children","_jsx","_objectSpread","ReactQueryDevtools","initialIsOpen","position","DELIVERY_TAB","response","request","Snippet","_ref","_ref$dataTestid","dataTestid","className","TransactionDetails","delivery","_useState","useState","_useState2","_slicedToArray","activeHeader","setActiveHeader","_useTranslation","useTranslation","t","status","identifier","responseStatusCode","sid","renderPayload","JSON","stringify","parse","requestBody","_unused","Typography","variant","weight","Badge","Tabs","value","onValueChange","List","Item","Content","requestHeader","responseHeader","responseBody","Details","_delivery$webhook","onClose","deliveryId","webhookSid","_useRedeliverWebhook","useRedeliverWebhook","isRedelivering","isPending","redeliverWebhook","mutateAsync","_useShowDelivery","useShowDelivery","isLoading","_useShowDelivery$data","data","_useShowDelivery$data2","handleRedeliverClick","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stop","apply","arguments","Sheet","isOpen","isPresent","size","_Fragment","Spinner","Header","Title","DateFormat","Date","date","createdAt","tooltipProps","disabled","typographyProps","Time","Body","Footer","eventId","Button","webhook","versionExpired","label","loading","onClick","buildColumns","deliveryDetailsPath","page","id","accessorKey","header","cell","row","original","title","to","buildUrl","redelivery","_ref3","getValue","DateTime","_ref4","_row$original","SINGULAR","_ref5","_getValue","Deliveries","webhooksUrl","hostBreadcrumbs","breadcrumbs","helpLink","_useRouteMatch","useRouteMatch","deliveriesUrl","url","history","useHistory","_useParams","useParams","webhookId","_useQueryParams","useQueryParams","_useQueryParams$page","DEFAULT_PAGE_INDEX","deliveriesPath","getDeliveriesPath","getDeliveryDetailsPath","_useFetchDeliveries","useFetchDeliveries","pageSize","DEFAULT_PAGE_SIZE","isFetching","_useFetchDeliveries$d","_useFetchDeliveries$d2","totalCount","_useFetchDeliveries$d3","deliveries","breadcrumbsWithoutWebhooksTitle","removeBy","text","concat","_toConsumableArray","link","window","location","pathname","Container","titleHelpPopoverProps","description","helpLinkProps","href","isNotEmpty","TableWrapper","hasPagination","DataTable","columns","currentPage","Number","Empty","icon","Send","replace","MENU_ITEMS","EDIT","DELETE","WEBHOOK_INITIAL_VALUES","endpoint","events","secret","isActive","EventCheckbox","values","arrayHelpers","onEventsChange","handleToggle","isSelected","index","event","remove","push","map","_values$events","findIndexBy","Checkbox","checked","onCheckedChange","ToggleActiveSwitch","setStatus","previousStatusRef","useRef","_useUpdateWebhook","useUpdateWebhook","onError","current","onSuccess","updateWebhook","mutate","updatedStatus","payload","Switch","getMenuItems","onEdit","onDelete","key","getValidationSchema","webhooks","yup","object","shape","string","trim","matches","required","test","ctx","pluck","removeById","parent","includes","array","min","nullable","buildPayload","_initialValues$events","isEditing","initialValues","eventsAttributes","deletable","filter","findBy","assoc","creatable","formatTimeUntilExpiration","expiresAt","now","expiry","diffMs","diffHours","Math","floor","diffDays","count","remainingHours","remainingMinutes","hours","hoursPlural","minutes","minutesPlural","formatExpiredDate","toLocaleDateString","_ref6","handleDelete","handleEdit","_ref7","MoreDropdown","menuItems","_ref8","_ref9","timeMessage","versionExpiresAt","versionDeprecated","color","defaultVersionPayloadDocUrl","rel","target","PLURAL","_ref0","sort","join","generateRandomSecret","uuid","AddWebhookPane","editingWebhookId","entityId","entityType","onCreate","webhooksHelpLink","secretsHelpLink","isSecretInputFieldVisible","setIsSecretInputFieldVisible","_useCreateWebhook","useCreateWebhook","createWebhook","_useShowWebhook","useShowWebhook","_useShowWebhook$data","_useShowWebhook$data2","_useShowWebhook$data3","endpointRef","_useFetchEvents","useFetchEvents","_useFetchEvents$data","useMemo","Array","isArray","isWebhookExpiredOrDeprecated","handleSubmit","handleClick","setFieldValue","randomWebhookSecret","handleRegenerate","useEffect","initialFocusRef","HelpPopover","Form","formikProps","enableReinitialize","validationSchema","onSubmit","cast","setFieldTouched","isValid","dirty","Textarea","name","placeholder","ref","resize","Label","popoverProps","Input","Plus","iconPosition","FieldArray","render","ErrorMessage","msg","ActionBlock","cancelButtonProps","submitButtonProps","withT","setIsAddWebhookPaneOpen","headerSize","NeetoHeader","actionBlock","SubHeader","leftActionBlock","as","length","memo","Webhooks","_ref$containerClassNa","containerClassName","setEditingWebhookId","_useState3","_useState4","deletingWebhookId","setDeletingWebhookId","_useState5","_useState6","isAddWebhookPaneOpen","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useFetchWebhooks","useFetchWebhooks","_useFetchWebhooks$dat","_useFetchWebhooks$dat2","_useFetchWebhooks$dat3","_useFetchWebhooks$dat4","_useDestroyWebhook","useDestroyWebhook","isDeleting","destroyWebhook","handlePaneClose","useCallback","Webhook","primaryButtonProps","Alert","isSubmitting","submitButtonLabel","message","entity","NeetoWebhooks","_ref$breadcrumbs","_ref$helpLinkUrls","helpLinkUrls","webhooksPath","path","validateEntityProps","helpLinks","mergeRight","HELP_LINK_URLS","Route","exact","component","secrets"],"mappings":"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"}
package/dist/v2/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  export { default as NeetoWebhooks } from './NeetoWebhooks.js';
2
+ import 'react';
2
3
  import 'ramda';
3
4
  import 'react-router-dom';
4
- import '../main-CfvmjDDj.js';
5
+ import '../main-CcNqvzWi.js';
5
6
  import '@bigbinary/neeto-commons-frontend/initializers';
6
7
  import '@tanstack/react-query';
7
8
  import '@bigbinary/neeto-commons-frontend/constants';
@@ -25,7 +26,6 @@ import '@babel/runtime/helpers/asyncToGenerator';
25
26
  import '@babel/runtime/regenerator';
26
27
  import '@bigbinary/neeto-molecules/v2/DateFormat';
27
28
  import '@babel/runtime/helpers/slicedToArray';
28
- import 'react';
29
29
  import 'i18next';
30
30
  import '@bigbinary/neeto-atoms/formik';
31
31
  import 'formik';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-webhooks-frontend",
3
- "version": "3.0.13",
3
+ "version": "3.0.15",
4
4
  "description": "Manage webhooks across neeto products.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-webhooks-nano",
@@ -62,7 +62,7 @@
62
62
  }
63
63
  },
64
64
  "devDependencies": {
65
- "@babel/core": "7.26.0",
65
+ "@babel/core": "7.29.7",
66
66
  "@babel/eslint-parser": "7.25.9",
67
67
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
68
68
  "@babel/plugin-transform-runtime": "7.25.9",
@@ -71,14 +71,14 @@
71
71
  "@babel/preset-typescript": "7.26.0",
72
72
  "@babel/runtime": "7.29.7",
73
73
  "@bigbinary/babel-preset-neeto": "^1.0.3",
74
- "@bigbinary/eslint-plugin-neeto": "1.9.0",
75
- "@bigbinary/neeto-atoms": "1.0.84",
74
+ "@bigbinary/eslint-plugin-neeto": "1.9.1",
75
+ "@bigbinary/neeto-atoms": "1.0.117",
76
76
  "@bigbinary/neeto-cist": "1.0.17",
77
- "@bigbinary/neeto-commons-frontend": "4.13.132",
78
- "@bigbinary/neeto-filters-frontend": "4.3.39",
77
+ "@bigbinary/neeto-commons-frontend": "4.13.152",
78
+ "@bigbinary/neeto-filters-frontend": "4.3.43",
79
79
  "@bigbinary/neeto-icons": "1.20.89",
80
- "@bigbinary/neeto-molecules": "5.1.28",
81
- "@bigbinary/neetoui": "8.8.1",
80
+ "@bigbinary/neeto-molecules": "5.3.7",
81
+ "@bigbinary/neetoui": "8.8.3",
82
82
  "@emotion/is-prop-valid": "1.2.0",
83
83
  "@faker-js/faker": "8.2.0",
84
84
  "@honeybadger-io/js": "6.10.1",
@@ -96,7 +96,7 @@
96
96
  "@tanstack/react-query-devtools": "5.59.20",
97
97
  "antd": "5.22.1",
98
98
  "autoprefixer": "^10.4.5",
99
- "axios": "1.17.0",
99
+ "axios": "1.18.1",
100
100
  "babel-loader": "^8.2.5",
101
101
  "babel-plugin-istanbul": "^6.1.1",
102
102
  "babel-plugin-js-logger": "1.0.17",
@@ -140,7 +140,7 @@
140
140
  "mixpanel-browser": "2.47.0",
141
141
  "os-browserify": "0.3.0",
142
142
  "path-browserify": "^1.0.1",
143
- "postcss": "8.5.12",
143
+ "postcss": "8.5.23",
144
144
  "postcss-import": "^15.0.0",
145
145
  "postcss-loader": "^7.0.1",
146
146
  "postcss-preset-env": "7.8.2",
@@ -175,26 +175,26 @@
175
175
  "webpack": "5.104.1",
176
176
  "webpack-assets-manifest": "5.1.0",
177
177
  "webpack-cli": "5.1.4",
178
- "webpack-dev-server": "5.2.4",
178
+ "webpack-dev-server": "5.2.6",
179
179
  "yup": "0.32.11",
180
180
  "zustand": "4.4.2"
181
181
  },
182
182
  "peerDependencies": {
183
183
  "@babel/runtime": "7.29.7",
184
- "@bigbinary/neeto-atoms": "1.0.84",
184
+ "@bigbinary/neeto-atoms": "1.0.117",
185
185
  "@bigbinary/neeto-cist": "1.0.17",
186
- "@bigbinary/neeto-commons-frontend": "4.13.132",
187
- "@bigbinary/neeto-filters-frontend": "4.3.39",
186
+ "@bigbinary/neeto-commons-frontend": "4.13.152",
187
+ "@bigbinary/neeto-filters-frontend": "4.3.43",
188
188
  "@bigbinary/neeto-icons": "1.20.89",
189
- "@bigbinary/neeto-molecules": "5.1.28",
190
- "@bigbinary/neetoui": "8.8.1",
189
+ "@bigbinary/neeto-molecules": "5.3.7",
190
+ "@bigbinary/neetoui": "8.8.3",
191
191
  "@honeybadger-io/js": "6.10.1",
192
192
  "@honeybadger-io/react": "6.1.25",
193
193
  "@tailwindcss/container-queries": "0.1.1",
194
194
  "@tanstack/react-query": "5.59.20",
195
195
  "@tanstack/react-query-devtools": "5.59.20",
196
196
  "antd": "5.22.1",
197
- "axios": "1.17.0",
197
+ "axios": "1.18.1",
198
198
  "buffer": "^6.0.3",
199
199
  "classnames": "2.5.1",
200
200
  "crypto-browserify": "3.12.1",
package/types.d.ts CHANGED
@@ -7,7 +7,8 @@ type Breadcrumb = {
7
7
 
8
8
  export interface NeetoWebhooksProps {
9
9
  entityType: string;
10
- entityId?: string;
10
+ /** Required. The id of the record that owns these webhooks. */
11
+ entityId: string;
11
12
  breadcrumbs?: Breadcrumb[];
12
13
  title?: React.ReactNode;
13
14
  headerSize?: string;