@bigbinary/neeto-api-keys-frontend 2.3.7 → 2.3.8

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.
@@ -63,7 +63,8 @@
63
63
  },
64
64
  "validations": {
65
65
  "expiry": "$t(neetoApiKeys.fields.expiryDate) should be at least {{date}}",
66
- "required": "{{entity}} is required"
66
+ "required": "{{entity}} is required",
67
+ "maxLength": "{{entity}} must be at most {{max}} characters"
67
68
  },
68
69
  "tags": {
69
70
  "expired": "Expired",
package/dist/ApiKeys.js CHANGED
@@ -2,7 +2,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
3
  import { useState, useEffect, useRef } from 'react';
4
4
  import { t } from 'i18next';
5
- import { isNotEmpty, isPresent, humanize, isNotPresent } from '@bigbinary/neeto-cist';
5
+ import { isNotEmpty, truncate, isPresent, humanize, isNotPresent } from '@bigbinary/neeto-cist';
6
6
  import { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE, PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
7
7
  import { useMutationWithInvalidation, withT, withTitle, useQueryParams, useDebounce } from '@bigbinary/neeto-commons-frontend/react-utils';
8
8
  import Header from '@bigbinary/neeto-molecules/Header';
@@ -11,11 +11,10 @@ import Button from '@bigbinary/neetoui/Button';
11
11
  import { useTranslation, Trans } from 'react-i18next';
12
12
  import { isEmpty, prop } from 'ramda';
13
13
  import { useHistory } from 'react-router-dom';
14
- import { getQueryParams, buildUrl, dateFormat, dayjs as dayjs$1 } from '@bigbinary/neeto-commons-frontend/utils';
14
+ import { getQueryParams, buildUrl, dayjs, dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
15
15
  import { globalProps as globalProps$1 } from '@bigbinary/neeto-commons-frontend/initializers';
16
16
  import { useQuery } from '@tanstack/react-query';
17
17
  import axios from 'axios';
18
- import dayjs from 'dayjs';
19
18
  import * as yup from 'yup';
20
19
  import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
21
20
  import Pane from '@bigbinary/neetoui/Pane';
@@ -169,6 +168,7 @@ var API_KEY_TYPES = {
169
168
  GENERAL: "general",
170
169
  ZAPIER: "zapier"
171
170
  };
171
+ var LABEL_MAX_LENGTH = 150;
172
172
  var INITIAL_VALUES = {
173
173
  expiresAt: null,
174
174
  label: "",
@@ -186,6 +186,9 @@ var VALIDATION_SCHEMA = yup.object({
186
186
  }),
187
187
  label: yup.string().required(t("neetoApiKeys.validations.required", {
188
188
  entity: t("neetoApiKeys.fields.label")
189
+ })).max(LABEL_MAX_LENGTH, t("neetoApiKeys.validations.maxLength", {
190
+ entity: t("neetoApiKeys.fields.label"),
191
+ max: LABEL_MAX_LENGTH
189
192
  }))
190
193
  });
191
194
  var MENU_ITEMS = {
@@ -194,13 +197,13 @@ var MENU_ITEMS = {
194
197
  };
195
198
 
196
199
  var isInPast = function isInPast(date) {
197
- return dayjs$1(date).isBefore(dayjs$1());
200
+ return dayjs(date).isBefore(dayjs());
198
201
  };
199
202
  var partlyHideToken = function partlyHideToken(key) {
200
203
  return key.slice(-4).padStart(20, "*");
201
204
  };
202
205
  var formatExpiry = function formatExpiry(date) {
203
- return dayjs$1(date).diff(dayjs$1(), "day") <= 2 ? dateFormat.fromNow(date) : dateFormat.date(date);
206
+ return dayjs(date).diff(dayjs(), "day") <= 2 ? dateFormat.fromNow(date) : dateFormat.date(date);
204
207
  };
205
208
  var getMenuItems = function getMenuItems(_ref) {
206
209
  var onEdit = _ref.onEdit,
@@ -234,7 +237,8 @@ var buildColumnData = function buildColumnData(_ref2) {
234
237
  children: [/*#__PURE__*/jsx(Typography, {
235
238
  "data-cy": "api-keys-label-field",
236
239
  style: "body2",
237
- children: label
240
+ title: label,
241
+ children: truncate(label, 100)
238
242
  }), /*#__PURE__*/jsx(MoreDropdown, {
239
243
  dropdownProps: {
240
244
  strategy: "fixed",
@@ -332,7 +336,7 @@ var buildColumnData = function buildColumnData(_ref2) {
332
336
  return columns;
333
337
  };
334
338
  var getStartOfTime = function getStartOfTime(time, unit) {
335
- return dayjs$1(time).startOf(unit);
339
+ return dayjs(time).startOf(unit);
336
340
  };
337
341
 
338
342
  function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKeys.js","sources":["../app/javascript/src/utils/pagination.js","../app/javascript/src/hooks/usePagination.js","../app/javascript/src/constants/index.js","../app/javascript/src/apis/api_keys.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useApiKeysApi.js","../app/javascript/src/components/ApiKeys/constants.js","../app/javascript/src/components/ApiKeys/utils.jsx","../app/javascript/src/components/ApiKeys/Form/DatePicker.jsx","../app/javascript/src/components/ApiKeys/Form/index.jsx","../app/javascript/src/components/ApiKeys/Panes/Create.jsx","../app/javascript/src/components/ApiKeys/Panes/Update.jsx","../app/javascript/src/components/ApiKeys/Table.jsx","../app/javascript/src/components/ApiKeys/index.jsx"],"sourcesContent":["import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\n\nexport const getPageFromSearchParams = () => {\n const { page } = getQueryParams();\n\n return parseInt(page) || DEFAULT_PAGE_INDEX;\n};\n\nexport const setPageSearchParam = ({ page, history }) => {\n const searchParams = page !== DEFAULT_PAGE_INDEX && buildUrl(\"\", { page });\n\n history.push({ search: searchParams });\n};\n","import { useEffect, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { isEmpty } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getPageFromSearchParams, setPageSearchParam } from \"utils/pagination\";\n\nconst usePagination = ({ searchTerm }) => {\n const [currentPage, setCurrentPage] = useState(getPageFromSearchParams);\n\n const history = useHistory();\n\n useEffect(() => {\n handlePageChange(getPageFromSearchParams());\n }, []);\n\n useEffect(() => {\n if (isNotEmpty(searchTerm) && currentPage !== DEFAULT_PAGE_INDEX) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n }, [searchTerm]);\n\n const handlePageChange = page => {\n setCurrentPage(page);\n setPageSearchParam({ page, history });\n };\n\n const onFetchSuccess = ({ totalCount, apiKeys }) => {\n if (totalCount !== 0 && isEmpty(apiKeys)) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n };\n\n return { currentPage, handlePageChange, onFetchSuccess };\n};\n\nexport default usePagination;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const API_KEYS_BASE_URL = \"/neeto_api_keys_engine/api/v1/api_keys\";\nexport const HELP_DOC_URL = `https://help.${globalProps.appName.toLowerCase()}.com/articles/api-keys`;\n","import axios from \"axios\";\n\nimport { API_KEYS_BASE_URL } from \"src/constants\";\n\nconst fetch = params => axios.get(API_KEYS_BASE_URL, { params });\n\nconst create = payload => axios.post(API_KEYS_BASE_URL, { apiKey: payload });\n\nconst update = ({ id, payload }) =>\n axios.put(`${API_KEYS_BASE_URL}/${id}`, { apiKey: payload });\n\nconst destroy = ({ id, params }) =>\n axios.delete(`${API_KEYS_BASE_URL}/${id}`, { params });\n\nconst apiKeysApi = { fetch, create, update, destroy };\n\nexport default apiKeysApi;\n","export const QUERY_KEYS = { API_KEYS: \"api-keys\" };\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport apiKeysApi from \"apis/api_keys\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchApiKeys = ({ params, options = {} }) =>\n useQuery({\n queryKey: [QUERY_KEYS.API_KEYS, params],\n queryFn: () => apiKeysApi.fetch(params),\n ...options,\n });\n\nexport const useCreateApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.create, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n\nexport const useUpdateApiKey = onSuccess =>\n useMutationWithInvalidation(\n ({ id, payload }) => apiKeysApi.update({ id, payload }),\n { keysToInvalidate: [[QUERY_KEYS.API_KEYS]], onSuccess }\n );\n\nexport const useDeleteApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport * as yup from \"yup\";\n\nexport const API_KEY_TYPES = { GENERAL: \"general\", ZAPIER: \"zapier\" };\n\nexport const INITIAL_VALUES = {\n expiresAt: null,\n label: \"\",\n hasNoExpiry: true,\n type: API_KEY_TYPES.GENERAL,\n};\n\nexport const NEXT_DAY = dayjs().add(1, \"day\").startOf(\"day\");\n\nexport const VALIDATION_SCHEMA = yup.object({\n expiresAt: yup.date().when(\"hasNoExpiry\", (hasNoExpiry, field) =>\n hasNoExpiry\n ? field.nullable()\n : field\n .nullable()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.expiryDate\"),\n })\n )\n .min(\n NEXT_DAY,\n t(\"neetoApiKeys.validations.expiry\", {\n date: dateFormat.date(NEXT_DAY),\n })\n )\n ),\n label: yup.string().required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n })\n ),\n});\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { isPresent, humanize } from \"neetocist\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tag, Typography } from \"neetoui\";\n\nimport { MENU_ITEMS, API_KEY_TYPES } from \"./constants\";\n\nconst isInPast = date => dayjs(date).isBefore(dayjs());\nconst partlyHideToken = key => key.slice(-4).padStart(20, \"*\");\nconst formatExpiry = date =>\n dayjs(date).diff(dayjs(), \"day\") <= 2\n ? dateFormat.fromNow(date)\n : dateFormat.date(date);\n\nconst getMenuItems = ({ onEdit, onDelete, isEditVisible }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoApiKeys.buttons.edit\"),\n isVisible: isEditVisible,\n \"data-cy\": \"api-key-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoApiKeys.buttons.delete\"),\n \"data-cy\": \"api-key-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const buildColumnData = ({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n}) => {\n const columns = [\n {\n title: t(\"neetoApiKeys.table.headers.label\"),\n key: \"label\",\n dataIndex: \"label\",\n width: 200,\n render: (label, apiKey) => (\n <div className=\"flex items-center justify-between space-x-3\">\n <Typography data-cy=\"api-keys-label-field\" style=\"body2\">\n {label}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(apiKey),\n onDelete: () => handleDelete(apiKey),\n isEditVisible: apiKey.type === API_KEY_TYPES.GENERAL,\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.token\"),\n key: \"token\",\n dataIndex: \"token\",\n width: 300,\n render: token => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography data-cy=\"api-keys-token-field\" style=\"body2\">\n {partlyHideToken(token)}\n </Typography>\n <CopyToClipboardButton style=\"text\" value={token} />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.status\"),\n key: \"status\",\n width: 144,\n render: (_, { expiresAt }) =>\n isPresent(expiresAt) && isInPast(expiresAt) ? (\n <Tag style=\"warning\">{t(\"neetoApiKeys.tags.expired\")}</Tag>\n ) : (\n <Tag style=\"success\">{t(\"neetoApiKeys.tags.active\")}</Tag>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.expiresAt\"),\n key: \"expiresAt\",\n dataIndex: \"expiresAt\",\n width: 150,\n render: expiresAt => (\n <span data-cy=\"api-keys-expires-at-field\">\n {isPresent(expiresAt) ? (\n formatExpiry(expiresAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 200,\n render: createdAt => (\n <span data-cy=\"api-keys-created-at-field\">\n {isPresent(createdAt) ? (\n dateFormat.dateTime(createdAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n ];\n\n if (isZapierAvailable) {\n columns.splice(2, 0, {\n title: t(\"neetoApiKeys.table.headers.type\"),\n key: \"type\",\n dataIndex: \"type\",\n width: 144,\n render: type => <Typography style=\"body2\">{humanize(type)}</Typography>,\n });\n }\n\n return columns;\n};\n\nexport const getStartOfTime = (time, unit) => dayjs(time).startOf(unit);\n","import { Field } from \"formik\";\nimport { DatePicker as NeetoUIDatePicker } from \"neetoui\";\nimport { prop } from \"ramda\";\n\nimport { getStartOfTime } from \"../utils\";\n\nconst DatePicker = ({\n defaultValue,\n disabledDate,\n label,\n placeholder,\n name,\n disabled = false,\n}) => (\n <Field {...{ name }}>\n {({ field, meta, form: { setFieldValue } }) => (\n <NeetoUIDatePicker\n {...{ defaultValue, disabled, disabledDate, label, placeholder }}\n allowClear={false}\n className=\"w-full\"\n required\n error={meta.touched && meta.error}\n format={globalProps?.user?.dateFormat}\n getPopupContainer={prop(\"parentNode\")}\n {...field}\n onChange={date => {\n setFieldValue(field.name, getStartOfTime(date, \"day\"));\n }}\n />\n )}\n </Field>\n);\n\nexport default DatePicker;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Pane } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Input,\n Radio,\n Checkbox,\n ActionBlock,\n} from \"neetoui/formik\";\n\nimport DatePicker from \"./DatePicker\";\n\nimport {\n VALIDATION_SCHEMA,\n INITIAL_VALUES,\n NEXT_DAY,\n API_KEY_TYPES,\n} from \"../constants\";\n\nconst Form = withT(\n ({\n t,\n initialValues = INITIAL_VALUES,\n isSubmitting,\n onClose,\n onSubmit,\n initialFocusRef,\n isEdit = false,\n isZapierAvailable = false,\n }) => (\n <NeetoUIForm\n formikProps={{\n validationSchema: VALIDATION_SCHEMA,\n initialValues,\n onSubmit,\n }}\n >\n {({ setFieldValue, values: { hasNoExpiry, expiresAt, type } = {} }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n autoFocus\n required\n label={t(\"neetoApiKeys.fields.label\")}\n name=\"label\"\n placeholder={t(\"neetoApiKeys.placeholders.label\")}\n ref={initialFocusRef}\n />\n <div className=\"space-y-4\">\n {!isEdit && isZapierAvailable && (\n <Radio label={t(\"neetoApiKeys.common.type\")} name=\"type\">\n <Radio.Item\n label={t(\"neetoApiKeys.common.general\")}\n name=\"type\"\n value={API_KEY_TYPES.GENERAL}\n />\n <Radio.Item\n label={t(\"neetoApiKeys.common.zapier\")}\n name=\"type\"\n value={API_KEY_TYPES.ZAPIER}\n />\n </Radio>\n )}\n {type === API_KEY_TYPES.GENERAL && (\n <>\n {!hasNoExpiry && (\n <DatePicker\n defaultValue={expiresAt}\n disabledDate={date => date < NEXT_DAY}\n label={t(\"neetoApiKeys.fields.expiryDate\")}\n name=\"expiresAt\"\n placeholder={t(\n \"neetoApiKeys.placeholders.selectExpiryDate\"\n )}\n />\n )}\n <Checkbox\n checked={hasNoExpiry}\n label={t(\"neetoApiKeys.fields.neverExpire\")}\n name=\"hasNoExpiry\"\n onChange={() => {\n setFieldValue(\"expiresAt\", null);\n setFieldValue(\"hasNoExpiry\", !hasNoExpiry);\n }}\n />\n </>\n )}\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{ onClick: onClose }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n )\n);\n\nexport default Form;\n","import { useRef } from \"react\";\n\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\n\nimport Form from \"../Form\";\n\nconst Create = ({ onClose, helpDocUrl, isOpen, isZapierAvailable = false }) => {\n const initialFocusRef = useRef(null);\n const { mutate: createApiKey, isPending: isCreating } =\n useCreateApiKey(onClose);\n const { t } = useTranslation();\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.createApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, isZapierAvailable, onClose }}\n isSubmitting={isCreating}\n onSubmit={createApiKey}\n />\n </Pane>\n );\n};\n\nexport default Create;\n","import { useRef } from \"react\";\n\nimport { isNotEmpty, isNotPresent } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\n\nimport Form from \"../Form\";\n\nconst Update = ({ onClose, apiKey, helpDocUrl }) => {\n const initialFocusRef = useRef(null);\n const { mutate: updateApiKey, isPending: isUpdating } =\n useUpdateApiKey(onClose);\n const { t } = useTranslation();\n\n const handleUpdate = values => {\n updateApiKey({ id: apiKey.id, payload: values });\n };\n\n const initialValues = {\n ...apiKey,\n hasNoExpiry: isNotPresent(apiKey.expiresAt),\n };\n\n return (\n <Pane {...{ initialFocusRef, onClose }} isOpen={isNotEmpty(apiKey)}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.updateApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, initialValues, onClose }}\n isEdit\n isSubmitting={isUpdating}\n onSubmit={handleUpdate}\n />\n </Pane>\n );\n};\n\nexport default Update;\n","import { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table as NeetoUITable, NoData, Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { buildColumnData } from \"./utils\";\n\nconst Table = ({\n handleDelete,\n handleEdit,\n currentPage,\n setIsCreatePaneOpen,\n noDataProps = {},\n data,\n isLoading,\n isFetching,\n handlePageChange,\n isZapierAvailable,\n helpDocUrl,\n}) => {\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isEmpty(data?.apiKeys)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n className=\"w-full\"\n title={t(\"neetoApiKeys.noData.title\")}\n helpText={\n <Trans\n i18nKey=\"neetoApiKeys.noData.helpText\"\n components={{\n helpLink: (\n <Button href={helpDocUrl} style=\"link\" target=\"_blank\" />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoApiKeys.buttons.addApiKey\"),\n onClick: () => setIsCreatePaneOpen(true),\n }}\n {...noDataProps}\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > DEFAULT_PAGE_SIZE}>\n <NeetoUITable\n {...{ handlePageChange }}\n fixedHeight\n currentPageNumber={currentPage}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={data?.apiKeys}\n totalCount={data?.totalCount}\n columnData={buildColumnData({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n })}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport {\n useDebounce,\n useQueryParams,\n withTitle,\n} from \"neetocommons/react-utils\";\nimport Header from \"neetomolecules/Header\";\nimport { Alert, Button } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport usePagination from \"hooks/usePagination\";\nimport { HELP_DOC_URL } from \"src/constants\";\nimport {\n useDeleteApiKey,\n useFetchApiKeys,\n} from \"src/hooks/reactQuery/useApiKeysApi\";\n\nimport { API_KEY_TYPES } from \"./constants\";\nimport Create from \"./Panes/Create\";\nimport Update from \"./Panes/Update\";\nimport Table from \"./Table\";\n\nconst ApiKeys = ({\n noDataProps,\n headerProps,\n titleHelpPopoverProps,\n helpDocUrl = HELP_DOC_URL,\n zapierIntegrableType = \"Organization\",\n}) => {\n const [apiKeyToBeDeleted, setApiKeyToBeDeleted] = useState({});\n const [apiKeyToBeEdited, setApiKeyToBeEdited] = useState({});\n const [isCreatePaneOpen, setIsCreatePaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n\n const { mutate: deleteApiKey, isPending: isDeleting } = useDeleteApiKey(() =>\n setApiKeyToBeDeleted({})\n );\n\n const debouncedSearchTerm = useDebounce(searchTerm);\n\n const { currentPage, handlePageChange, onFetchSuccess } = usePagination({\n searchTerm: debouncedSearchTerm,\n });\n\n const queryParams = {\n searchTerm: debouncedSearchTerm,\n page: currentPage,\n pageSize: DEFAULT_PAGE_SIZE,\n };\n\n const { data, isLoading, isFetching } = useFetchApiKeys({\n params: { ...queryParams, zapierIntegrableType },\n });\n\n const showFilters = isPresent(debouncedSearchTerm) || data?.totalCount > 0;\n\n useEffect(() => {\n if (!data) return;\n onFetchSuccess(data);\n }, [data]);\n\n const { isZapierAvailable = false } = data || {};\n\n return (\n <div className=\"flex h-full w-full flex-col\">\n <Header\n title={t(\"neetoApiKeys.common.apiKey\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-api-key-button\"\n label={t(\"neetoApiKeys.buttons.addApiKey\")}\n onClick={() => setIsCreatePaneOpen(true)}\n />\n }\n searchProps={\n showFilters && {\n placeholder: t(\"neetoApiKeys.placeholders.search\"),\n }\n }\n titleHelpPopoverProps={{\n description: t(\"neetoApiKeys.tooltips.apiKeysDescription\"),\n helpLinkProps: { href: helpDocUrl },\n title: t(\"neetoApiKeys.tooltips.apiKeys\"),\n ...titleHelpPopoverProps,\n }}\n {...headerProps}\n />\n <Table\n {...{\n currentPage,\n data,\n handlePageChange,\n helpDocUrl,\n isFetching,\n isLoading,\n isZapierAvailable,\n noDataProps,\n setIsCreatePaneOpen,\n }}\n handleDelete={setApiKeyToBeDeleted}\n handleEdit={setApiKeyToBeEdited}\n />\n <Alert\n isOpen={isNotEmpty(apiKeyToBeDeleted)}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoApiKeys.buttons.delete\")}\n title={t(\"neetoApiKeys.alert.titles.deleteApiKey\")}\n message={\n <Trans\n components={{ bold: <strong /> }}\n values={{ name: apiKeyToBeDeleted.label }}\n i18nKey={\n apiKeyToBeDeleted.type === API_KEY_TYPES.ZAPIER\n ? \"neetoApiKeys.alert.descriptions.deleteZapierApiKey\"\n : \"neetoApiKeys.alert.descriptions.deleteApiKey\"\n }\n />\n }\n onClose={() => setApiKeyToBeDeleted({})}\n onSubmit={() =>\n deleteApiKey({\n id: apiKeyToBeDeleted.id,\n params: { type: apiKeyToBeDeleted.type },\n })\n }\n />\n <Create\n {...{ helpDocUrl, isZapierAvailable }}\n isOpen={isCreatePaneOpen}\n onClose={() => setIsCreatePaneOpen(false)}\n />\n <Update\n {...{ helpDocUrl }}\n apiKey={apiKeyToBeEdited}\n onClose={() => setApiKeyToBeEdited({})}\n />\n </div>\n );\n};\nexport default withTitle(ApiKeys, t(\"neetoApiKeys.common.apiKey\", PLURAL));\n"],"names":["getPageFromSearchParams","_getQueryParams","getQueryParams","page","parseInt","DEFAULT_PAGE_INDEX","setPageSearchParam","_ref","history","searchParams","buildUrl","push","search","usePagination","searchTerm","_useState","useState","_useState2","_slicedToArray","currentPage","setCurrentPage","useHistory","useEffect","handlePageChange","isNotEmpty","onFetchSuccess","_ref2","totalCount","apiKeys","isEmpty","API_KEYS_BASE_URL","HELP_DOC_URL","concat","globalProps","appName","toLowerCase","fetch","params","axios","get","create","payload","post","apiKey","update","id","put","destroy","apiKeysApi","QUERY_KEYS","API_KEYS","useFetchApiKeys","_ref$options","options","useQuery","_objectSpread","queryKey","queryFn","useCreateApiKey","onSuccess","useMutationWithInvalidation","keysToInvalidate","useUpdateApiKey","useDeleteApiKey","API_KEY_TYPES","GENERAL","ZAPIER","INITIAL_VALUES","expiresAt","label","hasNoExpiry","type","NEXT_DAY","dayjs","add","startOf","VALIDATION_SCHEMA","yup","object","date","when","field","nullable","required","t","entity","min","dateFormat","string","MENU_ITEMS","EDIT","DELETE","isInPast","isBefore","partlyHideToken","key","slice","padStart","formatExpiry","diff","fromNow","getMenuItems","onEdit","onDelete","isEditVisible","isVisible","onClick","buildColumnData","handleDelete","handleEdit","isZapierAvailable","columns","title","dataIndex","width","render","_jsxs","className","children","_jsx","Typography","style","MoreDropdown","dropdownProps","strategy","appendTo","document","body","menuItems","token","CopyToClipboardButton","value","_","_ref3","isPresent","Tag","createdAt","dateTime","splice","humanize","getStartOfTime","time","unit","DatePicker","defaultValue","disabledDate","placeholder","name","_ref$disabled","disabled","Field","_globalProps","meta","setFieldValue","form","NeetoUIDatePicker","allowClear","error","touched","format","user","getPopupContainer","prop","onChange","Form","withT","_ref$initialValues","initialValues","isSubmitting","onClose","onSubmit","initialFocusRef","_ref$isEdit","isEdit","_ref$isZapierAvailabl","NeetoUIForm","formikProps","validationSchema","_ref2$values","values","_ref2$values2","_Fragment","Pane","Body","Input","autoFocus","ref","Radio","Item","Checkbox","checked","Footer","ActionBlock","cancelButtonProps","Create","helpDocUrl","isOpen","useRef","_useCreateApiKey","createApiKey","mutate","isCreating","isPending","_useTranslation","useTranslation","Header","HelpPopover","description","helpLinkProps","href","Update","_useUpdateApiKey","updateApiKey","isUpdating","handleUpdate","isNotPresent","Table","setIsCreatePaneOpen","_ref$noDataProps","noDataProps","data","isLoading","isFetching","Spinner","NoData","helpText","Trans","i18nKey","components","helpLink","Button","target","primaryButtonProps","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","NeetoUITable","fixedHeight","currentPageNumber","defaultPageSize","loading","rowData","columnData","ApiKeys","headerProps","titleHelpPopoverProps","_ref$helpDocUrl","_ref$zapierIntegrable","zapierIntegrableType","apiKeyToBeDeleted","setApiKeyToBeDeleted","_useState3","_useState4","apiKeyToBeEdited","setApiKeyToBeEdited","_useState5","_useState6","isCreatePaneOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","_useDeleteApiKey","deleteApiKey","isDeleting","debouncedSearchTerm","useDebounce","_usePagination","queryParams","pageSize","_useFetchApiKeys","showFilters","_ref2$isZapierAvailab","PLURAL","actionBlock","searchProps","Alert","submitButtonLabel","message","bold","withTitle"],"mappings":"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"}
1
+ {"version":3,"file":"ApiKeys.js","sources":["../app/javascript/src/utils/pagination.js","../app/javascript/src/hooks/usePagination.js","../app/javascript/src/constants/index.js","../app/javascript/src/apis/api_keys.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useApiKeysApi.js","../app/javascript/src/components/ApiKeys/constants.js","../app/javascript/src/components/ApiKeys/utils.jsx","../app/javascript/src/components/ApiKeys/Form/DatePicker.jsx","../app/javascript/src/components/ApiKeys/Form/index.jsx","../app/javascript/src/components/ApiKeys/Panes/Create.jsx","../app/javascript/src/components/ApiKeys/Panes/Update.jsx","../app/javascript/src/components/ApiKeys/Table.jsx","../app/javascript/src/components/ApiKeys/index.jsx"],"sourcesContent":["import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\n\nexport const getPageFromSearchParams = () => {\n const { page } = getQueryParams();\n\n return parseInt(page) || DEFAULT_PAGE_INDEX;\n};\n\nexport const setPageSearchParam = ({ page, history }) => {\n const searchParams = page !== DEFAULT_PAGE_INDEX && buildUrl(\"\", { page });\n\n history.push({ search: searchParams });\n};\n","import { useEffect, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { isEmpty } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getPageFromSearchParams, setPageSearchParam } from \"utils/pagination\";\n\nconst usePagination = ({ searchTerm }) => {\n const [currentPage, setCurrentPage] = useState(getPageFromSearchParams);\n\n const history = useHistory();\n\n useEffect(() => {\n handlePageChange(getPageFromSearchParams());\n }, []);\n\n useEffect(() => {\n if (isNotEmpty(searchTerm) && currentPage !== DEFAULT_PAGE_INDEX) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n }, [searchTerm]);\n\n const handlePageChange = page => {\n setCurrentPage(page);\n setPageSearchParam({ page, history });\n };\n\n const onFetchSuccess = ({ totalCount, apiKeys }) => {\n if (totalCount !== 0 && isEmpty(apiKeys)) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n };\n\n return { currentPage, handlePageChange, onFetchSuccess };\n};\n\nexport default usePagination;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const API_KEYS_BASE_URL = \"/neeto_api_keys_engine/api/v1/api_keys\";\nexport const HELP_DOC_URL = `https://help.${globalProps.appName.toLowerCase()}.com/articles/api-keys`;\n","import axios from \"axios\";\n\nimport { API_KEYS_BASE_URL } from \"src/constants\";\n\nconst fetch = params => axios.get(API_KEYS_BASE_URL, { params });\n\nconst create = payload => axios.post(API_KEYS_BASE_URL, { apiKey: payload });\n\nconst update = ({ id, payload }) =>\n axios.put(`${API_KEYS_BASE_URL}/${id}`, { apiKey: payload });\n\nconst destroy = ({ id, params }) =>\n axios.delete(`${API_KEYS_BASE_URL}/${id}`, { params });\n\nconst apiKeysApi = { fetch, create, update, destroy };\n\nexport default apiKeysApi;\n","export const QUERY_KEYS = { API_KEYS: \"api-keys\" };\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport apiKeysApi from \"apis/api_keys\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchApiKeys = ({ params, options = {} }) =>\n useQuery({\n queryKey: [QUERY_KEYS.API_KEYS, params],\n queryFn: () => apiKeysApi.fetch(params),\n ...options,\n });\n\nexport const useCreateApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.create, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n\nexport const useUpdateApiKey = onSuccess =>\n useMutationWithInvalidation(\n ({ id, payload }) => apiKeysApi.update({ id, payload }),\n { keysToInvalidate: [[QUERY_KEYS.API_KEYS]], onSuccess }\n );\n\nexport const useDeleteApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n","import { t } from \"i18next\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport * as yup from \"yup\";\n\nexport const API_KEY_TYPES = { GENERAL: \"general\", ZAPIER: \"zapier\" };\n\nexport const LABEL_MAX_LENGTH = 150;\n\nexport const INITIAL_VALUES = {\n expiresAt: null,\n label: \"\",\n hasNoExpiry: true,\n type: API_KEY_TYPES.GENERAL,\n};\n\nexport const NEXT_DAY = dayjs().add(1, \"day\").startOf(\"day\");\n\nexport const VALIDATION_SCHEMA = yup.object({\n expiresAt: yup.date().when(\"hasNoExpiry\", (hasNoExpiry, field) =>\n hasNoExpiry\n ? field.nullable()\n : field\n .nullable()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.expiryDate\"),\n })\n )\n .min(\n NEXT_DAY,\n t(\"neetoApiKeys.validations.expiry\", {\n date: dateFormat.date(NEXT_DAY),\n })\n )\n ),\n label: yup\n .string()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n })\n )\n .max(\n LABEL_MAX_LENGTH,\n t(\"neetoApiKeys.validations.maxLength\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n max: LABEL_MAX_LENGTH,\n })\n ),\n});\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { isPresent, humanize, truncate } from \"neetocist\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tag, Typography } from \"neetoui\";\n\nimport { MENU_ITEMS, API_KEY_TYPES } from \"./constants\";\n\nconst isInPast = date => dayjs(date).isBefore(dayjs());\nconst partlyHideToken = key => key.slice(-4).padStart(20, \"*\");\nconst formatExpiry = date =>\n dayjs(date).diff(dayjs(), \"day\") <= 2\n ? dateFormat.fromNow(date)\n : dateFormat.date(date);\n\nconst getMenuItems = ({ onEdit, onDelete, isEditVisible }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoApiKeys.buttons.edit\"),\n isVisible: isEditVisible,\n \"data-cy\": \"api-key-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoApiKeys.buttons.delete\"),\n \"data-cy\": \"api-key-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const buildColumnData = ({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n}) => {\n const columns = [\n {\n title: t(\"neetoApiKeys.table.headers.label\"),\n key: \"label\",\n dataIndex: \"label\",\n width: 200,\n render: (label, apiKey) => (\n <div className=\"flex items-center justify-between space-x-3\">\n <Typography\n data-cy=\"api-keys-label-field\"\n style=\"body2\"\n title={label}\n >\n {truncate(label, 100)}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(apiKey),\n onDelete: () => handleDelete(apiKey),\n isEditVisible: apiKey.type === API_KEY_TYPES.GENERAL,\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.token\"),\n key: \"token\",\n dataIndex: \"token\",\n width: 300,\n render: token => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography data-cy=\"api-keys-token-field\" style=\"body2\">\n {partlyHideToken(token)}\n </Typography>\n <CopyToClipboardButton style=\"text\" value={token} />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.status\"),\n key: \"status\",\n width: 144,\n render: (_, { expiresAt }) =>\n isPresent(expiresAt) && isInPast(expiresAt) ? (\n <Tag style=\"warning\">{t(\"neetoApiKeys.tags.expired\")}</Tag>\n ) : (\n <Tag style=\"success\">{t(\"neetoApiKeys.tags.active\")}</Tag>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.expiresAt\"),\n key: \"expiresAt\",\n dataIndex: \"expiresAt\",\n width: 150,\n render: expiresAt => (\n <span data-cy=\"api-keys-expires-at-field\">\n {isPresent(expiresAt) ? (\n formatExpiry(expiresAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 200,\n render: createdAt => (\n <span data-cy=\"api-keys-created-at-field\">\n {isPresent(createdAt) ? (\n dateFormat.dateTime(createdAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n ];\n\n if (isZapierAvailable) {\n columns.splice(2, 0, {\n title: t(\"neetoApiKeys.table.headers.type\"),\n key: \"type\",\n dataIndex: \"type\",\n width: 144,\n render: type => <Typography style=\"body2\">{humanize(type)}</Typography>,\n });\n }\n\n return columns;\n};\n\nexport const getStartOfTime = (time, unit) => dayjs(time).startOf(unit);\n","import { Field } from \"formik\";\nimport { DatePicker as NeetoUIDatePicker } from \"neetoui\";\nimport { prop } from \"ramda\";\n\nimport { getStartOfTime } from \"../utils\";\n\nconst DatePicker = ({\n defaultValue,\n disabledDate,\n label,\n placeholder,\n name,\n disabled = false,\n}) => (\n <Field {...{ name }}>\n {({ field, meta, form: { setFieldValue } }) => (\n <NeetoUIDatePicker\n {...{ defaultValue, disabled, disabledDate, label, placeholder }}\n allowClear={false}\n className=\"w-full\"\n required\n error={meta.touched && meta.error}\n format={globalProps?.user?.dateFormat}\n getPopupContainer={prop(\"parentNode\")}\n {...field}\n onChange={date => {\n setFieldValue(field.name, getStartOfTime(date, \"day\"));\n }}\n />\n )}\n </Field>\n);\n\nexport default DatePicker;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Pane } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Input,\n Radio,\n Checkbox,\n ActionBlock,\n} from \"neetoui/formik\";\n\nimport DatePicker from \"./DatePicker\";\n\nimport {\n VALIDATION_SCHEMA,\n INITIAL_VALUES,\n NEXT_DAY,\n API_KEY_TYPES,\n} from \"../constants\";\n\nconst Form = withT(\n ({\n t,\n initialValues = INITIAL_VALUES,\n isSubmitting,\n onClose,\n onSubmit,\n initialFocusRef,\n isEdit = false,\n isZapierAvailable = false,\n }) => (\n <NeetoUIForm\n formikProps={{\n validationSchema: VALIDATION_SCHEMA,\n initialValues,\n onSubmit,\n }}\n >\n {({ setFieldValue, values: { hasNoExpiry, expiresAt, type } = {} }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n autoFocus\n required\n label={t(\"neetoApiKeys.fields.label\")}\n name=\"label\"\n placeholder={t(\"neetoApiKeys.placeholders.label\")}\n ref={initialFocusRef}\n />\n <div className=\"space-y-4\">\n {!isEdit && isZapierAvailable && (\n <Radio label={t(\"neetoApiKeys.common.type\")} name=\"type\">\n <Radio.Item\n label={t(\"neetoApiKeys.common.general\")}\n name=\"type\"\n value={API_KEY_TYPES.GENERAL}\n />\n <Radio.Item\n label={t(\"neetoApiKeys.common.zapier\")}\n name=\"type\"\n value={API_KEY_TYPES.ZAPIER}\n />\n </Radio>\n )}\n {type === API_KEY_TYPES.GENERAL && (\n <>\n {!hasNoExpiry && (\n <DatePicker\n defaultValue={expiresAt}\n disabledDate={date => date < NEXT_DAY}\n label={t(\"neetoApiKeys.fields.expiryDate\")}\n name=\"expiresAt\"\n placeholder={t(\n \"neetoApiKeys.placeholders.selectExpiryDate\"\n )}\n />\n )}\n <Checkbox\n checked={hasNoExpiry}\n label={t(\"neetoApiKeys.fields.neverExpire\")}\n name=\"hasNoExpiry\"\n onChange={() => {\n setFieldValue(\"expiresAt\", null);\n setFieldValue(\"hasNoExpiry\", !hasNoExpiry);\n }}\n />\n </>\n )}\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{ onClick: onClose }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n )\n);\n\nexport default Form;\n","import { useRef } from \"react\";\n\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\n\nimport Form from \"../Form\";\n\nconst Create = ({ onClose, helpDocUrl, isOpen, isZapierAvailable = false }) => {\n const initialFocusRef = useRef(null);\n const { mutate: createApiKey, isPending: isCreating } =\n useCreateApiKey(onClose);\n const { t } = useTranslation();\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.createApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, isZapierAvailable, onClose }}\n isSubmitting={isCreating}\n onSubmit={createApiKey}\n />\n </Pane>\n );\n};\n\nexport default Create;\n","import { useRef } from \"react\";\n\nimport { isNotEmpty, isNotPresent } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\n\nimport Form from \"../Form\";\n\nconst Update = ({ onClose, apiKey, helpDocUrl }) => {\n const initialFocusRef = useRef(null);\n const { mutate: updateApiKey, isPending: isUpdating } =\n useUpdateApiKey(onClose);\n const { t } = useTranslation();\n\n const handleUpdate = values => {\n updateApiKey({ id: apiKey.id, payload: values });\n };\n\n const initialValues = {\n ...apiKey,\n hasNoExpiry: isNotPresent(apiKey.expiresAt),\n };\n\n return (\n <Pane {...{ initialFocusRef, onClose }} isOpen={isNotEmpty(apiKey)}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.updateApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, initialValues, onClose }}\n isEdit\n isSubmitting={isUpdating}\n onSubmit={handleUpdate}\n />\n </Pane>\n );\n};\n\nexport default Update;\n","import { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table as NeetoUITable, NoData, Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { buildColumnData } from \"./utils\";\n\nconst Table = ({\n handleDelete,\n handleEdit,\n currentPage,\n setIsCreatePaneOpen,\n noDataProps = {},\n data,\n isLoading,\n isFetching,\n handlePageChange,\n isZapierAvailable,\n helpDocUrl,\n}) => {\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isEmpty(data?.apiKeys)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n className=\"w-full\"\n title={t(\"neetoApiKeys.noData.title\")}\n helpText={\n <Trans\n i18nKey=\"neetoApiKeys.noData.helpText\"\n components={{\n helpLink: (\n <Button href={helpDocUrl} style=\"link\" target=\"_blank\" />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoApiKeys.buttons.addApiKey\"),\n onClick: () => setIsCreatePaneOpen(true),\n }}\n {...noDataProps}\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > DEFAULT_PAGE_SIZE}>\n <NeetoUITable\n {...{ handlePageChange }}\n fixedHeight\n currentPageNumber={currentPage}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={data?.apiKeys}\n totalCount={data?.totalCount}\n columnData={buildColumnData({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n })}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport {\n useDebounce,\n useQueryParams,\n withTitle,\n} from \"neetocommons/react-utils\";\nimport Header from \"neetomolecules/Header\";\nimport { Alert, Button } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport usePagination from \"hooks/usePagination\";\nimport { HELP_DOC_URL } from \"src/constants\";\nimport {\n useDeleteApiKey,\n useFetchApiKeys,\n} from \"src/hooks/reactQuery/useApiKeysApi\";\n\nimport { API_KEY_TYPES } from \"./constants\";\nimport Create from \"./Panes/Create\";\nimport Update from \"./Panes/Update\";\nimport Table from \"./Table\";\n\nconst ApiKeys = ({\n noDataProps,\n headerProps,\n titleHelpPopoverProps,\n helpDocUrl = HELP_DOC_URL,\n zapierIntegrableType = \"Organization\",\n}) => {\n const [apiKeyToBeDeleted, setApiKeyToBeDeleted] = useState({});\n const [apiKeyToBeEdited, setApiKeyToBeEdited] = useState({});\n const [isCreatePaneOpen, setIsCreatePaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n\n const { mutate: deleteApiKey, isPending: isDeleting } = useDeleteApiKey(() =>\n setApiKeyToBeDeleted({})\n );\n\n const debouncedSearchTerm = useDebounce(searchTerm);\n\n const { currentPage, handlePageChange, onFetchSuccess } = usePagination({\n searchTerm: debouncedSearchTerm,\n });\n\n const queryParams = {\n searchTerm: debouncedSearchTerm,\n page: currentPage,\n pageSize: DEFAULT_PAGE_SIZE,\n };\n\n const { data, isLoading, isFetching } = useFetchApiKeys({\n params: { ...queryParams, zapierIntegrableType },\n });\n\n const showFilters = isPresent(debouncedSearchTerm) || data?.totalCount > 0;\n\n useEffect(() => {\n if (!data) return;\n onFetchSuccess(data);\n }, [data]);\n\n const { isZapierAvailable = false } = data || {};\n\n return (\n <div className=\"flex h-full w-full flex-col\">\n <Header\n title={t(\"neetoApiKeys.common.apiKey\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-api-key-button\"\n label={t(\"neetoApiKeys.buttons.addApiKey\")}\n onClick={() => setIsCreatePaneOpen(true)}\n />\n }\n searchProps={\n showFilters && {\n placeholder: t(\"neetoApiKeys.placeholders.search\"),\n }\n }\n titleHelpPopoverProps={{\n description: t(\"neetoApiKeys.tooltips.apiKeysDescription\"),\n helpLinkProps: { href: helpDocUrl },\n title: t(\"neetoApiKeys.tooltips.apiKeys\"),\n ...titleHelpPopoverProps,\n }}\n {...headerProps}\n />\n <Table\n {...{\n currentPage,\n data,\n handlePageChange,\n helpDocUrl,\n isFetching,\n isLoading,\n isZapierAvailable,\n noDataProps,\n setIsCreatePaneOpen,\n }}\n handleDelete={setApiKeyToBeDeleted}\n handleEdit={setApiKeyToBeEdited}\n />\n <Alert\n isOpen={isNotEmpty(apiKeyToBeDeleted)}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoApiKeys.buttons.delete\")}\n title={t(\"neetoApiKeys.alert.titles.deleteApiKey\")}\n message={\n <Trans\n components={{ bold: <strong /> }}\n values={{ name: apiKeyToBeDeleted.label }}\n i18nKey={\n apiKeyToBeDeleted.type === API_KEY_TYPES.ZAPIER\n ? \"neetoApiKeys.alert.descriptions.deleteZapierApiKey\"\n : \"neetoApiKeys.alert.descriptions.deleteApiKey\"\n }\n />\n }\n onClose={() => setApiKeyToBeDeleted({})}\n onSubmit={() =>\n deleteApiKey({\n id: apiKeyToBeDeleted.id,\n params: { type: apiKeyToBeDeleted.type },\n })\n }\n />\n <Create\n {...{ helpDocUrl, isZapierAvailable }}\n isOpen={isCreatePaneOpen}\n onClose={() => setIsCreatePaneOpen(false)}\n />\n <Update\n {...{ helpDocUrl }}\n apiKey={apiKeyToBeEdited}\n onClose={() => setApiKeyToBeEdited({})}\n />\n </div>\n );\n};\nexport default withTitle(ApiKeys, t(\"neetoApiKeys.common.apiKey\", PLURAL));\n"],"names":["getPageFromSearchParams","_getQueryParams","getQueryParams","page","parseInt","DEFAULT_PAGE_INDEX","setPageSearchParam","_ref","history","searchParams","buildUrl","push","search","usePagination","searchTerm","_useState","useState","_useState2","_slicedToArray","currentPage","setCurrentPage","useHistory","useEffect","handlePageChange","isNotEmpty","onFetchSuccess","_ref2","totalCount","apiKeys","isEmpty","API_KEYS_BASE_URL","HELP_DOC_URL","concat","globalProps","appName","toLowerCase","fetch","params","axios","get","create","payload","post","apiKey","update","id","put","destroy","apiKeysApi","QUERY_KEYS","API_KEYS","useFetchApiKeys","_ref$options","options","useQuery","_objectSpread","queryKey","queryFn","useCreateApiKey","onSuccess","useMutationWithInvalidation","keysToInvalidate","useUpdateApiKey","useDeleteApiKey","API_KEY_TYPES","GENERAL","ZAPIER","LABEL_MAX_LENGTH","INITIAL_VALUES","expiresAt","label","hasNoExpiry","type","NEXT_DAY","dayjs","add","startOf","VALIDATION_SCHEMA","yup","object","date","when","field","nullable","required","t","entity","min","dateFormat","string","max","MENU_ITEMS","EDIT","DELETE","isInPast","isBefore","partlyHideToken","key","slice","padStart","formatExpiry","diff","fromNow","getMenuItems","onEdit","onDelete","isEditVisible","isVisible","onClick","buildColumnData","handleDelete","handleEdit","isZapierAvailable","columns","title","dataIndex","width","render","_jsxs","className","children","_jsx","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","appendTo","document","body","menuItems","token","CopyToClipboardButton","value","_","_ref3","isPresent","Tag","createdAt","dateTime","splice","humanize","getStartOfTime","time","unit","DatePicker","defaultValue","disabledDate","placeholder","name","_ref$disabled","disabled","Field","_globalProps","meta","setFieldValue","form","NeetoUIDatePicker","allowClear","error","touched","format","user","getPopupContainer","prop","onChange","Form","withT","_ref$initialValues","initialValues","isSubmitting","onClose","onSubmit","initialFocusRef","_ref$isEdit","isEdit","_ref$isZapierAvailabl","NeetoUIForm","formikProps","validationSchema","_ref2$values","values","_ref2$values2","_Fragment","Pane","Body","Input","autoFocus","ref","Radio","Item","Checkbox","checked","Footer","ActionBlock","cancelButtonProps","Create","helpDocUrl","isOpen","useRef","_useCreateApiKey","createApiKey","mutate","isCreating","isPending","_useTranslation","useTranslation","Header","HelpPopover","description","helpLinkProps","href","Update","_useUpdateApiKey","updateApiKey","isUpdating","handleUpdate","isNotPresent","Table","setIsCreatePaneOpen","_ref$noDataProps","noDataProps","data","isLoading","isFetching","Spinner","NoData","helpText","Trans","i18nKey","components","helpLink","Button","target","primaryButtonProps","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","NeetoUITable","fixedHeight","currentPageNumber","defaultPageSize","loading","rowData","columnData","ApiKeys","headerProps","titleHelpPopoverProps","_ref$helpDocUrl","_ref$zapierIntegrable","zapierIntegrableType","apiKeyToBeDeleted","setApiKeyToBeDeleted","_useState3","_useState4","apiKeyToBeEdited","setApiKeyToBeEdited","_useState5","_useState6","isCreatePaneOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","_useDeleteApiKey","deleteApiKey","isDeleting","debouncedSearchTerm","useDebounce","_usePagination","queryParams","pageSize","_useFetchApiKeys","showFilters","_ref2$isZapierAvailab","PLURAL","actionBlock","searchProps","Alert","submitButtonLabel","message","bold","withTitle"],"mappings":"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"}
@@ -17,7 +17,6 @@ var utils = require('@bigbinary/neeto-commons-frontend/utils');
17
17
  var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
18
18
  var reactQuery = require('@tanstack/react-query');
19
19
  var axios = require('axios');
20
- var dayjs = require('dayjs');
21
20
  var yup = require('yup');
22
21
  var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
23
22
  var Pane = require('@bigbinary/neetoui/Pane');
@@ -190,13 +189,14 @@ var API_KEY_TYPES = {
190
189
  GENERAL: "general",
191
190
  ZAPIER: "zapier"
192
191
  };
192
+ var LABEL_MAX_LENGTH = 150;
193
193
  var INITIAL_VALUES = {
194
194
  expiresAt: null,
195
195
  label: "",
196
196
  hasNoExpiry: true,
197
197
  type: API_KEY_TYPES.GENERAL
198
198
  };
199
- var NEXT_DAY = dayjs().add(1, "day").startOf("day");
199
+ var NEXT_DAY = utils.dayjs().add(1, "day").startOf("day");
200
200
  var VALIDATION_SCHEMA = yup__namespace.object({
201
201
  expiresAt: yup__namespace.date().when("hasNoExpiry", function (hasNoExpiry, field) {
202
202
  return hasNoExpiry ? field.nullable() : field.nullable().required(i18next.t("neetoApiKeys.validations.required", {
@@ -207,6 +207,9 @@ var VALIDATION_SCHEMA = yup__namespace.object({
207
207
  }),
208
208
  label: yup__namespace.string().required(i18next.t("neetoApiKeys.validations.required", {
209
209
  entity: i18next.t("neetoApiKeys.fields.label")
210
+ })).max(LABEL_MAX_LENGTH, i18next.t("neetoApiKeys.validations.maxLength", {
211
+ entity: i18next.t("neetoApiKeys.fields.label"),
212
+ max: LABEL_MAX_LENGTH
210
213
  }))
211
214
  });
212
215
  var MENU_ITEMS = {
@@ -255,7 +258,8 @@ var buildColumnData = function buildColumnData(_ref2) {
255
258
  children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
256
259
  "data-cy": "api-keys-label-field",
257
260
  style: "body2",
258
- children: label
261
+ title: label,
262
+ children: neetoCist.truncate(label, 100)
259
263
  }), /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
260
264
  dropdownProps: {
261
265
  strategy: "fixed",
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKeys.js","sources":["../../app/javascript/src/utils/pagination.js","../../app/javascript/src/hooks/usePagination.js","../../app/javascript/src/constants/index.js","../../app/javascript/src/apis/api_keys.js","../../app/javascript/src/constants/query.js","../../app/javascript/src/hooks/reactQuery/useApiKeysApi.js","../../app/javascript/src/components/ApiKeys/constants.js","../../app/javascript/src/components/ApiKeys/utils.jsx","../../app/javascript/src/components/ApiKeys/Form/DatePicker.jsx","../../app/javascript/src/components/ApiKeys/Form/index.jsx","../../app/javascript/src/components/ApiKeys/Panes/Create.jsx","../../app/javascript/src/components/ApiKeys/Panes/Update.jsx","../../app/javascript/src/components/ApiKeys/Table.jsx","../../app/javascript/src/components/ApiKeys/index.jsx"],"sourcesContent":["import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\n\nexport const getPageFromSearchParams = () => {\n const { page } = getQueryParams();\n\n return parseInt(page) || DEFAULT_PAGE_INDEX;\n};\n\nexport const setPageSearchParam = ({ page, history }) => {\n const searchParams = page !== DEFAULT_PAGE_INDEX && buildUrl(\"\", { page });\n\n history.push({ search: searchParams });\n};\n","import { useEffect, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { isEmpty } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getPageFromSearchParams, setPageSearchParam } from \"utils/pagination\";\n\nconst usePagination = ({ searchTerm }) => {\n const [currentPage, setCurrentPage] = useState(getPageFromSearchParams);\n\n const history = useHistory();\n\n useEffect(() => {\n handlePageChange(getPageFromSearchParams());\n }, []);\n\n useEffect(() => {\n if (isNotEmpty(searchTerm) && currentPage !== DEFAULT_PAGE_INDEX) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n }, [searchTerm]);\n\n const handlePageChange = page => {\n setCurrentPage(page);\n setPageSearchParam({ page, history });\n };\n\n const onFetchSuccess = ({ totalCount, apiKeys }) => {\n if (totalCount !== 0 && isEmpty(apiKeys)) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n };\n\n return { currentPage, handlePageChange, onFetchSuccess };\n};\n\nexport default usePagination;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const API_KEYS_BASE_URL = \"/neeto_api_keys_engine/api/v1/api_keys\";\nexport const HELP_DOC_URL = `https://help.${globalProps.appName.toLowerCase()}.com/articles/api-keys`;\n","import axios from \"axios\";\n\nimport { API_KEYS_BASE_URL } from \"src/constants\";\n\nconst fetch = params => axios.get(API_KEYS_BASE_URL, { params });\n\nconst create = payload => axios.post(API_KEYS_BASE_URL, { apiKey: payload });\n\nconst update = ({ id, payload }) =>\n axios.put(`${API_KEYS_BASE_URL}/${id}`, { apiKey: payload });\n\nconst destroy = ({ id, params }) =>\n axios.delete(`${API_KEYS_BASE_URL}/${id}`, { params });\n\nconst apiKeysApi = { fetch, create, update, destroy };\n\nexport default apiKeysApi;\n","export const QUERY_KEYS = { API_KEYS: \"api-keys\" };\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport apiKeysApi from \"apis/api_keys\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchApiKeys = ({ params, options = {} }) =>\n useQuery({\n queryKey: [QUERY_KEYS.API_KEYS, params],\n queryFn: () => apiKeysApi.fetch(params),\n ...options,\n });\n\nexport const useCreateApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.create, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n\nexport const useUpdateApiKey = onSuccess =>\n useMutationWithInvalidation(\n ({ id, payload }) => apiKeysApi.update({ id, payload }),\n { keysToInvalidate: [[QUERY_KEYS.API_KEYS]], onSuccess }\n );\n\nexport const useDeleteApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport * as yup from \"yup\";\n\nexport const API_KEY_TYPES = { GENERAL: \"general\", ZAPIER: \"zapier\" };\n\nexport const INITIAL_VALUES = {\n expiresAt: null,\n label: \"\",\n hasNoExpiry: true,\n type: API_KEY_TYPES.GENERAL,\n};\n\nexport const NEXT_DAY = dayjs().add(1, \"day\").startOf(\"day\");\n\nexport const VALIDATION_SCHEMA = yup.object({\n expiresAt: yup.date().when(\"hasNoExpiry\", (hasNoExpiry, field) =>\n hasNoExpiry\n ? field.nullable()\n : field\n .nullable()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.expiryDate\"),\n })\n )\n .min(\n NEXT_DAY,\n t(\"neetoApiKeys.validations.expiry\", {\n date: dateFormat.date(NEXT_DAY),\n })\n )\n ),\n label: yup.string().required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n })\n ),\n});\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { isPresent, humanize } from \"neetocist\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tag, Typography } from \"neetoui\";\n\nimport { MENU_ITEMS, API_KEY_TYPES } from \"./constants\";\n\nconst isInPast = date => dayjs(date).isBefore(dayjs());\nconst partlyHideToken = key => key.slice(-4).padStart(20, \"*\");\nconst formatExpiry = date =>\n dayjs(date).diff(dayjs(), \"day\") <= 2\n ? dateFormat.fromNow(date)\n : dateFormat.date(date);\n\nconst getMenuItems = ({ onEdit, onDelete, isEditVisible }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoApiKeys.buttons.edit\"),\n isVisible: isEditVisible,\n \"data-cy\": \"api-key-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoApiKeys.buttons.delete\"),\n \"data-cy\": \"api-key-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const buildColumnData = ({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n}) => {\n const columns = [\n {\n title: t(\"neetoApiKeys.table.headers.label\"),\n key: \"label\",\n dataIndex: \"label\",\n width: 200,\n render: (label, apiKey) => (\n <div className=\"flex items-center justify-between space-x-3\">\n <Typography data-cy=\"api-keys-label-field\" style=\"body2\">\n {label}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(apiKey),\n onDelete: () => handleDelete(apiKey),\n isEditVisible: apiKey.type === API_KEY_TYPES.GENERAL,\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.token\"),\n key: \"token\",\n dataIndex: \"token\",\n width: 300,\n render: token => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography data-cy=\"api-keys-token-field\" style=\"body2\">\n {partlyHideToken(token)}\n </Typography>\n <CopyToClipboardButton style=\"text\" value={token} />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.status\"),\n key: \"status\",\n width: 144,\n render: (_, { expiresAt }) =>\n isPresent(expiresAt) && isInPast(expiresAt) ? (\n <Tag style=\"warning\">{t(\"neetoApiKeys.tags.expired\")}</Tag>\n ) : (\n <Tag style=\"success\">{t(\"neetoApiKeys.tags.active\")}</Tag>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.expiresAt\"),\n key: \"expiresAt\",\n dataIndex: \"expiresAt\",\n width: 150,\n render: expiresAt => (\n <span data-cy=\"api-keys-expires-at-field\">\n {isPresent(expiresAt) ? (\n formatExpiry(expiresAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 200,\n render: createdAt => (\n <span data-cy=\"api-keys-created-at-field\">\n {isPresent(createdAt) ? (\n dateFormat.dateTime(createdAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n ];\n\n if (isZapierAvailable) {\n columns.splice(2, 0, {\n title: t(\"neetoApiKeys.table.headers.type\"),\n key: \"type\",\n dataIndex: \"type\",\n width: 144,\n render: type => <Typography style=\"body2\">{humanize(type)}</Typography>,\n });\n }\n\n return columns;\n};\n\nexport const getStartOfTime = (time, unit) => dayjs(time).startOf(unit);\n","import { Field } from \"formik\";\nimport { DatePicker as NeetoUIDatePicker } from \"neetoui\";\nimport { prop } from \"ramda\";\n\nimport { getStartOfTime } from \"../utils\";\n\nconst DatePicker = ({\n defaultValue,\n disabledDate,\n label,\n placeholder,\n name,\n disabled = false,\n}) => (\n <Field {...{ name }}>\n {({ field, meta, form: { setFieldValue } }) => (\n <NeetoUIDatePicker\n {...{ defaultValue, disabled, disabledDate, label, placeholder }}\n allowClear={false}\n className=\"w-full\"\n required\n error={meta.touched && meta.error}\n format={globalProps?.user?.dateFormat}\n getPopupContainer={prop(\"parentNode\")}\n {...field}\n onChange={date => {\n setFieldValue(field.name, getStartOfTime(date, \"day\"));\n }}\n />\n )}\n </Field>\n);\n\nexport default DatePicker;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Pane } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Input,\n Radio,\n Checkbox,\n ActionBlock,\n} from \"neetoui/formik\";\n\nimport DatePicker from \"./DatePicker\";\n\nimport {\n VALIDATION_SCHEMA,\n INITIAL_VALUES,\n NEXT_DAY,\n API_KEY_TYPES,\n} from \"../constants\";\n\nconst Form = withT(\n ({\n t,\n initialValues = INITIAL_VALUES,\n isSubmitting,\n onClose,\n onSubmit,\n initialFocusRef,\n isEdit = false,\n isZapierAvailable = false,\n }) => (\n <NeetoUIForm\n formikProps={{\n validationSchema: VALIDATION_SCHEMA,\n initialValues,\n onSubmit,\n }}\n >\n {({ setFieldValue, values: { hasNoExpiry, expiresAt, type } = {} }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n autoFocus\n required\n label={t(\"neetoApiKeys.fields.label\")}\n name=\"label\"\n placeholder={t(\"neetoApiKeys.placeholders.label\")}\n ref={initialFocusRef}\n />\n <div className=\"space-y-4\">\n {!isEdit && isZapierAvailable && (\n <Radio label={t(\"neetoApiKeys.common.type\")} name=\"type\">\n <Radio.Item\n label={t(\"neetoApiKeys.common.general\")}\n name=\"type\"\n value={API_KEY_TYPES.GENERAL}\n />\n <Radio.Item\n label={t(\"neetoApiKeys.common.zapier\")}\n name=\"type\"\n value={API_KEY_TYPES.ZAPIER}\n />\n </Radio>\n )}\n {type === API_KEY_TYPES.GENERAL && (\n <>\n {!hasNoExpiry && (\n <DatePicker\n defaultValue={expiresAt}\n disabledDate={date => date < NEXT_DAY}\n label={t(\"neetoApiKeys.fields.expiryDate\")}\n name=\"expiresAt\"\n placeholder={t(\n \"neetoApiKeys.placeholders.selectExpiryDate\"\n )}\n />\n )}\n <Checkbox\n checked={hasNoExpiry}\n label={t(\"neetoApiKeys.fields.neverExpire\")}\n name=\"hasNoExpiry\"\n onChange={() => {\n setFieldValue(\"expiresAt\", null);\n setFieldValue(\"hasNoExpiry\", !hasNoExpiry);\n }}\n />\n </>\n )}\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{ onClick: onClose }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n )\n);\n\nexport default Form;\n","import { useRef } from \"react\";\n\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\n\nimport Form from \"../Form\";\n\nconst Create = ({ onClose, helpDocUrl, isOpen, isZapierAvailable = false }) => {\n const initialFocusRef = useRef(null);\n const { mutate: createApiKey, isPending: isCreating } =\n useCreateApiKey(onClose);\n const { t } = useTranslation();\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.createApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, isZapierAvailable, onClose }}\n isSubmitting={isCreating}\n onSubmit={createApiKey}\n />\n </Pane>\n );\n};\n\nexport default Create;\n","import { useRef } from \"react\";\n\nimport { isNotEmpty, isNotPresent } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\n\nimport Form from \"../Form\";\n\nconst Update = ({ onClose, apiKey, helpDocUrl }) => {\n const initialFocusRef = useRef(null);\n const { mutate: updateApiKey, isPending: isUpdating } =\n useUpdateApiKey(onClose);\n const { t } = useTranslation();\n\n const handleUpdate = values => {\n updateApiKey({ id: apiKey.id, payload: values });\n };\n\n const initialValues = {\n ...apiKey,\n hasNoExpiry: isNotPresent(apiKey.expiresAt),\n };\n\n return (\n <Pane {...{ initialFocusRef, onClose }} isOpen={isNotEmpty(apiKey)}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.updateApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, initialValues, onClose }}\n isEdit\n isSubmitting={isUpdating}\n onSubmit={handleUpdate}\n />\n </Pane>\n );\n};\n\nexport default Update;\n","import { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table as NeetoUITable, NoData, Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { buildColumnData } from \"./utils\";\n\nconst Table = ({\n handleDelete,\n handleEdit,\n currentPage,\n setIsCreatePaneOpen,\n noDataProps = {},\n data,\n isLoading,\n isFetching,\n handlePageChange,\n isZapierAvailable,\n helpDocUrl,\n}) => {\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isEmpty(data?.apiKeys)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n className=\"w-full\"\n title={t(\"neetoApiKeys.noData.title\")}\n helpText={\n <Trans\n i18nKey=\"neetoApiKeys.noData.helpText\"\n components={{\n helpLink: (\n <Button href={helpDocUrl} style=\"link\" target=\"_blank\" />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoApiKeys.buttons.addApiKey\"),\n onClick: () => setIsCreatePaneOpen(true),\n }}\n {...noDataProps}\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > DEFAULT_PAGE_SIZE}>\n <NeetoUITable\n {...{ handlePageChange }}\n fixedHeight\n currentPageNumber={currentPage}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={data?.apiKeys}\n totalCount={data?.totalCount}\n columnData={buildColumnData({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n })}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport {\n useDebounce,\n useQueryParams,\n withTitle,\n} from \"neetocommons/react-utils\";\nimport Header from \"neetomolecules/Header\";\nimport { Alert, Button } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport usePagination from \"hooks/usePagination\";\nimport { HELP_DOC_URL } from \"src/constants\";\nimport {\n useDeleteApiKey,\n useFetchApiKeys,\n} from \"src/hooks/reactQuery/useApiKeysApi\";\n\nimport { API_KEY_TYPES } from \"./constants\";\nimport Create from \"./Panes/Create\";\nimport Update from \"./Panes/Update\";\nimport Table from \"./Table\";\n\nconst ApiKeys = ({\n noDataProps,\n headerProps,\n titleHelpPopoverProps,\n helpDocUrl = HELP_DOC_URL,\n zapierIntegrableType = \"Organization\",\n}) => {\n const [apiKeyToBeDeleted, setApiKeyToBeDeleted] = useState({});\n const [apiKeyToBeEdited, setApiKeyToBeEdited] = useState({});\n const [isCreatePaneOpen, setIsCreatePaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n\n const { mutate: deleteApiKey, isPending: isDeleting } = useDeleteApiKey(() =>\n setApiKeyToBeDeleted({})\n );\n\n const debouncedSearchTerm = useDebounce(searchTerm);\n\n const { currentPage, handlePageChange, onFetchSuccess } = usePagination({\n searchTerm: debouncedSearchTerm,\n });\n\n const queryParams = {\n searchTerm: debouncedSearchTerm,\n page: currentPage,\n pageSize: DEFAULT_PAGE_SIZE,\n };\n\n const { data, isLoading, isFetching } = useFetchApiKeys({\n params: { ...queryParams, zapierIntegrableType },\n });\n\n const showFilters = isPresent(debouncedSearchTerm) || data?.totalCount > 0;\n\n useEffect(() => {\n if (!data) return;\n onFetchSuccess(data);\n }, [data]);\n\n const { isZapierAvailable = false } = data || {};\n\n return (\n <div className=\"flex h-full w-full flex-col\">\n <Header\n title={t(\"neetoApiKeys.common.apiKey\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-api-key-button\"\n label={t(\"neetoApiKeys.buttons.addApiKey\")}\n onClick={() => setIsCreatePaneOpen(true)}\n />\n }\n searchProps={\n showFilters && {\n placeholder: t(\"neetoApiKeys.placeholders.search\"),\n }\n }\n titleHelpPopoverProps={{\n description: t(\"neetoApiKeys.tooltips.apiKeysDescription\"),\n helpLinkProps: { href: helpDocUrl },\n title: t(\"neetoApiKeys.tooltips.apiKeys\"),\n ...titleHelpPopoverProps,\n }}\n {...headerProps}\n />\n <Table\n {...{\n currentPage,\n data,\n handlePageChange,\n helpDocUrl,\n isFetching,\n isLoading,\n isZapierAvailable,\n noDataProps,\n setIsCreatePaneOpen,\n }}\n handleDelete={setApiKeyToBeDeleted}\n handleEdit={setApiKeyToBeEdited}\n />\n <Alert\n isOpen={isNotEmpty(apiKeyToBeDeleted)}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoApiKeys.buttons.delete\")}\n title={t(\"neetoApiKeys.alert.titles.deleteApiKey\")}\n message={\n <Trans\n components={{ bold: <strong /> }}\n values={{ name: apiKeyToBeDeleted.label }}\n i18nKey={\n apiKeyToBeDeleted.type === API_KEY_TYPES.ZAPIER\n ? \"neetoApiKeys.alert.descriptions.deleteZapierApiKey\"\n : \"neetoApiKeys.alert.descriptions.deleteApiKey\"\n }\n />\n }\n onClose={() => setApiKeyToBeDeleted({})}\n onSubmit={() =>\n deleteApiKey({\n id: apiKeyToBeDeleted.id,\n params: { type: apiKeyToBeDeleted.type },\n })\n }\n />\n <Create\n {...{ helpDocUrl, isZapierAvailable }}\n isOpen={isCreatePaneOpen}\n onClose={() => setIsCreatePaneOpen(false)}\n />\n <Update\n {...{ helpDocUrl }}\n apiKey={apiKeyToBeEdited}\n onClose={() => setApiKeyToBeEdited({})}\n />\n </div>\n );\n};\nexport default withTitle(ApiKeys, t(\"neetoApiKeys.common.apiKey\", PLURAL));\n"],"names":["getPageFromSearchParams","_getQueryParams","getQueryParams","page","parseInt","DEFAULT_PAGE_INDEX","setPageSearchParam","_ref","history","searchParams","buildUrl","push","search","usePagination","searchTerm","_useState","useState","_useState2","_slicedToArray","currentPage","setCurrentPage","useHistory","useEffect","handlePageChange","isNotEmpty","onFetchSuccess","_ref2","totalCount","apiKeys","isEmpty","API_KEYS_BASE_URL","HELP_DOC_URL","concat","globalProps","appName","toLowerCase","fetch","params","axios","get","create","payload","post","apiKey","update","id","put","destroy","apiKeysApi","QUERY_KEYS","API_KEYS","useFetchApiKeys","_ref$options","options","useQuery","_objectSpread","queryKey","queryFn","useCreateApiKey","onSuccess","useMutationWithInvalidation","keysToInvalidate","useUpdateApiKey","useDeleteApiKey","API_KEY_TYPES","GENERAL","ZAPIER","INITIAL_VALUES","expiresAt","label","hasNoExpiry","type","NEXT_DAY","dayjs","add","startOf","VALIDATION_SCHEMA","yup","object","date","when","field","nullable","required","t","entity","min","dateFormat","string","MENU_ITEMS","EDIT","DELETE","isInPast","isBefore","partlyHideToken","key","slice","padStart","formatExpiry","diff","fromNow","getMenuItems","onEdit","onDelete","isEditVisible","isVisible","onClick","buildColumnData","handleDelete","handleEdit","isZapierAvailable","columns","title","dataIndex","width","render","_jsxs","className","children","_jsx","Typography","style","MoreDropdown","dropdownProps","strategy","appendTo","document","body","menuItems","token","CopyToClipboardButton","value","_","_ref3","isPresent","Tag","createdAt","dateTime","splice","humanize","getStartOfTime","time","unit","DatePicker","defaultValue","disabledDate","placeholder","name","_ref$disabled","disabled","Field","_globalProps","meta","setFieldValue","form","NeetoUIDatePicker","allowClear","error","touched","format","user","getPopupContainer","prop","onChange","Form","withT","_ref$initialValues","initialValues","isSubmitting","onClose","onSubmit","initialFocusRef","_ref$isEdit","isEdit","_ref$isZapierAvailabl","NeetoUIForm","formikProps","validationSchema","_ref2$values","values","_ref2$values2","_Fragment","Pane","Body","Input","autoFocus","ref","Radio","Item","Checkbox","checked","Footer","ActionBlock","cancelButtonProps","Create","helpDocUrl","isOpen","useRef","_useCreateApiKey","createApiKey","mutate","isCreating","isPending","_useTranslation","useTranslation","Header","HelpPopover","description","helpLinkProps","href","Update","_useUpdateApiKey","updateApiKey","isUpdating","handleUpdate","isNotPresent","Table","setIsCreatePaneOpen","_ref$noDataProps","noDataProps","data","isLoading","isFetching","Spinner","NoData","helpText","Trans","i18nKey","components","helpLink","Button","target","primaryButtonProps","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","NeetoUITable","fixedHeight","currentPageNumber","defaultPageSize","loading","rowData","columnData","ApiKeys","headerProps","titleHelpPopoverProps","_ref$helpDocUrl","_ref$zapierIntegrable","zapierIntegrableType","apiKeyToBeDeleted","setApiKeyToBeDeleted","_useState3","_useState4","apiKeyToBeEdited","setApiKeyToBeEdited","_useState5","_useState6","isCreatePaneOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","_useDeleteApiKey","deleteApiKey","isDeleting","debouncedSearchTerm","useDebounce","_usePagination","queryParams","pageSize","_useFetchApiKeys","showFilters","_ref2$isZapierAvailab","PLURAL","actionBlock","searchProps","Alert","submitButtonLabel","message","bold","withTitle"],"mappings":"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"}
1
+ {"version":3,"file":"ApiKeys.js","sources":["../../app/javascript/src/utils/pagination.js","../../app/javascript/src/hooks/usePagination.js","../../app/javascript/src/constants/index.js","../../app/javascript/src/apis/api_keys.js","../../app/javascript/src/constants/query.js","../../app/javascript/src/hooks/reactQuery/useApiKeysApi.js","../../app/javascript/src/components/ApiKeys/constants.js","../../app/javascript/src/components/ApiKeys/utils.jsx","../../app/javascript/src/components/ApiKeys/Form/DatePicker.jsx","../../app/javascript/src/components/ApiKeys/Form/index.jsx","../../app/javascript/src/components/ApiKeys/Panes/Create.jsx","../../app/javascript/src/components/ApiKeys/Panes/Update.jsx","../../app/javascript/src/components/ApiKeys/Table.jsx","../../app/javascript/src/components/ApiKeys/index.jsx"],"sourcesContent":["import { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\n\nexport const getPageFromSearchParams = () => {\n const { page } = getQueryParams();\n\n return parseInt(page) || DEFAULT_PAGE_INDEX;\n};\n\nexport const setPageSearchParam = ({ page, history }) => {\n const searchParams = page !== DEFAULT_PAGE_INDEX && buildUrl(\"\", { page });\n\n history.push({ search: searchParams });\n};\n","import { useEffect, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { isEmpty } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { getPageFromSearchParams, setPageSearchParam } from \"utils/pagination\";\n\nconst usePagination = ({ searchTerm }) => {\n const [currentPage, setCurrentPage] = useState(getPageFromSearchParams);\n\n const history = useHistory();\n\n useEffect(() => {\n handlePageChange(getPageFromSearchParams());\n }, []);\n\n useEffect(() => {\n if (isNotEmpty(searchTerm) && currentPage !== DEFAULT_PAGE_INDEX) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n }, [searchTerm]);\n\n const handlePageChange = page => {\n setCurrentPage(page);\n setPageSearchParam({ page, history });\n };\n\n const onFetchSuccess = ({ totalCount, apiKeys }) => {\n if (totalCount !== 0 && isEmpty(apiKeys)) {\n handlePageChange(DEFAULT_PAGE_INDEX);\n }\n };\n\n return { currentPage, handlePageChange, onFetchSuccess };\n};\n\nexport default usePagination;\n","import { globalProps } from \"neetocommons/initializers\";\n\nexport const API_KEYS_BASE_URL = \"/neeto_api_keys_engine/api/v1/api_keys\";\nexport const HELP_DOC_URL = `https://help.${globalProps.appName.toLowerCase()}.com/articles/api-keys`;\n","import axios from \"axios\";\n\nimport { API_KEYS_BASE_URL } from \"src/constants\";\n\nconst fetch = params => axios.get(API_KEYS_BASE_URL, { params });\n\nconst create = payload => axios.post(API_KEYS_BASE_URL, { apiKey: payload });\n\nconst update = ({ id, payload }) =>\n axios.put(`${API_KEYS_BASE_URL}/${id}`, { apiKey: payload });\n\nconst destroy = ({ id, params }) =>\n axios.delete(`${API_KEYS_BASE_URL}/${id}`, { params });\n\nconst apiKeysApi = { fetch, create, update, destroy };\n\nexport default apiKeysApi;\n","export const QUERY_KEYS = { API_KEYS: \"api-keys\" };\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport apiKeysApi from \"apis/api_keys\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchApiKeys = ({ params, options = {} }) =>\n useQuery({\n queryKey: [QUERY_KEYS.API_KEYS, params],\n queryFn: () => apiKeysApi.fetch(params),\n ...options,\n });\n\nexport const useCreateApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.create, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n\nexport const useUpdateApiKey = onSuccess =>\n useMutationWithInvalidation(\n ({ id, payload }) => apiKeysApi.update({ id, payload }),\n { keysToInvalidate: [[QUERY_KEYS.API_KEYS]], onSuccess }\n );\n\nexport const useDeleteApiKey = onSuccess =>\n useMutationWithInvalidation(apiKeysApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.API_KEYS]],\n onSuccess,\n });\n","import { t } from \"i18next\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport * as yup from \"yup\";\n\nexport const API_KEY_TYPES = { GENERAL: \"general\", ZAPIER: \"zapier\" };\n\nexport const LABEL_MAX_LENGTH = 150;\n\nexport const INITIAL_VALUES = {\n expiresAt: null,\n label: \"\",\n hasNoExpiry: true,\n type: API_KEY_TYPES.GENERAL,\n};\n\nexport const NEXT_DAY = dayjs().add(1, \"day\").startOf(\"day\");\n\nexport const VALIDATION_SCHEMA = yup.object({\n expiresAt: yup.date().when(\"hasNoExpiry\", (hasNoExpiry, field) =>\n hasNoExpiry\n ? field.nullable()\n : field\n .nullable()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.expiryDate\"),\n })\n )\n .min(\n NEXT_DAY,\n t(\"neetoApiKeys.validations.expiry\", {\n date: dateFormat.date(NEXT_DAY),\n })\n )\n ),\n label: yup\n .string()\n .required(\n t(\"neetoApiKeys.validations.required\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n })\n )\n .max(\n LABEL_MAX_LENGTH,\n t(\"neetoApiKeys.validations.maxLength\", {\n entity: t(\"neetoApiKeys.fields.label\"),\n max: LABEL_MAX_LENGTH,\n })\n ),\n});\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { isPresent, humanize, truncate } from \"neetocist\";\nimport { dayjs, dateFormat } from \"neetocommons/utils\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tag, Typography } from \"neetoui\";\n\nimport { MENU_ITEMS, API_KEY_TYPES } from \"./constants\";\n\nconst isInPast = date => dayjs(date).isBefore(dayjs());\nconst partlyHideToken = key => key.slice(-4).padStart(20, \"*\");\nconst formatExpiry = date =>\n dayjs(date).diff(dayjs(), \"day\") <= 2\n ? dateFormat.fromNow(date)\n : dateFormat.date(date);\n\nconst getMenuItems = ({ onEdit, onDelete, isEditVisible }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoApiKeys.buttons.edit\"),\n isVisible: isEditVisible,\n \"data-cy\": \"api-key-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoApiKeys.buttons.delete\"),\n \"data-cy\": \"api-key-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const buildColumnData = ({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n}) => {\n const columns = [\n {\n title: t(\"neetoApiKeys.table.headers.label\"),\n key: \"label\",\n dataIndex: \"label\",\n width: 200,\n render: (label, apiKey) => (\n <div className=\"flex items-center justify-between space-x-3\">\n <Typography\n data-cy=\"api-keys-label-field\"\n style=\"body2\"\n title={label}\n >\n {truncate(label, 100)}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(apiKey),\n onDelete: () => handleDelete(apiKey),\n isEditVisible: apiKey.type === API_KEY_TYPES.GENERAL,\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.token\"),\n key: \"token\",\n dataIndex: \"token\",\n width: 300,\n render: token => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography data-cy=\"api-keys-token-field\" style=\"body2\">\n {partlyHideToken(token)}\n </Typography>\n <CopyToClipboardButton style=\"text\" value={token} />\n </div>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.status\"),\n key: \"status\",\n width: 144,\n render: (_, { expiresAt }) =>\n isPresent(expiresAt) && isInPast(expiresAt) ? (\n <Tag style=\"warning\">{t(\"neetoApiKeys.tags.expired\")}</Tag>\n ) : (\n <Tag style=\"success\">{t(\"neetoApiKeys.tags.active\")}</Tag>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.expiresAt\"),\n key: \"expiresAt\",\n dataIndex: \"expiresAt\",\n width: 150,\n render: expiresAt => (\n <span data-cy=\"api-keys-expires-at-field\">\n {isPresent(expiresAt) ? (\n formatExpiry(expiresAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n {\n title: t(\"neetoApiKeys.table.headers.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 200,\n render: createdAt => (\n <span data-cy=\"api-keys-created-at-field\">\n {isPresent(createdAt) ? (\n dateFormat.dateTime(createdAt)\n ) : (\n <Typography style=\"body2\">\n {t(\"neetoApiKeys.common.never\")}\n </Typography>\n )}\n </span>\n ),\n },\n ];\n\n if (isZapierAvailable) {\n columns.splice(2, 0, {\n title: t(\"neetoApiKeys.table.headers.type\"),\n key: \"type\",\n dataIndex: \"type\",\n width: 144,\n render: type => <Typography style=\"body2\">{humanize(type)}</Typography>,\n });\n }\n\n return columns;\n};\n\nexport const getStartOfTime = (time, unit) => dayjs(time).startOf(unit);\n","import { Field } from \"formik\";\nimport { DatePicker as NeetoUIDatePicker } from \"neetoui\";\nimport { prop } from \"ramda\";\n\nimport { getStartOfTime } from \"../utils\";\n\nconst DatePicker = ({\n defaultValue,\n disabledDate,\n label,\n placeholder,\n name,\n disabled = false,\n}) => (\n <Field {...{ name }}>\n {({ field, meta, form: { setFieldValue } }) => (\n <NeetoUIDatePicker\n {...{ defaultValue, disabled, disabledDate, label, placeholder }}\n allowClear={false}\n className=\"w-full\"\n required\n error={meta.touched && meta.error}\n format={globalProps?.user?.dateFormat}\n getPopupContainer={prop(\"parentNode\")}\n {...field}\n onChange={date => {\n setFieldValue(field.name, getStartOfTime(date, \"day\"));\n }}\n />\n )}\n </Field>\n);\n\nexport default DatePicker;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Pane } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Input,\n Radio,\n Checkbox,\n ActionBlock,\n} from \"neetoui/formik\";\n\nimport DatePicker from \"./DatePicker\";\n\nimport {\n VALIDATION_SCHEMA,\n INITIAL_VALUES,\n NEXT_DAY,\n API_KEY_TYPES,\n} from \"../constants\";\n\nconst Form = withT(\n ({\n t,\n initialValues = INITIAL_VALUES,\n isSubmitting,\n onClose,\n onSubmit,\n initialFocusRef,\n isEdit = false,\n isZapierAvailable = false,\n }) => (\n <NeetoUIForm\n formikProps={{\n validationSchema: VALIDATION_SCHEMA,\n initialValues,\n onSubmit,\n }}\n >\n {({ setFieldValue, values: { hasNoExpiry, expiresAt, type } = {} }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n autoFocus\n required\n label={t(\"neetoApiKeys.fields.label\")}\n name=\"label\"\n placeholder={t(\"neetoApiKeys.placeholders.label\")}\n ref={initialFocusRef}\n />\n <div className=\"space-y-4\">\n {!isEdit && isZapierAvailable && (\n <Radio label={t(\"neetoApiKeys.common.type\")} name=\"type\">\n <Radio.Item\n label={t(\"neetoApiKeys.common.general\")}\n name=\"type\"\n value={API_KEY_TYPES.GENERAL}\n />\n <Radio.Item\n label={t(\"neetoApiKeys.common.zapier\")}\n name=\"type\"\n value={API_KEY_TYPES.ZAPIER}\n />\n </Radio>\n )}\n {type === API_KEY_TYPES.GENERAL && (\n <>\n {!hasNoExpiry && (\n <DatePicker\n defaultValue={expiresAt}\n disabledDate={date => date < NEXT_DAY}\n label={t(\"neetoApiKeys.fields.expiryDate\")}\n name=\"expiresAt\"\n placeholder={t(\n \"neetoApiKeys.placeholders.selectExpiryDate\"\n )}\n />\n )}\n <Checkbox\n checked={hasNoExpiry}\n label={t(\"neetoApiKeys.fields.neverExpire\")}\n name=\"hasNoExpiry\"\n onChange={() => {\n setFieldValue(\"expiresAt\", null);\n setFieldValue(\"hasNoExpiry\", !hasNoExpiry);\n }}\n />\n </>\n )}\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{ onClick: onClose }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n )\n);\n\nexport default Form;\n","import { useRef } from \"react\";\n\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\n\nimport Form from \"../Form\";\n\nconst Create = ({ onClose, helpDocUrl, isOpen, isZapierAvailable = false }) => {\n const initialFocusRef = useRef(null);\n const { mutate: createApiKey, isPending: isCreating } =\n useCreateApiKey(onClose);\n const { t } = useTranslation();\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.createApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, isZapierAvailable, onClose }}\n isSubmitting={isCreating}\n onSubmit={createApiKey}\n />\n </Pane>\n );\n};\n\nexport default Create;\n","import { useRef } from \"react\";\n\nimport { isNotEmpty, isNotPresent } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateApiKey } from \"hooks/reactQuery/useApiKeysApi\";\n\nimport Form from \"../Form\";\n\nconst Update = ({ onClose, apiKey, helpDocUrl }) => {\n const initialFocusRef = useRef(null);\n const { mutate: updateApiKey, isPending: isUpdating } =\n useUpdateApiKey(onClose);\n const { t } = useTranslation();\n\n const handleUpdate = values => {\n updateApiKey({ id: apiKey.id, payload: values });\n };\n\n const initialValues = {\n ...apiKey,\n hasNoExpiry: isNotPresent(apiKey.expiresAt),\n };\n\n return (\n <Pane {...{ initialFocusRef, onClose }} isOpen={isNotEmpty(apiKey)}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApiKeys.headers.updateApiKey\")}\n <HelpPopover\n className=\"ml-2\"\n description={t(\"neetoApiKeys.tooltips.apiKeysDescription\")}\n helpLinkProps={{ href: helpDocUrl }}\n title={t(\"neetoApiKeys.tooltips.apiKeys\")}\n />\n </Typography>\n </Pane.Header>\n <Form\n {...{ initialFocusRef, initialValues, onClose }}\n isEdit\n isSubmitting={isUpdating}\n onSubmit={handleUpdate}\n />\n </Pane>\n );\n};\n\nexport default Update;\n","import { DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table as NeetoUITable, NoData, Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { buildColumnData } from \"./utils\";\n\nconst Table = ({\n handleDelete,\n handleEdit,\n currentPage,\n setIsCreatePaneOpen,\n noDataProps = {},\n data,\n isLoading,\n isFetching,\n handlePageChange,\n isZapierAvailable,\n helpDocUrl,\n}) => {\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isEmpty(data?.apiKeys)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n className=\"w-full\"\n title={t(\"neetoApiKeys.noData.title\")}\n helpText={\n <Trans\n i18nKey=\"neetoApiKeys.noData.helpText\"\n components={{\n helpLink: (\n <Button href={helpDocUrl} style=\"link\" target=\"_blank\" />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoApiKeys.buttons.addApiKey\"),\n onClick: () => setIsCreatePaneOpen(true),\n }}\n {...noDataProps}\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > DEFAULT_PAGE_SIZE}>\n <NeetoUITable\n {...{ handlePageChange }}\n fixedHeight\n currentPageNumber={currentPage}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={data?.apiKeys}\n totalCount={data?.totalCount}\n columnData={buildColumnData({\n handleDelete,\n handleEdit,\n isZapierAvailable,\n })}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport {\n useDebounce,\n useQueryParams,\n withTitle,\n} from \"neetocommons/react-utils\";\nimport Header from \"neetomolecules/Header\";\nimport { Alert, Button } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport usePagination from \"hooks/usePagination\";\nimport { HELP_DOC_URL } from \"src/constants\";\nimport {\n useDeleteApiKey,\n useFetchApiKeys,\n} from \"src/hooks/reactQuery/useApiKeysApi\";\n\nimport { API_KEY_TYPES } from \"./constants\";\nimport Create from \"./Panes/Create\";\nimport Update from \"./Panes/Update\";\nimport Table from \"./Table\";\n\nconst ApiKeys = ({\n noDataProps,\n headerProps,\n titleHelpPopoverProps,\n helpDocUrl = HELP_DOC_URL,\n zapierIntegrableType = \"Organization\",\n}) => {\n const [apiKeyToBeDeleted, setApiKeyToBeDeleted] = useState({});\n const [apiKeyToBeEdited, setApiKeyToBeEdited] = useState({});\n const [isCreatePaneOpen, setIsCreatePaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n\n const { mutate: deleteApiKey, isPending: isDeleting } = useDeleteApiKey(() =>\n setApiKeyToBeDeleted({})\n );\n\n const debouncedSearchTerm = useDebounce(searchTerm);\n\n const { currentPage, handlePageChange, onFetchSuccess } = usePagination({\n searchTerm: debouncedSearchTerm,\n });\n\n const queryParams = {\n searchTerm: debouncedSearchTerm,\n page: currentPage,\n pageSize: DEFAULT_PAGE_SIZE,\n };\n\n const { data, isLoading, isFetching } = useFetchApiKeys({\n params: { ...queryParams, zapierIntegrableType },\n });\n\n const showFilters = isPresent(debouncedSearchTerm) || data?.totalCount > 0;\n\n useEffect(() => {\n if (!data) return;\n onFetchSuccess(data);\n }, [data]);\n\n const { isZapierAvailable = false } = data || {};\n\n return (\n <div className=\"flex h-full w-full flex-col\">\n <Header\n title={t(\"neetoApiKeys.common.apiKey\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-api-key-button\"\n label={t(\"neetoApiKeys.buttons.addApiKey\")}\n onClick={() => setIsCreatePaneOpen(true)}\n />\n }\n searchProps={\n showFilters && {\n placeholder: t(\"neetoApiKeys.placeholders.search\"),\n }\n }\n titleHelpPopoverProps={{\n description: t(\"neetoApiKeys.tooltips.apiKeysDescription\"),\n helpLinkProps: { href: helpDocUrl },\n title: t(\"neetoApiKeys.tooltips.apiKeys\"),\n ...titleHelpPopoverProps,\n }}\n {...headerProps}\n />\n <Table\n {...{\n currentPage,\n data,\n handlePageChange,\n helpDocUrl,\n isFetching,\n isLoading,\n isZapierAvailable,\n noDataProps,\n setIsCreatePaneOpen,\n }}\n handleDelete={setApiKeyToBeDeleted}\n handleEdit={setApiKeyToBeEdited}\n />\n <Alert\n isOpen={isNotEmpty(apiKeyToBeDeleted)}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoApiKeys.buttons.delete\")}\n title={t(\"neetoApiKeys.alert.titles.deleteApiKey\")}\n message={\n <Trans\n components={{ bold: <strong /> }}\n values={{ name: apiKeyToBeDeleted.label }}\n i18nKey={\n apiKeyToBeDeleted.type === API_KEY_TYPES.ZAPIER\n ? \"neetoApiKeys.alert.descriptions.deleteZapierApiKey\"\n : \"neetoApiKeys.alert.descriptions.deleteApiKey\"\n }\n />\n }\n onClose={() => setApiKeyToBeDeleted({})}\n onSubmit={() =>\n deleteApiKey({\n id: apiKeyToBeDeleted.id,\n params: { type: apiKeyToBeDeleted.type },\n })\n }\n />\n <Create\n {...{ helpDocUrl, isZapierAvailable }}\n isOpen={isCreatePaneOpen}\n onClose={() => setIsCreatePaneOpen(false)}\n />\n <Update\n {...{ helpDocUrl }}\n apiKey={apiKeyToBeEdited}\n onClose={() => setApiKeyToBeEdited({})}\n />\n </div>\n );\n};\nexport default withTitle(ApiKeys, t(\"neetoApiKeys.common.apiKey\", PLURAL));\n"],"names":["getPageFromSearchParams","_getQueryParams","getQueryParams","page","parseInt","DEFAULT_PAGE_INDEX","setPageSearchParam","_ref","history","searchParams","buildUrl","push","search","usePagination","searchTerm","_useState","useState","_useState2","_slicedToArray","currentPage","setCurrentPage","useHistory","useEffect","handlePageChange","isNotEmpty","onFetchSuccess","_ref2","totalCount","apiKeys","isEmpty","API_KEYS_BASE_URL","HELP_DOC_URL","concat","globalProps","appName","toLowerCase","fetch","params","axios","get","create","payload","post","apiKey","update","id","put","destroy","apiKeysApi","QUERY_KEYS","API_KEYS","useFetchApiKeys","_ref$options","options","useQuery","_objectSpread","queryKey","queryFn","useCreateApiKey","onSuccess","useMutationWithInvalidation","keysToInvalidate","useUpdateApiKey","useDeleteApiKey","API_KEY_TYPES","GENERAL","ZAPIER","LABEL_MAX_LENGTH","INITIAL_VALUES","expiresAt","label","hasNoExpiry","type","NEXT_DAY","dayjs","add","startOf","VALIDATION_SCHEMA","yup","object","date","when","field","nullable","required","t","entity","min","dateFormat","string","max","MENU_ITEMS","EDIT","DELETE","isInPast","isBefore","partlyHideToken","key","slice","padStart","formatExpiry","diff","fromNow","getMenuItems","onEdit","onDelete","isEditVisible","isVisible","onClick","buildColumnData","handleDelete","handleEdit","isZapierAvailable","columns","title","dataIndex","width","render","_jsxs","className","children","_jsx","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","appendTo","document","body","menuItems","token","CopyToClipboardButton","value","_","_ref3","isPresent","Tag","createdAt","dateTime","splice","humanize","getStartOfTime","time","unit","DatePicker","defaultValue","disabledDate","placeholder","name","_ref$disabled","disabled","Field","_globalProps","meta","setFieldValue","form","NeetoUIDatePicker","allowClear","error","touched","format","user","getPopupContainer","prop","onChange","Form","withT","_ref$initialValues","initialValues","isSubmitting","onClose","onSubmit","initialFocusRef","_ref$isEdit","isEdit","_ref$isZapierAvailabl","NeetoUIForm","formikProps","validationSchema","_ref2$values","values","_ref2$values2","_Fragment","Pane","Body","Input","autoFocus","ref","Radio","Item","Checkbox","checked","Footer","ActionBlock","cancelButtonProps","Create","helpDocUrl","isOpen","useRef","_useCreateApiKey","createApiKey","mutate","isCreating","isPending","_useTranslation","useTranslation","Header","HelpPopover","description","helpLinkProps","href","Update","_useUpdateApiKey","updateApiKey","isUpdating","handleUpdate","isNotPresent","Table","setIsCreatePaneOpen","_ref$noDataProps","noDataProps","data","isLoading","isFetching","Spinner","NoData","helpText","Trans","i18nKey","components","helpLink","Button","target","primaryButtonProps","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","NeetoUITable","fixedHeight","currentPageNumber","defaultPageSize","loading","rowData","columnData","ApiKeys","headerProps","titleHelpPopoverProps","_ref$helpDocUrl","_ref$zapierIntegrable","zapierIntegrableType","apiKeyToBeDeleted","setApiKeyToBeDeleted","_useState3","_useState4","apiKeyToBeEdited","setApiKeyToBeEdited","_useState5","_useState6","isCreatePaneOpen","_useQueryParams","useQueryParams","_useQueryParams$searc","_useDeleteApiKey","deleteApiKey","isDeleting","debouncedSearchTerm","useDebounce","_usePagination","queryParams","pageSize","_useFetchApiKeys","showFilters","_ref2$isZapierAvailab","PLURAL","actionBlock","searchProps","Alert","submitButtonLabel","message","bold","withTitle"],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -18,7 +18,6 @@ require('@bigbinary/neeto-commons-frontend/utils');
18
18
  require('@bigbinary/neeto-commons-frontend/initializers');
19
19
  require('@tanstack/react-query');
20
20
  require('axios');
21
- require('dayjs');
22
21
  require('yup');
23
22
  require('@bigbinary/neeto-molecules/HelpPopover');
24
23
  require('@bigbinary/neetoui/Pane');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -16,7 +16,6 @@ import '@bigbinary/neeto-commons-frontend/utils';
16
16
  import '@bigbinary/neeto-commons-frontend/initializers';
17
17
  import '@tanstack/react-query';
18
18
  import 'axios';
19
- import 'dayjs';
20
19
  import 'yup';
21
20
  import '@bigbinary/neeto-molecules/HelpPopover';
22
21
  import '@bigbinary/neetoui/Pane';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-api-keys-frontend",
3
- "version": "2.3.7",
3
+ "version": "2.3.8",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-api-keys-nano",
@@ -64,9 +64,9 @@
64
64
  "@bigbinary/eslint-plugin-neeto": "1.6.2",
65
65
  "@bigbinary/neeto-cist": "1.0.17",
66
66
  "@bigbinary/neeto-commons-frontend": "4.13.40",
67
- "@bigbinary/neeto-filters-frontend": "4.3.19",
67
+ "@bigbinary/neeto-filters-frontend": "4.3.20",
68
68
  "@bigbinary/neeto-icons": "1.20.47",
69
- "@bigbinary/neeto-molecules": "3.16.59",
69
+ "@bigbinary/neeto-molecules": "3.16.62",
70
70
  "@bigbinary/neetoui": "8.3.7",
71
71
  "@emotion/is-prop-valid": "1.2.0",
72
72
  "@faker-js/faker": "8.2.0",
@@ -176,9 +176,9 @@
176
176
  "@babel/runtime": "7.26.10",
177
177
  "@bigbinary/neeto-cist": "1.0.17",
178
178
  "@bigbinary/neeto-commons-frontend": "4.13.40",
179
- "@bigbinary/neeto-filters-frontend": "4.3.19",
179
+ "@bigbinary/neeto-filters-frontend": "4.3.20",
180
180
  "@bigbinary/neeto-icons": "1.20.47",
181
- "@bigbinary/neeto-molecules": "3.16.59",
181
+ "@bigbinary/neeto-molecules": "3.16.62",
182
182
  "@bigbinary/neetoui": "8.3.7",
183
183
  "@honeybadger-io/js": "6.10.1",
184
184
  "@honeybadger-io/react": "6.1.25",