@bigbinary/neeto-molecules 5.1.25 → 5.1.27

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 (79) hide show
  1. package/dist/ShareViaLink.js +2 -1127
  2. package/dist/ShareViaLink.js.map +1 -1
  3. package/dist/cjs/ShareViaLink.js +2 -1127
  4. package/dist/cjs/ShareViaLink.js.map +1 -1
  5. package/dist/cjs/external-link-C7Cbtssd.js +21 -0
  6. package/dist/cjs/external-link-C7Cbtssd.js.map +1 -0
  7. package/dist/cjs/index-Dzzs5KSc.js +1132 -0
  8. package/dist/cjs/index-Dzzs5KSc.js.map +1 -0
  9. package/dist/cjs/info-CpwCcUWd.js +21 -0
  10. package/dist/cjs/info-CpwCcUWd.js.map +1 -0
  11. package/dist/cjs/v2/DndTable.js +194 -0
  12. package/dist/cjs/v2/DndTable.js.map +1 -0
  13. package/dist/cjs/v2/NavigationHeader.js +1 -0
  14. package/dist/cjs/v2/NavigationHeader.js.map +1 -1
  15. package/dist/cjs/v2/PublishBlock.js +5 -19
  16. package/dist/cjs/v2/PublishBlock.js.map +1 -1
  17. package/dist/cjs/v2/ShareViaLink.js +1041 -0
  18. package/dist/cjs/v2/ShareViaLink.js.map +1 -0
  19. package/dist/cjs/v2/SuffixedInput.js +3 -17
  20. package/dist/cjs/v2/SuffixedInput.js.map +1 -1
  21. package/dist/cjs/v2/Taxonomy.js +546 -0
  22. package/dist/cjs/v2/Taxonomy.js.map +1 -0
  23. package/dist/external-link-Bqki-W-9.js +19 -0
  24. package/dist/external-link-Bqki-W-9.js.map +1 -0
  25. package/dist/index-c-mrzXSg.js +1130 -0
  26. package/dist/index-c-mrzXSg.js.map +1 -0
  27. package/dist/info-DpOFLPLx.js +19 -0
  28. package/dist/info-DpOFLPLx.js.map +1 -0
  29. package/dist/v2/DndTable.js +189 -0
  30. package/dist/v2/DndTable.js.map +1 -0
  31. package/dist/v2/NavigationHeader.js +1 -0
  32. package/dist/v2/NavigationHeader.js.map +1 -1
  33. package/dist/v2/PublishBlock.js +3 -17
  34. package/dist/v2/PublishBlock.js.map +1 -1
  35. package/dist/v2/ShareViaLink.js +1020 -0
  36. package/dist/v2/ShareViaLink.js.map +1 -0
  37. package/dist/v2/SuffixedInput.js +2 -16
  38. package/dist/v2/SuffixedInput.js.map +1 -1
  39. package/dist/v2/Taxonomy.js +525 -0
  40. package/dist/v2/Taxonomy.js.map +1 -0
  41. package/package.json +3 -3
  42. package/src/translations/ar.json +10 -3
  43. package/src/translations/bg.json +10 -3
  44. package/src/translations/ca.json +10 -3
  45. package/src/translations/cs.json +10 -3
  46. package/src/translations/da.json +10 -3
  47. package/src/translations/de.json +10 -3
  48. package/src/translations/es-MX.json +10 -3
  49. package/src/translations/es.json +10 -3
  50. package/src/translations/et.json +10 -3
  51. package/src/translations/fi.json +10 -3
  52. package/src/translations/fil.json +10 -3
  53. package/src/translations/fr.json +10 -3
  54. package/src/translations/he.json +10 -3
  55. package/src/translations/hi.json +10 -3
  56. package/src/translations/hr.json +10 -3
  57. package/src/translations/hu.json +10 -3
  58. package/src/translations/id.json +10 -3
  59. package/src/translations/it.json +10 -3
  60. package/src/translations/ja.json +9 -2
  61. package/src/translations/ko.json +9 -2
  62. package/src/translations/nl.json +10 -3
  63. package/src/translations/pl.json +10 -3
  64. package/src/translations/pt-BR.json +10 -3
  65. package/src/translations/pt.json +10 -3
  66. package/src/translations/ro.json +10 -3
  67. package/src/translations/ru.json +10 -3
  68. package/src/translations/sk.json +10 -3
  69. package/src/translations/sl.json +10 -3
  70. package/src/translations/sv.json +10 -3
  71. package/src/translations/th.json +9 -2
  72. package/src/translations/tr.json +10 -3
  73. package/src/translations/uk.json +10 -3
  74. package/src/translations/vi.json +10 -3
  75. package/src/translations/zh-CN.json +10 -3
  76. package/src/translations/zh-TW.json +10 -3
  77. package/types/v2/DndTable.d.ts +23 -0
  78. package/types/v2/ShareViaLink.d.ts +61 -0
  79. package/types/v2/Taxonomy.d.ts +16 -0
