@bigbinary/neeto-tags-frontend 2.2.21 → 2.2.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/{ManageTags-BvMl2M0f.js → ManageTags-CFM42WO_.js} +79 -12
  3. package/dist/ManageTags-CFM42WO_.js.map +1 -0
  4. package/dist/{ManageTags-BUiPK6YZ.js → ManageTags-CFXw6wzl.js} +89 -18
  5. package/dist/ManageTags-CFXw6wzl.js.map +1 -0
  6. package/dist/{ManageTags-bsOdDUhn.js → ManageTags-CGAXFtlq.js} +2 -2
  7. package/dist/{ManageTags-bsOdDUhn.js.map → ManageTags-CGAXFtlq.js.map} +1 -1
  8. package/dist/{ManageTags-CYzDoy3R.js → ManageTags-P1d9S9tg.js} +2 -2
  9. package/dist/{ManageTags-CYzDoy3R.js.map → ManageTags-P1d9S9tg.js.map} +1 -1
  10. package/dist/ManageTags.js +3 -2
  11. package/dist/ManageTags.js.map +1 -1
  12. package/dist/NeetoTags.js +3 -2
  13. package/dist/NeetoTags.js.map +1 -1
  14. package/dist/cjs/ManageTags.js +3 -2
  15. package/dist/cjs/ManageTags.js.map +1 -1
  16. package/dist/cjs/NeetoTags.js +3 -2
  17. package/dist/cjs/NeetoTags.js.map +1 -1
  18. package/dist/cjs/index.js +3 -2
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/utils.js +2 -1
  21. package/dist/cjs/utils.js.map +1 -1
  22. package/dist/cjs/v2/ManageTags.js +8 -8
  23. package/dist/cjs/v2/NeetoTags.js +26 -776
  24. package/dist/cjs/v2/NeetoTags.js.map +1 -1
  25. package/dist/cjs/v2/TagsComponent.js +4 -4
  26. package/dist/cjs/v2/TagsComponent.js.map +1 -1
  27. package/dist/cjs/v2/index.js +44 -0
  28. package/dist/cjs/v2/index.js.map +1 -0
  29. package/dist/cjs/v2/utils.js +779 -6
  30. package/dist/cjs/v2/utils.js.map +1 -1
  31. package/dist/{constants-D3pMaeWx.js → constants-5lgyQSti.js} +2 -2
  32. package/dist/constants-5lgyQSti.js.map +1 -0
  33. package/dist/constants-BP1u7ku6.js.map +1 -1
  34. package/dist/index.js +3 -2
  35. package/dist/index.js.map +1 -1
  36. package/dist/tags-BDnMlmxv.js +33 -0
  37. package/dist/tags-BDnMlmxv.js.map +1 -0
  38. package/dist/tags-D_m6a-Ua.js +35 -0
  39. package/dist/tags-D_m6a-Ua.js.map +1 -0
  40. package/dist/{useTagsApi-B5bQgPGu.js → useTagsApi-Aj-jpEtk.js} +2 -31
  41. package/dist/useTagsApi-Aj-jpEtk.js.map +1 -0
  42. package/dist/{useTagsApi-RJludSY5.js → useTagsApi-D97je1ET.js} +7 -36
  43. package/dist/useTagsApi-D97je1ET.js.map +1 -0
  44. package/dist/utils.js +2 -1
  45. package/dist/utils.js.map +1 -1
  46. package/dist/v2/ManageTags.js +8 -8
  47. package/dist/v2/NeetoTags.js +27 -777
  48. package/dist/v2/NeetoTags.js.map +1 -1
  49. package/dist/v2/TagsComponent.js +5 -5
  50. package/dist/v2/TagsComponent.js.map +1 -1
  51. package/dist/v2/index.js +35 -0
  52. package/dist/v2/index.js.map +1 -0
  53. package/dist/v2/utils.js +781 -5
  54. package/dist/v2/utils.js.map +1 -1
  55. package/package.json +12 -7
  56. package/dist/ManageTags-BUiPK6YZ.js.map +0 -1
  57. package/dist/ManageTags-BvMl2M0f.js.map +0 -1
  58. package/dist/constants-D3pMaeWx.js.map +0 -1
  59. package/dist/useTagsApi-B5bQgPGu.js.map +0 -1
  60. package/dist/useTagsApi-CaVQT--T.js +0 -110
  61. package/dist/useTagsApi-CaVQT--T.js.map +0 -1
  62. package/dist/useTagsApi-Cgu26Cq6.js +0 -103
  63. package/dist/useTagsApi-Cgu26Cq6.js.map +0 -1
  64. package/dist/useTagsApi-RJludSY5.js.map +0 -1
package/dist/.ready CHANGED
@@ -1 +1 @@
1
- Built at 2026-04-29T05:07:35.280Z
1
+ Built at 2026-05-05T15:42:12.064Z
@@ -1,16 +1,83 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import { useRef } from 'react';
3
- import { Sheet, Badge } from '@bigbinary/neeto-atoms';
4
- import { Form, FormikInput, FormikSelect, FormikTextarea, FormikActionBlock } from '@bigbinary/neeto-atoms/formik';
5
- import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX, SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
3
+ import { Toastr, Sheet, Badge } from '@bigbinary/neeto-atoms';
4
+ import { Form, Input, Select, Textarea, ActionBlock } from '@bigbinary/neeto-atoms/formik';
5
+ import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX, SINGULAR } from '@bigbinary/neeto-commons-frontend/v2/constants';
6
6
  import { useTranslation } from 'react-i18next';
7
+ import { T as TAG_KEY, S as STALE_TIME, I as INITIAL_TAG_VALUES, a as TAG_STYLE_OPTIONS, P as PANE_TYPES, b as TAG_STYLE_TO_BADGE_VARIANT } from './constants-5lgyQSti.js';
8
+ import { mergeLeft } from 'ramda';
9
+ import { QueryClient, QueryCache, useQuery, keepPreviousData } from '@tanstack/react-query';
10
+ import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
11
+ import { t as tagsApi } from './tags-BDnMlmxv.js';
7
12
  import { t } from 'i18next';
8
13
  import * as yup from 'yup';
9
- import { I as INITIAL_TAG_VALUES, T as TAG_STYLE_OPTIONS, P as PANE_TYPES, a as TAG_STYLE_TO_BADGE_VARIANT } from './constants-D3pMaeWx.js';
10
- import { mergeLeft } from 'ramda';
11
- import { u as useUpdateTag, a as useCreateTag } from './useTagsApi-Cgu26Cq6.js';
12
14
  import { jsxs, jsx } from 'react/jsx-runtime';
13
15
 
