@bigbinary/neeto-folders-frontend 2.0.23 → 2.0.25

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.
package/README.md CHANGED
@@ -266,6 +266,30 @@ import * as components from "@bigbinary/neeto-folders-frontend/components";
266
266
  />;
267
267
  ```
268
268
 
269
+ 5. `AddEditPane`: This component can be used in host applications to add or edit folders.
270
+
271
+ ##### Props:
272
+
273
+ - `config`: A config object to customize the folders behavior.
274
+
275
+ - `onClose()`: Callback invoked when the pane is closed.
276
+
277
+ - `folderSid`: It is optional. The SID of the parent folder where new folder should be created. If not provided, uses the active folder from URL.
278
+
279
+ - `setFocusField`: Ref callback to set focus on the name input field when pane opens.
280
+
281
+ Sample usage:
282
+
283
+ ```jsx
284
+ import { AddEditPane } from "@bigbinary/neeto-folders-frontend/components";
285
+ // ....
286
+ <AddEditPane
287
+ {...{ setFocusField, onClose }}
288
+ config={foldersConfig}
289
+ folderSid={selectedFolderSid}
290
+ />;
291
+ ```
292
+
269
293
  #### Hooks
270
294
 
271
295
  ```js
@@ -9,10 +9,10 @@ var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
9
9
  var Alert = require('@bigbinary/neetoui/Alert');
10
10
  var reactI18next = require('react-i18next');
11
11
  var reactRouterDom = require('react-router-dom');
12
- var useFolderActions = require('../useFolderActions-CEJXB-Ff.js');
12
+ var useFolderActions = require('../useFolderActions-hz2Q6yci.js');
13
13
  var constants = require('./constants.js');
14
- var utils = require('../index-Bkom-uV7.js');
15
- var internal = require('../internal-xADvDa75.js');
14
+ var utils = require('../index-DshpXNOY.js');
15
+ var internal = require('../internal-D5q2PCbM.js');
16
16
  var jsxRuntime = require('react/jsx-runtime');
17
17
  var Pane = require('@bigbinary/neetoui/Pane');
18
18
  var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
@@ -44,10 +44,8 @@ var Checkbox = require('@bigbinary/neetoui/Checkbox');
44
44
  var Tree = require('@bigbinary/neetoui/Tree');
45
45
  var Lock = require('@bigbinary/neeto-icons/Lock');
46
46
  var Plus = require('@bigbinary/neeto-icons/Plus');
47
- var antd = require('antd');
48
47
  var formik = require('formik');
49
- var Down = require('@bigbinary/neeto-icons/Down');
50
- var Label = require('@bigbinary/neetoui/Label');
48
+ var NUITreeSelect = require('@bigbinary/neetoui/formik/TreeSelect');
51
49
  require('zustand');
52
50
 
53
51
  function ownKeys$f(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; }
@@ -208,7 +206,8 @@ var AddEditPane = function AddEditPane(_ref) {
208
206
  var _config$addEditValida;
209
207
  var setFocusField = _ref.setFocusField,
210
208
  config = _ref.config,
211
- onClose = _ref.onClose;
209
+ onClose = _ref.onClose,
210
+ folderSid = _ref.folderSid;
212
211
  var _useTranslation = useTranslation(config),
213
212
  t = _useTranslation.t;
214
213
  var _useFolderStore = useFolderActions.useFolderStore(function (store) {
@@ -227,7 +226,7 @@ var AddEditPane = function AddEditPane(_ref) {
227
226
  var _useUpdateFolder = useFolderActions.useUpdateFolder(config),
228
227
  updateFolder = _useUpdateFolder.mutateAsync;
229
228
  var isEditing = type === "edit" && item;
230
- var activeFolderSid = internal.getActiveFolderId(config);
229
+ var activeFolderSid = folderSid || internal.getActiveFolderId(config);
231
230
  var extraAttributes = config.extraAttributes;
232
231
  var filteredExtraAttributes = React.useMemo(function () {
233
232
  return filterExtraAttributes(extraAttributes, isEditing);
@@ -335,6 +334,7 @@ var AddEditPane = function AddEditPane(_ref) {
335
334
  config: config,
336
335
  allowClear: true,
337
336
  showSearch: true,
337
+ initialValue: folderSid,
338
338
  label: t("createFolder.parentTitle"),
339
339
  name: "parentId"
340
340
  }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
@@ -1435,7 +1435,7 @@ var Node = function Node(_ref) {
1435
1435
  })
1436
1436
  })]
1437
1437
  }), hasAnyActions && /*#__PURE__*/jsxRuntime.jsxs("div", {
1438
- className: "flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",
1438
+ className: "flex items-center gap-1",
1439
1439
  onClick: function onClick(e) {
1440
1440
  e.preventDefault();
1441
1441
  e.stopPropagation();
@@ -1450,13 +1450,15 @@ var Node = function Node(_ref) {
1450
1450
  tooltipProps: {
1451
1451
  content: "Add",
1452
1452
  position: "top"
1453
- }
1453
+ },
1454
+ className: "opacity-0 group-hover:opacity-100 transition-opacity"
1454
1455
  }
1455
1456
  }), hasMoreActions && /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
