@bigbinary/neeto-folders-frontend 2.0.3 → 2.0.5

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.
@@ -16,10 +16,10 @@ import Pane from '@bigbinary/neetoui/Pane';
16
16
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
17
17
  import _regeneratorRuntime from '@babel/runtime/regenerator';
18
18
  import React, { createElement, forwardRef, useMemo, useState, useId, useEffect, startTransition } from 'react';
19
- import { useField, Formik, Form } from 'formik';
20
19
  import Typography from '@bigbinary/neetoui/Typography';
21
20
  import Input from '@bigbinary/neetoui/formik/Input';
22
21
  import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
22
+ import Form from '@bigbinary/neetoui/formik/Form';
23
23
  import { t as t$1 } from 'i18next';
24
24
  import { object, string } from 'yup';
25
25
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
@@ -28,9 +28,11 @@ import Textarea from '@bigbinary/neetoui/formik/Textarea';
28
28
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
29
29
  import { ConfigProvider, TreeSelect as TreeSelect$1 } from 'antd';
30
30
  import classNames from 'classnames';
31
+ import { useField } from 'formik';
31
32
  import Down from '@bigbinary/neeto-icons/Down';
32
33
  import Label from '@bigbinary/neetoui/Label';
33
- import { values, isEmpty, assoc, pick } from 'ramda';
34
+ import { values, isEmpty, assoc } from 'ramda';
35
+ import useHotkeys from '@bigbinary/neeto-hotkeys';
34
36
  import Button from '@bigbinary/neetoui/Button';
35
37
  import { noop, isNotPresent } from '@bigbinary/neeto-cist';
36
38
  import Radio from '@bigbinary/neetoui/Radio';
@@ -248,7 +250,7 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_ref, ref) {
248
250
  suffixIcon: /*#__PURE__*/jsx(Down, {}),
249
251
  treeNodeFilterProp: (_fieldNames$label = fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label) !== null && _fieldNames$label !== void 0 ? _fieldNames$label : "title",
250
252
  value: field.value || undefined,
251
- className: classNames("neeto-ui-tree-select__wrapper", className, {
253
+ className: classNames("neeto-ui-tree-select__wrapper nf-tree-select", className, {
252
254
  "neeto-ui-tree-select__error": meta.error
253
255
  }),
254
256
  switcherIcon: function switcherIcon(props) {
@@ -403,54 +405,55 @@ var AddEditPane = function AddEditPane(_ref) {
403
405
  style: "h2",
404
406
  children: isEditing ? t("folders.edit") : t("folders.add")
405
407
  })
406
- }), /*#__PURE__*/jsx(Formik, {
407
- initialValues: initialValues,
408
- enableReinitialize: true,
409
- validationSchema: FORM_VALIDATION_SCHEMA,
410
- onSubmit: onSubmitForm,
411
- children: function children() {
412
- return /*#__PURE__*/jsxs(Fragment, {
413
- children: [/*#__PURE__*/jsx(Pane.Body, {
414
- className: "pb-6",
415
- children: /*#__PURE__*/jsxs(Form, {
416
- className: "w-full space-y-5",
417
- children: [/*#__PURE__*/jsx(Input, {
418
- required: true,
419
- label: t("folders.name"),
420
- name: "name",
421
- ref: setFocusField
422
- }), /*#__PURE__*/jsx(ExtraAttributes, {
423
- attributes: extraAttributes
424
- }), /*#__PURE__*/jsxs("div", {
425
- children: [/*#__PURE__*/jsx(TreeSelect, {
426
- allowClear: true,
427
- showSearch: true,
428
- label: t("createFolder.parentTitle"),
429
- name: "parentId",
430
- treeData: folderOptions
431
- }), /*#__PURE__*/jsx(Typography, {
432
- className: "mt-1",
433
- style: "body3",
434
- children: t("createFolder.parentInfo")
435
- })]
408
+ }), /*#__PURE__*/jsx(Form, {
409
+ className: "flex flex-grow flex-col",
410
+ formikProps: {
411
+ initialValues: initialValues,
412
+ enableReinitialize: true,
413
+ validationSchema: FORM_VALIDATION_SCHEMA,
414
+ onSubmit: onSubmitForm
415
+ },
416
+ children: /*#__PURE__*/jsxs(Fragment, {
417
+ children: [/*#__PURE__*/jsx(Pane.Body, {
418
+ className: "pb-6",
419
+ children: /*#__PURE__*/jsxs("div", {
420
+ className: "w-full space-y-5",
421
+ children: [/*#__PURE__*/jsx(Input, {
422
+ required: true,
423
+ label: t("folders.name"),
424
+ name: "name",
425
+ ref: setFocusField
426
+ }), /*#__PURE__*/jsx(ExtraAttributes, {
427
+ attributes: extraAttributes
428
+ }), /*#__PURE__*/jsxs("div", {
429
+ children: [/*#__PURE__*/jsx(TreeSelect, {
430
+ allowClear: true,
431
+ showSearch: true,
432
+ label: t("createFolder.parentTitle"),
433
+ name: "parentId",
434
+ treeData: folderOptions
435
+ }), /*#__PURE__*/jsx(Typography, {
436
+ className: "mt-1",
437
+ style: "body3",
438
+ children: t("createFolder.parentInfo")
436
439
  })]
437
- })
438
- }), /*#__PURE__*/jsx(Pane.Footer, {
439
- children: /*#__PURE__*/jsx(ActionBlock, {
440
- cancelButtonProps: {
441
- onClick: onClose
442
- }
443
- })
444
- })]
445
- });
446
- }
440
+ })]
441
+ })
442
+ }), /*#__PURE__*/jsx(Pane.Footer, {
443
+ children: /*#__PURE__*/jsx(ActionBlock, {
444
+ cancelButtonProps: {
445
+ onClick: onClose
446
+ }
447
+ })
448
+ })]
449
+ })
447
450
  })]
448
451
  });
449
452
  };
