@bigbinary/neeto-folders-frontend 1.2.0 → 2.0.1

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,31 @@
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';
23
+ import { t as t$1 } from 'i18next';
24
+ import { object, string } from 'yup';
20
25
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
26
+ import Switch from '@bigbinary/neetoui/formik/Switch';
27
+ import Textarea from '@bigbinary/neetoui/formik/Textarea';
28
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
21
29
  import { ConfigProvider, TreeSelect as TreeSelect$1 } from 'antd';
22
30
  import classNames from 'classnames';
23
31
  import Down from '@bigbinary/neeto-icons/Down';
@@ -26,21 +34,30 @@ import { values, isEmpty, assoc, pick } from 'ramda';
26
34
  import Button from '@bigbinary/neetoui/Button';
27
35
  import { noop, isNotPresent } from '@bigbinary/neeto-cist';
28
36
  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';
37
+ import { useDraggable, useDroppable, DndContext, DragOverlay, useSensors, useSensor, PointerSensor } from '@dnd-kit/core';
38
+ import Reorder from '@bigbinary/neeto-icons/Reorder';
32
39
  import Toastr from '@bigbinary/neetoui/Toastr';
33
40
  import { createPortal } from 'react-dom';
34
41
  import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
35
42
  import Checkbox from '@bigbinary/neetoui/Checkbox';
36
43
  import Tree from '@bigbinary/neetoui/Tree';
37
- import 'i18next';
38
- import '@tanstack/react-query';
39
- import './constants.js';
40
44
  import 'zustand';