1457
+ menuItems: moreActions,
1456
1458
  dropdownButtonProps: {
1457
- size: "small"
1458
- },
1459
- menuItems: moreActions
1459
+ size: "small",
1460
+ className: "opacity-0 group-hover:opacity-100 transition-opacity"
1461
+ }
1460
1462
  })]
1461
1463
  })]
1462
1464
  })
@@ -1601,164 +1603,84 @@ var createFolderOptions = function createFolderOptions(foldersMap, config) {
1601
1603
  var _folder$meta$parent;
1602
1604
  return {
1603
1605
  id: folder.id,
1604
- title: folder.name,
1606
+ label: folder.name,
1605
1607
  value: folder.id,
1606
- pId: (_folder$meta$parent = folder.meta.parent) === null || _folder$meta$parent === void 0 ? void 0 : _folder$meta$parent.id,
1607
- disabled: folder.meta.depth >= config.maxDepth
1608
+ pId: (_folder$meta$parent = folder.meta.parent) === null || _folder$meta$parent === void 0 ? void 0 : _folder$meta$parent.id
1608
1609
  };
1610
+ }, function (folder) {
1611
+ return folder.meta.depth < config.maxDepth;
1609
1612
  });
1610
1613
  };
1611
1614
 
1612
- var _excluded = ["className", "disabled", "fieldNames", "label", "loading", "name", "placeholder", "required", "showSearch", "size", "config"];
1615
+ var _excluded = ["label", "name", "placeholder", "disabled", "loading", "required", "showSearch", "size", "fieldNames", "config", "initialValue"];
1613
1616
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1614
1617
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1615
1618
  var TreeSelect = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1616
1619
  var _fieldNames$label;
1617
- var className = _ref.className,
1618
- _ref$disabled = _ref.disabled,
1619
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1620
- fieldNames = _ref.fieldNames,
1621
- _ref$label = _ref.label,
1620
+ var _ref$label = _ref.label,
1622
1621
  label = _ref$label === void 0 ? "" : _ref$label,
1623
- _ref$loading = _ref.loading,
1624
- loading = _ref$loading === void 0 ? false : _ref$loading,
1625
1622
  name = _ref.name,
1626
1623
  _ref$placeholder = _ref.placeholder,
1627
1624
  placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
1625
+ _ref$disabled = _ref.disabled,
1626
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1627
+ _ref$loading = _ref.loading,
1628
+ loading = _ref$loading === void 0 ? false : _ref$loading,
1628
1629
  _ref$required = _ref.required,
1629
1630
  required = _ref$required === void 0 ? false : _ref$required,
1630
1631
  _ref$showSearch = _ref.showSearch,
1631
1632
  showSearch = _ref$showSearch === void 0 ? true : _ref$showSearch,
1632
1633
  _ref$size = _ref.size,
1633
1634
  size = _ref$size === void 0 ? "middle" : _ref$size,
1635
+ fieldNames = _ref.fieldNames,
1634
1636
  config = _ref.config,
1637
+ initialValue = _ref.initialValue,
1635
1638
  otherProps = _objectWithoutProperties(_ref, _excluded);
1636
1639
  var _useFetchFolders = useFolderActions.useFetchFolders(config),
1637
1640
  folders = _useFetchFolders.data;
1638
- var _useField = formik.useField(name),
1639
- _useField2 = _slicedToArray(_useField, 3),
1640
- field = _useField2[0],
1641
- meta = _useField2[1],
1642
- _useField2$ = _useField2[2],
1643
- setValue = _useField2$.setValue,
1644
- setTouched = _useField2$.setTouched;
1645
1641
  var _useFormikContext = formik.useFormikContext(),
1646
- values = _useFormikContext.values;
1642
+ values = _useFormikContext.values,
1643
+ setFieldValue = _useFormikContext.setFieldValue;
1647
1644
  var foldersMap = React.useMemo(function () {
1648
1645
  return folders ? utils.treeToMap(folders, "sid") : null;
1649
1646
  }, [folders]);