16
+ var queryClient = new QueryClient({
17
+ queryCache: new QueryCache({
18
+ onError: Toastr.error
19
+ })
20
+ });
21
+
22
+ function ownKeys$1(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; }
23
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ var useFetchTags = function useFetchTags(params) {
25
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
26
+ return useQuery(_objectSpread$1({
27
+ queryKey: [TAG_KEY, params],
28
+ queryFn: function queryFn() {
29
+ return tagsApi.fetch(params);
30
+ },
31
+ select: function select(response) {
32
+ return response.data || response;
33
+ },
34
+ staleTime: STALE_TIME,
35
+ placeholderData: keepPreviousData
36
+ }, options));
37
+ };
38
+ var useCreateTag = function useCreateTag() {
39
+ return useMutationWithInvalidation(function (_ref) {
40
+ var url = _ref.url,
41
+ payload = _ref.payload;
42
+ return tagsApi.create(url, payload);
43
+ }, {
44
+ keysToInvalidate: [[TAG_KEY]]
45
+ });
46
+ };
47
+ var useUpdateTag = function useUpdateTag() {
48
+ return useMutationWithInvalidation(function (_ref2) {
49
+ var url = _ref2.url,
50
+ id = _ref2.id,
51
+ payload = _ref2.payload;
52
+ return tagsApi.update(url, id, payload);
53
+ }, {
54
+ keysToInvalidate: [[TAG_KEY]]
55
+ });
56
+ };
57
+ var useDeleteTag = function useDeleteTag() {
58
+ return useMutationWithInvalidation(function (_ref3) {
59
+ var url = _ref3.url,
60
+ id = _ref3.id;
61
+ return tagsApi.destroy(url, id);
62
+ }, {
63
+ keysToInvalidate: [[TAG_KEY]]
64
+ });
65
+ };
66
+ var useMergeTags = function useMergeTags() {
67
+ return useMutationWithInvalidation(function (_ref4) {
68
+ var url = _ref4.url,
69
+ payload = _ref4.payload;
70
+ return tagsApi.merge(url, payload);
71
+ }, {
72
+ keysToInvalidate: [[TAG_KEY]]
73
+ });
74
+ };
75
+ var refetchTags = function refetchTags() {
76
+ return queryClient.invalidateQueries({
77
+ queryKey: [TAG_KEY]
78
+ });
79
+ };
80
+
14
81
  var TAG_NAME_MAX_LENGTH = 50;
15
82
  var TAG_DESCRIPTION_ROW_LENGTH = 3;
16
83
  var TAG_DESCRIPTION_MAX_LENGTH = 255;