41
45
 
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; }
46
+ 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; }
47
+ 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; }
48
+ var useTranslation = function useTranslation(config) {
49
+ var _useDefaultTranslatio = useTranslation$1(),
50
+ t = _useDefaultTranslatio.t;
51
+ var modT = function modT(key, options) {
52
+ return config !== null && config !== void 0 && config.labels ? t(key, _objectSpread$e(_objectSpread$e({}, config.labels), options)) : t(key, options);
53
+ };
54
+ return {
55
+ t: modT
56
+ };
57
+ };
58
+
59
+ 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; }
60
+ 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
61
  var FoldersAlerts = function FoldersAlerts(_ref) {
45
62
  var config = _ref.config;
46
63
  var _useFolderStore = useFolderStore(function (store) {
@@ -52,8 +69,9 @@ var FoldersAlerts = function FoldersAlerts(_ref) {
52
69
  var queryParams = useQueryParams({
53
70
  toCamelCase: false
54
71
  });
72
+ var queryClient = useQueryClient();
55
73
  var history = useHistory();
56
- var _useTranslation = useTranslation(),
74
+ var _useTranslation = useTranslation(config),
57
75
  t = _useTranslation.t;
58
76
  var _useFolderStore2 = useFolderStore(function (store) {
59
77
  var _store$alertState, _store$alertState2;
@@ -66,7 +84,7 @@ var FoldersAlerts = function FoldersAlerts(_ref) {
66
84
  item = _useFolderStore2.item;
67
85
  var _useDestroyFolder = useDestroyFolder(config),
68
86
  destroyFolder = _useDestroyFolder.mutateAsync,
69
- isLoading = _useDestroyFolder.isLoading;
87
+ isPending = _useDestroyFolder.isPending;
70
88
  var _useFolders = useFolders(config),
71
89
  folders = _useFolders.folders;
72
90
  var onClose = function onClose() {
@@ -76,46 +94,33 @@ var FoldersAlerts = function FoldersAlerts(_ref) {
76
94
  };
77
95
  var alertProps = {
78
96
  isOpen: !!type,
79
- isSubmitting: isLoading,
97
+ isSubmitting: isPending,
80
98
  onClose: onClose
81
99
  };
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);
100
+ var onConfirmDelete = function onConfirmDelete() {
101
+ var onSuccess = function onSuccess() {
102
+ var isActive = isActiveFolder(config, item.sid);
103
+ // Invalidates items and folder details. Refetch only if not active folder.
104
+ var invalidationKeys = [].concat(_toConsumableArray(config.invalidationKeys), [[QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS]]);
105
+ invalidationKeys.forEach(function (queryKey) {
106
+ queryClient.invalidateQueries({
107
+ refetchType: isActive ? "none" : "active",
108
+ queryKey: queryKey
109
+ });
110
+ });
111
+ if (isActive && folders) {
112
+ var path = pathToFolder(folders, item.id);
113
+ var parent = path[path.length - 2];
114
+ history.replace(buildUrl(config.folderPath, _objectSpread$d(_objectSpread$d({}, queryParams), {}, {
115
+ folderId: parent ? parent.sid : ""
116
+ })));
117
+ }
117
118
  };
118
- }();
119
+ destroyFolder(item.id, {
120
+ onSuccess: onSuccess,
121
+ onSettled: onClose
122
+ });
123
+ };
119
124
  if (type === "delete") {
120
125
  alertProps.title = t("deleteFolder.title");
121
126
  alertProps.message = /*#__PURE__*/jsx(Trans, {
@@ -125,12 +130,40 @@ var FoldersAlerts = function FoldersAlerts(_ref) {
125
130
  if (config.customizeAlerts) config.customizeAlerts(type, item, alertProps);
126
131
  alertProps.onSubmit = onConfirmDelete;
127
132
  }
128
- return /*#__PURE__*/jsx(Alert, _objectSpread$a({}, alertProps));
133
+ return /*#__PURE__*/jsx(Alert, _objectSpread$d({}, alertProps));
129
134
  };
130
135
 
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; }
136
+ var FORM_VALIDATION_SCHEMA = object().shape({
137
+ name: string().required(t$1("errors.blank", {
138
+ entity: t$1("common.name")
139
+ }))
140
+ });
141
+
142
+ var _excluded$6 = ["type"];
143
+ 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; }
144
+ 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; }
145
+ var typeComponentMap = {
146
+ string: Input,
147
+ "boolean": Switch,
148
+ textarea: Textarea
149
+ };
150
+ var ExtraAttributes = function ExtraAttributes(_ref) {
151
+ var attributes = _ref.attributes;
152
+ if (!Array.isArray(attributes)) return null;
153
+ return attributes.map(function (_ref2) {
154
+ var type = _ref2.type,
155
+ rest = _objectWithoutProperties(_ref2, _excluded$6);
156
+ var Component = typeComponentMap[type];
157
+ if (!Component) return null;
158
+ return /*#__PURE__*/createElement(Component, _objectSpread$c(_objectSpread$c({}, rest), {}, {
159
+ key: rest.name
160
+ }));
161
+ });
162
+ };
163
+
164
+ var _excluded$5 = ["className", "disabled", "fieldNames", "label", "loading", "name", "placeholder", "required", "showSearch", "size", "treeData"];
165
+ 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; }
166
+ 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
167
  var TreeSelect = /*#__PURE__*/forwardRef(function (_ref, ref) {
135
168
  var _fieldNames$label;
136
169
  var className = _ref.className,
@@ -151,7 +184,7 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_ref, ref) {
151
184
  _ref$size = _ref.size,
152
185
  size = _ref$size === void 0 ? "middle" : _ref$size,
153
186
  treeData = _ref.treeData,
154
- otherProps = _objectWithoutProperties(_ref, _excluded$4);
187
+ otherProps = _objectWithoutProperties(_ref, _excluded$5);
155
188
  var _useField = useField(name),
156
189
  _useField2 = _slicedToArray(_useField, 3),
157
190
  field = _useField2[0],
@@ -169,13 +202,40 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_ref, ref) {
169
202
  children: label
170
203
  }), /*#__PURE__*/jsx(ConfigProvider, {
171
204
  theme: {
205
+ token: {
206
+ colorBgContainer: "rgb(var(--neeto-ui-white))",
207
+ colorBorder: "rgb(var(--neeto-ui-gray-300))",
208
+ colorBorderSecondary: "rgb(var(--neeto-ui-gray-200))",
209
+ colorFillAlter: "rgb(var(--neeto-ui-gray-100))",
210
+ colorFillContent: "rgb(var(--neeto-ui-gray-100))",
211
+ colorFillSecondary: "rgb(var(--neeto-ui-gray-100))",
212
+ colorIcon: "rgb(var(--neeto-ui-gray-700))",
213
+ colorIconHover: "rgb(var(--neeto-ui-gray-800))",
214
+ colorLink: "rgb(var(--neeto-ui-primary-500))",
215
+ colorLinkActive: "rgb(var(--neeto-ui-primary-800))",
216
+ colorLinkHover: "rgb(var(--neeto-ui-primary-600))",
217
+ colorPrimary: "rgb(var(--neeto-ui-primary-500))",
218
+ colorSplit: "rgb(var(--neeto-ui-gray-100))",
219
+ colorText: "rgb(var(--neeto-ui-gray-800))",
220
+ colorTextDescription: "rgb(var(--neeto-ui-gray-700))",
221
+ colorTextDisabled: "rgb(var(--neeto-ui-gray-600))",
222
+ colorTextHeading: "rgb(var(--neeto-ui-black))",
223
+ colorTextPlaceholder: "rgb(var(--neeto-ui-gray-500))",
224
+ controlItemBgActive: "rgb(var(--neeto-ui-primary-100))",
225
+ controlItemBgActiveHover: "rgb(var(--neeto-ui-pastel-purple))",
226
+ controlItemBgHover: "rgb(var(--neeto-ui-gray-100))"
227
+ },
172
228
  components: {
173
229
  TreeSelect: {
174
- titleHeight: 28
230
+ titleHeight: 28,
231
+ indentSize: 28,
232
+ nodeHoverBg: "rgb(var(--neeto-ui-gray-100))",
233
+ nodeSelectedBg: "rgb(var(--neeto-ui-primary-500))",
234
+ colorBgElevated: "rgb(var(--neeto-ui-white))"
175
235
  }
176
236
  }
177
237
  },
178
- children: /*#__PURE__*/jsx(TreeSelect$1, _objectSpread$9(_objectSpread$9({
238
+ children: /*#__PURE__*/jsx(TreeSelect$1, _objectSpread$b(_objectSpread$b({
179
239
  treeDataSimpleMode: true,
180
240
  "data-cy": "nui-select-container-wrapper",
181
241
  dropdownStyle: {
@@ -190,8 +250,10 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_ref, ref) {
190
250
  "neeto-ui-tree-select__error": meta.error
191
251
  }),
192
252
  switcherIcon: function switcherIcon(props) {
193
- return /*#__PURE__*/jsx("div", _objectSpread$9(_objectSpread$9({}, props), {}, {
194
- children: /*#__PURE__*/jsx(Down, {})
253
+ return /*#__PURE__*/jsx("div", _objectSpread$b(_objectSpread$b({}, props), {}, {
254
+ children: /*#__PURE__*/jsx(Down, {
255
+ className: "relative"
256
+ })
195
257
  }));
196
258
  },
197
259
  onBlur: function onBlur() {
@@ -200,7 +262,7 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_ref, ref) {
200
262
  onChange: function onChange(value) {
201
263
  return setValue(value);
202
264
  }
203
- }, _objectSpread$9({
265
+ }, _objectSpread$b({
204
266
  disabled: disabled,
205
267
  fieldNames: fieldNames,
206
268
  loading: loading,
@@ -237,12 +299,35 @@ var createFolderOptions = function createFolderOptions(foldersMap, config) {
237
299
  };
238
300
  });
239
301
  };
302
+ var createInitialValues = function createInitialValues(defaults, extraAttrs) {
303
+ var values = {
304
+ name: "",
305
+ parentId: defaults.parentId || null
306
+ };
307
+ extraAttrs === null || extraAttrs === void 0 || extraAttrs.forEach(function (_ref) {
308
+ var name = _ref.name,
309
+ defaultValue = _ref.defaultValue;
310
+ values[name] = defaultValue;
311
+ });
312
+ return values;
313
+ };
314
+ var createPayload = function createPayload(values, extraAttrs) {
315
+ var payload = {
316
+ name: values.name,
317
+ parentId: values.parentId
318
+ };
319
+ extraAttrs === null || extraAttrs === void 0 || extraAttrs.forEach(function (_ref2) {
320
+ var name = _ref2.name;
321
+ payload[name] = values[name];
322
+ });
323
+ return payload;
324
+ };
240
325
 
241
326
  var AddEditPane = function AddEditPane(_ref) {
242
327
  var setFocusField = _ref.setFocusField,
243
328
  config = _ref.config,
244
329
  onClose = _ref.onClose;
245
- var _useTranslation = useTranslation(),
330
+ var _useTranslation = useTranslation(config),
246
331
  t = _useTranslation.t;
247
332
  var _useFolderStore = useFolderStore(function (store) {
248
333
  var _store$paneState, _store$paneState2;
@@ -270,22 +355,19 @@ var AddEditPane = function AddEditPane(_ref) {
270
355
  var activeFolder = foldersMap[activeFolderSid];
271
356
  var isValidParent = (activeFolder === null || activeFolder === void 0 ? void 0 : activeFolder.meta.depth) < config.maxDepth;
272
357
  var parentId = isValidParent ? activeFolder.id : null;
358
+ var extraAttributes = config.extraAttributes;
273
359
  var initialValues = useMemo(function () {
274
- return isEditing ? item : {
275
- name: "",
360
+ return isEditing ? item : createInitialValues({
276
361
  parentId: parentId
277
- };
278
- }, [isEditing, item, parentId]);
362
+ }, extraAttributes);
363
+ }, [isEditing, item, parentId, extraAttributes]);
279
364
  var onSubmitForm = /*#__PURE__*/function () {
280
365
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {
281
366
  var payload;
282
367
  return _regeneratorRuntime.wrap(function _callee$(_context) {
283
368
  while (1) switch (_context.prev = _context.next) {
284
369
  case 0:
285
- payload = {
286
- name: values.name,
287
- parent_id: values.parentId
288
- };
370
+ payload = createPayload(values, extraAttributes);
289
371
  if (!isEditing) {
290
372
  _context.next = 6;
291
373
  break;
@@ -322,16 +404,21 @@ var AddEditPane = function AddEditPane(_ref) {
322
404
  }), /*#__PURE__*/jsx(Formik, {
323
405
  initialValues: initialValues,
324
406
  enableReinitialize: true,
407
+ validationSchema: FORM_VALIDATION_SCHEMA,
325
408
  onSubmit: onSubmitForm,
326
409
  children: function children() {
327
410
  return /*#__PURE__*/jsxs(Fragment, {
328
411
  children: [/*#__PURE__*/jsx(Pane.Body, {
412
+ className: "pb-6",
329
413
  children: /*#__PURE__*/jsxs(Form, {
330
414
  className: "w-full space-y-5",
331
415
  children: [/*#__PURE__*/jsx(Input, {
416
+ required: true,
332
417
  label: t("folders.name"),
333
418
  name: "name",
334
419
  ref: setFocusField
420
+ }), /*#__PURE__*/jsx(ExtraAttributes, {
421
+ attributes: extraAttributes
335
422
  }), /*#__PURE__*/jsxs("div", {
336
423
  children: [/*#__PURE__*/jsx(TreeSelect, {
337
424
  allowClear: true,
@@ -340,7 +427,8 @@ var AddEditPane = function AddEditPane(_ref) {
340
427
  name: "parentId",
341
428
  treeData: folderOptions
342
429
  }), /*#__PURE__*/jsx(Typography, {
343
- style: "nano",
430
+ className: "mt-1",
431
+ style: "body3",
344
432
  children: t("createFolder.parentInfo")
345
433
  })]
346
434
  })]
@@ -358,10 +446,11 @@ var AddEditPane = function AddEditPane(_ref) {
358
446
  });
359
447
  };
360
448
 
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;
449
+ var REORDER_TREE_INDENT_WIDTH = 30;
450
+
451
+ var _excluded$4 = ["icon", "itemLabel", "folder", "depth", "className", "onClick"];
452
+ 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; }
453
+ 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
454
  var Node = function Node(_ref, ref) {
366
455
  var _folder$children$leng, _folder$children;
367
456
  var _ref$icon = _ref.icon,
@@ -371,8 +460,8 @@ var Node = function Node(_ref, ref) {
371
460
  depth = _ref.depth,
372
461
  className = _ref.className,
373
462
  onClick = _ref.onClick,
374
- rest = _objectWithoutProperties(_ref, _excluded$3);
375
- var _useTranslation = useTranslation(),
463
+ rest = _objectWithoutProperties(_ref, _excluded$4);
464
+ var _useTranslation = useTranslation$1(),
376
465
  t = _useTranslation.t;
377
466
  var metaInfo = [];
378
467
  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 +470,18 @@ var Node = function Node(_ref, ref) {
381
470
  }));
382
471
  folder.itemCount > 0 && metaInfo.push("".concat(folder.itemCount, " ").concat(itemLabel));
383
472
  return /*#__PURE__*/jsxs("div", {
384
- className: "flex",
473
+ className: "flex w-full min-w-0",
385
474
  children: [Array.from({
386
475
  length: depth
387
476
  }).map(function (_, index) {
388
477
  return /*#__PURE__*/jsx("span", {
389
- className: "relative border-l",
478
+ className: "neeto-ui-border-gray-300 relative h-full flex-shrink-0 border-l",
390
479
  style: {
391
- width: indentSize,
392
- left: Math.round(indentSize / 2)
480
+ width: REORDER_TREE_INDENT_WIDTH,
481
+ left: Math.round(REORDER_TREE_INDENT_WIDTH / 2)
393
482
  }
394
483
  }, index);
395
- }), /*#__PURE__*/jsxs("div", _objectSpread$8(_objectSpread$8({}, _objectSpread$8(_objectSpread$8({}, rest), {}, {
484
+ }), /*#__PURE__*/jsxs("div", _objectSpread$a(_objectSpread$a({}, _objectSpread$a(_objectSpread$a({}, rest), {}, {
396
485
  onClick: onClick,
397
486
  ref: ref
398
487
  })), {}, {
@@ -400,12 +489,14 @@ var Node = function Node(_ref, ref) {
400
489
  children: [icon, /*#__PURE__*/jsxs("div", {
401
490
  className: "ml-2",
402
491
  children: [/*#__PURE__*/jsx(Typography, {
403
- style: "body3",
492
+ lineHeight: "snug",
493
+ style: "body1",
404
494
  weight: "medium",
405
495
  children: folder.name
406
496
  }), /*#__PURE__*/jsx(Typography, {
407
- className: "relative -top-0.5",
408
- style: "nano",
497
+ className: "relative mt-0.5",
498
+ lineHeight: "snug",
499
+ style: "body3",
409
500
  weight: "normal",
410
501
  children: metaInfo.join(" . ")
411
502
  })]
@@ -415,9 +506,9 @@ var Node = function Node(_ref, ref) {
415
506
  };
416
507
  var Node$1 = /*#__PURE__*/forwardRef(Node);
417
508
 
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; }
509
+ var _excluded$3 = ["folder", "item", "depth", "maxDepth", "disabled", "config"];
510
+ 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; }
511
+ 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
512
  var _SelectableNode = function SelectableNode(_ref) {
422
513
  var folder = _ref.folder,
423
514
  item = _ref.item,
@@ -425,16 +516,18 @@ var _SelectableNode = function SelectableNode(_ref) {
425
516
  depth = _ref$depth === void 0 ? 0 : _ref$depth,
426
517
  maxDepth = _ref.maxDepth,
427
518
  disabled = _ref.disabled,
428
- rest = _objectWithoutProperties(_ref, _excluded$2);
519
+ config = _ref.config,
520
+ rest = _objectWithoutProperties(_ref, _excluded$3);
429
521
  var selection = rest.selection,
430
522
  onSelect = rest.onSelect;
431
- var _useTranslation = useTranslation(),
523
+ var _useTranslation = useTranslation(config),
432
524
  t = _useTranslation.t;
433
525
  var isDisabled = disabled || (item === null || item === void 0 ? void 0 : item.id) === folder.id || depth > maxDepth;
434
526
  var renderChildren = function renderChildren() {
435
527
  if (isNotPresent(folder.children)) return null;
436
528
  return folder.children.map(function (child) {
437
- return /*#__PURE__*/createElement(_SelectableNode, _objectSpread$7(_objectSpread$7({}, _objectSpread$7(_objectSpread$7({}, rest), {}, {
529
+ return /*#__PURE__*/createElement(_SelectableNode, _objectSpread$9(_objectSpread$9({}, _objectSpread$9(_objectSpread$9({}, rest), {}, {
530
+ config: config,
438
531
  item: item,
439
532
  maxDepth: maxDepth
440
533
  })), {}, {
@@ -445,33 +538,31 @@ var _SelectableNode = function SelectableNode(_ref) {
445
538
  }));
446
539
  });
447
540
  };
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
541
+ return /*#__PURE__*/jsxs("div", {
542
+ "aria-disabled": isDisabled,
543
+ className: classNames({
544
+ "opacity-60": isDisabled
545
+ }),
546
+ title: isDisabled ? t("moveToFolder.notAllowed") : undefined,
547
+ children: [/*#__PURE__*/jsx(Node$1, _objectSpread$9(_objectSpread$9({}, _objectSpread$9(_objectSpread$9({}, rest), {}, {
548
+ depth: depth,
549
+ folder: folder
550
+ })), {}, {
551
+ icon: /*#__PURE__*/jsx(Radio.Item, {
552
+ readOnly: true,
553
+ checked: selection === folder.id,
554
+ className: "neeto-ui-radio__container",
555
+ name: "move-folder-option"
455
556
  }),
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
- })
557
+ onClick: isDisabled ? noop : function () {
558
+ return onSelect(folder);
559
+ }
560
+ })), renderChildren()]
470
561
  });
471
562
  };
472
563
 
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; }
564
+ 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; }
565
+ 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
566
  var PaneBody = function PaneBody(_ref) {
476
567
  var item = _ref.item,
477
568
  config = _ref.config,
@@ -494,7 +585,7 @@ var PaneBody = function PaneBody(_ref) {
494
585
  var _useFetchFolders = useFetchFolders(config),
495
586
  _useFetchFolders$data = _useFetchFolders.data,
496
587
  folders = _useFetchFolders$data === void 0 ? [] : _useFetchFolders$data;
497
- var _useTranslation = useTranslation(),
588
+ var _useTranslation = useTranslation(config),
498
589
  t = _useTranslation.t;
499
590
  var folderDepth = 0;
500
591
  if (item) {
@@ -525,14 +616,16 @@ var PaneBody = function PaneBody(_ref) {
525
616
  onClick: onAddFolder
526
617
  })]
527
618
  }), /*#__PURE__*/jsx(Pane.Body, {
619
+ className: "pb-6",
528
620
  children: folders.map(function (folder) {
529
621
  return /*#__PURE__*/createElement(_SelectableNode, {
622
+ config: config,
530
623
  folder: folder,
531
624
  item: item,
532
625
  maxDepth: maxDepth,
533
626
  selection: selection,
534
627
  disabled: (item === null || item === void 0 ? void 0 : item.id) === folder.id || maxDepth <= 0,
535
- itemLabel: config.itemLabel,
628
+ itemLabel: config.labels.item,
536
629
  key: folder.id,
537
630
  onSelect: function onSelect(folder) {
538
631
  return setSelection(folder.id);
@@ -543,19 +636,19 @@ var PaneBody = function PaneBody(_ref) {
543
636
  className: "space-x-2",
544
637
  children: [/*#__PURE__*/jsxs("div", {
545
638
  className: "flex flex-1 space-x-2",
546
- children: [/*#__PURE__*/jsx(Button, _objectSpread$6({
639
+ children: [/*#__PURE__*/jsx(Button, _objectSpread$8({
547
640
  disabled: !selection,
548
641
  label: t("common.save"),
549
642
  style: "primary",
550
643
  onClick: function onClick() {
551
644
  return onSubmit(selection);
552
645
  }
553
- }, submitButtonProps)), /*#__PURE__*/jsx(Button, _objectSpread$6({
646
+ }, submitButtonProps)), /*#__PURE__*/jsx(Button, _objectSpread$8({
554
647
  label: t("common.cancel"),
555
648
  style: "text",
556
649
  onClick: onClose
557
650
  }, cancelButtonProps))]
558
- }), onRemove && /*#__PURE__*/jsx(Button, _objectSpread$6({
651
+ }), onRemove && /*#__PURE__*/jsx(Button, _objectSpread$8({
559
652
  label: t("moveToFolder.remove"),
560
653
  style: "tertiary",
561
654
  onClick: onRemove
@@ -596,14 +689,14 @@ var MoveFolderPane = function MoveFolderPane(_ref) {
596
689
  });
597
690
  };
598
691
 
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) {
692
+ var _excluded$2 = ["folder", "depth"];
693
+ 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; }
694
+ 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; }
695
+ var _DraggableNode$1 = function DraggableNode(_ref) {
603
696
  var folder = _ref.folder,
604
697
  _ref$depth = _ref.depth,
605
698
  depth = _ref$depth === void 0 ? 0 : _ref$depth,
606
- rest = _objectWithoutProperties(_ref, _excluded$1);
699
+ rest = _objectWithoutProperties(_ref, _excluded$2);
607
700
  var _useDraggable = useDraggable({
608
701
  id: "draggable-item--".concat(folder.id),
609
702
  data: folder,
@@ -623,21 +716,22 @@ var _DraggableNode = function DraggableNode(_ref) {
623
716
  var renderChildren = function renderChildren() {
624
717
  if (isNotPresent(folder.children) || isDragging) return null;
625
718
  return folder.children.map(function (child) {
626
- return /*#__PURE__*/createElement(_DraggableNode, _objectSpread$5(_objectSpread$5({}, rest), {}, {
719
+ return /*#__PURE__*/createElement(_DraggableNode$1, _objectSpread$7(_objectSpread$7({}, rest), {}, {
627
720
  depth: depth + 1,
628
721
  folder: child,
629
722
  key: child.id
630
723
  }));
631
724
  });
632
725
  };
633
- return /*#__PURE__*/jsxs("div", {
634
- children: [/*#__PURE__*/jsx(Node$1, _objectSpread$5(_objectSpread$5(_objectSpread$5({}, rest), {}, {
726
+ return /*#__PURE__*/jsxs(Fragment, {
727
+ children: [/*#__PURE__*/jsx(Node$1, _objectSpread$7(_objectSpread$7(_objectSpread$7({}, rest), {}, {
635
728
  className: classNames({
636
- "neeto-ui-bg-gray-100 opacity-50 ": isDragging,
729
+ "neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors": true,
730
+ "neeto-ui-bg-gray-100 opacity-50": isDragging,
637
731
  "neeto-ui-border-primary-500 border": isOver,
638
732
  "border border-transparent": !isOver
639
733
  })
640
- }, _objectSpread$5(_objectSpread$5({
734
+ }, _objectSpread$7(_objectSpread$7({
641
735
  depth: depth,
642
736
  folder: folder
643
737
  }, attributes), listeners)), {}, {
@@ -649,9 +743,9 @@ var _DraggableNode = function DraggableNode(_ref) {
649
743
  });
650
744
  };
651
745
 
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) {
746
+ 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; }
747
+ 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; }
748
+ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
655
749
  var config = _ref.config,
656
750
  onClose = _ref.onClose;
657
751
  var _useState = useState(null),
@@ -662,7 +756,7 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
662
756
  _useState4 = _slicedToArray(_useState3, 2),
663
757
  changes = _useState4[0],
664
758
  setChanges = _useState4[1];
665
- var _useTranslation = useTranslation(),
759
+ var _useTranslation = useTranslation(config),
666
760
  t = _useTranslation.t;
667
761
  var _useFetchFolders = useFetchFolders(config),
668
762
  folders = _useFetchFolders.data;
@@ -715,8 +809,10 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
715
809
  });
716
810
  };
717
811
  var nodeProps = {
718
- icon: /*#__PURE__*/jsx(Folder, {}),
719
- itemLabel: config.itemLabel
812
+ icon: /*#__PURE__*/jsx(Reorder, {
813
+ className: "neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0"
814
+ }),
815
+ itemLabel: config.labels.item
720
816
  };
721
817
  return /*#__PURE__*/jsxs(Fragment, {
722
818
  children: [/*#__PURE__*/jsx(Pane.Header, {
@@ -731,12 +827,13 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
731
827
  return setDragItem(active.data.current);
732
828
  },
733
829
  children: [/*#__PURE__*/jsx(Pane.Body, {
734
- children: /*#__PURE__*/createElement(_DraggableNode, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
830
+ className: "pb-6",
831
+ children: /*#__PURE__*/createElement(_DraggableNode$1, _objectSpread$6(_objectSpread$6({}, nodeProps), {}, {
735
832
  folder: tree,
736
833
  key: tree.id
737
834
  }))
738
835
  }), /*#__PURE__*/jsxs(Pane.Footer, {
739
- className: "space-x-2",
836
+ className: "gap-2",
740
837
  children: [/*#__PURE__*/jsx(Button, {
741
838
  disabled: isEmpty(changes),
742
839
  label: t("common.save"),
@@ -749,7 +846,7 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
749
846
  })]
750
847
  }), /*#__PURE__*/createPortal(/*#__PURE__*/jsx(DragOverlay, {
751
848
  zIndex: 99999,
752
- children: dragItem && /*#__PURE__*/jsx(Node$1, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
849
+ children: dragItem && /*#__PURE__*/jsx(Node$1, _objectSpread$6(_objectSpread$6({}, nodeProps), {}, {
753
850
  className: "neeto-ui-bg-gray-200",
754
851
  depth: 0,
755
852
  folder: dragItem
@@ -759,6 +856,312 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
759
856
  });
760
857
  };
761
858
 
859
+ 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; } } }; }
860
+ 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; } }
861
+ 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; }
862
+ var distanceBetween = function distanceBetween(p1, p2) {
863
+ return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));
864
+ };
865
+ var centerOfRectangle = function centerOfRectangle(rect) {
866
+ var left = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : rect.left;
867
+ var top = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : rect.top;
868
+ return {
869
+ x: left + rect.width * 0.5,
870
+ y: top + rect.height * 0.5
871
+ };
872
+ };
873
+ var closestCenter = function closestCenter(_ref) {
874
+ var activeItem = _ref.activeItem;
875
+ return function (_ref2) {
876
+ var collisionRect = _ref2.collisionRect,
877
+ droppableRects = _ref2.droppableRects,
878
+ droppableContainers = _ref2.droppableContainers;
879
+ var centerRect = centerOfRectangle(collisionRect, collisionRect.left - 30, collisionRect.top - 30);
880
+ var minDistance = Number.POSITIVE_INFINITY;
881
+ var collision = {
882
+ id: undefined
883
+ };
884
+
885
+ // eslint-disable-next-line @bigbinary/neeto/use-array-methods
886
+ var _iterator = _createForOfIteratorHelper(droppableContainers),
887
+ _step;
888
+ try {
889
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
890
+ var droppableContainer = _step.value;
891
+ var rect = droppableRects.get(droppableContainer.id);
892
+ if (!rect || droppableContainer.id === activeItem.id) continue;
893
+ var distance = distanceBetween(centerOfRectangle(rect), centerRect);
894
+ if (distance < minDistance) {
895
+ minDistance = distance;
896
+ collision = {
897
+ id: droppableContainer.id,
898
+ data: {
899
+ droppableContainer: droppableContainer,
900
+ value: distance
901
+ }
902
+ };
903
+ }
904
+ }
905
+ } catch (err) {
906
+ _iterator.e(err);
907
+ } finally {
908
+ _iterator.f();
909
+ }
910
+ return [collision];
911
+ };
912
+ };
913
+
914
+ var PlaceholderNode = function PlaceholderNode(_ref) {
915
+ var folder = _ref.folder,
916
+ dragState = _ref.dragState;
917
+ var overItem = dragState.overItem;
918
+ var id = useId();
919
+ var isOver = id === (overItem === null || overItem === void 0 ? void 0 : overItem.id);
920
+ var depth = folder.meta.depth + 1;
921
+ var meta = {
922
+ parent: folder,
923
+ index: -1,
924
+ depth: depth
925
+ };
926
+ var _useDroppable = useDroppable({
927
+ id: "droppable-placeholder--".concat(folder.name),
928
+ data: {
929
+ id: id,
930
+ meta: meta
931
+ }
932
+ }),
933
+ setDroppableRef = _useDroppable.setNodeRef;
934
+ return /*#__PURE__*/jsxs("div", {
935
+ className: "flex w-full",
936
+ children: [/*#__PURE__*/jsx("div", {
937
+ style: {
938
+ width: REORDER_TREE_INDENT_WIDTH * depth
939
+ }
940
+ }), /*#__PURE__*/jsx("div", {
941
+ ref: setDroppableRef,
942
+ className: classNames({
943
+ "min-w-0 flex-1 transition-colors": true,
944
+ "neeto-ui-border-primary-500 border-b-2": isOver
945
+ })
946
+ })]
947
+ });
948
+ };
949
+
950
+ var _excluded$1 = ["folder", "dragState"];
951
+ 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; }
952
+ 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; }
953
+ var _DraggableNode = function DraggableNode(_ref) {
954
+ var _overItem$meta$parent;
955
+ var folder = _ref.folder,
956
+ dragState = _ref.dragState,
957
+ rest = _objectWithoutProperties(_ref, _excluded$1);
958
+ var overItem = dragState.overItem;
959
+ var isOverItem = folder.id === (overItem === null || overItem === void 0 ? void 0 : overItem.id);
960
+ 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);
961
+ var isRoot = folder.meta.depth <= 0;
962
+ var _useDraggable = useDraggable({
963
+ id: "draggable-item--".concat(folder.id),
964
+ data: folder,
965
+ disabled: isRoot
966
+ }),
967
+ isDragging = _useDraggable.isDragging,
968
+ attributes = _useDraggable.attributes,
969
+ listeners = _useDraggable.listeners,
970
+ setDraggableRef = _useDraggable.setNodeRef;
971
+ var _useDroppable = useDroppable({
972
+ id: "droppable-item--".concat(folder.id),
973
+ data: folder,
974
+ disabled: isRoot || isDragging
975
+ }),
976
+ setDroppableRef = _useDroppable.setNodeRef;
977
+ var renderChildren = function renderChildren() {
978
+ if (isDragging) return null;
979
+ return /*#__PURE__*/jsxs(React.Fragment, {
980
+ children: [/*#__PURE__*/jsx(PlaceholderNode, {
981
+ dragState: dragState,
982
+ folder: folder
983
+ }), isArray(folder.children) && folder.children.map(function (child) {
984
+ return /*#__PURE__*/createElement(_DraggableNode, _objectSpread$5(_objectSpread$5({}, _objectSpread$5(_objectSpread$5({}, rest), {}, {
985
+ dragState: dragState
986
+ })), {}, {
987
+ depth: child.meta.depth,
988
+ folder: child,
989
+ key: child.id
990
+ }));
991
+ })]
992
+ }, "".concat(folder.id, "--container"));
993
+ };
994
+ return /*#__PURE__*/jsxs(Fragment, {
995
+ children: [/*#__PURE__*/jsx(Node$1, _objectSpread$5(_objectSpread$5({
996
+ depth: folder.meta.depth
997
+ }, _objectSpread$5(_objectSpread$5(_objectSpread$5({}, rest), {}, {
998
+ folder: folder
999
+ }, attributes), listeners)), {}, {
1000
+ className: classNames({
1001
+ "hover:neeto-ui-bg-gray-100 w-full cursor-move transition-colors": true,
1002
+ "neeto-ui-bg-gray-100 opacity-50": isDragging,
1003
+ "neeto-ui-bg-primary-50": isOverParent,
1004
+ "neeto-ui-border-primary-500 border-b-2": isOverItem
1005
+ }),
1006
+ ref: function ref(_ref2) {
1007
+ setDroppableRef(_ref2);
1008
+ setDraggableRef(_ref2);
1009
+ }
1010
+ })), renderChildren()]
1011
+ });
1012
+ };
1013
+
1014
+ 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; }
1015
+ 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; }
1016
+ var initialDragState = {
1017
+ activeItem: null,
1018
+ overItem: null
1019
+ };
1020
+ var sensorConfig = {
1021
+ activationConstraint: {
1022
+ distance: 8
1023
+ }
1024
+ };
1025
+ var measuringConfig = {
1026
+ droppable: {
1027
+ frequency: 500
1028
+ }
1029
+ };
1030
+
1031
+ // Reorder with support for position adjustment
1032
+ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
1033
+ var config = _ref.config,
1034
+ onClose = _ref.onClose;
1035
+ var _useState = useState(initialDragState),
1036
+ _useState2 = _slicedToArray(_useState, 2),
1037
+ dragState = _useState2[0],
1038
+ setDragState = _useState2[1];
1039
+ var _useState3 = useState({}),
1040
+ _useState4 = _slicedToArray(_useState3, 2),
1041
+ changes = _useState4[0],
1042
+ setChanges = _useState4[1];
1043
+ var _useTranslation = useTranslation(config),
1044
+ t = _useTranslation.t;
1045
+ var _useFetchFolders = useFetchFolders(config),
1046
+ folders = _useFetchFolders.data;
1047
+ var _useReorderFolders = useReorderFolders(config),
1048
+ reorderFolders = _useReorderFolders.mutate;
1049
+ var sensors = useSensors(useSensor(PointerSensor, sensorConfig));
1050
+ var _useStateWithDependen = useStateWithDependency(function () {
1051
+ return {
1052
+ name: "/",
1053
+ id: null,
1054
+ children: folders
1055
+ };
1056
+ }, [folders]),
1057
+ _useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
1058
+ baseTree = _useStateWithDependen2[0],
1059
+ setBaseTree = _useStateWithDependen2[1];
1060
+
1061
+ // Decorates tree with meta info. Can be optimized when needed.
1062
+ var tree = useMemo(function () {
1063
+ return mapToSortedTree(treeToMap(baseTree));
1064
+ }, [baseTree]);
1065
+ var onDragEnd = function onDragEnd(_ref2) {
1066
+ var active = _ref2.active,
1067
+ over = _ref2.over;
1068
+ setDragState(initialDragState);
1069
+ if (!over) return;
1070
+ var foldersMap = treeToMap(tree);
1071
+ var activeFolder = foldersMap[active.data.current.id];
1072
+ var targetFolder = foldersMap[over.data.current.meta.parent.id];
1073
+ var targetIndex = over.data.current.meta.index + 1; // `index` starts from -1 with placeholder
1074
+
1075
+ // Guards: Check moving inside invalid directories.
1076
+ if (!targetFolder || activeFolder.id === targetFolder.id) return;
1077
+ if (activeFolder.meta.parent.id === targetFolder.id && activeFolder.meta.index === targetIndex) {
1078
+ return;
1079
+ }
1080
+
1081
+ // Check moving to a folder with depth greater than the allowed limit.
1082
+ // maxDepth + 1 due to extra root node added for the tree
1083
+ var srcDepth = measureDepth(activeFolder);
1084
+ var dstDepth = targetFolder.meta.depth;
1085
+ if (srcDepth + dstDepth >= config.maxDepth + 1) {
1086
+ Toastr.error(t("moveToFolder.depthExceeded", {
1087
+ maxDepth: config.maxDepth
1088
+ }));
1089
+ return;
1090
+ }
1091
+ activeFolder.meta.parent = targetFolder;
1092
+ activeFolder.meta.__index = targetIndex;
1093
+ var newTree = mapToSortedTree(foldersMap);
1094
+ setBaseTree(newTree);
1095
+ setChanges(assoc(activeFolder.id, {
1096
+ parentId: targetFolder.id,
1097
+ index: targetIndex
1098
+ }));
1099
+ };
1100
+ var onSubmit = function onSubmit() {
1101
+ var payload = {
1102
+ changes: changes
1103
+ };
1104
+ reorderFolders(payload, {
1105
+ onSuccess: onClose
1106
+ });
1107
+ };
1108
+ var nodeProps = {
1109
+ icon: /*#__PURE__*/jsx(Reorder, {
1110
+ className: "neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0"
1111
+ }),
1112
+ itemLabel: config.labels.item
1113
+ };
1114
+ return /*#__PURE__*/jsxs(Fragment, {
1115
+ children: [/*#__PURE__*/jsx(Pane.Header, {
1116
+ children: /*#__PURE__*/jsx(Typography, {
1117
+ style: "h2",
1118
+ children: t("reorderFolder.title")
1119
+ })
1120
+ }), /*#__PURE__*/jsxs(DndContext, {
1121
+ onDragEnd: onDragEnd,
1122
+ sensors: sensors,
1123
+ collisionDetection: closestCenter(dragState),
1124
+ measuring: measuringConfig,
1125
+ onDragOver: function onDragOver(_ref3) {
1126
+ var over = _ref3.over;
1127
+ setDragState(assoc("overItem", over === null || over === void 0 ? void 0 : over.data.current));
1128
+ },
1129
+ onDragStart: function onDragStart(_ref4) {
1130
+ var active = _ref4.active;
1131
+ setDragState(assoc("activeItem", active.data.current));
1132
+ },
1133
+ children: [/*#__PURE__*/jsx(Pane.Body, {
1134
+ className: "pb-6",
1135
+ children: /*#__PURE__*/createElement(_DraggableNode, _objectSpread$4(_objectSpread$4({}, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
1136
+ dragState: dragState
1137
+ })), {}, {
1138
+ folder: tree,
1139
+ key: tree.id
1140
+ }))
1141
+ }), /*#__PURE__*/jsxs(Pane.Footer, {
1142
+ className: "gap-2",
1143
+ children: [/*#__PURE__*/jsx(Button, {
1144
+ disabled: isEmpty(changes),
1145
+ label: t("common.save"),
1146
+ style: "primary",
1147
+ onClick: onSubmit
1148
+ }), /*#__PURE__*/jsx(Button, {
1149
+ label: t("common.cancel"),
1150
+ style: "text",
1151
+ onClick: onClose
1152
+ })]
1153
+ }), /*#__PURE__*/createPortal(/*#__PURE__*/jsx(DragOverlay, {
1154
+ zIndex: 99999,
1155
+ children: dragState && /*#__PURE__*/jsx(Node$1, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
1156
+ className: "neeto-ui-bg-gray-200 pl-4 pr-12",
1157
+ depth: 0,
1158
+ folder: dragState.activeItem
1159
+ }))
1160
+ }), document.body)]
1161
+ })]
1162
+ });
1163
+ };
1164
+
762
1165
  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
1166
  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
1167
  var FoldersPane = function FoldersPane(_ref) {
@@ -786,6 +1189,7 @@ var FoldersPane = function FoldersPane(_ref) {
786
1189
  config: config,
787
1190
  onClose: onClose
788
1191
  };
1192
+ var ReorderPaneComponent = config.reorderMode === "reorder" ? ReorderFoldersPane : RearrangeFoldersPane;
789
1193
  return /*#__PURE__*/jsx(Pane, {
790
1194
  onClose: onClose,
791
1195
  isOpen: !!type,
@@ -794,7 +1198,7 @@ var FoldersPane = function FoldersPane(_ref) {
794
1198
  return /*#__PURE__*/jsxs(Fragment, {
795
1199
  children: [(type === "edit" || type === "add") && /*#__PURE__*/jsx(AddEditPane, _objectSpread$3({}, _objectSpread$3({
796
1200
  setFocusField: setFocusField
797
- }, commonProps))), type === "move" && /*#__PURE__*/jsx(MoveFolderPane, _objectSpread$3({}, commonProps)), type === "reorder" && /*#__PURE__*/jsx(ReorderFoldersPane, _objectSpread$3({}, commonProps))]
1201
+ }, commonProps))), type === "move" && /*#__PURE__*/jsx(MoveFolderPane, _objectSpread$3({}, commonProps)), type === "reorder" && /*#__PURE__*/jsx(ReorderPaneComponent, _objectSpread$3({}, commonProps))]
798
1202
  });
799
1203
  }
800
1204
  });
@@ -819,8 +1223,9 @@ var FolderTile = function FolderTile(_ref) {
819
1223
  itemLabel = _ref.itemLabel,
820
1224
  folder = _ref.folder,
821
1225
  actions = _ref.actions,
1226
+ config = _ref.config,
822
1227
  onSelect = _ref.onSelect;
823
- var _useTranslation = useTranslation(),
1228
+ var _useTranslation = useTranslation(config),
824
1229
  t = _useTranslation.t;
825
1230
  var actionCallback = function actionCallback(callback) {
826
1231
  return function (event) {
@@ -848,44 +1253,42 @@ var FolderTile = function FolderTile(_ref) {
848
1253
  }));
849
1254
  metaInfo.push("".concat(folder.itemCount || 0, " ").concat(itemLabel));
850
1255
  return /*#__PURE__*/jsxs(Link, {
851
- className: "neeto-ui-bg-gray-100 neeto-ui-rounded-md m-2 w-64 border p-3",
1256
+ 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
1257
  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
- }
1258
+ children: [/*#__PURE__*/jsx(Checkbox, {
1259
+ checked: isSelected,
1260
+ className: "m-0 flex-shrink-0 flex-grow-0 pt-0.5",
1261
+ name: folder.id,
1262
+ onChange: function onChange(event) {
1263
+ return onSelect(folder, event.target.checked);
1264
+ },
1265
+ onClick: function onClick(event) {
1266
+ return event.stopPropagation();
1267
+ }
1268
+ }), /*#__PURE__*/jsxs("span", {
1269
+ className: "flex min-w-0 flex-grow flex-col gap-2",
1270
+ children: [/*#__PURE__*/jsx(Typography, {
1271
+ className: "-mt-0.5 line-clamp-2 break-words pr-8",
1272
+ lineHeight: "snug",
1273
+ style: "body1",
1274
+ title: folder.name,
1275
+ weight: "medium",
1276
+ children: folder.name
1277
+ }), /*#__PURE__*/jsx(Typography, {
1278
+ className: "neeto-ui-text-gray-600",
1279
+ style: "body3",
1280
+ children: metaInfo.join(" . ")
884
1281
  })]
885
- }), /*#__PURE__*/jsx(Typography, {
886
- className: "ml-6",
887
- style: "body3",
888
- children: metaInfo.join(" . ")
1282
+ }), /*#__PURE__*/jsx(MoreDropdown, {
1283
+ menuItems: menuItems,
1284
+ dropdownButtonProps: {
1285
+ className: "absolute right-2 top-2"
1286
+ },
1287
+ dropdownProps: {
1288
+ onClick: function onClick(event) {
1289
+ return event.preventDefault();
1290
+ }
1291
+ }
889
1292
  })]
890
1293
  });
891
1294
  };
@@ -899,7 +1302,7 @@ var FoldersList = function FoldersList(_ref) {
899
1302
  onSelect = _ref.onSelect;
900
1303
  var config = _objectSpread$2(_objectSpread$2({}, DEFAULT_CONFIG), configProps);
901
1304
  var params = useQueryParams();
902
- var _useTranslation = useTranslation(),
1305
+ var _useTranslation = useTranslation(config),
903
1306
  t = _useTranslation.t;
904
1307
  var fetchParams = pick(["sortBy", "orderBy"], params);
905
1308
  var _useFolders = useFolders(_objectSpread$2(_objectSpread$2({}, config), {}, {
@@ -915,18 +1318,19 @@ var FoldersList = function FoldersList(_ref) {
915
1318
  return /*#__PURE__*/jsxs(FoldersContext, {
916
1319
  config: config,
917
1320
  children: [/*#__PURE__*/jsx(Typography, {
918
- className: "mb-2 mt-2",
1321
+ className: "my-3",
919
1322
  style: "h4",
920
1323
  children: t("folders.title")
921
1324
  }), /*#__PURE__*/jsx("div", {
922
- className: "mb-6 flex flex-wrap justify-items-center",
1325
+ className: "neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4",
923
1326
  children: subFolders.map(function (folder) {
924
1327
  return /*#__PURE__*/createElement(FolderTile, {
925
1328
  actions: actions,
1329
+ config: config,
926
1330
  folder: folder,
927
1331
  onSelect: onSelect,
928
1332
  isSelected: selection.includes(folder.id),
929
- itemLabel: config.itemLabel,
1333
+ itemLabel: config.labels.item,
930
1334
  key: folder.id,
931
1335
  link: buildUrl(config.folderPath, _objectSpread$2(_objectSpread$2({}, params), {}, {
932
1336
  folderId: folder.sid
@@ -959,20 +1363,17 @@ var FolderNode = function FolderNode(_ref) {
959
1363
  link = _ref.link;
960
1364
  return /*#__PURE__*/jsx(NavLink, {
961
1365
  activeClassName: "active",
962
- className: "block",
1366
+ className: "neeto-sidebar-folders-tree__folder-node block",
963
1367
  isActive: function isActive() {
964
1368
  return _isActive;
965
1369
  },
966
1370
  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
- })
1371
+ children: /*#__PURE__*/jsx(Typography, {
1372
+ className: "line-clamp-1 block truncate",
1373
+ component: "span",
1374
+ style: "body2",
1375
+ title: folder.name,
1376
+ children: folder.name
976
1377
  })
977
1378
  });
978
1379
  };
@@ -986,7 +1387,7 @@ var FoldersTree = function FoldersTree(_ref) {
986
1387
  _useState2 = _slicedToArray(_useState, 2),
987
1388
  expandedKeys = _useState2[0],
988
1389
  setExpandedKeys = _useState2[1];
989
- var _useTranslation = useTranslation(),
1390
+ var _useTranslation = useTranslation(config),
990
1391
  t = _useTranslation.t;
991
1392
  var params = useQueryParams({
992
1393
  toCamelCase: false
@@ -1022,9 +1423,10 @@ var FoldersTree = function FoldersTree(_ref) {
1022
1423
  autoExpandParent: true,
1023
1424
  blockNode: true,
1024
1425
  showLine: true,
1426
+ className: "neeto-sidebar-folders-tree",
1025
1427
  componentToken: {
1026
- titleHeight: 25,
1027
- indentSize: 25
1428
+ titleHeight: 24,
1429
+ indentSize: 24
1028
1430
  },
1029
1431
  fieldNames: {
1030
1432
  key: "sid"
@@ -1044,5 +1446,10 @@ var FoldersTree = function FoldersTree(_ref) {
1044
1446
  });
1045
1447
  };
1046
1448
 
1449
+ 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}}
1450
+
1451
+ 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== */";
1452
+ n(css,{});
1453
+
1047
1454
  export { FoldersContext, FoldersList, FoldersTree, MoveToFolderPane };
1048
1455
  //# sourceMappingURL=components.js.map