@bigbinary/neeto-folders-frontend 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,23 +1,29 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
3
- import _regeneratorRuntime from '@babel/runtime/regenerator';
2
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
4
3
  import { shallow } from 'zustand/shallow';
4
+ import { useQueryClient } from '@tanstack/react-query';
5
5
  import { useQueryParams, useStateWithDependency } from '@bigbinary/neeto-commons-frontend/react-utils';
6
6
  import { buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
7
7
  import Alert from '@bigbinary/neetoui/Alert';
8
- import { useTranslation, Trans } from 'react-i18next';
8
+ import { useTranslation as useTranslation$1, Trans } from 'react-i18next';
9
9
  import { useHistory, Link, NavLink } from 'react-router-dom';
10
- import { c as useFolderStore, d as useDestroyFolder, a as useFolders, i as isActiveFolder, e as useFetchFolders, f as useCreateFolder, g as useUpdateFolder, h as getActiveFolderId, j as useReorderFolders, D as DEFAULT_CONFIG, u as useFolder, b as useFolderActions } from './useFolderActions-BoLQ9bAf.js';
11
- import { p as pathToFolder, t as treeToMap, m as measureDepth, a as mapToTree } from './pathUtils-B2uokQlx.js';
10
+ import { c as useFolderStore, d as useDestroyFolder, a as useFolders, e as useFetchFolders, f as useCreateFolder, g as useUpdateFolder, h as useReorderFolders, D as DEFAULT_CONFIG, u as useFolder, b as useFolderActions } from './useFolderActions-BLpmmlOf.js';
11
+ import { QUERY_KEYS } from './constants.js';
12
+ import { p as pathToFolder, t as treeToMap, m as measureDepth, a as mapToTree, b as mapToSortedTree } from './index-Cq1DyvVr.js';
13
+ import { a as isActiveFolder, g as getActiveFolderId, i as isArray } from './internal-G6z0jIQe.js';
12
14
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
13
15
  import Pane from '@bigbinary/neetoui/Pane';
14
- import { forwardRef, useMemo, createElement, useState, useEffect, startTransition } from 'react';
16
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
17
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
18
+ import React, { createElement, forwardRef, useMemo, useState, useId, useEffect, startTransition } from 'react';
15
19
  import { useField, Formik, Form } from 'formik';
16
20
  import Typography from '@bigbinary/neetoui/Typography';
17
21
  import Input from '@bigbinary/neetoui/formik/Input';
18
22
  import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
19
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
20
23
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
24
+ import Switch from '@bigbinary/neetoui/formik/Switch';
25
+ import Textarea from '@bigbinary/neetoui/formik/Textarea';
26
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
21
27
  import { ConfigProvider, TreeSelect as TreeSelect$1 } from 'antd';
22
28
  import classNames from 'classnames';
23
29
  import Down from '@bigbinary/neeto-icons/Down';
@@ -26,21 +32,31 @@ import { values, isEmpty, assoc, pick } from 'ramda';
26
32
  import Button from '@bigbinary/neetoui/Button';
27
33
  import { noop, isNotPresent } from '@bigbinary/neeto-cist';
28
34
  import Radio from '@bigbinary/neetoui/Radio';
29
- import Tooltip from '@bigbinary/neetoui/Tooltip';
30
- import { useDraggable, useDroppable, DndContext, DragOverlay } from '@dnd-kit/core';
31
- import Folder from '@bigbinary/neeto-icons/Folder';
35
+ import { useDraggable, useDroppable, DndContext, DragOverlay, useSensors, useSensor, PointerSensor } from '@dnd-kit/core';
36
+ import Reorder from '@bigbinary/neeto-icons/Reorder';
32
37
  import Toastr from '@bigbinary/neetoui/Toastr';
33
38
  import { createPortal } from 'react-dom';
34
39
  import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
35
40
  import Checkbox from '@bigbinary/neetoui/Checkbox';
36
41
  import Tree from '@bigbinary/neetoui/Tree';
37
42
  import 'i18next';
38
- import '@tanstack/react-query';
39
- import './constants.js';
40
43
  import 'zustand';
41
44
 
42
- function ownKeys$a(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; }
43
- function _objectSpread$a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
45
+ function ownKeys$e(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; }
46
+ function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$e(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
47
+ var useTranslation = function useTranslation(config) {
48
+ var _useDefaultTranslatio = useTranslation$1(),
49
+ t = _useDefaultTranslatio.t;
50
+ var modT = function modT(key, options) {
51
+ return config !== null && config !== void 0 && config.labels ? t(key, _objectSpread$e(_objectSpread$e({}, config.labels), options)) : t(key, options);
52
+ };
53
+ return {
54
+ t: modT
55
+ };
56
+ };
57
+
58
+ function ownKeys$d(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; }
59
+ function _objectSpread$d(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$d(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
44
60
  var FoldersAlerts = function FoldersAlerts(_ref) {
45
61
  var config = _ref.config;
46
62
  var _useFolderStore = useFolderStore(function (store) {
@@ -52,8 +68,9 @@ var FoldersAlerts = function FoldersAlerts(_ref) {
52
68
  var queryParams = useQueryParams({
53
69
  toCamelCase: false
54
70
  });
71
+ var queryClient = useQueryClient();
55
72
  var history = useHistory();
56
- var _useTranslation = useTranslation(),
73
+ var _useTranslation = useTranslation(config),
57
74
  t = _useTranslation.t;
58
75
  var _useFolderStore2 = useFolderStore(function (store) {
59
76
  var _store$alertState, _store$alertState2;
@@ -66,7 +83,7 @@ var FoldersAlerts = function FoldersAlerts(_ref) {
66
83
  item = _useFolderStore2.item;
67
84
  var _useDestroyFolder = useDestroyFolder(config),
68
85
  destroyFolder = _useDestroyFolder.mutateAsync,
69
- isLoading = _useDestroyFolder.isLoading;
86
+ isPending = _useDestroyFolder.isPending;
70
87
  var _useFolders = useFolders(config),
71
88
  folders = _useFolders.folders;
72
89
  var onClose = function onClose() {
@@ -76,46 +93,33 @@ var FoldersAlerts = function FoldersAlerts(_ref) {
76
93
  };
77
94
  var alertProps = {
78
95
  isOpen: !!type,
79
- isSubmitting: isLoading,
96
+ isSubmitting: isPending,
80
97
  onClose: onClose
81
98
  };
82
- var onConfirmDelete = /*#__PURE__*/function () {
83
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
84
- var path, parent;
85
- return _regeneratorRuntime.wrap(function _callee$(_context) {
86
- while (1) switch (_context.prev = _context.next) {
87
- case 0:
88
- _context.next = 2;
89
- return destroyFolder(item.id);
90
- case 2:
91
- onClose();
92
- if (!(!isActiveFolder(item.sid) || !folders)) {
93
- _context.next = 5;
94
- break;
95
- }
96
- return _context.abrupt("return");
97
- case 5:
98
- path = pathToFolder(folders, item.id);
99
- parent = path[path.length - 2];
100
- if (parent) {
101
- _context.next = 9;
102
- break;
103
- }
104
- return _context.abrupt("return");
105
- case 9:
106
- history.replace(buildUrl(config.folderPath, _objectSpread$a(_objectSpread$a({}, queryParams), {}, {
107
- folderId: parent.sid
108
- })));
109
- case 10:
110
- case "end":
111
- return _context.stop();
112
- }
113
- }, _callee);
114
- }));
115
- return function onConfirmDelete() {
116
- return _ref2.apply(this, arguments);
99
+ var onConfirmDelete = function onConfirmDelete() {
100
+ var onSuccess = function onSuccess() {
101
+ var isActive = isActiveFolder(config, item.sid);
102
+ // Invalidates items and folder details. Refetch only if not active folder.
103
+ var invalidationKeys = [].concat(_toConsumableArray(config.invalidationKeys), [[QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS]]);
104
+ invalidationKeys.forEach(function (queryKey) {
105
+ queryClient.invalidateQueries({
106
+ refetchType: isActive ? "none" : "active",
107
+ queryKey: queryKey
108
+ });
109
+ });
110
+ if (isActive && folders) {
111
+ var path = pathToFolder(folders, item.id);
112
+ var parent = path[path.length - 2];
113
+ history.replace(buildUrl(config.folderPath, _objectSpread$d(_objectSpread$d({}, queryParams), {}, {
114
+ folderId: parent ? parent.sid : ""
115
+ })));
116
+ }
117
117
  };
118
- }();
118
+ destroyFolder(item.id, {
119
+ onSuccess: onSuccess,
120
+ onSettled: onClose
121
+ });
122
+ };
119
123
  if (type === "delete") {
120
124
  alertProps.title = t("deleteFolder.title");
121
125
  alertProps.message = /*#__PURE__*/jsx(Trans, {
@@ -125,12 +129,34 @@ var FoldersAlerts = function FoldersAlerts(_ref) {
125
129
  if (config.customizeAlerts) config.customizeAlerts(type, item, alertProps);
126
130
  alertProps.onSubmit = onConfirmDelete;
127
131
  }
128
- return /*#__PURE__*/jsx(Alert, _objectSpread$a({}, alertProps));
132
+ return /*#__PURE__*/jsx(Alert, _objectSpread$d({}, alertProps));
129
133
  };
130
134
 
131
- var _excluded$4 = ["className", "disabled", "fieldNames", "label", "loading", "name", "placeholder", "required", "showSearch", "size", "treeData"];
132
- function ownKeys$9(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; }
133
- function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
135
+ var _excluded$6 = ["type"];
136
+ function ownKeys$c(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; }
137
+ function _objectSpread$c(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$c(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
138
+ var typeComponentMap = {
139
+ string: Input,
140
+ "boolean": Switch,
141
+ textarea: Textarea
142
+ };
143
+ var ExtraAttributes = function ExtraAttributes(_ref) {
144
+ var attributes = _ref.attributes;
145
+ if (!Array.isArray(attributes)) return null;
146
+ return attributes.map(function (_ref2) {
147
+ var type = _ref2.type,
148
+ rest = _objectWithoutProperties(_ref2, _excluded$6);
149
+ var Component = typeComponentMap[type];
150
+ if (!Component) return null;
151
+ return /*#__PURE__*/createElement(Component, _objectSpread$c(_objectSpread$c({}, rest), {}, {
152
+ key: rest.name
153
+ }));
154
+ });
155
+ };
156
+
157
+ var _excluded$5 = ["className", "disabled", "fieldNames", "label", "loading", "name", "placeholder", "required", "showSearch", "size", "treeData"];
158
+ function ownKeys$b(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; }
159
+ function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
134
160
  var TreeSelect = /*#__PURE__*/forwardRef(function (_ref, ref) {
135
161
  var _fieldNames$label;
136
162
  var className = _ref.className,
@@ -151,7 +177,7 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_ref, ref) {
151
177
  _ref$size = _ref.size,
152
178
  size = _ref$size === void 0 ? "middle" : _ref$size,
153
179
  treeData = _ref.treeData,
154
- otherProps = _objectWithoutProperties(_ref, _excluded$4);
180
+ otherProps = _objectWithoutProperties(_ref, _excluded$5);
155
181
  var _useField = useField(name),
156
182
  _useField2 = _slicedToArray(_useField, 3),
157
183
  field = _useField2[0],
@@ -169,13 +195,40 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_ref, ref) {
169
195
  children: label
170
196
  }), /*#__PURE__*/jsx(ConfigProvider, {
171
197
  theme: {
198
+ token: {
199
+ colorBgContainer: "rgb(var(--neeto-ui-white))",
200
+ colorBorder: "rgb(var(--neeto-ui-gray-300))",
201
+ colorBorderSecondary: "rgb(var(--neeto-ui-gray-200))",
202
+ colorFillAlter: "rgb(var(--neeto-ui-gray-100))",
203
+ colorFillContent: "rgb(var(--neeto-ui-gray-100))",
204
+ colorFillSecondary: "rgb(var(--neeto-ui-gray-100))",
205
+ colorIcon: "rgb(var(--neeto-ui-gray-700))",
206
+ colorIconHover: "rgb(var(--neeto-ui-gray-800))",
207
+ colorLink: "rgb(var(--neeto-ui-primary-500))",
208
+ colorLinkActive: "rgb(var(--neeto-ui-primary-800))",
209
+ colorLinkHover: "rgb(var(--neeto-ui-primary-600))",
210
+ colorPrimary: "rgb(var(--neeto-ui-primary-500))",
211
+ colorSplit: "rgb(var(--neeto-ui-gray-100))",
212
+ colorText: "rgb(var(--neeto-ui-gray-800))",
213
+ colorTextDescription: "rgb(var(--neeto-ui-gray-700))",
214
+ colorTextDisabled: "rgb(var(--neeto-ui-gray-600))",
215
+ colorTextHeading: "rgb(var(--neeto-ui-black))",
216
+ colorTextPlaceholder: "rgb(var(--neeto-ui-gray-500))",
217
+ controlItemBgActive: "rgb(var(--neeto-ui-primary-100))",
218
+ controlItemBgActiveHover: "rgb(var(--neeto-ui-pastel-purple))",
219
+ controlItemBgHover: "rgb(var(--neeto-ui-gray-100))"
220
+ },
172
221
  components: {
173
222
  TreeSelect: {
174
- titleHeight: 28
223
+ titleHeight: 28,
224
+ indentSize: 28,
225
+ nodeHoverBg: "rgb(var(--neeto-ui-gray-100))",
226
+ nodeSelectedBg: "rgb(var(--neeto-ui-primary-500))",
227
+ colorBgElevated: "rgb(var(--neeto-ui-white))"
175
228
  }
176
229
  }
177
230
  },
178
- children: /*#__PURE__*/jsx(TreeSelect$1, _objectSpread$9(_objectSpread$9({
231
+ children: /*#__PURE__*/jsx(TreeSelect$1, _objectSpread$b(_objectSpread$b({
179
232
  treeDataSimpleMode: true,
180
233
  "data-cy": "nui-select-container-wrapper",
181
234
  dropdownStyle: {
@@ -190,8 +243,10 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_ref, ref) {
190
243
  "neeto-ui-tree-select__error": meta.error
191
244
  }),
192
245
  switcherIcon: function switcherIcon(props) {
193
- return /*#__PURE__*/jsx("div", _objectSpread$9(_objectSpread$9({}, props), {}, {
194
- children: /*#__PURE__*/jsx(Down, {})
246
+ return /*#__PURE__*/jsx("div", _objectSpread$b(_objectSpread$b({}, props), {}, {
247
+ children: /*#__PURE__*/jsx(Down, {
248
+ className: "relative"
249
+ })
195
250
  }));
196
251
  },
197
252
  onBlur: function onBlur() {
@@ -200,7 +255,7 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_ref, ref) {
200
255
  onChange: function onChange(value) {
201
256
  return setValue(value);
202
257
  }
203
- }, _objectSpread$9({
258
+ }, _objectSpread$b({
204
259
  disabled: disabled,
205
260
  fieldNames: fieldNames,
206
261
  loading: loading,
@@ -237,12 +292,35 @@ var createFolderOptions = function createFolderOptions(foldersMap, config) {
237
292
  };
238
293
  });
239
294
  };
295
+ var createInitialValues = function createInitialValues(defaults, extraAttrs) {
296
+ var values = {
297
+ name: "",
298
+ parentId: defaults.parentId || null
299
+ };
300
+ extraAttrs === null || extraAttrs === void 0 || extraAttrs.forEach(function (_ref) {
301
+ var name = _ref.name,
302
+ defaultValue = _ref.defaultValue;
303
+ values[name] = defaultValue;
304
+ });
305
+ return values;
306
+ };
307
+ var createPayload = function createPayload(values, extraAttrs) {
308
+ var payload = {
309
+ name: values.name,
310
+ parentId: values.parentId
311
+ };
312
+ extraAttrs === null || extraAttrs === void 0 || extraAttrs.forEach(function (_ref2) {
313
+ var name = _ref2.name;
314
+ payload[name] = values[name];
315
+ });
316
+ return payload;
317
+ };
240
318
 
241
319
  var AddEditPane = function AddEditPane(_ref) {
242
320
  var setFocusField = _ref.setFocusField,
243
321
  config = _ref.config,
244
322
  onClose = _ref.onClose;
245
- var _useTranslation = useTranslation(),
323
+ var _useTranslation = useTranslation(config),
246
324
  t = _useTranslation.t;
247
325
  var _useFolderStore = useFolderStore(function (store) {
248
326
  var _store$paneState, _store$paneState2;
@@ -270,22 +348,19 @@ var AddEditPane = function AddEditPane(_ref) {
270
348
  var activeFolder = foldersMap[activeFolderSid];
271
349
  var isValidParent = (activeFolder === null || activeFolder === void 0 ? void 0 : activeFolder.meta.depth) < config.maxDepth;
272
350
  var parentId = isValidParent ? activeFolder.id : null;
351
+ var extraAttributes = config.extraAttributes;
273
352
  var initialValues = useMemo(function () {
274
- return isEditing ? item : {
275
- name: "",
353
+ return isEditing ? item : createInitialValues({
276
354
  parentId: parentId
277
- };
278
- }, [isEditing, item, parentId]);
355
+ }, extraAttributes);
356
+ }, [isEditing, item, parentId, extraAttributes]);
279
357
  var onSubmitForm = /*#__PURE__*/function () {
280
358
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {
281
359
  var payload;
282
360
  return _regeneratorRuntime.wrap(function _callee$(_context) {
283
361
  while (1) switch (_context.prev = _context.next) {
284
362
  case 0:
285
- payload = {
286
- name: values.name,
287
- parent_id: values.parentId
288
- };
363
+ payload = createPayload(values, extraAttributes);
289
364
  if (!isEditing) {
290
365
  _context.next = 6;
291
366
  break;
@@ -326,12 +401,15 @@ var AddEditPane = function AddEditPane(_ref) {
326
401
  children: function children() {
327
402
  return /*#__PURE__*/jsxs(Fragment, {
328
403
  children: [/*#__PURE__*/jsx(Pane.Body, {
404
+ className: "pb-6",
329
405
  children: /*#__PURE__*/jsxs(Form, {
330
406
  className: "w-full space-y-5",
331
407
  children: [/*#__PURE__*/jsx(Input, {
332
408
  label: t("folders.name"),
333
409
  name: "name",
334
410
  ref: setFocusField
411
+ }), /*#__PURE__*/jsx(ExtraAttributes, {
412
+ attributes: extraAttributes
335
413
  }), /*#__PURE__*/jsxs("div", {
336
414
  children: [/*#__PURE__*/jsx(TreeSelect, {
337
415
  allowClear: true,
@@ -340,7 +418,8 @@ var AddEditPane = function AddEditPane(_ref) {
340
418
  name: "parentId",
341
419
  treeData: folderOptions
342
420
  }), /*#__PURE__*/jsx(Typography, {
343
- style: "nano",
421
+ className: "mt-1",
422
+ style: "body3",
344
423
  children: t("createFolder.parentInfo")
345
424
  })]
346
425
  })]
@@ -358,10 +437,11 @@ var AddEditPane = function AddEditPane(_ref) {
358
437
  });
359
438
  };
360
439
 
361
- var _excluded$3 = ["icon", "itemLabel", "folder", "depth", "className", "onClick"];
362
- function ownKeys$8(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; }
363
- function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
364
- var indentSize = 30;
440
+ var REORDER_TREE_INDENT_WIDTH = 30;
441
+
442
+ var _excluded$4 = ["icon", "itemLabel", "folder", "depth", "className", "onClick"];
443
+ function ownKeys$a(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; }
444
+ function _objectSpread$a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
365
445
  var Node = function Node(_ref, ref) {
366
446
  var _folder$children$leng, _folder$children;
367
447
  var _ref$icon = _ref.icon,
@@ -371,8 +451,8 @@ var Node = function Node(_ref, ref) {
371
451
  depth = _ref.depth,
372
452
  className = _ref.className,
373
453
  onClick = _ref.onClick,
374
- rest = _objectWithoutProperties(_ref, _excluded$3);
375
- var _useTranslation = useTranslation(),
454
+ rest = _objectWithoutProperties(_ref, _excluded$4);
455
+ var _useTranslation = useTranslation$1(),
376
456
  t = _useTranslation.t;
377
457
  var metaInfo = [];
378
458
  var childCount = (_folder$children$leng = (_folder$children = folder.children) === null || _folder$children === void 0 ? void 0 : _folder$children.length) !== null && _folder$children$leng !== void 0 ? _folder$children$leng : 0;
@@ -381,18 +461,18 @@ var Node = function Node(_ref, ref) {
381
461
  }));
382
462
  folder.itemCount > 0 && metaInfo.push("".concat(folder.itemCount, " ").concat(itemLabel));
383
463
  return /*#__PURE__*/jsxs("div", {
384
- className: "flex",
464
+ className: "flex w-full min-w-0",
385
465
  children: [Array.from({
386
466
  length: depth
387
467
  }).map(function (_, index) {
388
468
  return /*#__PURE__*/jsx("span", {
389
- className: "relative border-l",
469
+ className: "neeto-ui-border-gray-300 relative h-full flex-shrink-0 border-l",
390
470
  style: {
391
- width: indentSize,
392
- left: Math.round(indentSize / 2)
471
+ width: REORDER_TREE_INDENT_WIDTH,
472
+ left: Math.round(REORDER_TREE_INDENT_WIDTH / 2)
393
473
  }
394
474
  }, index);
395
- }), /*#__PURE__*/jsxs("div", _objectSpread$8(_objectSpread$8({}, _objectSpread$8(_objectSpread$8({}, rest), {}, {
475
+ }), /*#__PURE__*/jsxs("div", _objectSpread$a(_objectSpread$a({}, _objectSpread$a(_objectSpread$a({}, rest), {}, {
396
476
  onClick: onClick,
397
477
  ref: ref
398
478
  })), {}, {
@@ -400,12 +480,14 @@ var Node = function Node(_ref, ref) {
400
480
  children: [icon, /*#__PURE__*/jsxs("div", {
401
481
  className: "ml-2",
402
482
  children: [/*#__PURE__*/jsx(Typography, {
403
- style: "body3",
483
+ lineHeight: "snug",
484
+ style: "body1",
404
485
  weight: "medium",
405
486
  children: folder.name
406
487
  }), /*#__PURE__*/jsx(Typography, {
407
- className: "relative -top-0.5",
408
- style: "nano",
488
+ className: "relative mt-0.5",
489
+ lineHeight: "snug",
490
+ style: "body3",
409
491
  weight: "normal",
410
492
  children: metaInfo.join(" . ")
411
493
  })]
@@ -415,9 +497,9 @@ var Node = function Node(_ref, ref) {
415
497
  };
416
498
  var Node$1 = /*#__PURE__*/forwardRef(Node);
417
499
 
418
- var _excluded$2 = ["folder", "item", "depth", "maxDepth", "disabled"];
419
- function ownKeys$7(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; }
420
- function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
500
+ var _excluded$3 = ["folder", "item", "depth", "maxDepth", "disabled", "config"];
501
+ function ownKeys$9(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; }
502
+ function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
421
503
  var _SelectableNode = function SelectableNode(_ref) {
422
504
  var folder = _ref.folder,
423
505
  item = _ref.item,
@@ -425,16 +507,18 @@ var _SelectableNode = function SelectableNode(_ref) {
425
507
  depth = _ref$depth === void 0 ? 0 : _ref$depth,
426
508
  maxDepth = _ref.maxDepth,
427
509
  disabled = _ref.disabled,
428
- rest = _objectWithoutProperties(_ref, _excluded$2);
510
+ config = _ref.config,
511
+ rest = _objectWithoutProperties(_ref, _excluded$3);
429
512
  var selection = rest.selection,
430
513
  onSelect = rest.onSelect;
431
- var _useTranslation = useTranslation(),
514
+ var _useTranslation = useTranslation(config),
432
515
  t = _useTranslation.t;
433
516
  var isDisabled = disabled || (item === null || item === void 0 ? void 0 : item.id) === folder.id || depth > maxDepth;
434
517
  var renderChildren = function renderChildren() {
435
518
  if (isNotPresent(folder.children)) return null;
436
519
  return folder.children.map(function (child) {
437
- return /*#__PURE__*/createElement(_SelectableNode, _objectSpread$7(_objectSpread$7({}, _objectSpread$7(_objectSpread$7({}, rest), {}, {
520
+ return /*#__PURE__*/createElement(_SelectableNode, _objectSpread$9(_objectSpread$9({}, _objectSpread$9(_objectSpread$9({}, rest), {}, {
521
+ config: config,
438
522
  item: item,
439
523
  maxDepth: maxDepth
440
524
  })), {}, {
@@ -445,33 +529,31 @@ var _SelectableNode = function SelectableNode(_ref) {
445
529
  }));
446
530
  });
447
531
  };
448
- return /*#__PURE__*/jsx(Tooltip, {
449
- content: t("moveToFolder.notAllowed"),
450
- disabled: !isDisabled,
451
- position: "top",
452
- children: /*#__PURE__*/jsxs("div", {
453
- className: classNames({
454
- "opacity-40": isDisabled
532
+ return /*#__PURE__*/jsxs("div", {
533
+ "aria-disabled": isDisabled,
534
+ className: classNames({
535
+ "opacity-60": isDisabled
536
+ }),
537
+ title: isDisabled ? t("moveToFolder.notAllowed") : undefined,
538
+ children: [/*#__PURE__*/jsx(Node$1, _objectSpread$9(_objectSpread$9({}, _objectSpread$9(_objectSpread$9({}, rest), {}, {
539
+ depth: depth,
540
+ folder: folder
541
+ })), {}, {
542
+ icon: /*#__PURE__*/jsx(Radio.Item, {
543
+ readOnly: true,
544
+ checked: selection === folder.id,
545
+ className: "neeto-ui-radio__container",
546
+ name: "move-folder-option"
455
547
  }),
456
- children: [/*#__PURE__*/jsx(Node$1, _objectSpread$7(_objectSpread$7({}, _objectSpread$7(_objectSpread$7({}, rest), {}, {
457
- depth: depth,
458
- folder: folder
459
- })), {}, {
460
- icon: /*#__PURE__*/jsx(Radio.Item, {
461
- readOnly: true,
462
- checked: selection === folder.id,
463
- name: "move-folder-option"
464
- }),
465
- onClick: isDisabled ? noop : function () {
466
- return onSelect(folder);
467
- }
468
- })), renderChildren()]
469
- })
548
+ onClick: isDisabled ? noop : function () {
549
+ return onSelect(folder);
550
+ }
551
+ })), renderChildren()]
470
552
  });
471
553
  };
472
554
 
473
- function ownKeys$6(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; }
474
- function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
555
+ function ownKeys$8(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; }
556
+ function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
475
557
  var PaneBody = function PaneBody(_ref) {
476
558
  var item = _ref.item,
477
559
  config = _ref.config,
@@ -494,7 +576,7 @@ var PaneBody = function PaneBody(_ref) {
494
576
  var _useFetchFolders = useFetchFolders(config),
495
577
  _useFetchFolders$data = _useFetchFolders.data,
496
578
  folders = _useFetchFolders$data === void 0 ? [] : _useFetchFolders$data;
497
- var _useTranslation = useTranslation(),
579
+ var _useTranslation = useTranslation(config),
498
580
  t = _useTranslation.t;
499
581
  var folderDepth = 0;
500
582
  if (item) {
@@ -525,14 +607,16 @@ var PaneBody = function PaneBody(_ref) {
525
607
  onClick: onAddFolder
526
608
  })]
527
609
  }), /*#__PURE__*/jsx(Pane.Body, {
610
+ className: "pb-6",
528
611
  children: folders.map(function (folder) {
529
612
  return /*#__PURE__*/createElement(_SelectableNode, {
613
+ config: config,
530
614
  folder: folder,
531
615
  item: item,
532
616
  maxDepth: maxDepth,
533
617
  selection: selection,
534
618
  disabled: (item === null || item === void 0 ? void 0 : item.id) === folder.id || maxDepth <= 0,
535
- itemLabel: config.itemLabel,
619
+ itemLabel: config.labels.item,
536
620
  key: folder.id,
537
621
  onSelect: function onSelect(folder) {
538
622
  return setSelection(folder.id);
@@ -543,19 +627,19 @@ var PaneBody = function PaneBody(_ref) {
543
627
  className: "space-x-2",
544
628
  children: [/*#__PURE__*/jsxs("div", {
545
629
  className: "flex flex-1 space-x-2",
546
- children: [/*#__PURE__*/jsx(Button, _objectSpread$6({
630
+ children: [/*#__PURE__*/jsx(Button, _objectSpread$8({
547
631
  disabled: !selection,
548
632
  label: t("common.save"),
549
633
  style: "primary",
550
634
  onClick: function onClick() {
551
635
  return onSubmit(selection);
552
636
  }
553
- }, submitButtonProps)), /*#__PURE__*/jsx(Button, _objectSpread$6({
637
+ }, submitButtonProps)), /*#__PURE__*/jsx(Button, _objectSpread$8({
554
638
  label: t("common.cancel"),
555
639
  style: "text",
556
640
  onClick: onClose
557
641
  }, cancelButtonProps))]
558
- }), onRemove && /*#__PURE__*/jsx(Button, _objectSpread$6({
642
+ }), onRemove && /*#__PURE__*/jsx(Button, _objectSpread$8({
559
643
  label: t("moveToFolder.remove"),
560
644
  style: "tertiary",
561
645
  onClick: onRemove
@@ -596,14 +680,14 @@ var MoveFolderPane = function MoveFolderPane(_ref) {
596
680
  });
597
681
  };
598
682
 
599
- var _excluded$1 = ["folder", "depth"];
600
- function ownKeys$5(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; }
601
- function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
602
- var _DraggableNode = function DraggableNode(_ref) {
683
+ var _excluded$2 = ["folder", "depth"];
684
+ function ownKeys$7(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; }
685
+ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
686
+ var _DraggableNode$1 = function DraggableNode(_ref) {
603
687
  var folder = _ref.folder,
604
688
  _ref$depth = _ref.depth,
605
689
  depth = _ref$depth === void 0 ? 0 : _ref$depth,
606
- rest = _objectWithoutProperties(_ref, _excluded$1);
690
+ rest = _objectWithoutProperties(_ref, _excluded$2);
607
691
  var _useDraggable = useDraggable({
608
692
  id: "draggable-item--".concat(folder.id),
609
693
  data: folder,
@@ -623,21 +707,22 @@ var _DraggableNode = function DraggableNode(_ref) {
623
707
  var renderChildren = function renderChildren() {
624
708
  if (isNotPresent(folder.children) || isDragging) return null;
625
709
  return folder.children.map(function (child) {
626
- return /*#__PURE__*/createElement(_DraggableNode, _objectSpread$5(_objectSpread$5({}, rest), {}, {
710
+ return /*#__PURE__*/createElement(_DraggableNode$1, _objectSpread$7(_objectSpread$7({}, rest), {}, {
627
711
  depth: depth + 1,
628
712
  folder: child,
629
713
  key: child.id
630
714
  }));
631
715
  });
632
716
  };
633
- return /*#__PURE__*/jsxs("div", {
634
- children: [/*#__PURE__*/jsx(Node$1, _objectSpread$5(_objectSpread$5(_objectSpread$5({}, rest), {}, {
717
+ return /*#__PURE__*/jsxs(Fragment, {
718
+ children: [/*#__PURE__*/jsx(Node$1, _objectSpread$7(_objectSpread$7(_objectSpread$7({}, rest), {}, {
635
719
  className: classNames({
636
- "neeto-ui-bg-gray-100 opacity-50 ": isDragging,
720
+ "neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors": true,
721
+ "neeto-ui-bg-gray-100 opacity-50": isDragging,
637
722
  "neeto-ui-border-primary-500 border": isOver,
638
723
  "border border-transparent": !isOver
639
724
  })
640
- }, _objectSpread$5(_objectSpread$5({
725
+ }, _objectSpread$7(_objectSpread$7({
641
726
  depth: depth,
642
727
  folder: folder
643
728
  }, attributes), listeners)), {}, {
@@ -649,9 +734,9 @@ var _DraggableNode = function DraggableNode(_ref) {
649
734
  });
650
735
  };
651
736
 
652
- function ownKeys$4(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; }
653
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
654
- var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
737
+ function ownKeys$6(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; }
738
+ function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
739
+ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
655
740
  var config = _ref.config,
656
741
  onClose = _ref.onClose;
657
742
  var _useState = useState(null),
@@ -662,7 +747,7 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
662
747
  _useState4 = _slicedToArray(_useState3, 2),
663
748
  changes = _useState4[0],
664
749
  setChanges = _useState4[1];
665
- var _useTranslation = useTranslation(),
750
+ var _useTranslation = useTranslation(config),
666
751
  t = _useTranslation.t;
667
752
  var _useFetchFolders = useFetchFolders(config),
668
753
  folders = _useFetchFolders.data;
@@ -715,8 +800,10 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
715
800
  });
716
801
  };
717
802
  var nodeProps = {
718
- icon: /*#__PURE__*/jsx(Folder, {}),
719
- itemLabel: config.itemLabel
803
+ icon: /*#__PURE__*/jsx(Reorder, {
804
+ className: "neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0"
805
+ }),
806
+ itemLabel: config.labels.item
720
807
  };
721
808
  return /*#__PURE__*/jsxs(Fragment, {
722
809
  children: [/*#__PURE__*/jsx(Pane.Header, {
@@ -731,12 +818,13 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
731
818
  return setDragItem(active.data.current);
732
819
  },
733
820
  children: [/*#__PURE__*/jsx(Pane.Body, {
734
- children: /*#__PURE__*/createElement(_DraggableNode, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
821
+ className: "pb-6",
822
+ children: /*#__PURE__*/createElement(_DraggableNode$1, _objectSpread$6(_objectSpread$6({}, nodeProps), {}, {
735
823
  folder: tree,
736
824
  key: tree.id
737
825
  }))
738
826
  }), /*#__PURE__*/jsxs(Pane.Footer, {
739
- className: "space-x-2",
827
+ className: "gap-2",
740
828
  children: [/*#__PURE__*/jsx(Button, {
741
829
  disabled: isEmpty(changes),
742
830
  label: t("common.save"),
@@ -749,7 +837,7 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
749
837
  })]
750
838
  }), /*#__PURE__*/createPortal(/*#__PURE__*/jsx(DragOverlay, {
751
839
  zIndex: 99999,
752
- children: dragItem && /*#__PURE__*/jsx(Node$1, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
840
+ children: dragItem && /*#__PURE__*/jsx(Node$1, _objectSpread$6(_objectSpread$6({}, nodeProps), {}, {
753
841
  className: "neeto-ui-bg-gray-200",
754
842
  depth: 0,
755
843
  folder: dragItem
@@ -759,6 +847,312 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
759
847
  });
760
848
  };
761
849
 
850
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
851
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
852
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
853
+ var distanceBetween = function distanceBetween(p1, p2) {
854
+ return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));
855
+ };
856
+ var centerOfRectangle = function centerOfRectangle(rect) {
857
+ var left = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : rect.left;
858
+ var top = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : rect.top;
859
+ return {
860
+ x: left + rect.width * 0.5,
861
+ y: top + rect.height * 0.5
862
+ };
863
+ };
864
+ var closestCenter = function closestCenter(_ref) {
865
+ var activeItem = _ref.activeItem;
866
+ return function (_ref2) {
867
+ var collisionRect = _ref2.collisionRect,
868
+ droppableRects = _ref2.droppableRects,
869
+ droppableContainers = _ref2.droppableContainers;
870
+ var centerRect = centerOfRectangle(collisionRect, collisionRect.left - 30, collisionRect.top - 30);
871
+ var minDistance = Number.POSITIVE_INFINITY;
872
+ var collision = {
873
+ id: undefined
874
+ };
875
+
876
+ // eslint-disable-next-line @bigbinary/neeto/use-array-methods
877
+ var _iterator = _createForOfIteratorHelper(droppableContainers),
878
+ _step;
879
+ try {
880
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
881
+ var droppableContainer = _step.value;
882
+ var rect = droppableRects.get(droppableContainer.id);
883
+ if (!rect || droppableContainer.id === activeItem.id) continue;
884
+ var distance = distanceBetween(centerOfRectangle(rect), centerRect);
885
+ if (distance < minDistance) {
886
+ minDistance = distance;
887
+ collision = {
888
+ id: droppableContainer.id,
889
+ data: {
890
+ droppableContainer: droppableContainer,
891
+ value: distance
892
+ }
893
+ };
894
+ }
895
+ }
896
+ } catch (err) {
897
+ _iterator.e(err);
898
+ } finally {
899
+ _iterator.f();
900
+ }
901
+ return [collision];
902
+ };
903
+ };
904
+
905
+ var PlaceholderNode = function PlaceholderNode(_ref) {
906
+ var folder = _ref.folder,
907
+ dragState = _ref.dragState;
908
+ var overItem = dragState.overItem;
909
+ var id = useId();
910
+ var isOver = id === (overItem === null || overItem === void 0 ? void 0 : overItem.id);
911
+ var depth = folder.meta.depth + 1;
912
+ var meta = {
913
+ parent: folder,
914
+ index: -1,
915
+ depth: depth
916
+ };
917
+ var _useDroppable = useDroppable({
918
+ id: "droppable-placeholder--".concat(folder.name),
919
+ data: {
920
+ id: id,
921
+ meta: meta
922
+ }
923
+ }),
924
+ setDroppableRef = _useDroppable.setNodeRef;
925
+ return /*#__PURE__*/jsxs("div", {
926
+ className: "flex w-full",
927
+ children: [/*#__PURE__*/jsx("div", {
928
+ style: {
929
+ width: REORDER_TREE_INDENT_WIDTH * depth
930
+ }
931
+ }), /*#__PURE__*/jsx("div", {
932
+ ref: setDroppableRef,
933
+ className: classNames({
934
+ "min-w-0 flex-1 transition-colors": true,
935
+ "neeto-ui-border-primary-500 border-b-2": isOver
936
+ })
937
+ })]
938
+ });
939
+ };
940
+
941
+ var _excluded$1 = ["folder", "dragState"];
942
+ function ownKeys$5(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; }
943
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
944
+ var _DraggableNode = function DraggableNode(_ref) {
945
+ var _overItem$meta$parent;
946
+ var folder = _ref.folder,
947
+ dragState = _ref.dragState,
948
+ rest = _objectWithoutProperties(_ref, _excluded$1);
949
+ var overItem = dragState.overItem;
950
+ var isOverItem = folder.id === (overItem === null || overItem === void 0 ? void 0 : overItem.id);
951
+ var isOverParent = folder.id === (overItem === null || overItem === void 0 || (_overItem$meta$parent = overItem.meta.parent) === null || _overItem$meta$parent === void 0 ? void 0 : _overItem$meta$parent.id);
952
+ var isRoot = folder.meta.depth <= 0;
953
+ var _useDraggable = useDraggable({
954
+ id: "draggable-item--".concat(folder.id),
955
+ data: folder,
956
+ disabled: isRoot
957
+ }),
958
+ isDragging = _useDraggable.isDragging,
959
+ attributes = _useDraggable.attributes,
960
+ listeners = _useDraggable.listeners,
961
+ setDraggableRef = _useDraggable.setNodeRef;
962
+ var _useDroppable = useDroppable({
963
+ id: "droppable-item--".concat(folder.id),
964
+ data: folder,
965
+ disabled: isRoot || isDragging
966
+ }),
967
+ setDroppableRef = _useDroppable.setNodeRef;
968
+ var renderChildren = function renderChildren() {
969
+ if (isDragging) return null;
970
+ return /*#__PURE__*/jsxs(React.Fragment, {
971
+ children: [/*#__PURE__*/jsx(PlaceholderNode, {
972
+ dragState: dragState,
973
+ folder: folder
974
+ }), isArray(folder.children) && folder.children.map(function (child) {
975
+ return /*#__PURE__*/createElement(_DraggableNode, _objectSpread$5(_objectSpread$5({}, _objectSpread$5(_objectSpread$5({}, rest), {}, {
976
+ dragState: dragState
977
+ })), {}, {
978
+ depth: child.meta.depth,
979
+ folder: child,
980
+ key: child.id
981
+ }));
982
+ })]
983
+ }, "".concat(folder.id, "--container"));
984
+ };
985
+ return /*#__PURE__*/jsxs(Fragment, {
986
+ children: [/*#__PURE__*/jsx(Node$1, _objectSpread$5(_objectSpread$5({
987
+ depth: folder.meta.depth
988
+ }, _objectSpread$5(_objectSpread$5(_objectSpread$5({}, rest), {}, {
989
+ folder: folder
990
+ }, attributes), listeners)), {}, {
991
+ className: classNames({
992
+ "hover:neeto-ui-bg-gray-100 w-full cursor-move transition-colors": true,
993
+ "neeto-ui-bg-gray-100 opacity-50": isDragging,
994
+ "neeto-ui-bg-primary-50": isOverParent,
995
+ "neeto-ui-border-primary-500 border-b-2": isOverItem
996
+ }),
997
+ ref: function ref(_ref2) {
998
+ setDroppableRef(_ref2);
999
+ setDraggableRef(_ref2);
1000
+ }
1001
+ })), renderChildren()]
1002
+ });
1003
+ };
1004
+
1005
+ function ownKeys$4(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; }
1006
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1007
+ var initialDragState = {
1008
+ activeItem: null,
1009
+ overItem: null
1010
+ };
1011
+ var sensorConfig = {
1012
+ activationConstraint: {
1013
+ distance: 8
1014
+ }
1015
+ };
1016
+ var measuringConfig = {
1017
+ droppable: {
1018
+ frequency: 500
1019
+ }
1020
+ };
1021
+
1022
+ // Reorder with support for position adjustment
1023
+ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
1024
+ var config = _ref.config,
1025
+ onClose = _ref.onClose;
1026
+ var _useState = useState(initialDragState),
1027
+ _useState2 = _slicedToArray(_useState, 2),
1028
+ dragState = _useState2[0],
1029
+ setDragState = _useState2[1];
1030
+ var _useState3 = useState({}),
1031
+ _useState4 = _slicedToArray(_useState3, 2),
1032
+ changes = _useState4[0],
1033
+ setChanges = _useState4[1];
1034
+ var _useTranslation = useTranslation(config),
1035
+ t = _useTranslation.t;
1036
+ var _useFetchFolders = useFetchFolders(config),
1037
+ folders = _useFetchFolders.data;
1038
+ var _useReorderFolders = useReorderFolders(config),
1039
+ reorderFolders = _useReorderFolders.mutate;
1040
+ var sensors = useSensors(useSensor(PointerSensor, sensorConfig));
1041
+ var _useStateWithDependen = useStateWithDependency(function () {
1042
+ return {
1043
+ name: "/",
1044
+ id: null,
1045
+ children: folders
1046
+ };
1047
+ }, [folders]),
1048
+ _useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
1049
+ baseTree = _useStateWithDependen2[0],
1050
+ setBaseTree = _useStateWithDependen2[1];
1051
+
1052
+ // Decorates tree with meta info. Can be optimized when needed.
1053
+ var tree = useMemo(function () {
1054
+ return mapToSortedTree(treeToMap(baseTree));
1055
+ }, [baseTree]);
1056
+ var onDragEnd = function onDragEnd(_ref2) {
1057
+ var active = _ref2.active,
1058
+ over = _ref2.over;
1059
+ setDragState(initialDragState);
1060
+ if (!over) return;
1061
+ var foldersMap = treeToMap(tree);
1062
+ var activeFolder = foldersMap[active.data.current.id];
1063
+ var targetFolder = foldersMap[over.data.current.meta.parent.id];
1064
+ var targetIndex = over.data.current.meta.index + 1; // `index` starts from -1 with placeholder
1065
+
1066
+ // Guards: Check moving inside invalid directories.
1067
+ if (!targetFolder || activeFolder.id === targetFolder.id) return;
1068
+ if (activeFolder.meta.parent.id === targetFolder.id && activeFolder.meta.index === targetIndex) {
1069
+ return;
1070
+ }
1071
+
1072
+ // Check moving to a folder with depth greater than the allowed limit.
1073
+ // maxDepth + 1 due to extra root node added for the tree
1074
+ var srcDepth = measureDepth(activeFolder);
1075
+ var dstDepth = targetFolder.meta.depth;
1076
+ if (srcDepth + dstDepth >= config.maxDepth + 1) {
1077
+ Toastr.error(t("moveToFolder.depthExceeded", {
1078
+ maxDepth: config.maxDepth
1079
+ }));
1080
+ return;
1081
+ }
1082
+ activeFolder.meta.parent = targetFolder;
1083
+ activeFolder.meta.__index = targetIndex;
1084
+ var newTree = mapToSortedTree(foldersMap);
1085
+ setBaseTree(newTree);
1086
+ setChanges(assoc(activeFolder.id, {
1087
+ parentId: targetFolder.id,
1088
+ index: targetIndex
1089
+ }));
1090
+ };
1091
+ var onSubmit = function onSubmit() {
1092
+ var payload = {
1093
+ changes: changes
1094
+ };
1095
+ reorderFolders(payload, {
1096
+ onSuccess: onClose
1097
+ });
1098
+ };
1099
+ var nodeProps = {
1100
+ icon: /*#__PURE__*/jsx(Reorder, {
1101
+ className: "neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0"
1102
+ }),
1103
+ itemLabel: config.labels.item
1104
+ };
1105
+ return /*#__PURE__*/jsxs(Fragment, {
1106
+ children: [/*#__PURE__*/jsx(Pane.Header, {
1107
+ children: /*#__PURE__*/jsx(Typography, {
1108
+ style: "h2",
1109
+ children: t("reorderFolder.title")
1110
+ })
1111
+ }), /*#__PURE__*/jsxs(DndContext, {
1112
+ onDragEnd: onDragEnd,
1113
+ sensors: sensors,
1114
+ collisionDetection: closestCenter(dragState),
1115
+ measuring: measuringConfig,
1116
+ onDragOver: function onDragOver(_ref3) {
1117
+ var over = _ref3.over;
1118
+ setDragState(assoc("overItem", over === null || over === void 0 ? void 0 : over.data.current));
1119
+ },
1120
+ onDragStart: function onDragStart(_ref4) {
1121
+ var active = _ref4.active;
1122
+ setDragState(assoc("activeItem", active.data.current));
1123
+ },
1124
+ children: [/*#__PURE__*/jsx(Pane.Body, {
1125
+ className: "pb-6",
1126
+ children: /*#__PURE__*/createElement(_DraggableNode, _objectSpread$4(_objectSpread$4({}, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
1127
+ dragState: dragState
1128
+ })), {}, {
1129
+ folder: tree,
1130
+ key: tree.id
1131
+ }))
1132
+ }), /*#__PURE__*/jsxs(Pane.Footer, {
1133
+ className: "gap-2",
1134
+ children: [/*#__PURE__*/jsx(Button, {
1135
+ disabled: isEmpty(changes),
1136
+ label: t("common.save"),
1137
+ style: "primary",
1138
+ onClick: onSubmit
1139
+ }), /*#__PURE__*/jsx(Button, {
1140
+ label: t("common.cancel"),
1141
+ style: "text",
1142
+ onClick: onClose
1143
+ })]
1144
+ }), /*#__PURE__*/createPortal(/*#__PURE__*/jsx(DragOverlay, {
1145
+ zIndex: 99999,
1146
+ children: dragState && /*#__PURE__*/jsx(Node$1, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
1147
+ className: "neeto-ui-bg-gray-200 pl-4 pr-12",
1148
+ depth: 0,
1149
+ folder: dragState.activeItem
1150
+ }))
1151
+ }), document.body)]
1152
+ })]
1153
+ });
1154
+ };
1155
+
762
1156
  function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
763
1157
  function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
764
1158
  var FoldersPane = function FoldersPane(_ref) {
@@ -786,6 +1180,7 @@ var FoldersPane = function FoldersPane(_ref) {
786
1180
  config: config,
787
1181
  onClose: onClose
788
1182
  };
1183
+ var ReorderPaneComponent = config.reorderMode === "reorder" ? ReorderFoldersPane : RearrangeFoldersPane;
789
1184
  return /*#__PURE__*/jsx(Pane, {
790
1185
  onClose: onClose,
791
1186
  isOpen: !!type,
@@ -794,7 +1189,7 @@ var FoldersPane = function FoldersPane(_ref) {
794
1189
  return /*#__PURE__*/jsxs(Fragment, {
795
1190
  children: [(type === "edit" || type === "add") && /*#__PURE__*/jsx(AddEditPane, _objectSpread$3({}, _objectSpread$3({
796
1191
  setFocusField: setFocusField
797
- }, commonProps))), type === "move" && /*#__PURE__*/jsx(MoveFolderPane, _objectSpread$3({}, commonProps)), type === "reorder" && /*#__PURE__*/jsx(ReorderFoldersPane, _objectSpread$3({}, commonProps))]
1192
+ }, commonProps))), type === "move" && /*#__PURE__*/jsx(MoveFolderPane, _objectSpread$3({}, commonProps)), type === "reorder" && /*#__PURE__*/jsx(ReorderPaneComponent, _objectSpread$3({}, commonProps))]
798
1193
  });
799
1194
  }
800
1195
  });
@@ -819,8 +1214,9 @@ var FolderTile = function FolderTile(_ref) {
819
1214
  itemLabel = _ref.itemLabel,
820
1215
  folder = _ref.folder,
821
1216
  actions = _ref.actions,
1217
+ config = _ref.config,
822
1218
  onSelect = _ref.onSelect;
823
- var _useTranslation = useTranslation(),
1219
+ var _useTranslation = useTranslation(config),
824
1220
  t = _useTranslation.t;
825
1221
  var actionCallback = function actionCallback(callback) {
826
1222
  return function (event) {
@@ -848,44 +1244,42 @@ var FolderTile = function FolderTile(_ref) {
848
1244
  }));
849
1245
  metaInfo.push("".concat(folder.itemCount || 0, " ").concat(itemLabel));
850
1246
  return /*#__PURE__*/jsxs(Link, {
851
- className: "neeto-ui-bg-gray-100 neeto-ui-rounded-md m-2 w-64 border p-3",
1247
+ className: "neeto-ui-bg-gray-50 neeto-ui-border-gray-200 neeto-ui-rounded-md hover:neeto-ui-border-primary-500 relative flex max-w-full items-start gap-2 border-2 p-3 transition-colors ease-in",
852
1248
  to: link,
853
- children: [/*#__PURE__*/jsxs("div", {
854
- className: "mb-1 flex items-center justify-between",
855
- children: [/*#__PURE__*/jsxs("div", {
856
- className: "flex items-center",
857
- children: [/*#__PURE__*/jsx(Checkbox, {
858
- checked: isSelected,
859
- className: "mr-2",
860
- name: folder.id,
861
- onChange: function onChange(event) {
862
- return onSelect(folder, event.target.checked);
863
- },
864
- onClick: function onClick(event) {
865
- return event.stopPropagation();
866
- }
867
- }), /*#__PURE__*/jsx(Tooltip, {
868
- content: folder.name,
869
- delay: [300, 0],
870
- children: /*#__PURE__*/jsx(Typography, {
871
- className: "line-clamp-1",
872
- style: "body1",
873
- weight: "medium",
874
- children: folder.name
875
- })
876
- })]
877
- }), /*#__PURE__*/jsx(MoreDropdown, {
878
- menuItems: menuItems,
879
- dropdownProps: {
880
- onClick: function onClick(event) {
881
- return event.preventDefault();
882
- }
883
- }
1249
+ children: [/*#__PURE__*/jsx(Checkbox, {
1250
+ checked: isSelected,
1251
+ className: "m-0 flex-shrink-0 flex-grow-0 pt-0.5",
1252
+ name: folder.id,
1253
+ onChange: function onChange(event) {
1254
+ return onSelect(folder, event.target.checked);
1255
+ },
1256
+ onClick: function onClick(event) {
1257
+ return event.stopPropagation();
1258
+ }
1259
+ }), /*#__PURE__*/jsxs("span", {
1260
+ className: "flex min-w-0 flex-grow flex-col gap-2",
1261
+ children: [/*#__PURE__*/jsx(Typography, {
1262
+ className: "-mt-0.5 line-clamp-2 break-words pr-8",
1263
+ lineHeight: "snug",
1264
+ style: "body1",
1265
+ title: folder.name,
1266
+ weight: "medium",
1267
+ children: folder.name
1268
+ }), /*#__PURE__*/jsx(Typography, {
1269
+ className: "neeto-ui-text-gray-600",
1270
+ style: "body3",
1271
+ children: metaInfo.join(" . ")
884
1272
  })]
885
- }), /*#__PURE__*/jsx(Typography, {
886
- className: "ml-6",
887
- style: "body3",
888
- children: metaInfo.join(" . ")
1273
+ }), /*#__PURE__*/jsx(MoreDropdown, {
1274
+ menuItems: menuItems,
1275
+ dropdownButtonProps: {
1276
+ className: "absolute right-2 top-2"
1277
+ },
1278
+ dropdownProps: {
1279
+ onClick: function onClick(event) {
1280
+ return event.preventDefault();
1281
+ }
1282
+ }
889
1283
  })]
890
1284
  });
891
1285
  };
@@ -899,7 +1293,7 @@ var FoldersList = function FoldersList(_ref) {
899
1293
  onSelect = _ref.onSelect;
900
1294
  var config = _objectSpread$2(_objectSpread$2({}, DEFAULT_CONFIG), configProps);
901
1295
  var params = useQueryParams();
902
- var _useTranslation = useTranslation(),
1296
+ var _useTranslation = useTranslation(config),
903
1297
  t = _useTranslation.t;
904
1298
  var fetchParams = pick(["sortBy", "orderBy"], params);
905
1299
  var _useFolders = useFolders(_objectSpread$2(_objectSpread$2({}, config), {}, {
@@ -915,18 +1309,19 @@ var FoldersList = function FoldersList(_ref) {
915
1309
  return /*#__PURE__*/jsxs(FoldersContext, {
916
1310
  config: config,
917
1311
  children: [/*#__PURE__*/jsx(Typography, {
918
- className: "mb-2 mt-2",
1312
+ className: "my-3",
919
1313
  style: "h4",
920
1314
  children: t("folders.title")
921
1315
  }), /*#__PURE__*/jsx("div", {
922
- className: "mb-6 flex flex-wrap justify-items-center",
1316
+ className: "neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4",
923
1317
  children: subFolders.map(function (folder) {
924
1318
  return /*#__PURE__*/createElement(FolderTile, {
925
1319
  actions: actions,
1320
+ config: config,
926
1321
  folder: folder,
927
1322
  onSelect: onSelect,
928
1323
  isSelected: selection.includes(folder.id),
929
- itemLabel: config.itemLabel,
1324
+ itemLabel: config.labels.item,
930
1325
  key: folder.id,
931
1326
  link: buildUrl(config.folderPath, _objectSpread$2(_objectSpread$2({}, params), {}, {
932
1327
  folderId: folder.sid
@@ -959,20 +1354,17 @@ var FolderNode = function FolderNode(_ref) {
959
1354
  link = _ref.link;
960
1355
  return /*#__PURE__*/jsx(NavLink, {
961
1356
  activeClassName: "active",
962
- className: "block",
1357
+ className: "neeto-sidebar-folders-tree__folder-node block",
963
1358
  isActive: function isActive() {
964
1359
  return _isActive;
965
1360
  },
966
1361
  to: link,
967
- children: /*#__PURE__*/jsx(Tooltip, {
968
- content: folder.name,
969
- delay: [300, 0],
970
- children: /*#__PURE__*/jsx(Typography, {
971
- className: "line-clamp-1",
972
- component: "span",
973
- style: "body2",
974
- children: folder.name
975
- })
1362
+ children: /*#__PURE__*/jsx(Typography, {
1363
+ className: "line-clamp-1 block truncate",
1364
+ component: "span",
1365
+ style: "body2",
1366
+ title: folder.name,
1367
+ children: folder.name
976
1368
  })
977
1369
  });
978
1370
  };
@@ -986,7 +1378,7 @@ var FoldersTree = function FoldersTree(_ref) {
986
1378
  _useState2 = _slicedToArray(_useState, 2),
987
1379
  expandedKeys = _useState2[0],
988
1380
  setExpandedKeys = _useState2[1];
989
- var _useTranslation = useTranslation(),
1381
+ var _useTranslation = useTranslation(config),
990
1382
  t = _useTranslation.t;
991
1383
  var params = useQueryParams({
992
1384
  toCamelCase: false
@@ -1022,9 +1414,10 @@ var FoldersTree = function FoldersTree(_ref) {
1022
1414
  autoExpandParent: true,
1023
1415
  blockNode: true,
1024
1416
  showLine: true,
1417
+ className: "neeto-sidebar-folders-tree",
1025
1418
  componentToken: {
1026
- titleHeight: 25,
1027
- indentSize: 25
1419
+ titleHeight: 24,
1420
+ indentSize: 24
1028
1421
  },
1029
1422
  fieldNames: {
1030
1423
  key: "sid"
@@ -1044,5 +1437,10 @@ var FoldersTree = function FoldersTree(_ref) {
1044
1437
  });
1045
1438
  };
1046
1439
 
1440
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
1441
+
1442
+ var css = ".neeto-sidebar-folders-tree__folder-node{color:inherit!important}.neeto-sidebar-folders-tree.ant-tree .ant-tree-node-content-wrapper{min-width:0;padding-inline:6px!important}.neeto-sidebar-folders-tree.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:rgb(var(--neeto-ui-white));color:rgb(var(--neeto-ui-accent-800))!important;font-weight:500}.neeto-sidebar-folders-tree.ant-tree .ant-tree-switcher .ant-tree-switcher-icon{position:relative}.neeto-folders-grid-view-wrapper{grid-template-columns:repeat(auto-fill,minmax(256px,1fr))}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9jb21wb25lbnRzL25lZXRvLWZvbGRlcnMtbmFuby5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUNFLHVCQUNGLENBRUEsb0VBRUUsV0FBQSxDQURBLDRCQUVGLENBRUEsMkZBRUUsMkNBQUEsQ0FEQSwrQ0FBQSxDQUVBLGVBQ0YsQ0FFQSxnRkFDRSxpQkFDRixDQUVBLGlDQUNFLHlEQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLm5lZXRvLXNpZGViYXItZm9sZGVycy10cmVlX19mb2xkZXItbm9kZSB7XG4gIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi5uZWV0by1zaWRlYmFyLWZvbGRlcnMtdHJlZS5hbnQtdHJlZSAuYW50LXRyZWUtbm9kZS1jb250ZW50LXdyYXBwZXIge1xuICBwYWRkaW5nLWlubGluZTogNnB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLm5lZXRvLXNpZGViYXItZm9sZGVycy10cmVlLmFudC10cmVlIC5hbnQtdHJlZS1ub2RlLWNvbnRlbnQtd3JhcHBlci5hbnQtdHJlZS1ub2RlLXNlbGVjdGVkIHtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1hY2NlbnQtODAwKSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXdoaXRlKSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5uZWV0by1zaWRlYmFyLWZvbGRlcnMtdHJlZS5hbnQtdHJlZSAuYW50LXRyZWUtc3dpdGNoZXIgLmFudC10cmVlLXN3aXRjaGVyLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uZWV0by1mb2xkZXJzLWdyaWQtdmlldy13cmFwcGVyIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjU2cHgsIDFmcikpO1xufSJdfQ== */";
1443
+ n(css,{});
1444
+
1047
1445
  export { FoldersContext, FoldersList, FoldersTree, MoveToFolderPane };
1048
1446
  //# sourceMappingURL=components.js.map