1650
- var activeFolderSid = internal.getActiveFolderId(config);
1647
+ var activeFolderSid = initialValue || internal.getActiveFolderId(config);
1651
1648
  var activeFolder = foldersMap[activeFolderSid];
1652
1649
  var isValidParent = (activeFolder === null || activeFolder === void 0 ? void 0 : activeFolder.meta.depth) < config.maxDepth;
1653
1650
  var parentId = isValidParent ? activeFolder.id : null;
1654
1651
  React.useEffect(function () {
1655
- if (values.name === "") {
1656
- setValue(parentId);
1657
- }
1658
- }, [parentId]);
1652
+ if (values.name !== "") return;
1653
+ setFieldValue(name, parentId);
1654
+ }, [parentId, name]);
1659
1655
  var folderOptions = React.useMemo(function () {
1660
1656
  return createFolderOptions(foldersMap, config);
1661
1657
  }, [foldersMap]);
1662
- var hasLeafNodes = folderOptions === null || folderOptions === void 0 ? void 0 : folderOptions.some(function (node) {
1663
- return (node === null || node === void 0 ? void 0 : node.pId) !== null;
1664
- });
1665
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1666
- className: "neeto-ui-input__wrapper",
1667
- children: [label && /*#__PURE__*/jsxRuntime.jsx(Label, {
1668
- required: required,
1669
- children: label
1670
- }), /*#__PURE__*/jsxRuntime.jsx(antd.ConfigProvider, {
1671
- theme: {
1672
- token: {
1673
- colorBgContainer: "rgb(var(--neeto-ui-white))",
1674
- colorBorder: "rgb(var(--neeto-ui-gray-300))",
1675
- colorBorderSecondary: "rgb(var(--neeto-ui-gray-200))",
1676
- colorFillAlter: "rgb(var(--neeto-ui-gray-100))",
1677
- colorFillContent: "rgb(var(--neeto-ui-gray-100))",
1678
- colorFillSecondary: "rgb(var(--neeto-ui-gray-100))",
1679
- colorIcon: "rgb(var(--neeto-ui-gray-700))",
1680
- colorIconHover: "rgb(var(--neeto-ui-gray-800))",
1681
- colorLink: "rgb(var(--neeto-ui-primary-500))",
1682
- colorLinkActive: "rgb(var(--neeto-ui-primary-800))",
1683
- colorLinkHover: "rgb(var(--neeto-ui-primary-600))",
1684
- colorPrimary: "rgb(var(--neeto-ui-primary-500))",
1685
- colorSplit: "rgb(var(--neeto-ui-gray-100))",
1686
- colorText: "rgb(var(--neeto-ui-gray-800))",
1687
- colorTextDescription: "rgb(var(--neeto-ui-gray-700))",
1688
- colorTextDisabled: "rgb(var(--neeto-ui-gray-600))",
1689
- colorTextHeading: "rgb(var(--neeto-ui-black))",
1690
- colorTextPlaceholder: "rgb(var(--neeto-ui-gray-500))",
1691
- controlItemBgActive: "rgb(var(--neeto-ui-primary-100))",
1692
- controlItemBgActiveHover: "rgb(var(--neeto-ui-pastel-purple))",
1693
- controlItemBgHover: "rgb(var(--neeto-ui-gray-100))"
1694
- },
1695
- components: {
1696
- TreeSelect: {
1697
- titleHeight: 28,
1698
- indentSize: 28,
1699
- nodeHoverBg: "rgb(var(--neeto-ui-gray-100))",
1700
- nodeSelectedBg: "rgb(var(--neeto-ui-primary-500))",
1701
- colorBgElevated: "rgb(var(--neeto-ui-white))"
1702
- }
1703
- }
1704
- },
1705
- children: /*#__PURE__*/jsxRuntime.jsx(antd.TreeSelect, _objectSpread(_objectSpread({
1706
- treeDataSimpleMode: true,
1707
- "data-cy": "nui-select-container-wrapper",
1708
- dropdownStyle: {
1709
- zIndex: 100000
1710
- },
1711
- name: field.name,
1712
- popupClassName: "neeto-ui-tree-select-dropdown",
1713
- suffixIcon: /*#__PURE__*/jsxRuntime.jsx(Down, {}),
1714
- treeData: folderOptions,
1715
- treeNodeFilterProp: (_fieldNames$label = fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label) !== null && _fieldNames$label !== void 0 ? _fieldNames$label : "title",
1716
- value: field.value || undefined,
1717
- className: classNames("neeto-ui-tree-select__wrapper nf-tree-select", className, {
1718
- "neeto-ui-tree-select__error": meta.error
1719
- }),
1720
- switcherIcon: function switcherIcon(props) {
1721
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({}, props), {}, {
1722
- children: /*#__PURE__*/jsxRuntime.jsx(Down, {
1723
- className: "relative"
1724
- })
1725
- }));
1726
- },
1727
- onBlur: function onBlur() {
1728
- return setTouched(true);
1729
- },
1730
- onChange: function onChange(value) {
1731
- return setValue(value !== null && value !== void 0 ? value : null);
1732
- }
1733
- }, _objectSpread({
1734
- disabled: disabled,
1735
- fieldNames: fieldNames,
1736
- loading: loading,
1737
- placeholder: placeholder,
1738
- ref: ref,
1739
- showSearch: showSearch,
1740
- size: size
1741
- }, otherProps)), {}, {
1742
- dropdownRender: function dropdownRender(menu) {
1743
- return hasLeafNodes ? menu : /*#__PURE__*/jsxRuntime.jsx("div", {
1744
- className: "-mx-5 -ml-6",
1745
- children: menu
1746
- });
1747
- }
1748
- }))
1749
- }), meta.error && /*#__PURE__*/jsxRuntime.jsx("p", {
1750
- className: "neeto-ui-input__error",
1751
- children: meta.error
1752
- })]
1753
- });
1658
+ return /*#__PURE__*/jsxRuntime.jsx(NUITreeSelect, _objectSpread({
1659
+ treeDataSimpleMode: true,
1660
+ "data-cy": "nui-select-container-wrapper",
1661
+ treeData: folderOptions,
1662
+ treeNodeFilterProp: (_fieldNames$label = fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label) !== null && _fieldNames$label !== void 0 ? _fieldNames$label : "title"
1663
+ }, _objectSpread({
1664
+ disabled: disabled,
1665
+ fieldNames: fieldNames,
1666
+ label: label,
1667
+ loading: loading,
1668
+ name: name,
1669
+ placeholder: placeholder,
1670
+ ref: ref,
1671
+ required: required,
1672
+ showSearch: showSearch,
1673
+ size: size
1674
+ }, otherProps)));
1754
1675
  });