@@ -134,20 +201,20 @@ var ManageTags = function ManageTags(_ref) {
134
201
  children: [/*#__PURE__*/jsx(Sheet.Body, {
135
202
  children: /*#__PURE__*/jsxs("div", {
136
203
  className: "flex w-full flex-col gap-4",
137
- children: [/*#__PURE__*/jsx(FormikInput, {
204
+ children: [/*#__PURE__*/jsx(Input, {
138
205
  required: true,
139
206
  "data-testid": "tag-name-text-field",
140
207
  label: t("neetoTags.common.name"),
141
208
  maxLength: TAG_NAME_MAX_LENGTH,
142
209
  name: "name",
143
210
  ref: inputReference
144
- }), /*#__PURE__*/jsx(FormikSelect, {
211
+ }), /*#__PURE__*/jsx(Select, {
145
212
  formatOptionLabel: renderTagStyleOption,
146
213
  isSearchable: false,
147
214
  label: t("neetoTags.common.style"),
148
215
  name: "style",
149
216
  options: TAG_STYLE_OPTIONS
150
- }), /*#__PURE__*/jsx(FormikTextarea, {
217
+ }), /*#__PURE__*/jsx(Textarea, {
151
218
  "data-testid": "tag-description-text-area",
152
219
  label: t("neetoTags.common.description"),
153
220
  maxLength: TAG_DESCRIPTION_MAX_LENGTH,
@@ -156,7 +223,7 @@ var ManageTags = function ManageTags(_ref) {
156
223
  })]
157
224
  })
158
225
  }), /*#__PURE__*/jsx(Sheet.Footer, {
159
- children: /*#__PURE__*/jsx(FormikActionBlock, {
226
+ children: /*#__PURE__*/jsx(ActionBlock, {
160
227
  isSubmitting: isSubmitting,
161
228
  cancelButtonProps: {
162
229
  "data-testid": "neeto-tags-manage-tag-cancel-button",
@@ -171,5 +238,5 @@ var ManageTags = function ManageTags(_ref) {
171
238
  });
172
239
  };
173
240
 
174
- export { DEFAULT_FILTERS as D, ManageTags as M, NEETO_FILTERS as N };
175
- //# sourceMappingURL=ManageTags-BvMl2M0f.js.map
241
+ export { DEFAULT_FILTERS as D, ManageTags as M, NEETO_FILTERS as N, useDeleteTag as a, useMergeTags as b, refetchTags as r, useFetchTags as u };
242
+ //# sourceMappingURL=ManageTags-CFM42WO_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManageTags-CFM42WO_.js","sources":["../app/javascript/src/v2/common/queryClient.js","../app/javascript/src/v2/hooks/useTagsApi.js","../app/javascript/src/v2/components/Dashboard/constants.js","../app/javascript/src/v2/hooks/useTagsForm.js","../app/javascript/src/v2/components/Dashboard/ManageTags.jsx"],"sourcesContent":["import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport { QueryClient, QueryCache } from \"@tanstack/react-query\";\n\nconst queryClient = new QueryClient({\n queryCache: new QueryCache({ onError: Toastr.error }),\n});\n\nexport default queryClient;\n","import { useQuery, keepPreviousData } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/v2/react-utils\";\n\nimport tagsApi from \"apis/tags\";\nimport { STALE_TIME, TAG_KEY } from \"v2/common/constants\";\n// eslint-disable-next-line @bigbinary/neeto/use-use-query-client-hook\nimport queryClient from \"v2/common/queryClient\";\n\nconst useFetchTags = (params, options = {}) =>\n useQuery({\n queryKey: [TAG_KEY, params],\n queryFn: () => tagsApi.fetch(params),\n select: response => response.data || response,\n staleTime: STALE_TIME,\n placeholderData: keepPreviousData,\n ...options,\n });\n\nconst useCreateTag = () =>\n useMutationWithInvalidation(\n ({ url, payload }) => tagsApi.create(url, payload),\n { keysToInvalidate: [[TAG_KEY]] }\n );\n\nconst useUpdateTag = () =>\n useMutationWithInvalidation(\n ({ url, id, payload }) => tagsApi.update(url, id, payload),\n { keysToInvalidate: [[TAG_KEY]] }\n );\n\nconst useDeleteTag = () =>\n useMutationWithInvalidation(({ url, id }) => tagsApi.destroy(url, id), {\n keysToInvalidate: [[TAG_KEY]],\n });\n\nconst useMergeTags = () =>\n useMutationWithInvalidation(\n ({ url, payload }) => tagsApi.merge(url, payload),\n { keysToInvalidate: [[TAG_KEY]] }\n );\n\nconst refetchTags = () =>\n queryClient.invalidateQueries({ queryKey: [TAG_KEY] });\n\nexport {\n useFetchTags,\n useCreateTag,\n useUpdateTag,\n useDeleteTag,\n useMergeTags,\n refetchTags,\n};\n","import { t } from \"i18next\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: response => {\n !isEdit && goToFirstPage?.();\n tagOperation?.onSuccess?.callback(response);\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { Badge, Sheet } from \"@bigbinary/neeto-atoms\";\nimport {\n ActionBlock,\n Form,\n Input,\n Select,\n Textarea,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n PANE_TYPES,\n INITIAL_TAG_VALUES,\n TAG_STYLE_OPTIONS,\n TAG_STYLE_TO_BADGE_VARIANT,\n} from \"v2/common/constants\";\nimport useTagsForm from \"v2/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst renderTagStyleOption = option => (\n <Badge\n label={option.label}\n variant={TAG_STYLE_TO_BADGE_VARIANT[option.value] || \"secondary\"}\n />\n);\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit\n ? { ...tag, style: tag?.style || INITIAL_TAG_VALUES.style }\n : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Sheet {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Sheet.Header>\n <Sheet.Title>\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Sheet.Title>\n </Sheet.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body>\n <div className=\"flex w-full flex-col gap-4\">\n <Input\n required\n data-testid=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Select\n formatOptionLabel={renderTagStyleOption}\n isSearchable={false}\n label={t(\"neetoTags.common.style\")}\n name=\"style\"\n options={TAG_STYLE_OPTIONS}\n />\n <Textarea\n data-testid=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Sheet.Footer>\n </Form>\n </Sheet>\n );\n};\n\nexport default ManageTags;\n"],"names":["queryClient","QueryClient","queryCache","QueryCache","onError","Toastr","error","useFetchTags","params","options","arguments","length","undefined","useQuery","_objectSpread","queryKey","TAG_KEY","queryFn","tagsApi","fetch","select","response","data","staleTime","STALE_TIME","placeholderData","keepPreviousData","useCreateTag","useMutationWithInvalidation","_ref","url","payload","create","keysToInvalidate","useUpdateTag","_ref2","id","update","useDeleteTag","_ref3","destroy","useMergeTags","_ref4","merge","refetchTags","invalidateQueries","TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","description","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","label","node","type","useTagsForm","createTags","goToFirstPage","isEdit","onClose","tagType","updateTags","tagModification","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","values","_values$description","resetForm","tagData","tag","mergeLeft","trim","style","onSuccess","_tagOperation$onSucce","callback","renderTagStyleOption","option","_jsx","Badge","variant","TAG_STYLE_TO_BADGE_VARIANT","value","ManageTags","_useTranslation","useTranslation","PANE_TYPES","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","_jsxs","Sheet","initialFocusRef","isOpen","children","Header","Title","SINGULAR","Form","formikProps","onSubmit","Body","className","Input","maxLength","ref","Select","formatOptionLabel","isSearchable","TAG_STYLE_OPTIONS","Textarea","rows","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":";;;;;;;;;;;;;;;AAGA,IAAMA,WAAW,GAAG,IAAIC,WAAW,CAAC;EAClCC,UAAU,EAAE,IAAIC,UAAU,CAAC;IAAEC,OAAO,EAAEC,MAAM,CAACC;GAAO;AACtD,CAAC,CAAC;;;;ACGF,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAM,EAAA;AAAA,EAAA,IAAEC,OAAO,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;EAAA,OACxCG,QAAQ,CAAAC,eAAA,CAAA;AACNC,IAAAA,QAAQ,EAAE,CAACC,OAAO,EAAER,MAAM,CAAC;IAC3BS,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQC,OAAO,CAACC,KAAK,CAACX,MAAM,CAAC;AAAA,IAAA,CAAA;AACpCY,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAEC,QAAQ,EAAA;AAAA,MAAA,OAAIA,QAAQ,CAACC,IAAI,IAAID,QAAQ;AAAA,IAAA,CAAA;AAC7CE,IAAAA,SAAS,EAAEC,UAAU;AACrBC,IAAAA,eAAe,EAAEC;GAAgB,EAC9BjB,OAAO,CACX,CAAC;AAAA;AAEJ,IAAMkB,YAAY,GAAG,SAAfA,YAAYA,GAAA;EAAA,OAChBC,2BAA2B,CACzB,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,GAAG,GAAAD,IAAA,CAAHC,GAAG;MAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;AAAA,IAAA,OAAOb,OAAO,CAACc,MAAM,CAACF,GAAG,EAAEC,OAAO,CAAC;EAAA,CAAA,EAClD;AAAEE,IAAAA,gBAAgB,EAAE,CAAC,CAACjB,OAAO,CAAC;AAAE,GAClC,CAAC;AAAA,CAAA;AAEH,IAAMkB,YAAY,GAAG,SAAfA,YAAYA,GAAA;EAAA,OAChBN,2BAA2B,CACzB,UAAAO,KAAA,EAAA;AAAA,IAAA,IAAGL,GAAG,GAAAK,KAAA,CAAHL,GAAG;MAAEM,EAAE,GAAAD,KAAA,CAAFC,EAAE;MAAEL,OAAO,GAAAI,KAAA,CAAPJ,OAAO;IAAA,OAAOb,OAAO,CAACmB,MAAM,CAACP,GAAG,EAAEM,EAAE,EAAEL,OAAO,CAAC;EAAA,CAAA,EAC1D;AAAEE,IAAAA,gBAAgB,EAAE,CAAC,CAACjB,OAAO,CAAC;AAAE,GAClC,CAAC;AAAA,CAAA;AAEH,IAAMsB,YAAY,GAAG,SAAfA,YAAYA,GAAA;EAAA,OAChBV,2BAA2B,CAAC,UAAAW,KAAA,EAAA;AAAA,IAAA,IAAGT,GAAG,GAAAS,KAAA,CAAHT,GAAG;MAAEM,EAAE,GAAAG,KAAA,CAAFH,EAAE;AAAA,IAAA,OAAOlB,OAAO,CAACsB,OAAO,CAACV,GAAG,EAAEM,EAAE,CAAC;EAAA,CAAA,EAAE;AACrEH,IAAAA,gBAAgB,EAAE,CAAC,CAACjB,OAAO,CAAC;AAC9B,GAAC,CAAC;AAAA;AAEJ,IAAMyB,YAAY,GAAG,SAAfA,YAAYA,GAAA;EAAA,OAChBb,2BAA2B,CACzB,UAAAc,KAAA,EAAA;AAAA,IAAA,IAAGZ,GAAG,GAAAY,KAAA,CAAHZ,GAAG;MAAEC,OAAO,GAAAW,KAAA,CAAPX,OAAO;AAAA,IAAA,OAAOb,OAAO,CAACyB,KAAK,CAACb,GAAG,EAAEC,OAAO,CAAC;EAAA,CAAA,EACjD;AAAEE,IAAAA,gBAAgB,EAAE,CAAC,CAACjB,OAAO,CAAC;AAAE,GAClC,CAAC;AAAA;AAEH,IAAM4B,WAAW,GAAG,SAAdA,WAAWA,GAAA;EAAA,OACf5C,WAAW,CAAC6C,iBAAiB,CAAC;IAAE9B,QAAQ,EAAE,CAACC,OAAO;AAAE,GAAC,CAAC;AAAA;;ACnCjD,IAAM8B,mBAAmB,GAAG,EAAE;AAE9B,IAAMC,0BAA0B,GAAG,CAAC;AAEpC,IAAMC,0BAA0B,GAAG,GAAG;AAEtC,IAAMC,UAAU,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAC3CC,EAAAA,IAAI,EAAEH,GAAG,CACNI,MAAM,EAAE,CACRC,SAAS,CAACC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CACrDC,QAAQ,CAACD,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAChDE,GAAG,CACFZ,mBAAmB,EACnBU,CAAC,CAAC,oCAAoC,EAAE;AACtC7C,IAAAA,MAAM,EAAEmC;AACV,GAAC,CACH,CAAC;EACHa,WAAW,EAAET,GAAG,CACbI,MAAM,EAAE,CACRC,SAAS,CAACC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAC5DI,QAAQ,EAAE,CACVF,GAAG,CACFV,0BAA0B,EAC1BQ,CAAC,CAAC,2CAA2C,EAAE;AAC7C7C,IAAAA,MAAM,EAAEqC;AACV,GAAC,CACH;AACJ,CAAC,CAAC;AAEK,IAAMa,iBAAiB,GAAG;AAC/BC,EAAAA,cAAc,EAAE,IAAI;AACpBC,EAAAA,gBAAgB,EAAE,IAAI;AACtBC,EAAAA,gBAAgB,EAAEf;AACpB,CAAC;AAEM,IAAMgB,eAAe,GAAG;AAC7BC,EAAAA,IAAI,EAAEC,kBAAkB;AACxBC,EAAAA,QAAQ,EAAEC,iBAAiB;AAC3BC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,OAAO,EAAE;AACX;AAEO,IAAMC,aAAa,GAAG,CAC3B;AACEC,EAAAA,GAAG,EAAE,MAAM;AACXC,EAAAA,KAAK,EAAElB,CAAC,CAAC,uBAAuB,CAAC;AACjCmB,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,IAAI,EAAE;AACR,CAAC;;ACnDH,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAhD,IAAA,EAOX;AAAA,EAAA,IANJiD,UAAU,GAAAjD,IAAA,CAAViD,UAAU;IACVC,aAAa,GAAAlD,IAAA,CAAbkD,aAAa;IACbC,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IACNC,OAAO,GAAApD,IAAA,CAAPoD,OAAO;IACPC,OAAO,GAAArD,IAAA,CAAPqD,OAAO;IACPC,UAAU,GAAAtD,IAAA,CAAVsD,UAAU;AAEV,EAAA,IAAMC,eAAe,GAAGJ,MAAM,GAAG9C,YAAY,GAAGP,YAAY;AAC5D,EAAA,IAAM0D,YAAY,GAAGL,MAAM,GAAGG,UAAU,GAAGL,UAAU;AACrD,EAAA,IAAAQ,gBAAA,GAA4CF,eAAe,EAAE;IAArDG,MAAM,GAAAD,gBAAA,CAANC,MAAM;IAAaC,YAAY,GAAAF,gBAAA,CAAvBG,SAAS;EAEzB,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAM,EAAAxD,KAAA,EAAoB;AAAA,IAAA,IAAAyD,mBAAA;AAAA,IAAA,IAAhBC,SAAS,GAAA1D,KAAA,CAAT0D,SAAS;AACvC,IAAA,IAAMC,OAAO,GAAG;MACdhE,GAAG,EAAEoD,OAAO,CAACpD,GAAG;AAChBC,MAAAA,OAAO,EAAE;QACPgE,GAAG,EAAEC,SAAS,CACZ;AACErC,UAAAA,WAAW,EAAA,CAAAiC,mBAAA,GAAED,MAAM,CAAChC,WAAW,MAAA,IAAA,IAAAiC,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAlBA,mBAAA,CAAoBK,IAAI,EAAE;UACvCC,KAAK,EAAEP,MAAM,CAACO;AAChB,SAAC,EACDP,MACF;AACF;KACD;AAED,IAAA,IAAIX,MAAM,EAAE;AACVc,MAAAA,OAAO,CAAC1D,EAAE,GAAGuD,MAAM,CAACvD,EAAE;AACxB,IAAA;IAEAmD,MAAM,CAACO,OAAO,EAAE;AACdK,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE9E,QAAQ,EAAI;AAAA,QAAA,IAAA+E,qBAAA;QACrB,CAACpB,MAAM,KAAID,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,EAAI,CAAA;AAC5BM,QAAAA,YAAY,aAAZA,YAAY,KAAA,MAAA,IAAA,CAAAe,qBAAA,GAAZf,YAAY,CAAEc,SAAS,MAAA,IAAA,IAAAC,qBAAA,eAAvBA,qBAAA,CAAyBC,QAAQ,CAAChF,QAAQ,CAAC;AAC3C4D,QAAAA,OAAO,EAAE;MACX,CAAC;AACD7E,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACbyF,QAAAA,SAAS,EAAE;AACb,MAAA;AACF,KAAC,CAAC;EACJ,CAAC;EAED,OAAO;AAAEH,IAAAA,YAAY,EAAZA,YAAY;AAAEF,IAAAA,YAAY,EAAZA;GAAc;AACvC,CAAC;;;;ACnBD,IAAMc,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGC,MAAM,EAAA;EAAA,oBACjCC,GAAA,CAACC,KAAK,EAAA;IACJ/B,KAAK,EAAE6B,MAAM,CAAC7B,KAAM;AACpBgC,IAAAA,OAAO,EAAEC,0BAA0B,CAACJ,MAAM,CAACK,KAAK,CAAC,IAAI;AAAY,GAClE,CAAC;AAAA,CACH;AAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAhF,IAAA,EAQV;AAAA,EAAA,IAPJiD,UAAU,GAAAjD,IAAA,CAAViD,UAAU;IACVC,aAAa,GAAAlD,IAAA,CAAbkD,aAAa;IACbE,OAAO,GAAApD,IAAA,CAAPoD,OAAO;IACPc,GAAG,GAAAlE,IAAA,CAAHkE,GAAG;IACHb,OAAO,GAAArD,IAAA,CAAPqD,OAAO;IACPN,IAAI,GAAA/C,IAAA,CAAJ+C,IAAI;IACJO,UAAU,GAAAtD,IAAA,CAAVsD,UAAU;AAEV,EAAA,IAAA2B,eAAA,GAAcC,cAAc,EAAE;IAAtBvD,CAAC,GAAAsD,eAAA,CAADtD,CAAC;AACT,EAAA,IAAMwB,MAAM,GAAGJ,IAAI,KAAKoC,UAAU,CAACC,IAAI;EACvC,IAAMC,aAAa,GAAGlC,MAAM,GAAAlE,aAAA,CAAAA,aAAA,KACnBiF,GAAG,CAAA,EAAA,EAAA,EAAA;IAAEG,KAAK,EAAE,CAAAH,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,MAAA,GAAA,MAAA,GAAHA,GAAG,CAAEG,KAAK,KAAIiB,kBAAkB,CAACjB;AAAK,GAAA,CAAA,GACvDiB,kBAAkB;AACtB,EAAA,IAAMC,cAAc,GAAGC,MAAM,CAAC,IAAI,CAAC;EAEnC,IAAAC,YAAA,GAAuCzC,WAAW,CAAC;AACjDC,MAAAA,UAAU,EAAVA,UAAU;AACVC,MAAAA,aAAa,EAAbA,aAAa;AACbC,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,OAAO,EAAPA,OAAO;AACPC,MAAAA,OAAO,EAAPA,OAAO;AACPC,MAAAA,UAAU,EAAVA;AACF,KAAC,CAAC;IAPMO,YAAY,GAAA4B,YAAA,CAAZ5B,YAAY;IAAEF,YAAY,GAAA8B,YAAA,CAAZ9B,YAAY;EASlC,oBACE+B,IAAA,CAACC,KAAK,EAAA;AAAOvC,IAAAA,OAAO,EAAPA,OAAO;AAAIwC,IAAAA,eAAe,EAAEL,cAAe;IAACM,MAAM,EAAE,CAAC,CAAC9C,IAAK;AAAA+C,IAAAA,QAAA,EAAA,cACtEnB,GAAA,CAACgB,KAAK,CAACI,MAAM,EAAA;AAAAD,MAAAA,QAAA,eACXnB,GAAA,CAACgB,KAAK,CAACK,KAAK,EAAA;AAAAF,QAAAA,QAAA,EACT3C,MAAM,GACHxB,CAAC,CAAC,0BAA0B,CAAC,GAC7BA,CAAC,CAAC,4BAA4B,EAAEsE,QAAQ;OACjC;AAAC,KACF,CAAC,eACfP,IAAA,CAACQ,IAAI,EAAA;AACHC,MAAAA,WAAW,EAAAlH,aAAA,CAAAA,aAAA,KACN+C,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACpBqD,QAAAA,aAAa,EAAbA,aAAa;AACbe,QAAAA,QAAQ,EAAEvC;OAAY,CACtB;AAAAiC,MAAAA,QAAA,EAAA,cAEFnB,GAAA,CAACgB,KAAK,CAACU,IAAI,EAAA;AAAAP,QAAAA,QAAA,eACTJ,IAAA,CAAA,KAAA,EAAA;AAAKY,UAAAA,SAAS,EAAC,4BAA4B;UAAAR,QAAA,EAAA,cACzCnB,GAAA,CAAC4B,KAAK,EAAA;YACJ3E,QAAQ,EAAA,IAAA;AACR,YAAA,aAAA,EAAY,qBAAqB;AACjCiB,YAAAA,KAAK,EAAElB,CAAC,CAAC,uBAAuB,CAAE;AAClC6E,YAAAA,SAAS,EAAEvF,mBAAoB;AAC/BO,YAAAA,IAAI,EAAC,MAAM;AACXiF,YAAAA,GAAG,EAAElB;AAAe,WACrB,CAAC,eACFZ,GAAA,CAAC+B,MAAM,EAAA;AACLC,YAAAA,iBAAiB,EAAElC,oBAAqB;AACxCmC,YAAAA,YAAY,EAAE,KAAM;AACpB/D,YAAAA,KAAK,EAAElB,CAAC,CAAC,wBAAwB,CAAE;AACnCH,YAAAA,IAAI,EAAC,OAAO;AACZ5C,YAAAA,OAAO,EAAEiI;AAAkB,WAC5B,CAAC,eACFlC,GAAA,CAACmC,QAAQ,EAAA;AACP,YAAA,aAAA,EAAY,2BAA2B;AACvCjE,YAAAA,KAAK,EAAElB,CAAC,CAAC,8BAA8B,CAAE;AACzC6E,YAAAA,SAAS,EAAErF,0BAA2B;AACtCK,YAAAA,IAAI,EAAC,aAAa;AAClBuF,YAAAA,IAAI,EAAE7F;AAA2B,WAClC,CAAC;SACC;AAAC,OACI,CAAC,eACbyD,GAAA,CAACgB,KAAK,CAACqB,MAAM,EAAA;QAAAlB,QAAA,eACXnB,GAAA,CAACsC,WAAW,EAAA;AACJtD,UAAAA,YAAY,EAAZA,YAAY;AAClBuD,UAAAA,iBAAiB,EAAE;AACjB,YAAA,aAAa,EAAE,qCAAqC;AACpDC,YAAAA,OAAO,EAAE/D;WACT;AACFgE,UAAAA,iBAAiB,EAAE;AACjB,YAAA,aAAa,EAAE;AACjB;SACD;AAAC,OACU,CAAC;AAAA,KACX,CAAC;AAAA,GACF,CAAC;AAEZ;;;;"}
@@ -4,13 +4,15 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var react = require('react');
5
5
  var neetoAtoms = require('@bigbinary/neeto-atoms');
6
6
  var formik = require('@bigbinary/neeto-atoms/formik');
7
- var constants = require('@bigbinary/neeto-commons-frontend/constants');
7
+ var constants$1 = require('@bigbinary/neeto-commons-frontend/v2/constants');
8
8
  var reactI18next = require('react-i18next');
9
+ var constants = require('./constants-BP1u7ku6.js');
10
+ var ramda = require('ramda');
11
+ var reactQuery = require('@tanstack/react-query');
12
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
13
+ var tags = require('./tags-D_m6a-Ua.js');
9
14
  var i18next = require('i18next');
10
15
  var yup = require('yup');
11
- var constants$1 = require('./constants-BP1u7ku6.js');
12
- var ramda = require('ramda');
13
- var useTagsApi = require('./useTagsApi-CaVQT--T.js');
14
16
  var jsxRuntime = require('react/jsx-runtime');
15
17
 
16
18
  function _interopNamespaceDefault(e) {
@@ -32,6 +34,71 @@ function _interopNamespaceDefault(e) {
32
34
 
33
35
  var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
34
36
 
37
+ var queryClient = new reactQuery.QueryClient({
38
+ queryCache: new reactQuery.QueryCache({
39
+ onError: neetoAtoms.Toastr.error
40
+ })
41
+ });
42
+
43
+ function ownKeys$1(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; }
44
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
45
+ var useFetchTags = function useFetchTags(params) {
46
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
47
+ return reactQuery.useQuery(_objectSpread$1({
48
+ queryKey: [constants.TAG_KEY, params],
49
+ queryFn: function queryFn() {
50
+ return tags.tagsApi.fetch(params);
51
+ },
52
+ select: function select(response) {
53
+ return response.data || response;
54
+ },
55
+ staleTime: constants.STALE_TIME,
56
+ placeholderData: reactQuery.keepPreviousData
57
+ }, options));
58
+ };
59
+ var useCreateTag = function useCreateTag() {
60
+ return reactUtils.useMutationWithInvalidation(function (_ref) {
61
+ var url = _ref.url,
62
+ payload = _ref.payload;
63
+ return tags.tagsApi.create(url, payload);
64
+ }, {
65
+ keysToInvalidate: [[constants.TAG_KEY]]
66
+ });
67
+ };
68
+ var useUpdateTag = function useUpdateTag() {
69
+ return reactUtils.useMutationWithInvalidation(function (_ref2) {
70
+ var url = _ref2.url,
71
+ id = _ref2.id,
72
+ payload = _ref2.payload;
73
+ return tags.tagsApi.update(url, id, payload);
74
+ }, {
75
+ keysToInvalidate: [[constants.TAG_KEY]]
76
+ });
77
+ };
78
+ var useDeleteTag = function useDeleteTag() {
79
+ return reactUtils.useMutationWithInvalidation(function (_ref3) {
80
+ var url = _ref3.url,
81
+ id = _ref3.id;
82
+ return tags.tagsApi.destroy(url, id);
83
+ }, {
84
+ keysToInvalidate: [[constants.TAG_KEY]]
85
+ });
86
+ };
87
+ var useMergeTags = function useMergeTags() {
88
+ return reactUtils.useMutationWithInvalidation(function (_ref4) {
89
+ var url = _ref4.url,
90
+ payload = _ref4.payload;
91
+ return tags.tagsApi.merge(url, payload);
92
+ }, {
93
+ keysToInvalidate: [[constants.TAG_KEY]]
94
+ });
95
+ };
96
+ var refetchTags = function refetchTags() {
97
+ return queryClient.invalidateQueries({
98
+ queryKey: [constants.TAG_KEY]
99
+ });
100
+ };
101
+
35
102
  var TAG_NAME_MAX_LENGTH = 50;
36
103
  var TAG_DESCRIPTION_ROW_LENGTH = 3;
37
104
  var TAG_DESCRIPTION_MAX_LENGTH = 255;
@@ -49,8 +116,8 @@ var TAGS_FORMIK_PROPS = {
49
116
  validationSchema: TAG_SCHEMA
50
117
  };
51
118
  var DEFAULT_FILTERS = {
52
- page: constants.DEFAULT_PAGE_INDEX,
53
- pageSize: constants.DEFAULT_PAGE_SIZE,
119
+ page: constants$1.DEFAULT_PAGE_INDEX,
120
+ pageSize: constants$1.DEFAULT_PAGE_SIZE,
54
121
  sortBy: "",
55
122
  orderBy: ""
56
123
  };
@@ -68,7 +135,7 @@ var useTagsForm = function useTagsForm(_ref) {
68
135
  onClose = _ref.onClose,
69
136
  tagType = _ref.tagType,
70
137
  updateTags = _ref.updateTags;
71
- var tagModification = isEdit ? useTagsApi.useUpdateTag : useTagsApi.useCreateTag;
138
+ var tagModification = isEdit ? useUpdateTag : useCreateTag;
72
139
  var tagOperation = isEdit ? updateTags : createTags;
73
140
  var _tagModification = tagModification(),
74
141
  mutate = _tagModification.mutate,
@@ -111,7 +178,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
111
178
  var renderTagStyleOption = function renderTagStyleOption(option) {
112
179
  return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Badge, {
113
180
  label: option.label,
114
- variant: constants$1.TAG_STYLE_TO_BADGE_VARIANT[option.value] || "secondary"
181
+ variant: constants.TAG_STYLE_TO_BADGE_VARIANT[option.value] || "secondary"
115
182
  });
116
183
  };
117
184
  var ManageTags = function ManageTags(_ref) {
@@ -124,10 +191,10 @@ var ManageTags = function ManageTags(_ref) {
124
191
  updateTags = _ref.updateTags;
125
192
  var _useTranslation = reactI18next.useTranslation(),
126
193
  t = _useTranslation.t;
127
- var isEdit = type === constants$1.PANE_TYPES.EDIT;
194
+ var isEdit = type === constants.PANE_TYPES.EDIT;
128
195
  var initialValues = isEdit ? _objectSpread(_objectSpread({}, tag), {}, {
129
- style: (tag === null || tag === void 0 ? void 0 : tag.style) || constants$1.INITIAL_TAG_VALUES.style
130
- }) : constants$1.INITIAL_TAG_VALUES;
196
+ style: (tag === null || tag === void 0 ? void 0 : tag.style) || constants.INITIAL_TAG_VALUES.style
197
+ }) : constants.INITIAL_TAG_VALUES;
131
198
  var inputReference = react.useRef(null);
132
199
  var _useTagsForm = useTagsForm({
133
200
  createTags: createTags,
@@ -145,7 +212,7 @@ var ManageTags = function ManageTags(_ref) {
145
212
  isOpen: !!type,
146
213
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Header, {
147
214
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Title, {
148
- children: isEdit ? t("neetoTags.common.editTag") : t("neetoTags.common.addNewTag", constants.SINGULAR)
215
+ children: isEdit ? t("neetoTags.common.editTag") : t("neetoTags.common.addNewTag", constants$1.SINGULAR)
149
216
  })
150
217
  }), /*#__PURE__*/jsxRuntime.jsxs(formik.Form, {
151
218
  formikProps: _objectSpread(_objectSpread({}, TAGS_FORMIK_PROPS), {}, {
@@ -155,20 +222,20 @@ var ManageTags = function ManageTags(_ref) {
155
222
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Body, {
156
223
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
157
224
  className: "flex w-full flex-col gap-4",
158
- children: [/*#__PURE__*/jsxRuntime.jsx(formik.FormikInput, {
225
+ children: [/*#__PURE__*/jsxRuntime.jsx(formik.Input, {
159
226
  required: true,
160
227
  "data-testid": "tag-name-text-field",
161
228
  label: t("neetoTags.common.name"),
162
229
  maxLength: TAG_NAME_MAX_LENGTH,
163
230
  name: "name",
164
231
  ref: inputReference
165
- }), /*#__PURE__*/jsxRuntime.jsx(formik.FormikSelect, {
232
+ }), /*#__PURE__*/jsxRuntime.jsx(formik.Select, {
166
233
  formatOptionLabel: renderTagStyleOption,
167
234
  isSearchable: false,
168
235
  label: t("neetoTags.common.style"),
169
236
  name: "style",
170
- options: constants$1.TAG_STYLE_OPTIONS
171
- }), /*#__PURE__*/jsxRuntime.jsx(formik.FormikTextarea, {
237
+ options: constants.TAG_STYLE_OPTIONS
238
+ }), /*#__PURE__*/jsxRuntime.jsx(formik.Textarea, {
172
239
  "data-testid": "tag-description-text-area",
173
240
  label: t("neetoTags.common.description"),
174
241
  maxLength: TAG_DESCRIPTION_MAX_LENGTH,
@@ -177,7 +244,7 @@ var ManageTags = function ManageTags(_ref) {
177
244
  })]
178
245
  })
179
246
  }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Footer, {
180
- children: /*#__PURE__*/jsxRuntime.jsx(formik.FormikActionBlock, {
247
+ children: /*#__PURE__*/jsxRuntime.jsx(formik.ActionBlock, {
181
248
  isSubmitting: isSubmitting,
182
249
  cancelButtonProps: {
183
250
  "data-testid": "neeto-tags-manage-tag-cancel-button",
@@ -195,4 +262,8 @@ var ManageTags = function ManageTags(_ref) {
195
262
  exports.DEFAULT_FILTERS = DEFAULT_FILTERS;
196
263
  exports.ManageTags = ManageTags;
197
264
  exports.NEETO_FILTERS = NEETO_FILTERS;
198
- //# sourceMappingURL=ManageTags-BUiPK6YZ.js.map
265
+ exports.refetchTags = refetchTags;
266
+ exports.useDeleteTag = useDeleteTag;
267
+ exports.useFetchTags = useFetchTags;
268
+ exports.useMergeTags = useMergeTags;
269
+ //# sourceMappingURL=ManageTags-CFXw6wzl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManageTags-CFXw6wzl.js","sources":["../app/javascript/src/v2/common/queryClient.js","../app/javascript/src/v2/hooks/useTagsApi.js","../app/javascript/src/v2/components/Dashboard/constants.js","../app/javascript/src/v2/hooks/useTagsForm.js","../app/javascript/src/v2/components/Dashboard/ManageTags.jsx"],"sourcesContent":["import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport { QueryClient, QueryCache } from \"@tanstack/react-query\";\n\nconst queryClient = new QueryClient({\n queryCache: new QueryCache({ onError: Toastr.error }),\n});\n\nexport default queryClient;\n","import { useQuery, keepPreviousData } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/v2/react-utils\";\n\nimport tagsApi from \"apis/tags\";\nimport { STALE_TIME, TAG_KEY } from \"v2/common/constants\";\n// eslint-disable-next-line @bigbinary/neeto/use-use-query-client-hook\nimport queryClient from \"v2/common/queryClient\";\n\nconst useFetchTags = (params, options = {}) =>\n useQuery({\n queryKey: [TAG_KEY, params],\n queryFn: () => tagsApi.fetch(params),\n select: response => response.data || response,\n staleTime: STALE_TIME,\n placeholderData: keepPreviousData,\n ...options,\n });\n\nconst useCreateTag = () =>\n useMutationWithInvalidation(\n ({ url, payload }) => tagsApi.create(url, payload),\n { keysToInvalidate: [[TAG_KEY]] }\n );\n\nconst useUpdateTag = () =>\n useMutationWithInvalidation(\n ({ url, id, payload }) => tagsApi.update(url, id, payload),\n { keysToInvalidate: [[TAG_KEY]] }\n );\n\nconst useDeleteTag = () =>\n useMutationWithInvalidation(({ url, id }) => tagsApi.destroy(url, id), {\n keysToInvalidate: [[TAG_KEY]],\n });\n\nconst useMergeTags = () =>\n useMutationWithInvalidation(\n ({ url, payload }) => tagsApi.merge(url, payload),\n { keysToInvalidate: [[TAG_KEY]] }\n );\n\nconst refetchTags = () =>\n queryClient.invalidateQueries({ queryKey: [TAG_KEY] });\n\nexport {\n useFetchTags,\n useCreateTag,\n useUpdateTag,\n useDeleteTag,\n useMergeTags,\n refetchTags,\n};\n","import { t } from \"i18next\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: response => {\n !isEdit && goToFirstPage?.();\n tagOperation?.onSuccess?.callback(response);\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { Badge, Sheet } from \"@bigbinary/neeto-atoms\";\nimport {\n ActionBlock,\n Form,\n Input,\n Select,\n Textarea,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n PANE_TYPES,\n INITIAL_TAG_VALUES,\n TAG_STYLE_OPTIONS,\n TAG_STYLE_TO_BADGE_VARIANT,\n} from \"v2/common/constants\";\nimport useTagsForm from \"v2/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst renderTagStyleOption = option => (\n <Badge\n label={option.label}\n variant={TAG_STYLE_TO_BADGE_VARIANT[option.value] || \"secondary\"}\n />\n);\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit\n ? { ...tag, style: tag?.style || INITIAL_TAG_VALUES.style }\n : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Sheet {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Sheet.Header>\n <Sheet.Title>\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Sheet.Title>\n </Sheet.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body>\n <div className=\"flex w-full flex-col gap-4\">\n <Input\n required\n data-testid=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Select\n formatOptionLabel={renderTagStyleOption}\n isSearchable={false}\n label={t(\"neetoTags.common.style\")}\n name=\"style\"\n options={TAG_STYLE_OPTIONS}\n />\n <Textarea\n data-testid=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Sheet.Footer>\n </Form>\n </Sheet>\n );\n};\n\nexport default ManageTags;\n"],"names":["queryClient","QueryClient","queryCache","QueryCache","onError","Toastr","error","useFetchTags","params","options","arguments","length","undefined","useQuery","_objectSpread","queryKey","TAG_KEY","queryFn","tagsApi","fetch","select","response","data","staleTime","STALE_TIME","placeholderData","keepPreviousData","useCreateTag","useMutationWithInvalidation","_ref","url","payload","create","keysToInvalidate","useUpdateTag","_ref2","id","update","useDeleteTag","_ref3","destroy","useMergeTags","_ref4","merge","refetchTags","invalidateQueries","TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","description","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","label","node","type","useTagsForm","createTags","goToFirstPage","isEdit","onClose","tagType","updateTags","tagModification","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","values","_values$description","resetForm","tagData","tag","mergeLeft","trim","style","onSuccess","_tagOperation$onSucce","callback","renderTagStyleOption","option","_jsx","Badge","variant","TAG_STYLE_TO_BADGE_VARIANT","value","ManageTags","_useTranslation","useTranslation","PANE_TYPES","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","_jsxs","Sheet","initialFocusRef","isOpen","children","Header","Title","SINGULAR","Form","formikProps","onSubmit","Body","className","Input","maxLength","ref","Select","formatOptionLabel","isSearchable","TAG_STYLE_OPTIONS","Textarea","rows","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
@@ -10,7 +10,7 @@ import Input from '@bigbinary/neetoui/formik/Input';
10
10
  import Select from '@bigbinary/neetoui/formik/Select';
11
11
  import Textarea from '@bigbinary/neetoui/formik/Textarea';
12
12
  import { useTranslation } from 'react-i18next';
13
- import { u as useUpdateTag, a as useCreateTag, T as TAG_STYLE_OPTIONS, P as PANE_TYPES, I as INITIAL_TAG_VALUES } from './useTagsApi-B5bQgPGu.js';
13
+ import { u as useUpdateTag, a as useCreateTag, T as TAG_STYLE_OPTIONS, P as PANE_TYPES, I as INITIAL_TAG_VALUES } from './useTagsApi-Aj-jpEtk.js';
14
14
  import { mergeLeft } from 'ramda';
15
15
  import { t } from 'i18next';
16
16
  import * as yup from 'yup';
@@ -179,4 +179,4 @@ var ManageTags = function ManageTags(_ref) {
179
179
  };
180
180
 
181
181
  export { DEFAULT_FILTERS as D, ManageTags as M, NEETO_FILTERS as N };
182
- //# sourceMappingURL=ManageTags-bsOdDUhn.js.map
182
+ //# sourceMappingURL=ManageTags-CGAXFtlq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManageTags-bsOdDUhn.js","sources":["../app/javascript/src/components/Dashboard/constants.js","../app/javascript/src/hooks/useTagsForm.js","../app/javascript/src/components/Dashboard/ManageTags.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style.value,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: response => {\n !isEdit && goToFirstPage?.();\n tagOperation?.onSuccess?.callback(response);\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Tag, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n PANE_TYPES,\n INITIAL_TAG_VALUES,\n TAG_STYLE_OPTIONS,\n} from \"common/constants\";\nimport useTagsForm from \"src/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst renderTagStyleOption = option => (\n <Tag label={option.label} style={option.value} />\n);\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit ? tag : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Pane {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4\">\n <Input\n required\n unlimitedChars\n data-testid=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Select\n formatOptionLabel={renderTagStyleOption}\n isSearchable={false}\n label={t(\"neetoTags.common.style\")}\n name=\"style\"\n options={TAG_STYLE_OPTIONS}\n />\n <Textarea\n unlimitedChars\n data-testid=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default ManageTags;\n"],"names":["TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","length","description","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","label","node","type","useTagsForm","_ref","createTags","goToFirstPage","isEdit","onClose","tagType","updateTags","tagModification","useUpdateTag","useCreateTag","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","values","_ref2","_values$description","resetForm","tagData","url","payload","tag","mergeLeft","trim","style","value","id","onSuccess","response","_tagOperation$onSucce","callback","onError","renderTagStyleOption","option","_jsx","Tag","ManageTags","_useTranslation","useTranslation","PANE_TYPES","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","_jsxs","Pane","initialFocusRef","isOpen","children","Header","Typography","weight","SINGULAR","Form","formikProps","_objectSpread","onSubmit","Body","className","Input","unlimitedChars","maxLength","ref","Select","formatOptionLabel","isSearchable","options","TAG_STYLE_OPTIONS","Textarea","rows","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
1
+ {"version":3,"file":"ManageTags-CGAXFtlq.js","sources":["../app/javascript/src/components/Dashboard/constants.js","../app/javascript/src/hooks/useTagsForm.js","../app/javascript/src/components/Dashboard/ManageTags.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style.value,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: response => {\n !isEdit && goToFirstPage?.();\n tagOperation?.onSuccess?.callback(response);\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Tag, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n PANE_TYPES,\n INITIAL_TAG_VALUES,\n TAG_STYLE_OPTIONS,\n} from \"common/constants\";\nimport useTagsForm from \"src/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst renderTagStyleOption = option => (\n <Tag label={option.label} style={option.value} />\n);\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit ? tag : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Pane {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4\">\n <Input\n required\n unlimitedChars\n data-testid=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Select\n formatOptionLabel={renderTagStyleOption}\n isSearchable={false}\n label={t(\"neetoTags.common.style\")}\n name=\"style\"\n options={TAG_STYLE_OPTIONS}\n />\n <Textarea\n unlimitedChars\n data-testid=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default ManageTags;\n"],"names":["TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","length","description","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","label","node","type","useTagsForm","_ref","createTags","goToFirstPage","isEdit","onClose","tagType","updateTags","tagModification","useUpdateTag","useCreateTag","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","values","_ref2","_values$description","resetForm","tagData","url","payload","tag","mergeLeft","trim","style","value","id","onSuccess","response","_tagOperation$onSucce","callback","onError","renderTagStyleOption","option","_jsx","Tag","ManageTags","_useTranslation","useTranslation","PANE_TYPES","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","_jsxs","Pane","initialFocusRef","isOpen","children","Header","Typography","weight","SINGULAR","Form","formikProps","_objectSpread","onSubmit","Body","className","Input","unlimitedChars","maxLength","ref","Select","formatOptionLabel","isSearchable","options","TAG_STYLE_OPTIONS","Textarea","rows","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
@@ -12,7 +12,7 @@ var Input = require('@bigbinary/neetoui/formik/Input');
12
12
  var Select = require('@bigbinary/neetoui/formik/Select');
13
13
  var Textarea = require('@bigbinary/neetoui/formik/Textarea');
14
14
  var reactI18next = require('react-i18next');
15
- var useTagsApi = require('./useTagsApi-RJludSY5.js');
15
+ var useTagsApi = require('./useTagsApi-D97je1ET.js');
16
16
  var ramda = require('ramda');
17
17
  var i18next = require('i18next');
18
18
  var yup = require('yup');
@@ -202,4 +202,4 @@ var ManageTags = function ManageTags(_ref) {
202
202
  exports.DEFAULT_FILTERS = DEFAULT_FILTERS;
203
203
  exports.ManageTags = ManageTags;
204
204
  exports.NEETO_FILTERS = NEETO_FILTERS;
205
- //# sourceMappingURL=ManageTags-CYzDoy3R.js.map
205
+ //# sourceMappingURL=ManageTags-P1d9S9tg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManageTags-CYzDoy3R.js","sources":["../app/javascript/src/components/Dashboard/constants.js","../app/javascript/src/hooks/useTagsForm.js","../app/javascript/src/components/Dashboard/ManageTags.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style.value,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: response => {\n !isEdit && goToFirstPage?.();\n tagOperation?.onSuccess?.callback(response);\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Tag, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n PANE_TYPES,\n INITIAL_TAG_VALUES,\n TAG_STYLE_OPTIONS,\n} from \"common/constants\";\nimport useTagsForm from \"src/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst renderTagStyleOption = option => (\n <Tag label={option.label} style={option.value} />\n);\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit ? tag : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Pane {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4\">\n <Input\n required\n unlimitedChars\n data-testid=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Select\n formatOptionLabel={renderTagStyleOption}\n isSearchable={false}\n label={t(\"neetoTags.common.style\")}\n name=\"style\"\n options={TAG_STYLE_OPTIONS}\n />\n <Textarea\n unlimitedChars\n data-testid=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default ManageTags;\n"],"names":["TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","length","description","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","label","node","type","useTagsForm","_ref","createTags","goToFirstPage","isEdit","onClose","tagType","updateTags","tagModification","useUpdateTag","useCreateTag","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","values","_ref2","_values$description","resetForm","tagData","url","payload","tag","mergeLeft","trim","style","value","id","onSuccess","response","_tagOperation$onSucce","callback","onError","renderTagStyleOption","option","_jsx","Tag","ManageTags","_useTranslation","useTranslation","PANE_TYPES","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","_jsxs","Pane","initialFocusRef","isOpen","children","Header","Typography","weight","SINGULAR","Form","formikProps","_objectSpread","onSubmit","Body","className","Input","unlimitedChars","maxLength","ref","Select","formatOptionLabel","isSearchable","options","TAG_STYLE_OPTIONS","Textarea","rows","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
1
+ {"version":3,"file":"ManageTags-P1d9S9tg.js","sources":["../app/javascript/src/components/Dashboard/constants.js","../app/javascript/src/hooks/useTagsForm.js","../app/javascript/src/components/Dashboard/ManageTags.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style.value,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: response => {\n !isEdit && goToFirstPage?.();\n tagOperation?.onSuccess?.callback(response);\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Tag, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n PANE_TYPES,\n INITIAL_TAG_VALUES,\n TAG_STYLE_OPTIONS,\n} from \"common/constants\";\nimport useTagsForm from \"src/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst renderTagStyleOption = option => (\n <Tag label={option.label} style={option.value} />\n);\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit ? tag : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Pane {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4\">\n <Input\n required\n unlimitedChars\n data-testid=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Select\n formatOptionLabel={renderTagStyleOption}\n isSearchable={false}\n label={t(\"neetoTags.common.style\")}\n name=\"style\"\n options={TAG_STYLE_OPTIONS}\n />\n <Textarea\n unlimitedChars\n data-testid=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default ManageTags;\n"],"names":["TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","length","description","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","label","node","type","useTagsForm","_ref","createTags","goToFirstPage","isEdit","onClose","tagType","updateTags","tagModification","useUpdateTag","useCreateTag","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","values","_ref2","_values$description","resetForm","tagData","url","payload","tag","mergeLeft","trim","style","value","id","onSuccess","response","_tagOperation$onSucce","callback","onError","renderTagStyleOption","option","_jsx","Tag","ManageTags","_useTranslation","useTranslation","PANE_TYPES","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","_jsxs","Pane","initialFocusRef","isOpen","children","Header","Typography","weight","SINGULAR","Form","formikProps","_objectSpread","onSubmit","Body","className","Input","unlimitedChars","maxLength","ref","Select","formatOptionLabel","isSearchable","options","TAG_STYLE_OPTIONS","Textarea","rows","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
@@ -10,13 +10,14 @@ import '@bigbinary/neetoui/formik/Input';
10
10
  import '@bigbinary/neetoui/formik/Select';
11
11
  import '@bigbinary/neetoui/formik/Textarea';
12
12
  import 'react-i18next';
13
- import './useTagsApi-B5bQgPGu.js';
14
- export { M as default } from './ManageTags-bsOdDUhn.js';
13
+ import './useTagsApi-Aj-jpEtk.js';
14
+ export { M as default } from './ManageTags-CGAXFtlq.js';
15
15
  import 'react/jsx-runtime';
16
16
  import '@tanstack/react-query';
17
17
  import '@bigbinary/neeto-commons-frontend/react-utils';
18
18
  import '@bigbinary/neeto-cist';
19
19
  import '@bigbinary/neetoui/Toastr';
20
+ import './tags-BDnMlmxv.js';
20
21
  import '@babel/runtime/helpers/objectWithoutProperties';
21
22
  import 'axios';
22
23
  import 'ramda';
@@ -1 +1 @@
1
- {"version":3,"file":"ManageTags.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ManageTags.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/NeetoTags.js CHANGED
@@ -15,10 +15,10 @@ import Alert from '@bigbinary/neetoui/Alert';
15
15
  import Typography from '@bigbinary/neetoui/Typography';
16
16
  import { mergeLeft, pluck, isEmpty } from 'ramda';
17
17
  import { useTranslation, Trans } from 'react-i18next';
18
- import { P as PANE_TYPES, b as useFetchTags, c as useDeleteTag, d as useMergeTags } from './useTagsApi-B5bQgPGu.js';
18
+ import { P as PANE_TYPES, b as useFetchTags, c as useDeleteTag, d as useMergeTags } from './useTagsApi-Aj-jpEtk.js';
19
19
  import Tab from '@bigbinary/neetoui/Tab';
20
20
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
21
- import { D as DEFAULT_FILTERS, N as NEETO_FILTERS, M as ManageTags } from './ManageTags-bsOdDUhn.js';
21
+ import { D as DEFAULT_FILTERS, N as NEETO_FILTERS, M as ManageTags } from './ManageTags-CGAXFtlq.js';
22
22
  import NeetoHeader from '@bigbinary/neeto-molecules/Header';
23
23
  import Button from '@bigbinary/neetoui/Button';
24
24
  import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
@@ -38,6 +38,7 @@ import { p as pluralize } from './pluralize-CSZDNFkc.js';
38
38
  import { n } from './inject-css-C2dztUxs.js';
39
39
  import '@tanstack/react-query';
40
40
  import '@bigbinary/neetoui/Toastr';
41
+ import './tags-BDnMlmxv.js';
41
42
  import '@babel/runtime/helpers/objectWithoutProperties';
42
43
  import 'axios';
43
44
  import '@bigbinary/neetoui/Pane';