450
453
 
451
454
  var REORDER_TREE_INDENT_WIDTH = 30;
452
455
 
453
- var _excluded$4 = ["icon", "itemLabel", "folder", "depth", "className", "onClick"];
456
+ var _excluded$4 = ["icon", "itemLabel", "folder", "folderLabel", "depth", "className", "onClick"];
454
457
  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; }
455
458
  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; }
456
459
  var Node = function Node(_ref, ref) {
@@ -459,18 +462,15 @@ var Node = function Node(_ref, ref) {
459
462
  icon = _ref$icon === void 0 ? null : _ref$icon,
460
463
  itemLabel = _ref.itemLabel,
461
464
  folder = _ref.folder,
465
+ folderLabel = _ref.folderLabel,
462
466
  depth = _ref.depth,
463
467
  className = _ref.className,
464
468
  onClick = _ref.onClick,
465
469
  rest = _objectWithoutProperties(_ref, _excluded$4);
466
- var _useTranslation = useTranslation$1(),
467
- t = _useTranslation.t;
468
470
  var metaInfo = [];
469
471
  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;
470
- childCount > 0 && metaInfo.push(t("folders.subfolderCount", {
471
- count: childCount
472
- }));
473
- folder.itemCount > 0 && metaInfo.push("".concat(folder.itemCount, " ").concat(itemLabel));
472
+ childCount > 0 && metaInfo.push("".concat(childCount, " ").concat(folderLabel).toLowerCase());
473
+ folder.itemCount > 0 && metaInfo.push("".concat(folder.itemCount, " ").concat(itemLabel).toLowerCase());
474
474
  return /*#__PURE__*/jsxs("div", {
475
475
  className: "flex w-full min-w-0",
476
476
  children: [Array.from({
@@ -512,6 +512,7 @@ var _excluded$3 = ["folder", "item", "depth", "maxDepth", "disabled", "config"];
512
512
  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; }
513
513
  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; }
514
514
  var _SelectableNode = function SelectableNode(_ref) {
515
+ var _folder$children$leng, _folder$children;
515
516
  var folder = _ref.folder,
516
517
  item = _ref.item,
517
518
  _ref$depth = _ref.depth,
@@ -525,6 +526,8 @@ var _SelectableNode = function SelectableNode(_ref) {
525
526
  var _useTranslation = useTranslation(config),
526
527
  t = _useTranslation.t;
527
528
  var isDisabled = disabled || (item === null || item === void 0 ? void 0 : item.id) === folder.id || depth > maxDepth;
529
+ var itemLabel = config.labels[folder.itemCount > 1 ? "items" : "item"];
530
+ var folderLabel = config.labels[((_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) > 1 ? "folders" : "folder"];
528
531
  var renderChildren = function renderChildren() {
529
532
  if (isNotPresent(folder.children)) return null;
530
533
  return folder.children.map(function (child) {
@@ -548,7 +551,9 @@ var _SelectableNode = function SelectableNode(_ref) {
548
551
  title: isDisabled ? t("moveToFolder.notAllowed") : undefined,
549
552
  children: [/*#__PURE__*/jsx(Node$1, _objectSpread$9(_objectSpread$9({}, _objectSpread$9(_objectSpread$9({}, rest), {}, {
550
553
  depth: depth,
551
- folder: folder
554
+ folder: folder,
555
+ folderLabel: folderLabel,
556
+ itemLabel: itemLabel
552
557
  })), {}, {
553
558
  icon: /*#__PURE__*/jsx(Radio.Item, {
554
559
  readOnly: true,
@@ -589,6 +594,13 @@ var PaneBody = function PaneBody(_ref) {
589
594
  folders = _useFetchFolders$data === void 0 ? [] : _useFetchFolders$data;
590
595
  var _useTranslation = useTranslation(config),
591
596
  t = _useTranslation.t;
597
+ var _useFolderStore2 = useFolderStore(function (store) {
598
+ var _store$paneState;
599
+ return {
600
+ type: (_store$paneState = store["paneState"]) === null || _store$paneState === void 0 ? void 0 : _store$paneState["type"]
601
+ };
602
+ }, shallow),
603
+ type = _useFolderStore2.type;
592
604
  var tree = useMemo(function () {
593
605
  return [{
594
606
  name: "/",
@@ -612,6 +624,12 @@ var PaneBody = function PaneBody(_ref) {
612
624
  }
613
625
  });
614
626
  };
627
+ useHotkeys(["command+enter", "enter"], function () {
628
+ return onSubmit(selection);
629
+ }, {
630
+ mode: "global",
631
+ enabled: !!type
632
+ });
615
633
  return /*#__PURE__*/jsxs(Fragment, {
616
634
  children: [/*#__PURE__*/jsxs(Pane.Header, {
617
635
  className: "flex items-center justify-between",
@@ -634,7 +652,6 @@ var PaneBody = function PaneBody(_ref) {
634
652
  maxDepth: maxDepth,
635
653
  selection: selection,
636
654
  disabled: (item === null || item === void 0 ? void 0 : item.id) === folder.id || maxDepth <= 0,
637
- itemLabel: config.labels.item,
638
655
  key: folder.id,
639
656
  onSelect: function onSelect(folder) {
640
657
  return setSelection(folder.id);
@@ -698,13 +715,16 @@ var MoveFolderPane = function MoveFolderPane(_ref) {
698
715
  });
699
716
  };
700
717
 
701
- var _excluded$2 = ["folder", "depth"];
718
+ var _excluded$2 = ["folder", "depth", "config", "folderLabel", "itemLabel"];
702
719
  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; }
703
720
  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; }
704
721
  var _DraggableNode$1 = function DraggableNode(_ref) {
705
722
  var folder = _ref.folder,
706
723
  _ref$depth = _ref.depth,
707
724
  depth = _ref$depth === void 0 ? 0 : _ref$depth,
725
+ config = _ref.config,
726
+ folderLabel = _ref.folderLabel,
727
+ itemLabel = _ref.itemLabel,
708
728
  rest = _objectWithoutProperties(_ref, _excluded$2);
709
729
  var _useDraggable = useDraggable({
710
730
  id: "draggable-item--".concat(folder.id),
@@ -725,10 +745,15 @@ var _DraggableNode$1 = function DraggableNode(_ref) {
725
745
  var renderChildren = function renderChildren() {
726
746
  if (isNotPresent(folder.children) || isDragging) return null;
727
747
  return folder.children.map(function (child) {
728
- return /*#__PURE__*/createElement(_DraggableNode$1, _objectSpread$7(_objectSpread$7({}, rest), {}, {
748
+ var _child$children$lengt, _child$children;
749
+ return /*#__PURE__*/createElement(_DraggableNode$1, _objectSpread$7(_objectSpread$7({}, _objectSpread$7(_objectSpread$7({}, rest), {}, {
750
+ config: config
751
+ })), {}, {
729
752
  depth: depth + 1,
730
753
  folder: child,
731
- key: child.id
754
+ itemLabel: config.labels[(child === null || child === void 0 ? void 0 : child.itemCount) > 1 ? "items" : "item"],
755
+ key: child.id,
756
+ folderLabel: config.labels[((_child$children$lengt = child === null || child === void 0 || (_child$children = child.children) === null || _child$children === void 0 ? void 0 : _child$children.length) !== null && _child$children$lengt !== void 0 ? _child$children$lengt : 0) > 1 ? "folders" : "folder"]
732
757
  }));
733
758
  });
734
759
  };
@@ -740,10 +765,13 @@ var _DraggableNode$1 = function DraggableNode(_ref) {
740
765
  "neeto-ui-border-primary-500 border": isOver,
741
766
  "border border-transparent": !isOver
742
767
  })
743
- }, _objectSpread$7(_objectSpread$7({
768
+ }, _objectSpread$7(_objectSpread$7(_objectSpread$7({
744
769
  depth: depth,
745
770
  folder: folder
746
- }, attributes), listeners)), {}, {
771
+ }, attributes), listeners), {}, {
772
+ folderLabel: folderLabel,
773
+ itemLabel: itemLabel
774
+ })), {}, {
747
775
  ref: function ref(_ref2) {
748
776
  setDroppableRef(_ref2);
749
777
  setDraggableRef(_ref2);
@@ -755,6 +783,7 @@ var _DraggableNode$1 = function DraggableNode(_ref) {
755
783
  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; }
756
784
  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; }
757
785
  var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
786
+ var _tree$children$length, _tree$children, _dragItem$children$le, _dragItem$children;
758
787
  var config = _ref.config,
759
788
  onClose = _ref.onClose;
760
789
  var _useState = useState(null),
@@ -771,6 +800,13 @@ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
771
800
  folders = _useFetchFolders.data;
772
801
  var _useReorderFolders = useReorderFolders(config),
773
802
  reorderFolders = _useReorderFolders.mutate;
803
+ var _useFolderStore = useFolderStore(function (store) {
804
+ var _store$paneState;
805
+ return {
806
+ type: (_store$paneState = store["paneState"]) === null || _store$paneState === void 0 ? void 0 : _store$paneState["type"]
807
+ };
808
+ }, shallow),
809
+ type = _useFolderStore.type;
774
810
  var _useStateWithDependen = useStateWithDependency(function () {
775
811
  return {
776
812
  name: "/",
@@ -817,11 +853,14 @@ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
817
853
  onSuccess: onClose
818
854
  });
819
855
  };
856
+ useHotkeys(["command+enter", "enter"], onSubmit, {
857
+ mode: "global",
858
+ enabled: !!type
859
+ });
820
860
  var nodeProps = {
821
861
  icon: /*#__PURE__*/jsx(Reorder, {
822
862
  className: "neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0"
823
- }),
824
- itemLabel: config.labels.item
863
+ })
825
864
  };
826
865
  return /*#__PURE__*/jsxs(Fragment, {
827
866
  children: [/*#__PURE__*/jsx(Pane.Header, {
@@ -837,9 +876,13 @@ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
837
876
  },
838
877
  children: [/*#__PURE__*/jsx(Pane.Body, {
839
878
  className: "pb-6",
840
- children: /*#__PURE__*/createElement(_DraggableNode$1, _objectSpread$6(_objectSpread$6({}, nodeProps), {}, {
879
+ children: /*#__PURE__*/createElement(_DraggableNode$1, _objectSpread$6(_objectSpread$6({}, _objectSpread$6(_objectSpread$6({}, nodeProps), {}, {
880
+ config: config
881
+ })), {}, {
841
882
  folder: tree,
842
- key: tree.id
883
+ itemLabel: config.labels[(tree === null || tree === void 0 ? void 0 : tree.itemCount) > 1 ? "items" : "item"],
884
+ key: tree.id,
885
+ folderLabel: config.labels[((_tree$children$length = tree === null || tree === void 0 || (_tree$children = tree.children) === null || _tree$children === void 0 ? void 0 : _tree$children.length) !== null && _tree$children$length !== void 0 ? _tree$children$length : 0) > 1 ? "folders" : "folder"]
843
886
  }))
844
887
  }), /*#__PURE__*/jsxs(Pane.Footer, {
845
888
  className: "gap-2",
@@ -858,7 +901,9 @@ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
858
901
  children: dragItem && /*#__PURE__*/jsx(Node$1, _objectSpread$6(_objectSpread$6({}, nodeProps), {}, {
859
902
  className: "neeto-ui-bg-gray-200",
860
903
  depth: 0,
861
- folder: dragItem
904
+ folder: dragItem,
905
+ folderLabel: config.labels[((_dragItem$children$le = dragItem === null || dragItem === void 0 || (_dragItem$children = dragItem.children) === null || _dragItem$children === void 0 ? void 0 : _dragItem$children.length) !== null && _dragItem$children$le !== void 0 ? _dragItem$children$le : 0) > 1 ? "folders" : "folder"],
906
+ itemLabel: config.labels[(dragItem === null || dragItem === void 0 ? void 0 : dragItem.itemCount) > 1 ? "items" : "item"]
862
907
  }))
863
908
  }), document.body)]
864
909
  })]
@@ -956,13 +1001,16 @@ var PlaceholderNode = function PlaceholderNode(_ref) {
956
1001
  });
957
1002
  };
958
1003
 
959
- var _excluded$1 = ["folder", "dragState"];
1004
+ var _excluded$1 = ["folder", "config", "dragState", "folderLabel", "itemLabel"];
960
1005
  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; }
961
1006
  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; }
962
1007
  var _DraggableNode = function DraggableNode(_ref) {
963
1008
  var _overItem$meta$parent;
964
1009
  var folder = _ref.folder,
1010
+ config = _ref.config,
965
1011
  dragState = _ref.dragState,
1012
+ folderLabel = _ref.folderLabel,
1013
+ itemLabel = _ref.itemLabel,
966
1014
  rest = _objectWithoutProperties(_ref, _excluded$1);
967
1015
  var overItem = dragState.overItem;
968
1016
  var isOverItem = folder.id === (overItem === null || overItem === void 0 ? void 0 : overItem.id);
@@ -990,12 +1038,16 @@ var _DraggableNode = function DraggableNode(_ref) {
990
1038
  dragState: dragState,
991
1039
  folder: folder
992
1040
  }), isArray(folder.children) && folder.children.map(function (child) {
1041
+ var _child$children$lengt, _child$children;
993
1042
  return /*#__PURE__*/createElement(_DraggableNode, _objectSpread$5(_objectSpread$5({}, _objectSpread$5(_objectSpread$5({}, rest), {}, {
1043
+ config: config,
994
1044
  dragState: dragState
995
1045
  })), {}, {
996
1046
  depth: child.meta.depth,
997
1047
  folder: child,
998
- key: child.id
1048
+ itemLabel: config.labels[(child === null || child === void 0 ? void 0 : child.itemCount) > 1 ? "items" : "item"],
1049
+ key: child.id,
1050
+ folderLabel: config.labels[((_child$children$lengt = child === null || child === void 0 || (_child$children = child.children) === null || _child$children === void 0 ? void 0 : _child$children.length) !== null && _child$children$lengt !== void 0 ? _child$children$lengt : 0) > 1 ? "folders" : "folder"]
999
1051
  }));
1000
1052
  })]
1001
1053
  }, "".concat(folder.id, "--container"));
@@ -1003,9 +1055,12 @@ var _DraggableNode = function DraggableNode(_ref) {
1003
1055
  return /*#__PURE__*/jsxs(Fragment, {
1004
1056
  children: [/*#__PURE__*/jsx(Node$1, _objectSpread$5(_objectSpread$5({
1005
1057
  depth: folder.meta.depth
1006
- }, _objectSpread$5(_objectSpread$5(_objectSpread$5({}, rest), {}, {
1058
+ }, _objectSpread$5(_objectSpread$5(_objectSpread$5(_objectSpread$5({}, rest), {}, {
1007
1059
  folder: folder
1008
- }, attributes), listeners)), {}, {
1060
+ }, attributes), listeners), {}, {
1061
+ folderLabel: folderLabel,
1062
+ itemLabel: itemLabel
1063
+ })), {}, {
1009
1064
  className: classNames({
1010
1065
  "hover:neeto-ui-bg-gray-100 w-full cursor-move transition-colors": true,
1011
1066
  "neeto-ui-bg-gray-100 opacity-50": isDragging,
@@ -1039,6 +1094,7 @@ var measuringConfig = {
1039
1094
 
1040
1095
  // Reorder with support for position adjustment
1041
1096
  var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
1097
+ var _tree$children$length, _tree$children, _dragState$activeItem, _dragState$activeItem2, _dragState$activeItem3;
1042
1098
  var config = _ref.config,
1043
1099
  onClose = _ref.onClose;
1044
1100
  var _useState = useState(initialDragState),
@@ -1056,6 +1112,13 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
1056
1112
  var _useReorderFolders = useReorderFolders(config),
1057
1113
  reorderFolders = _useReorderFolders.mutate;
1058
1114
  var sensors = useSensors(useSensor(PointerSensor, sensorConfig));
1115
+ var _useFolderStore = useFolderStore(function (store) {
1116
+ var _store$paneState;
1117
+ return {
1118
+ type: (_store$paneState = store["paneState"]) === null || _store$paneState === void 0 ? void 0 : _store$paneState["type"]
1119
+ };
1120
+ }, shallow),
1121
+ type = _useFolderStore.type;
1059
1122
  var _useStateWithDependen = useStateWithDependency(function () {
1060
1123
  return {
1061
1124
  name: "/",
@@ -1114,11 +1177,14 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
1114
1177
  onSuccess: onClose
1115
1178
  });
1116
1179
  };
1180
+ useHotkeys(["command+enter", "enter"], onSubmit, {
1181
+ mode: "global",
1182
+ enabled: !!type
1183
+ });
1117
1184
  var nodeProps = {
1118
1185
  icon: /*#__PURE__*/jsx(Reorder, {
1119
1186
  className: "neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0"
1120
- }),
1121
- itemLabel: config.labels.item
1187
+ })
1122
1188
  };
1123
1189
  return /*#__PURE__*/jsxs(Fragment, {
1124
1190
  children: [/*#__PURE__*/jsx(Pane.Header, {
@@ -1142,10 +1208,13 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
1142
1208
  children: [/*#__PURE__*/jsx(Pane.Body, {
1143
1209
  className: "pb-6",
1144
1210
  children: /*#__PURE__*/createElement(_DraggableNode, _objectSpread$4(_objectSpread$4({}, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
1211
+ config: config,
1145
1212
  dragState: dragState
1146
1213
  })), {}, {
1147
1214
  folder: tree,
1148
- key: tree.id
1215
+ itemLabel: config.labels[(tree === null || tree === void 0 ? void 0 : tree.itemCount) > 1 ? "items" : "item"],
1216
+ key: tree.id,
1217
+ folderLabel: config.labels[((_tree$children$length = tree === null || tree === void 0 || (_tree$children = tree.children) === null || _tree$children === void 0 ? void 0 : _tree$children.length) !== null && _tree$children$length !== void 0 ? _tree$children$length : 0) > 1 ? "folders" : "folder"]
1149
1218
  }))
1150
1219
  }), /*#__PURE__*/jsxs(Pane.Footer, {
1151
1220
  className: "gap-2",
@@ -1164,7 +1233,9 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
1164
1233
  children: dragState && /*#__PURE__*/jsx(Node$1, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
1165
1234
  className: "neeto-ui-bg-gray-200 pl-4 pr-12",
1166
1235
  depth: 0,
1167
- folder: dragState.activeItem
1236
+ folder: dragState.activeItem,
1237
+ folderLabel: config.labels[((_dragState$activeItem = (_dragState$activeItem2 = dragState.activeItem) === null || _dragState$activeItem2 === void 0 || (_dragState$activeItem2 = _dragState$activeItem2.children) === null || _dragState$activeItem2 === void 0 ? void 0 : _dragState$activeItem2.length) !== null && _dragState$activeItem !== void 0 ? _dragState$activeItem : 0) > 1 ? "folders" : "folder"],
1238
+ itemLabel: config.labels[((_dragState$activeItem3 = dragState.activeItem) === null || _dragState$activeItem3 === void 0 ? void 0 : _dragState$activeItem3.itemCount) > 1 ? "items" : "item"]
1168
1239
  }))
1169
1240
  }), document.body)]
1170
1241
  })]
@@ -1226,10 +1297,9 @@ var FoldersContext = function FoldersContext(_ref) {
1226
1297
  };
1227
1298
 
1228
1299
  var FolderTile = function FolderTile(_ref) {
1229
- var _folder$children$leng, _folder$children;
1300
+ var _folder$children$leng, _folder$children, _folder$children$leng2, _folder$children2;
1230
1301
  var isSelected = _ref.isSelected,
1231
1302
  link = _ref.link,
1232
- itemLabel = _ref.itemLabel,
1233
1303
  folder = _ref.folder,
1234
1304
  actions = _ref.actions,
1235
1305
  config = _ref.config,
@@ -1248,7 +1318,7 @@ var FolderTile = function FolderTile(_ref) {
1248
1318
  onClick: actionCallback(actions.onEdit)
1249
1319
  }, {
1250
1320
  key: "move",
1251
- label: t("common.move"),
1321
+ label: t("common.moveToFolder"),
1252
1322
  onClick: actionCallback(actions.onMove)
1253
1323
  }, {
1254
1324
  key: "delete",
@@ -1257,10 +1327,10 @@ var FolderTile = function FolderTile(_ref) {
1257
1327
  }];
1258
1328
  var metaInfo = [];
1259
1329
  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;
1260
- childCount > 0 && metaInfo.push(t("folders.subfolderCount", {
1261
- count: childCount
1262
- }));
1263
- metaInfo.push("".concat(folder.itemCount || 0, " ").concat(itemLabel));
1330
+ var itemLabel = config.labels[folder.itemCount > 1 ? "items" : "item"];
1331
+ var folderLabel = config.labels[((_folder$children$leng2 = (_folder$children2 = folder.children) === null || _folder$children2 === void 0 ? void 0 : _folder$children2.length) !== null && _folder$children$leng2 !== void 0 ? _folder$children$leng2 : 0) > 1 ? "folders" : "folder"];
1332
+ childCount > 0 && metaInfo.push("".concat(childCount, " ").concat(folderLabel).toLowerCase());
1333
+ metaInfo.push("".concat(folder.itemCount || 0, " ").concat(itemLabel).toLowerCase());
1264
1334
  return /*#__PURE__*/jsxs(Link, {
1265
1335
  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",
1266
1336
  to: link,
@@ -1313,10 +1383,7 @@ var FoldersList = function FoldersList(_ref) {
1313
1383
  var params = useQueryParams();
1314
1384
  var _useTranslation = useTranslation(config),
1315
1385
  t = _useTranslation.t;
1316
- var fetchParams = pick(["sortBy", "orderBy"], params);
1317
- var _useFolders = useFolders(_objectSpread$2(_objectSpread$2({}, config), {}, {
1318
- params: fetchParams
1319
- })),
1386
+ var _useFolders = useFolders(config),
1320
1387
  folders = _useFolders.folders;
1321
1388
  var _useFolder = useFolder(config),
1322
1389
  folderId = _useFolder.folderId,
@@ -1338,7 +1405,6 @@ var FoldersList = function FoldersList(_ref) {
1338
1405
  folder: folder,
1339
1406
  onSelect: onSelect,
1340
1407
  isSelected: selection.includes(folder.id),
1341
- itemLabel: config.labels.item,
1342
1408
  key: folder.id,
1343
1409
  link: buildUrl(config.folderPath, _objectSpread$2(_objectSpread$2({}, params), {}, {
1344
1410
  folderId: folder.sid
@@ -1469,7 +1535,7 @@ var FoldersTree = function FoldersTree(_ref) {
1469
1535
 
1470
1536
  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}}
1471
1537
 
1472
- 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== */";
1538
+ 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))}.nf-tree-select .ant-select-clear{height:16px;margin-top:-8px;width:16px}.nf-tree-select .ant-select-clear svg{height:16px;width:16px}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9jb21wb25lbnRzL25lZXRvLWZvbGRlcnMtbmFuby5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUNFLHVCQUNGLENBRUEsb0VBRUUsV0FBQSxDQURBLDRCQUVGLENBRUEsMkZBR0UsMkNBQUEsQ0FEQSwrQ0FBQSxDQUVBLGVBQUYsQ0FHQSxnRkFHRSxpQkFGRixDQUtBLGlDQUNFLHlEQUZGLENBTUUsa0NBRUUsV0FBQSxDQUNBLGVBQUEsQ0FGQSxVQURKLENBS0ksc0NBRUUsV0FBQSxDQURBLFVBRk4iLCJzb3VyY2VzQ29udGVudCI6WyIubmVldG8tc2lkZWJhci1mb2xkZXJzLXRyZWVfX2ZvbGRlci1ub2RlIHtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLm5lZXRvLXNpZGViYXItZm9sZGVycy10cmVlLmFudC10cmVlIC5hbnQtdHJlZS1ub2RlLWNvbnRlbnQtd3JhcHBlciB7XG4gIHBhZGRpbmctaW5saW5lOiA2cHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4ubmVldG8tc2lkZWJhci1mb2xkZXJzLXRyZWUuYW50LXRyZWVcbiAgLmFudC10cmVlLW5vZGUtY29udGVudC13cmFwcGVyLmFudC10cmVlLW5vZGUtc2VsZWN0ZWQge1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWFjY2VudC04MDApKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktd2hpdGUpKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm5lZXRvLXNpZGViYXItZm9sZGVycy10cmVlLmFudC10cmVlXG4gIC5hbnQtdHJlZS1zd2l0Y2hlclxuICAuYW50LXRyZWUtc3dpdGNoZXItaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5lZXRvLWZvbGRlcnMtZ3JpZC12aWV3LXdyYXBwZXIge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNTZweCwgMWZyKSk7XG59XG5cbi5uZi10cmVlLXNlbGVjdCB7XG4gIC5hbnQtc2VsZWN0LWNsZWFyIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogLThweDtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */";
1473
1539
  n(css,{});
1474
1540
 
1475
1541
  export { FoldersContext, FoldersList, FoldersTree, MoveToFolderPane };