@@ -0,0 +1,546 @@
1
+ 'use strict';
2
+
3
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
6
+ var React = require('react');
7
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
8
+ var primitives = require('@bigbinary/neeto-atoms/primitives');
9
+ var i18next = require('i18next');
10
+ var neetoCist = require('@bigbinary/neeto-cist');
11
+ var initializers = require('@bigbinary/neeto-commons-frontend/v2/initializers');
12
+ var ramda = require('ramda');
13
+ var reactI18next = require('react-i18next');
14
+ var formik = require('@bigbinary/neeto-atoms/formik');
15
+ var constants = require('@bigbinary/neeto-commons-frontend/v2/constants');
16
+ var utils = require('@bigbinary/neeto-commons-frontend/v2/utils');
17
+ var yup = require('yup');
18
+ var reactQuery = require('@tanstack/react-query');
19
+ var axios = require('axios');
20
+ var v2_MoreDropdown = require('./MoreDropdown.js');
21
+ var jsxRuntime = require('react/jsx-runtime');
22
+ var v2_Container = require('./Container.js');
23
+ var v2_Header = require('./Header.js');
24
+ var v2_SubHeader = require('./SubHeader.js');
25
+ var v2_TableWrapper = require('./TableWrapper.js');
26
+ require('@babel/runtime/helpers/objectWithoutProperties');
27
+ require('classnames');
28
+ require('@bigbinary/neeto-commons-frontend/v2/react-utils');
29
+ require('../createLucideIcon-DBDhE7kE.js');
30
+ require('../ellipsis-BcfLTtl5.js');
31
+ require('../index-JY2zVpnv.js');
32
+ require('../_commonjsHelpers-BJu3ubxk.js');
33
+ require('./Breadcrumbs.js');
34
+ require('@bigbinary/neeto-commons-frontend/v2/utils/general');
35
+ require('react-router-dom');
36
+ require('./HelpPopover.js');
37
+ require('../circle-question-mark-kxBMPyWQ.js');
38
+ require('./Search.js');
39
+ require('@bigbinary/neeto-commons-frontend/v2/react-utils/useFuncDebounce');
40
+ require('@bigbinary/neeto-commons-frontend/v2/react-utils/useQueryParams');
41
+ require('@bigbinary/neeto-commons-frontend/v2/react-utils/useUpdateEffect');
42
+ require('../search-BBuFYdmG.js');
43
+ require('../Columns-CHOsnC9n.js');
44
+ require('@dnd-kit/core');
45
+ require('@dnd-kit/modifiers');
46
+ require('@dnd-kit/sortable');
47
+ require('../utilities.esm-jwIHISzF.js');
48
+ require('../grip-vertical-7cfWc2sE.js');
49
+ require('@bigbinary/neeto-commons-frontend/v2/react-utils/useMutationWithInvalidation');
50
+ require('../download-B53zeKGa.js');
51
+ require('@bigbinary/neeto-filters-frontend/v2/Filters');
52
+
53
+ function _interopNamespaceDefault(e) {
54
+ var n = Object.create(null);
55
+ if (e) {
56
+ Object.keys(e).forEach(function (k) {
57
+ if (k !== 'default') {
58
+ var d = Object.getOwnPropertyDescriptor(e, k);
59
+ Object.defineProperty(n, k, d.get ? d : {
60
+ enumerable: true,
61
+ get: function () { return e[k]; }
62
+ });
63
+ }
64
+ });
65
+ }
66
+ n.default = e;
67
+ return Object.freeze(n);
68
+ }
69
+
70
+ var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
71
+
72
+ var LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\d\s_-]+/;
73
+ var VALIDATION_SCHEMA = yup__namespace.object().shape({
74
+ singularLabel: yup__namespace.string().trim().required(i18next.t("neetoMolecules.taxonomy.editPane.validations.singularLabelRequired")),
75
+ pluralLabel: yup__namespace.string().trim().required(i18next.t("neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired"))
76
+ });
77
+ var TAXONOMY_EVENTS = {
78
+ UPDATED: "taxonomy_updated"
79
+ };
80
+
81
+ var update = function update(_ref) {
82
+ var keyName = _ref.keyName,
83
+ payload = _ref.payload;
84
+ return axios.patch("".concat(constants.BASE_API_V1_URL, "/taxonomies/").concat(keyName), payload);
85
+ };
86
+ var bulkDestroy = function bulkDestroy(payload) {
87
+ return axios["delete"]("".concat(constants.BASE_API_V1_URL, "/taxonomies/bulk_destroy"), {
88
+ data: payload
89
+ });
90
+ };
91
+ var taxonomiesApi = {
92
+ update: update,
93
+ bulkDestroy: bulkDestroy
94
+ };
95
+
96
+ function ownKeys$2(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; }
97
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
98
+ var useUpdateTaxonomy = function useUpdateTaxonomy(options) {
99
+ return reactQuery.useMutation(_objectSpread$2({
100
+ mutationFn: taxonomiesApi.update
101
+ }, options));
102
+ };
103
+ var useBulkDestroyTaxonomies = function useBulkDestroyTaxonomies(options) {
104
+ return reactQuery.useMutation(_objectSpread$2({
105
+ mutationFn: taxonomiesApi.bulkDestroy
106
+ }, options));
107
+ };
108
+
109
+ var formatLabel = function formatLabel(label) {
110
+ return neetoCist.capitalize(label.trim());
111
+ };
112
+ var formatDataForTable = function formatDataForTable(taxonomies) {
113
+ return ramda.toPairs(taxonomies).map(function (_ref) {
114
+ var _ref2 = _slicedToArray(_ref, 2),
115
+ keyName = _ref2[0],
116
+ labels = _ref2[1];
117
+ return {
118
+ keyName: keyName,
119
+ singularLabel: labels["singular"],
120
+ pluralLabel: labels["plural"]
121
+ };
122
+ });
123
+ };
124
+ var getColumnData = function getColumnData(_ref3) {
125
+ var columnLabels = _ref3.columnLabels,
126
+ columnsToShow = _ref3.columnsToShow,
127
+ handleEdit = _ref3.handleEdit,
128
+ setCurrentKeys = _ref3.setCurrentKeys,
129
+ setIsResetModalOpen = _ref3.setIsResetModalOpen;
130
+ var _columnsToShow$singul = columnsToShow.singularColumn,
131
+ showSingularColumn = _columnsToShow$singul === void 0 ? true : _columnsToShow$singul,
132
+ _columnsToShow$plural = columnsToShow.pluralColumn,
133
+ showPluralColumn = _columnsToShow$plural === void 0 ? true : _columnsToShow$plural;
134
+ var _columnLabels$singula = columnLabels.singular,
135
+ singularLabel = _columnLabels$singula === void 0 ? i18next.t("neetoMolecules.taxonomy.singularLabel") : _columnLabels$singula,
136
+ _columnLabels$plural = columnLabels.plural,
137
+ pluralLabel = _columnLabels$plural === void 0 ? i18next.t("neetoMolecules.taxonomy.pluralLabel") : _columnLabels$plural;
138
+ return [{
139
+ title: i18next.t("neetoMolecules.taxonomy.defaultLabel"),
140
+ dataIndex: "default",
141
+ key: "defaultLabel",
142
+ render: function render(_, values) {
143
+ var menuItems = [{
144
+ key: "edit",
145
+ label: i18next.t("neetoMolecules.common.actions.edit"),
146
+ onClick: function onClick() {
147
+ return handleEdit(values);
148
+ }
149
+ }, {
150
+ key: "reset",
151
+ label: i18next.t("neetoMolecules.common.actions.resetToDefaults"),
152
+ onClick: function onClick() {
153
+ setCurrentKeys([values.keyName]);
154
+ setIsResetModalOpen(true);
155
+ }
156
+ }];
157
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
158
+ className: "flex items-center justify-between gap-x-3",
159
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
160
+ variant: "body2",
161
+ children: i18next.t("taxonomyDefaultLabels.".concat(values.keyName, ".singular"))
162
+ }), /*#__PURE__*/jsxRuntime.jsx(v2_MoreDropdown, {
163
+ menuItems: menuItems,
164
+ dropdownButtonProps: {
165
+ "data-testid": "nui-dropdown-icon-".concat(values.keyName),
166
+ className: "me-1 my-1"
167
+ },
168
+ dropdownProps: {
169
+ strategy: "fixed",
170
+ placement: "bottom-end",
171
+ appendTo: function appendTo() {
172
+ return document.body;
173
+ }
174
+ }
175
+ })]
176
+ });
177
+ }
178
+ }].concat(_toConsumableArray(showSingularColumn ? [{
179
+ title: singularLabel,
180
+ dataIndex: "singularLabel",
181
+ key: "singularLabel"
182
+ }] : []), _toConsumableArray(showPluralColumn ? [{
183
+ title: pluralLabel,
184
+ dataIndex: "pluralLabel",
185
+ key: "pluralLabel"
186
+ }] : []));
187
+ };
188
+ var getFilteredTaxonomies = function getFilteredTaxonomies(matchString, taxonomies) {
189
+ var filteredArray = ramda.toPairs(taxonomies).filter(function (_ref4) {
190
+ var _ref5 = _slicedToArray(_ref4, 2),
191
+ key = _ref5[0],
192
+ value = _ref5[1];
193
+ var defaultLabel = i18next.t("taxonomyDefaultLabels.".concat(key, ".singular"));
194
+ var valuesToSearch = [defaultLabel].concat(_toConsumableArray(Object.values(value)));
195
+ return valuesToSearch.some(function (str) {
196
+ return str.toLowerCase().includes(matchString.toLowerCase());
197
+ });
198
+ });
199
+ return ramda.fromPairs(filteredArray);
200
+ };
201
+
202
+ 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; }
203
+ 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; }
204
+ var EditPane = function EditPane(_ref) {
205
+ var columnLabels = _ref.columnLabels,
206
+ columnsToShow = _ref.columnsToShow,
207
+ initialValues = _ref.initialValues,
208
+ isOpen = _ref.isOpen,
209
+ onClose = _ref.onClose;
210
+ var _useTranslation = reactI18next.useTranslation(),
211
+ t = _useTranslation.t;
212
+ var initialFocusRef = React.useRef(null);
213
+ var _useUpdateTaxonomy = useUpdateTaxonomy(),
214
+ updateTaxonomy = _useUpdateTaxonomy.mutate;
215
+ var _columnsToShow$singul = columnsToShow.singularColumn,
216
+ showSingularInputField = _columnsToShow$singul === void 0 ? true : _columnsToShow$singul,
217
+ _columnsToShow$plural = columnsToShow.pluralColumn,
218
+ showPluralInputField = _columnsToShow$plural === void 0 ? true : _columnsToShow$plural;
219
+ var _columnLabels$singula = columnLabels.singular,
220
+ singularLabel = _columnLabels$singula === void 0 ? t("neetoMolecules.taxonomy.singularLabel") : _columnLabels$singula,
221
+ _columnLabels$plural = columnLabels.plural,
222
+ pluralLabel = _columnLabels$plural === void 0 ? t("neetoMolecules.taxonomy.pluralLabel") : _columnLabels$plural;
223
+ var handleSubmit = function handleSubmit(values, _ref2) {
224
+ var setSubmitting = _ref2.setSubmitting;
225
+ var keyName = values.keyName,
226
+ singularLabel = values.singularLabel,
227
+ pluralLabel = values.pluralLabel;
228
+ var payload = {
229
+ taxonomy: {
230
+ keyName: keyName,
231
+ singularLabel: formatLabel(singularLabel),
232
+ pluralLabel: formatLabel(pluralLabel)
233
+ }
234
+ };
235
+ var options = {
236
+ onSuccess: function onSuccess() {
237
+ utils.captureAnalyticsEvent(TAXONOMY_EVENTS.UPDATED, {
238
+ taxonomy: payload.taxonomy
239
+ });
240
+ window.location.reload();
241
+ },
242
+ onError: function onError(error) {
243
+ return neetoAtoms.Toastr.error(error);
244
+ },
245
+ onSettled: function onSettled() {
246
+ return setSubmitting(false);
247
+ }
248
+ };
249
+ updateTaxonomy({
250
+ keyName: keyName,
251
+ payload: payload
252
+ }, options);
253
+ };
254
+ return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet, {
255
+ initialFocusRef: initialFocusRef,
256
+ isOpen: isOpen,
257
+ onClose: onClose,
258
+ "aria-describedby": undefined,
259
+ "data-testid": "taxonomy-edit-pane",
260
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Header, {
261
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Title, {
262
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
263
+ i18nKey: "neetoMolecules.taxonomy.editPane.title",
264
+ values: _objectSpread$1({
265
+ entity: t("taxonomyDefaultLabels.".concat(initialValues.keyName, ".singular"))
266
+ }, showSingularInputField && showPluralInputField ? constants.PLURAL : constants.SINGULAR)
267
+ })
268
+ })
269
+ }), /*#__PURE__*/jsxRuntime.jsxs(formik.Form, {
270
+ formikProps: {
271
+ initialValues: initialValues,
272
+ validationSchema: VALIDATION_SCHEMA,
273
+ onSubmit: handleSubmit
274
+ },
275
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Body, {
276
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
277
+ className: "flex w-full flex-col gap-y-6",
278
+ children: [showSingularInputField && /*#__PURE__*/jsxRuntime.jsx(formik.Input, {
279
+ required: true,
280
+ className: "w-full",
281
+ "data-testid": "taxonomy-singular-input-field",
282
+ label: singularLabel,
283
+ name: "singularLabel",
284
+ ref: initialFocusRef,
285
+ rejectCharsRegex: LABEL_REJECT_CHARS_REGEX
286
+ }), showPluralInputField && /*#__PURE__*/jsxRuntime.jsx(formik.Input, {
287
+ required: true,
288
+ className: "w-full",
289
+ "data-testid": "taxonomy-plural-input-field",
290
+ label: pluralLabel,
291
+ name: "pluralLabel",
292
+ rejectCharsRegex: LABEL_REJECT_CHARS_REGEX
293
+ })]
294
+ })
295
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Footer, {
296
+ children: /*#__PURE__*/jsxRuntime.jsx(formik.ActionBlock, {
297
+ cancelButtonProps: {
298
+ onClick: onClose,
299
+ disabled: false
300
+ },
301
+ className: "flex items-center gap-x-2"
302
+ })
303
+ })]
304
+ })]
305
+ });
306
+ };
307
+
308
+ var LeftActionBlock = function LeftActionBlock(_ref) {
309
+ var selectedCount = _ref.selectedCount,
310
+ totalCount = _ref.totalCount,
311
+ setIsResetModalOpen = _ref.setIsResetModalOpen,
312
+ setCurrentKeys = _ref.setCurrentKeys,
313
+ selectedRowIds = _ref.selectedRowIds;
314
+ return !!totalCount && /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
315
+ children: selectedCount > 0 ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
316
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
317
+ className: "me-4 font-semibold",
318
+ "data-testid": "item-count",
319
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
320
+ i18nKey: "neetoMolecules.taxonomy.actionBlock.selectedTaxonomy",
321
+ values: {
322
+ count: selectedCount,
323
+ totalCount: totalCount
324
+ },
325
+ components: {
326
+ span: /*#__PURE__*/jsxRuntime.jsx("span", {
327
+ className: "text-muted-foreground"
328
+ })
329
+ }
330
+ })
331
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu, {
332
+ customTarget: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
333
+ label: i18next.t("neetoMolecules.taxonomy.actionBlock.takeAction"),
334
+ variant: "secondary"
335
+ }),
336
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem, {
337
+ onClick: function onClick() {
338
+ setCurrentKeys(selectedRowIds);
339
+ setIsResetModalOpen(true);
340
+ },
341
+ children: i18next.t("neetoMolecules.common.actions.resetToDefaults")
342
+ })
343
+ })]
344
+ }) : /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
345
+ className: "me-4 font-semibold",
346
+ "data-testid": "item-count",
347
+ children: i18next.t("neetoMolecules.taxonomy.actionBlock.taxonomyWithCount", {
348
+ count: totalCount
349
+ })
350
+ })
351
+ });
352
+ };
353
+
354
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
355
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
356
+ var Taxonomy = function Taxonomy(_ref) {
357
+ var breadcrumbs = _ref.breadcrumbs,
358
+ _ref$columnLabels = _ref.columnLabels,
359
+ columnLabels = _ref$columnLabels === void 0 ? {} : _ref$columnLabels,
360
+ _ref$columnsToShow = _ref.columnsToShow,
361
+ columnsToShow = _ref$columnsToShow === void 0 ? {} : _ref$columnsToShow,
362
+ _ref$titleHelpPopover = _ref.titleHelpPopoverProps,
363
+ titleHelpPopoverProps = _ref$titleHelpPopover === void 0 ? {} : _ref$titleHelpPopover;
364
+ var _useState = React.useState(false),
365
+ _useState2 = _slicedToArray(_useState, 2),
366
+ isResetModalOpen = _useState2[0],
367
+ setIsResetModalOpen = _useState2[1];
368
+ var _useState3 = React.useState(false),
369
+ _useState4 = _slicedToArray(_useState3, 2),
370
+ isEditTaxonomyPaneOpen = _useState4[0],
371
+ setIsEditTaxonomyPaneOpen = _useState4[1];
372
+ var _useState5 = React.useState({}),
373
+ _useState6 = _slicedToArray(_useState5, 2),
374
+ initialValues = _useState6[0],
375
+ setInitialValues = _useState6[1];
376
+ var _useState7 = React.useState([]),
377
+ _useState8 = _slicedToArray(_useState7, 2),
378
+ selectedRowIds = _useState8[0],
379
+ setSelectedRowIds = _useState8[1];
380
+ var _useState9 = React.useState(""),
381
+ _useState0 = _slicedToArray(_useState9, 2),
382
+ searchString = _useState0[0],
383
+ setSearchString = _useState0[1];
384
+ var _useState1 = React.useState([]),
385
+ _useState10 = _slicedToArray(_useState1, 2),
386
+ currentKeys = _useState10[0],
387
+ setCurrentKeys = _useState10[1];
388
+ var _useBulkDestroyTaxono = useBulkDestroyTaxonomies(),
389
+ bulkDestroyTaxonomies = _useBulkDestroyTaxono.mutate;
390
+ var hostTaxonomyKeys = ramda.keys(initializers.globalProps.taxonomies);
391
+ // Fall back to globalProps.taxonomies when the v2 i18n store hasn't been
392
+ // initialized (e.g. Storybook skips i18n in initializeV2Application).
393
+ // In production and in tests (via mock), taxonomies is populated and this
394
+ // branch is never taken.
395
+ var taxonomySource = neetoCist.isNotEmpty(initializers.taxonomies) ? initializers.taxonomies : initializers.globalProps.taxonomies;
396
+ var hostTaxonomies = ramda.pick(hostTaxonomyKeys, taxonomySource);
397
+ var _useState11 = React.useState(hostTaxonomies),
398
+ _useState12 = _slicedToArray(_useState11, 2),
399
+ filteredTaxonomies = _useState12[0],
400
+ setFilteredTaxonomies = _useState12[1];
401
+ var handleRowSelect = function handleRowSelect(ids) {
402
+ return setSelectedRowIds(ids);
403
+ };
404
+ var handleDelete = function handleDelete() {
405
+ var payload = {
406
+ keyNames: currentKeys
407
+ };
408
+ var options = {
409
+ onSuccess: function onSuccess() {
410
+ return window.location.reload();
411
+ },
412
+ onError: function onError(error) {
413
+ return neetoAtoms.Toastr.error(error);
414
+ }
415
+ };
416
+ bulkDestroyTaxonomies(payload, options);
417
+ };
418
+ var handleEdit = function handleEdit(values) {
419
+ setInitialValues(values);
420
+ setIsEditTaxonomyPaneOpen(true);
421
+ };
422
+ var handleSearch = function handleSearch(event) {
423
+ setSearchString(event.target.value);
424
+ var newTaxonomies = getFilteredTaxonomies(event.target.value, hostTaxonomies);
425
+ setFilteredTaxonomies(newTaxonomies);
426
+ };
427
+ var columnData = getColumnData({
428
+ columnLabels: columnLabels,
429
+ columnsToShow: columnsToShow,
430
+ handleEdit: handleEdit,
431
+ setCurrentKeys: setCurrentKeys,
432
+ setIsResetModalOpen: setIsResetModalOpen
433
+ });
434
+ var rowData = formatDataForTable(filteredTaxonomies);
435
+ return /*#__PURE__*/jsxRuntime.jsxs(v2_Container, {
436
+ children: [/*#__PURE__*/jsxRuntime.jsx(v2_Header, {
437
+ breadcrumbs: breadcrumbs,
438
+ title: i18next.t("neetoMolecules.taxonomy.title"),
439
+ searchProps: {
440
+ onChange: handleSearch,
441
+ value: searchString,
442
+ placeholder: i18next.t("neetoMolecules.taxonomy.searchTaxonomy")
443
+ },
444
+ titleHelpPopoverProps: _objectSpread({
445
+ description: i18next.t("neetoMolecules.taxonomy.description"),
446
+ title: i18next.t("neetoMolecules.taxonomy.title")
447
+ }, titleHelpPopoverProps)
448
+ }), /*#__PURE__*/jsxRuntime.jsx(v2_SubHeader, {
449
+ leftActionBlock: /*#__PURE__*/jsxRuntime.jsx(LeftActionBlock, {
450
+ selectedRowIds: selectedRowIds,
451
+ setCurrentKeys: setCurrentKeys,
452
+ setIsResetModalOpen: setIsResetModalOpen,
453
+ selectedCount: selectedRowIds.length,
454
+ totalCount: rowData.length
455
+ })
456
+ }), neetoCist.isNotEmpty(filteredTaxonomies) ? /*#__PURE__*/jsxRuntime.jsxs(v2_TableWrapper, {
457
+ children: [/*#__PURE__*/jsxRuntime.jsxs(primitives.Table, {
458
+ children: [/*#__PURE__*/jsxRuntime.jsx(primitives.TableHeader, {
459
+ children: /*#__PURE__*/jsxRuntime.jsxs(primitives.TableRow, {
460
+ children: [/*#__PURE__*/jsxRuntime.jsx(primitives.TableHead, {
461
+ className: "w-10"
462
+ }), columnData.map(function (col) {
463
+ return /*#__PURE__*/jsxRuntime.jsx(primitives.TableHead, {
464
+ children: col.title
465
+ }, col.key || col.dataIndex);
466
+ })]
467
+ })
468
+ }), /*#__PURE__*/jsxRuntime.jsx(primitives.TableBody, {
469
+ children: rowData.map(function (row) {
470
+ var isSelected = selectedRowIds.includes(row.keyName);
471
+ return /*#__PURE__*/jsxRuntime.jsxs(primitives.TableRow, {
472
+ "data-state": isSelected ? "selected" : undefined,
473
+ children: [/*#__PURE__*/jsxRuntime.jsx(primitives.TableCell, {
474
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Checkbox, {
475
+ checked: isSelected,
476
+ "data-testid": "row-".concat(row.keyName),
477
+ onCheckedChange: function onCheckedChange(checked) {
478
+ var newIds = checked ? [].concat(_toConsumableArray(selectedRowIds), [row.keyName]) : selectedRowIds.filter(function (id) {
479
+ return id !== row.keyName;
480
+ });
481
+ handleRowSelect(newIds);
482
+ }
483
+ })
484
+ }), columnData.map(function (col) {
485
+ return /*#__PURE__*/jsxRuntime.jsx(primitives.TableCell, {
486
+ children: col.render ? col.render(row[col.dataIndex], row) : row[col.dataIndex]
487
+ }, col.key || col.dataIndex);
488
+ })]
489
+ }, row.keyName);
490
+ })
491
+ })]
492
+ }), /*#__PURE__*/jsxRuntime.jsx(EditPane, {
493
+ columnLabels: columnLabels,
494
+ columnsToShow: columnsToShow,
495
+ initialValues: initialValues,
496
+ isOpen: isEditTaxonomyPaneOpen,
497
+ onClose: function onClose() {
498
+ return setIsEditTaxonomyPaneOpen(false);
499
+ }
500
+ }), /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog, {
501
+ "aria-describedby": undefined,
502
+ isOpen: isResetModalOpen,
503
+ onClose: function onClose() {
504
+ return setIsResetModalOpen(false);
505
+ },
506
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Header, {
507
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Title, {
508
+ children: i18next.t("neetoMolecules.taxonomy.resetAlert.title")
509
+ })
510
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Body, {
511
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
512
+ variant: "body2",
513
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
514
+ i18nKey: "neetoMolecules.taxonomy.resetAlert.message",
515
+ values: {
516
+ count: currentKeys.length,
517
+ what: i18next.t("taxonomyDefaultLabels.".concat(currentKeys[0], ".singular"))
518
+ }
519
+ })
520
+ })
521
+ }), /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog.Footer, {
522
+ className: "flex items-center gap-x-2",
523
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
524
+ label: i18next.t("neetoMolecules.common.actions.proceed"),
525
+ onClick: handleDelete
526
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
527
+ label: i18next.t("neetoMolecules.common.actions.cancel"),
528
+ variant: "ghost",
529
+ onClick: function onClick() {
530
+ return setIsResetModalOpen(false);
531
+ }
532
+ })]
533
+ })]
534
+ })]
535
+ }) : /*#__PURE__*/jsxRuntime.jsx("div", {
536
+ className: "flex h-full w-full items-center justify-center",
537
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
538
+ variant: "body2",
539
+ children: i18next.t("neetoMolecules.taxonomy.noData")
540
+ })
541
+ })]
542
+ });
543
+ };
544
+
545
+ module.exports = Taxonomy;
546
+ //# sourceMappingURL=Taxonomy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Taxonomy.js","sources":["../../../src/v2/components/Taxonomy/constants.js","../../../src/v2/components/Taxonomy/api.js","../../../src/v2/components/Taxonomy/useTaxonomyApi.js","../../../src/v2/components/Taxonomy/utils.jsx","../../../src/v2/components/Taxonomy/EditPane.jsx","../../../src/v2/components/Taxonomy/LeftActionBlock.jsx","../../../src/v2/components/Taxonomy/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\\d\\s_-]+/;\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n singularLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.singularLabelRequired\")\n ),\n pluralLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired\")\n ),\n});\n\nexport const TAXONOMY_EVENTS = { UPDATED: \"taxonomy_updated\" };\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/v2/constants\";\n\nconst update = ({ keyName, payload }) =>\n axios.patch(`${BASE_API_V1_URL}/taxonomies/${keyName}`, payload);\n\nconst bulkDestroy = payload =>\n axios.delete(`${BASE_API_V1_URL}/taxonomies/bulk_destroy`, {\n data: payload,\n });\n\nconst taxonomiesApi = { update, bulkDestroy };\n\nexport default taxonomiesApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options =>\n useMutation({ mutationFn: taxonomiesApi.update, ...options });\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation({ mutationFn: taxonomiesApi.bulkDestroy, ...options });\n\nexport { useUpdateTaxonomy, useBulkDestroyTaxonomies };\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { fromPairs, toPairs } from \"ramda\";\n\nimport MoreDropdown from \"../MoreDropdown\";\n\nexport const formatLabel = label => capitalize(label.trim());\n\nexport const formatDataForTable = taxonomies =>\n toPairs(taxonomies).map(([keyName, labels]) => ({\n keyName,\n singularLabel: labels[\"singular\"],\n pluralLabel: labels[\"plural\"],\n }));\n\nexport const getColumnData = ({\n columnLabels,\n columnsToShow,\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen,\n}) => {\n const {\n singularColumn: showSingularColumn = true,\n pluralColumn: showPluralColumn = true,\n } = columnsToShow;\n\n const {\n singular: singularLabel = t(\"neetoMolecules.taxonomy.singularLabel\"),\n plural: pluralLabel = t(\"neetoMolecules.taxonomy.pluralLabel\"),\n } = columnLabels;\n\n return [\n {\n title: t(\"neetoMolecules.taxonomy.defaultLabel\"),\n dataIndex: \"default\",\n key: \"defaultLabel\",\n render: (_, values) => {\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => handleEdit(values),\n },\n {\n key: \"reset\",\n label: t(\"neetoMolecules.common.actions.resetToDefaults\"),\n onClick: () => {\n setCurrentKeys([values.keyName]);\n setIsResetModalOpen(true);\n },\n },\n ];\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography variant=\"body2\">\n {t(`taxonomyDefaultLabels.${values.keyName}.singular`)}\n </Typography>\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${values.keyName}`,\n className: \"me-1 my-1\",\n }}\n dropdownProps={{\n strategy: \"fixed\",\n placement: \"bottom-end\",\n appendTo: () => document.body,\n }}\n />\n </div>\n );\n },\n },\n ...(showSingularColumn\n ? [\n {\n title: singularLabel,\n dataIndex: \"singularLabel\",\n key: \"singularLabel\",\n },\n ]\n : []),\n ...(showPluralColumn\n ? [\n {\n title: pluralLabel,\n dataIndex: \"pluralLabel\",\n key: \"pluralLabel\",\n },\n ]\n : []),\n ];\n};\n\nexport const getFilteredTaxonomies = (matchString, taxonomies) => {\n const filteredArray = toPairs(taxonomies).filter(([key, value]) => {\n const defaultLabel = t(`taxonomyDefaultLabels.${key}.singular`);\n const valuesToSearch = [defaultLabel, ...Object.values(value)];\n\n return valuesToSearch.some(str =>\n str.toLowerCase().includes(matchString.toLowerCase())\n );\n });\n\n return fromPairs(filteredArray);\n};\n","import { useRef } from \"react\";\n\nimport { Sheet, Toastr } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { SINGULAR, PLURAL } from \"neetocommons/v2/constants\";\nimport { captureAnalyticsEvent } from \"neetocommons/v2/utils\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n LABEL_REJECT_CHARS_REGEX,\n TAXONOMY_EVENTS,\n VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { useUpdateTaxonomy } from \"./useTaxonomyApi\";\nimport { formatLabel } from \"./utils\";\n\nconst EditPane = ({\n columnLabels,\n columnsToShow,\n initialValues,\n isOpen,\n onClose,\n}) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const { mutate: updateTaxonomy } = useUpdateTaxonomy();\n\n const {\n singularColumn: showSingularInputField = true,\n pluralColumn: showPluralInputField = true,\n } = columnsToShow;\n\n const {\n singular: singularLabel = t(\"neetoMolecules.taxonomy.singularLabel\"),\n plural: pluralLabel = t(\"neetoMolecules.taxonomy.pluralLabel\"),\n } = columnLabels;\n\n const handleSubmit = (values, { setSubmitting }) => {\n const { keyName, singularLabel, pluralLabel } = values;\n\n const payload = {\n taxonomy: {\n keyName,\n singularLabel: formatLabel(singularLabel),\n pluralLabel: formatLabel(pluralLabel),\n },\n };\n\n const options = {\n onSuccess: () => {\n captureAnalyticsEvent(TAXONOMY_EVENTS.UPDATED, {\n taxonomy: payload.taxonomy,\n });\n window.location.reload();\n },\n onError: error => Toastr.error(error),\n onSettled: () => setSubmitting(false),\n };\n\n updateTaxonomy({ keyName, payload }, options);\n };\n\n return (\n <Sheet\n {...{ initialFocusRef, isOpen, onClose }}\n aria-describedby={undefined}\n data-testid=\"taxonomy-edit-pane\"\n >\n <Sheet.Header>\n <Sheet.Title>\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.editPane.title\"\n values={{\n entity: t(\n `taxonomyDefaultLabels.${initialValues.keyName}.singular`\n ),\n ...(showSingularInputField && showPluralInputField\n ? PLURAL\n : SINGULAR),\n }}\n />\n </Sheet.Title>\n </Sheet.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body>\n <div className=\"flex w-full flex-col gap-y-6\">\n {showSingularInputField && (\n <Input\n required\n className=\"w-full\"\n data-testid=\"taxonomy-singular-input-field\"\n label={singularLabel}\n name=\"singularLabel\"\n ref={initialFocusRef}\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n )}\n {showPluralInputField && (\n <Input\n required\n className=\"w-full\"\n data-testid=\"taxonomy-plural-input-field\"\n label={pluralLabel}\n name=\"pluralLabel\"\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n )}\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose, disabled: false }}\n className=\"flex items-center gap-x-2\"\n />\n </Sheet.Footer>\n </Form>\n </Sheet>\n );\n};\n\nexport default EditPane;\n","import { Button, DropdownMenu, Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { Trans } from \"react-i18next\";\n\nconst LeftActionBlock = ({\n selectedCount,\n totalCount,\n setIsResetModalOpen,\n setCurrentKeys,\n selectedRowIds,\n}) =>\n !!totalCount && (\n <>\n {selectedCount > 0 ? (\n <>\n <Typography className=\"me-4 font-semibold\" data-testid=\"item-count\">\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.actionBlock.selectedTaxonomy\"\n values={{ count: selectedCount, totalCount }}\n components={{\n span: <span className=\"text-muted-foreground\" />,\n }}\n />\n </Typography>\n <DropdownMenu\n customTarget={\n <Button\n label={t(\"neetoMolecules.taxonomy.actionBlock.takeAction\")}\n variant=\"secondary\"\n />\n }\n >\n <DropdownMenu.MenuItem\n onClick={() => {\n setCurrentKeys(selectedRowIds);\n setIsResetModalOpen(true);\n }}\n >\n {t(\"neetoMolecules.common.actions.resetToDefaults\")}\n </DropdownMenu.MenuItem>\n </DropdownMenu>\n </>\n ) : (\n <Typography className=\"me-4 font-semibold\" data-testid=\"item-count\">\n {t(\"neetoMolecules.taxonomy.actionBlock.taxonomyWithCount\", {\n count: totalCount,\n })}\n </Typography>\n )}\n </>\n );\n\nexport default LeftActionBlock;\n","import { useState } from \"react\";\n\nimport {\n Button,\n Checkbox,\n Dialog,\n Toastr,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { taxonomies, globalProps } from \"neetocommons/v2/initializers\";\nimport PropTypes from \"prop-types\";\nimport { pick, keys } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport EditPane from \"./EditPane\";\nimport LeftActionBlock from \"./LeftActionBlock\";\nimport { useBulkDestroyTaxonomies } from \"./useTaxonomyApi\";\nimport {\n formatDataForTable,\n getColumnData,\n getFilteredTaxonomies,\n} from \"./utils\";\n\nimport Container from \"../Container\";\nimport Header from \"../Header\";\nimport SubHeader from \"../SubHeader\";\nimport TableWrapper from \"../TableWrapper\";\n\nconst Taxonomy = ({\n breadcrumbs,\n columnLabels = {},\n columnsToShow = {},\n titleHelpPopoverProps = {},\n}) => {\n const [isResetModalOpen, setIsResetModalOpen] = useState(false);\n const [isEditTaxonomyPaneOpen, setIsEditTaxonomyPaneOpen] = useState(false);\n const [initialValues, setInitialValues] = useState({});\n const [selectedRowIds, setSelectedRowIds] = useState([]);\n const [searchString, setSearchString] = useState(\"\");\n const [currentKeys, setCurrentKeys] = useState([]);\n\n const { mutate: bulkDestroyTaxonomies } = useBulkDestroyTaxonomies();\n\n const hostTaxonomyKeys = keys(globalProps.taxonomies);\n // Fall back to globalProps.taxonomies when the v2 i18n store hasn't been\n // initialized (e.g. Storybook skips i18n in initializeV2Application).\n // In production and in tests (via mock), taxonomies is populated and this\n // branch is never taken.\n const taxonomySource = isNotEmpty(taxonomies)\n ? taxonomies\n : globalProps.taxonomies;\n const hostTaxonomies = pick(hostTaxonomyKeys, taxonomySource);\n\n const [filteredTaxonomies, setFilteredTaxonomies] = useState(hostTaxonomies);\n\n const handleRowSelect = ids => setSelectedRowIds(ids);\n\n const handleDelete = () => {\n const payload = { keyNames: currentKeys };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n };\n\n bulkDestroyTaxonomies(payload, options);\n };\n\n const handleEdit = values => {\n setInitialValues(values);\n setIsEditTaxonomyPaneOpen(true);\n };\n\n const handleSearch = event => {\n setSearchString(event.target.value);\n const newTaxonomies = getFilteredTaxonomies(\n event.target.value,\n hostTaxonomies\n );\n setFilteredTaxonomies(newTaxonomies);\n };\n\n const columnData = getColumnData({\n columnLabels,\n columnsToShow,\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen,\n });\n\n const rowData = formatDataForTable(filteredTaxonomies);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n title={t(\"neetoMolecules.taxonomy.title\")}\n searchProps={{\n onChange: handleSearch,\n value: searchString,\n placeholder: t(\"neetoMolecules.taxonomy.searchTaxonomy\"),\n }}\n titleHelpPopoverProps={{\n description: t(\"neetoMolecules.taxonomy.description\"),\n title: t(\"neetoMolecules.taxonomy.title\"),\n ...titleHelpPopoverProps,\n }}\n />\n <SubHeader\n leftActionBlock={\n <LeftActionBlock\n {...{ selectedRowIds, setCurrentKeys, setIsResetModalOpen }}\n selectedCount={selectedRowIds.length}\n totalCount={rowData.length}\n />\n }\n />\n {isNotEmpty(filteredTaxonomies) ? (\n <TableWrapper>\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead className=\"w-10\" />\n {columnData.map(col => (\n <TableHead key={col.key || col.dataIndex}>\n {col.title}\n </TableHead>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody>\n {rowData.map(row => {\n const isSelected = selectedRowIds.includes(row.keyName);\n\n return (\n <TableRow\n data-state={isSelected ? \"selected\" : undefined}\n key={row.keyName}\n >\n <TableCell>\n <Checkbox\n checked={isSelected}\n data-testid={`row-${row.keyName}`}\n onCheckedChange={checked => {\n const newIds = checked\n ? [...selectedRowIds, row.keyName]\n : selectedRowIds.filter(id => id !== row.keyName);\n handleRowSelect(newIds);\n }}\n />\n </TableCell>\n {columnData.map(col => (\n <TableCell key={col.key || col.dataIndex}>\n {col.render\n ? col.render(row[col.dataIndex], row)\n : row[col.dataIndex]}\n </TableCell>\n ))}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n <EditPane\n {...{ columnLabels, columnsToShow, initialValues }}\n isOpen={isEditTaxonomyPaneOpen}\n onClose={() => setIsEditTaxonomyPaneOpen(false)}\n />\n <Dialog\n aria-describedby={undefined}\n isOpen={isResetModalOpen}\n onClose={() => setIsResetModalOpen(false)}\n >\n <Dialog.Header>\n <Dialog.Title>\n {t(\"neetoMolecules.taxonomy.resetAlert.title\")}\n </Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n <Typography variant=\"body2\">\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.resetAlert.message\"\n values={{\n count: currentKeys.length,\n what: t(`taxonomyDefaultLabels.${currentKeys[0]}.singular`),\n }}\n />\n </Typography>\n </Dialog.Body>\n <Dialog.Footer className=\"flex items-center gap-x-2\">\n <Button\n label={t(\"neetoMolecules.common.actions.proceed\")}\n onClick={handleDelete}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n variant=\"ghost\"\n onClick={() => setIsResetModalOpen(false)}\n />\n </Dialog.Footer>\n </Dialog>\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Typography variant=\"body2\">\n {t(\"neetoMolecules.taxonomy.noData\")}\n </Typography>\n </div>\n )}\n </Container>\n );\n};\n\nTaxonomy.propTypes = {\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n columnLabels: PropTypes.object,\n columnsToShow: PropTypes.object,\n titleHelpPopoverProps: PropTypes.object,\n};\n\nexport default Taxonomy;\n"],"names":["LABEL_REJECT_CHARS_REGEX","VALIDATION_SCHEMA","yup","object","shape","singularLabel","string","trim","required","t","pluralLabel","TAXONOMY_EVENTS","UPDATED","update","_ref","keyName","payload","axios","patch","concat","BASE_API_V1_URL","bulkDestroy","data","taxonomiesApi","useUpdateTaxonomy","options","useMutation","_objectSpread","mutationFn","useBulkDestroyTaxonomies","formatLabel","label","capitalize","formatDataForTable","taxonomies","toPairs","map","_ref2","_slicedToArray","labels","getColumnData","_ref3","columnLabels","columnsToShow","handleEdit","setCurrentKeys","setIsResetModalOpen","_columnsToShow$singul","singularColumn","showSingularColumn","_columnsToShow$plural","pluralColumn","showPluralColumn","_columnLabels$singula","singular","_columnLabels$plural","plural","title","dataIndex","key","render","_","values","menuItems","onClick","_jsxs","className","children","_jsx","Typography","variant","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","placement","appendTo","document","body","_toConsumableArray","getFilteredTaxonomies","matchString","filteredArray","filter","_ref4","_ref5","value","defaultLabel","valuesToSearch","Object","some","str","toLowerCase","includes","fromPairs","EditPane","initialValues","isOpen","onClose","_useTranslation","useTranslation","initialFocusRef","useRef","_useUpdateTaxonomy","updateTaxonomy","mutate","showSingularInputField","showPluralInputField","handleSubmit","setSubmitting","taxonomy","onSuccess","captureAnalyticsEvent","window","location","reload","onError","error","Toastr","onSettled","Sheet","undefined","Header","Title","Trans","i18nKey","entity","PLURAL","SINGULAR","Form","formikProps","validationSchema","onSubmit","Body","Input","name","ref","rejectCharsRegex","Footer","ActionBlock","cancelButtonProps","disabled","LeftActionBlock","selectedCount","totalCount","selectedRowIds","_Fragment","count","components","span","DropdownMenu","customTarget","Button","MenuItem","Taxonomy","breadcrumbs","_ref$columnLabels","_ref$columnsToShow","_ref$titleHelpPopover","titleHelpPopoverProps","_useState","useState","_useState2","isResetModalOpen","_useState3","_useState4","isEditTaxonomyPaneOpen","setIsEditTaxonomyPaneOpen","_useState5","_useState6","setInitialValues","_useState7","_useState8","setSelectedRowIds","_useState9","_useState0","searchString","setSearchString","_useState1","_useState10","currentKeys","_useBulkDestroyTaxono","bulkDestroyTaxonomies","hostTaxonomyKeys","keys","globalProps","taxonomySource","isNotEmpty","hostTaxonomies","pick","_useState11","_useState12","filteredTaxonomies","setFilteredTaxonomies","handleRowSelect","ids","handleDelete","keyNames","handleSearch","event","target","newTaxonomies","columnData","rowData","Container","searchProps","onChange","placeholder","description","SubHeader","leftActionBlock","length","TableWrapper","Table","TableHeader","TableRow","TableHead","col","TableBody","row","isSelected","TableCell","Checkbox","checked","onCheckedChange","newIds","id","Dialog","what"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { c as createLucideIcon } from './createLucideIcon-mNMhCCpf.js';
2
+
3
+ /**
4
+ * @license lucide-react v1.7.0 - ISC
5
+ *
6
+ * This source code is licensed under the ISC license.
7
+ * See the LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+
11
+ const __iconNode = [
12
+ ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
13
+ ["path", { d: "M10 14 21 3", key: "gplh6r" }],
14
+ ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
15
+ ];
16
+ const ExternalLink = createLucideIcon("external-link", __iconNode);
17
+
18
+ export { ExternalLink as E };
19
+ //# sourceMappingURL=external-link-Bqki-W-9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-link-Bqki-W-9.js","sources":["../node_modules/lucide-react/dist/esm/icons/external-link.js"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M15 3h6v6\", key: \"1q9fwt\" }],\n [\"path\", { d: \"M10 14 21 3\", key: \"gplh6r\" }],\n [\"path\", { d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\", key: \"a6xqqp\" }]\n];\nconst ExternalLink = createLucideIcon(\"external-link\", __iconNode);\n\nexport { __iconNode, ExternalLink as default };\n//# sourceMappingURL=external-link.js.map\n"],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC7C,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC/C,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,0DAA0D,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC3F,CAAC;AACI,MAAC,YAAY,GAAG,gBAAgB,CAAC,eAAe,EAAE,UAAU;;;;","x_google_ignoreList":[0]}