1755
1676
  TreeSelect.displayName = "TreeSelect";
1756
1677
 
1757
1678
  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}}
1758
1679
 
1759
- 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== */";
1680
+ 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9jb21wb25lbnRzL25lZXRvLWZvbGRlcnMtbmFuby5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUNFLHVCQUNGLENBRUEsb0VBRUUsV0FBQSxDQURBLDRCQUVGLENBRUEsMkZBR0UsMkNBQUEsQ0FEQSwrQ0FBQSxDQUVBLGVBQUYsQ0FHQSxnRkFHRSxpQkFGRixDQUtBLGlDQUNFLHlEQUZGIiwic291cmNlc0NvbnRlbnQiOlsiLm5lZXRvLXNpZGViYXItZm9sZGVycy10cmVlX19mb2xkZXItbm9kZSB7XG4gIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi5uZWV0by1zaWRlYmFyLWZvbGRlcnMtdHJlZS5hbnQtdHJlZSAuYW50LXRyZWUtbm9kZS1jb250ZW50LXdyYXBwZXIge1xuICBwYWRkaW5nLWlubGluZTogNnB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLm5lZXRvLXNpZGViYXItZm9sZGVycy10cmVlLmFudC10cmVlXG4gIC5hbnQtdHJlZS1ub2RlLWNvbnRlbnQtd3JhcHBlci5hbnQtdHJlZS1ub2RlLXNlbGVjdGVkIHtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1hY2NlbnQtODAwKSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXdoaXRlKSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5uZWV0by1zaWRlYmFyLWZvbGRlcnMtdHJlZS5hbnQtdHJlZVxuICAuYW50LXRyZWUtc3dpdGNoZXJcbiAgLmFudC10cmVlLXN3aXRjaGVyLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uZWV0by1mb2xkZXJzLWdyaWQtdmlldy13cmFwcGVyIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjU2cHgsIDFmcikpO1xufVxuIl19 */";
1760
1681
  n(css,{});
1761
1682
 
1683
+ exports.AddEditPane = AddEditPane;
1762
1684
  exports.FoldersContext = FoldersContext;
1763
1685
  exports.FoldersList = FoldersList;
1764
1686
  exports.FoldersTree = FoldersTree;