@bigbinary/neeto-folders-frontend 2.0.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.
@@ -5,6 +5,7 @@
5
5
  "edit": "Edit",
6
6
  "move": "Move",
7
7
  "save": "Save",
8
+ "name": "Name",
8
9
  "folder": "Folder",
9
10
  "folders": "Folders",
10
11
  "item": "Item",
@@ -35,5 +36,9 @@
35
36
  },
36
37
  "reorderFolder": {
37
38
  "title": "Reorder {{ folders }}"
39
+ },
40
+
41
+ "errors": {
42
+ "blank": "{{entity}} cannot be blank"
38
43
  }
39
44
  }
@@ -22,6 +22,8 @@ var formik = require('formik');
22
22
  var Typography = require('@bigbinary/neetoui/Typography');
23
23
  var Input = require('@bigbinary/neetoui/formik/Input');
24
24
  var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
25
+ var i18next = require('i18next');
26
+ var yup = require('yup');
25
27
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
26
28
  var Switch = require('@bigbinary/neetoui/formik/Switch');
27
29
  var Textarea = require('@bigbinary/neetoui/formik/Textarea');
@@ -41,7 +43,6 @@ var reactDom = require('react-dom');
41
43
  var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
42
44
  var Checkbox = require('@bigbinary/neetoui/Checkbox');
43
45
  var Tree = require('@bigbinary/neetoui/Tree');
44
- require('i18next');
45
46
  require('zustand');
46
47
 
47
48
  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; }
@@ -134,6 +135,12 @@ var FoldersAlerts = function FoldersAlerts(_ref) {
134
135
  return /*#__PURE__*/jsxRuntime.jsx(Alert, _objectSpread$d({}, alertProps));
135
136
  };
136
137
 
138
+ var FORM_VALIDATION_SCHEMA = yup.object().shape({
139
+ name: yup.string().required(i18next.t("errors.blank", {
140
+ entity: i18next.t("common.name")
141
+ }))
142
+ });
143
+
137
144
  var _excluded$6 = ["type"];
138
145
  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; }
139
146
  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; }
@@ -399,6 +406,7 @@ var AddEditPane = function AddEditPane(_ref) {
399
406
  }), /*#__PURE__*/jsxRuntime.jsx(formik.Formik, {
400
407
  initialValues: initialValues,
401
408
  enableReinitialize: true,
409
+ validationSchema: FORM_VALIDATION_SCHEMA,
402
410
  onSubmit: onSubmitForm,
403
411
  children: function children() {
404
412
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
@@ -407,6 +415,7 @@ var AddEditPane = function AddEditPane(_ref) {
407
415
  children: /*#__PURE__*/jsxRuntime.jsxs(formik.Form, {
408
416
  className: "w-full space-y-5",
409
417
  children: [/*#__PURE__*/jsxRuntime.jsx(Input, {
418
+ required: true,
410
419
  label: t("folders.name"),
411
420
  name: "name",
412
421
  ref: setFocusField
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":["../../app/javascript/src/hooks/useTranslation.js","../../app/javascript/src/components/internal/Alerts.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/Extra.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/TreeSelect.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/utils.js","../../app/javascript/src/components/internal/Pane/AddEdit/index.jsx","../../app/javascript/src/constants/general.js","../../app/javascript/src/components/internal/Pane/Node.jsx","../../app/javascript/src/components/internal/Pane/Move/SelectableNode.jsx","../../app/javascript/src/components/internal/Pane/Move/Body.jsx","../../app/javascript/src/components/internal/Pane/Move/index.jsx","../../app/javascript/src/components/internal/Pane/Rearrange/DraggableNode.jsx","../../app/javascript/src/components/internal/Pane/Rearrange/index.jsx","../../app/javascript/src/utils/closestCenter.js","../../app/javascript/src/components/internal/Pane/Reorder/PlaceholderNode.jsx","../../app/javascript/src/components/internal/Pane/Reorder/DraggableNode.jsx","../../app/javascript/src/components/internal/Pane/Reorder/index.jsx","../../app/javascript/src/components/internal/Pane/index.jsx","../../app/javascript/src/components/Context.jsx","../../app/javascript/src/components/List/Tile.jsx","../../app/javascript/src/components/List/index.jsx","../../app/javascript/src/components/MoveToFolderPane.jsx","../../app/javascript/src/components/Tree/Node.jsx","../../app/javascript/src/components/Tree/index.jsx","../../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["import { useTranslation as useDefaultTranslation } from \"react-i18next\";\n\nconst useTranslation = config => {\n const { t } = useDefaultTranslation();\n\n const modT = (key, options) =>\n config?.labels ? t(key, { ...config.labels, ...options }) : t(key, options);\n\n return { t: modT };\n};\n\nexport default useTranslation;\n","import { useQueryClient } from \"@tanstack/react-query\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useDestroyFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolders from \"hooks/useFolders\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { pathToFolder } from \"utils\";\nimport { isActiveFolder } from \"utils/internal\";\n\nconst FoldersAlerts = ({ config }) => {\n const { setFolderState } = useFolderStore.pick();\n const queryParams = useQueryParams({ toCamelCase: false });\n const queryClient = useQueryClient();\n const history = useHistory();\n const { t } = useTranslation(config);\n\n const { type, item } = useFolderStore.pick(\"alertState\");\n const { mutateAsync: destroyFolder, isPending } = useDestroyFolder(config);\n const { folders } = useFolders(config);\n\n const onClose = () => setFolderState({ alertState: null });\n const alertProps = { isOpen: !!type, isSubmitting: isPending, onClose };\n\n const onConfirmDelete = () => {\n const onSuccess = () => {\n const isActive = isActiveFolder(config, item.sid);\n // Invalidates items and folder details. Refetch only if not active folder.\n const invalidationKeys = [\n ...config.invalidationKeys,\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ];\n\n invalidationKeys.forEach(queryKey => {\n queryClient.invalidateQueries({\n refetchType: isActive ? \"none\" : \"active\",\n queryKey,\n });\n });\n\n if (isActive && folders) {\n const path = pathToFolder(folders, item.id);\n const parent = path[path.length - 2];\n history.replace(\n buildUrl(config.folderPath, {\n ...queryParams,\n folderId: parent ? parent.sid : \"\",\n })\n );\n }\n };\n\n destroyFolder(item.id, { onSuccess, onSettled: onClose });\n };\n\n if (type === \"delete\") {\n alertProps.title = t(\"deleteFolder.title\");\n alertProps.message = <Trans i18nKey=\"deleteFolder.info\" values={item} />;\n if (config.customizeAlerts) config.customizeAlerts(type, item, alertProps);\n alertProps.onSubmit = onConfirmDelete;\n }\n\n return <Alert {...alertProps} />;\n};\n\nexport default FoldersAlerts;\n","import { Input, Switch, Textarea } from \"neetoui/formik\";\n\nconst typeComponentMap = { string: Input, boolean: Switch, textarea: Textarea };\n\nconst ExtraAttributes = ({ attributes }) => {\n if (!Array.isArray(attributes)) return null;\n\n return attributes.map(({ type, ...rest }) => {\n const Component = typeComponentMap[type];\n if (!Component) return null;\n\n return <Component {...rest} key={rest.name} />;\n });\n};\n\nexport default ExtraAttributes;\n","import { forwardRef } from \"react\";\n\nimport { TreeSelect as AntdTree, ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport { useField } from \"formik\";\nimport { Down } from \"neetoicons\";\nimport { Label } from \"neetoui\";\n\nconst TreeSelect = forwardRef(\n (\n {\n className,\n disabled = false,\n fieldNames,\n label = \"\",\n loading = false,\n name,\n placeholder = \"\",\n required = false,\n showSearch = true,\n size = \"middle\",\n treeData,\n ...otherProps\n },\n ref\n ) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n const hasLeafNodes = treeData?.some(node => node?.pId !== null);\n\n return (\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required }}>{label}</Label>}\n <ConfigProvider\n theme={{\n token: {\n colorBgContainer: \"rgb(var(--neeto-ui-white))\",\n colorBorder: \"rgb(var(--neeto-ui-gray-300))\",\n colorBorderSecondary: \"rgb(var(--neeto-ui-gray-200))\",\n colorFillAlter: \"rgb(var(--neeto-ui-gray-100))\",\n colorFillContent: \"rgb(var(--neeto-ui-gray-100))\",\n colorFillSecondary: \"rgb(var(--neeto-ui-gray-100))\",\n colorIcon: \"rgb(var(--neeto-ui-gray-700))\",\n colorIconHover: \"rgb(var(--neeto-ui-gray-800))\",\n colorLink: \"rgb(var(--neeto-ui-primary-500))\",\n colorLinkActive: \"rgb(var(--neeto-ui-primary-800))\",\n colorLinkHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n colorSplit: \"rgb(var(--neeto-ui-gray-100))\",\n colorText: \"rgb(var(--neeto-ui-gray-800))\",\n colorTextDescription: \"rgb(var(--neeto-ui-gray-700))\",\n colorTextDisabled: \"rgb(var(--neeto-ui-gray-600))\",\n colorTextHeading: \"rgb(var(--neeto-ui-black))\",\n colorTextPlaceholder: \"rgb(var(--neeto-ui-gray-500))\",\n controlItemBgActive: \"rgb(var(--neeto-ui-primary-100))\",\n controlItemBgActiveHover: \"rgb(var(--neeto-ui-pastel-purple))\",\n controlItemBgHover: \"rgb(var(--neeto-ui-gray-100))\",\n },\n components: {\n TreeSelect: {\n titleHeight: 28,\n indentSize: 28,\n nodeHoverBg: \"rgb(var(--neeto-ui-gray-100))\",\n nodeSelectedBg: \"rgb(var(--neeto-ui-primary-500))\",\n colorBgElevated: \"rgb(var(--neeto-ui-white))\",\n },\n },\n }}\n >\n <AntdTree\n treeDataSimpleMode\n data-cy=\"nui-select-container-wrapper\"\n dropdownStyle={{ zIndex: 100000 }}\n name={field.name}\n popupClassName=\"neeto-ui-tree-select-dropdown\"\n suffixIcon={<Down />}\n treeNodeFilterProp={fieldNames?.label ?? \"title\"}\n value={field.value || undefined}\n className={classnames(\"neeto-ui-tree-select__wrapper\", className, {\n \"neeto-ui-tree-select__error\": meta.error,\n })}\n switcherIcon={props => (\n <div {...props}>\n <Down className=\"relative\" />\n </div>\n )}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(value)}\n {...{\n disabled,\n fieldNames,\n loading,\n placeholder,\n ref,\n showSearch,\n size,\n treeData,\n ...otherProps,\n }}\n dropdownRender={menu =>\n hasLeafNodes ? menu : <div className=\"-mx-5 -ml-6\">{menu}</div>\n }\n />\n </ConfigProvider>\n {meta.error && <p className=\"neeto-ui-input__error\">{meta.error}</p>}\n </div>\n );\n }\n);\n\nTreeSelect.displayName = \"TreeSelect\";\n\nexport default TreeSelect;\n","import { values } from \"ramda\";\n\nexport const createFolderOptions = (foldersMap, config) =>\n values(foldersMap).map(folder => ({\n id: folder.id,\n title: folder.name,\n value: folder.id,\n pId: folder.meta.parent?.id,\n disabled: folder.meta.depth >= config.maxDepth,\n }));\n\nexport const createInitialValues = (defaults, extraAttrs) => {\n const values = { name: \"\", parentId: defaults.parentId || null };\n\n extraAttrs?.forEach(({ name, defaultValue }) => {\n values[name] = defaultValue;\n });\n\n return values;\n};\n\nexport const createPayload = (values, extraAttrs) => {\n const payload = { name: values.name, parentId: values.parentId };\n\n extraAttrs?.forEach(({ name }) => {\n payload[name] = values[name];\n });\n\n return payload;\n};\n","import { useMemo } from \"react\";\n\nimport { Formik, Form } from \"formik\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\n\nimport {\n useFetchFolders,\n useCreateFolder,\n useUpdateFolder,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport ExtraAttributes from \"./Extra\";\nimport TreeSelect from \"./TreeSelect\";\nimport {\n createFolderOptions,\n createInitialValues,\n createPayload,\n} from \"./utils\";\n\nconst AddEditPane = ({ setFocusField, config, onClose }) => {\n const { t } = useTranslation(config);\n const { type, item } = useFolderStore.pick(\"paneState\");\n const { data: folders } = useFetchFolders(config);\n const { mutate: createFolder } = useCreateFolder(config);\n const { mutateAsync: updateFolder } = useUpdateFolder(config);\n\n const isEditing = type === \"edit\" && item;\n const foldersMap = useMemo(() => treeToMap(folders, \"sid\"), [folders]);\n const folderOptions = useMemo(\n () => createFolderOptions(foldersMap, config),\n [foldersMap]\n );\n\n const activeFolderSid = getActiveFolderId(config);\n const activeFolder = foldersMap[activeFolderSid];\n const isValidParent = activeFolder?.meta.depth < config.maxDepth;\n const parentId = isValidParent ? activeFolder.id : null;\n const extraAttributes = config.extraAttributes;\n\n const initialValues = useMemo(\n () =>\n isEditing ? item : createInitialValues({ parentId }, extraAttributes),\n [isEditing, item, parentId, extraAttributes]\n );\n\n const onSubmitForm = async values => {\n const payload = createPayload(values, extraAttributes);\n isEditing\n ? await updateFolder({ id: item.id, payload })\n : await createFolder(payload);\n onClose();\n };\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">\n {isEditing ? t(\"folders.edit\") : t(\"folders.add\")}\n </Typography>\n </Pane.Header>\n <Formik {...{ initialValues }} enableReinitialize onSubmit={onSubmitForm}>\n {() => (\n <>\n <Pane.Body className=\"pb-6\">\n <Form className=\"w-full space-y-5\">\n <Input\n label={t(\"folders.name\")}\n name=\"name\"\n ref={setFocusField}\n />\n <ExtraAttributes attributes={extraAttributes} />\n <div>\n <TreeSelect\n allowClear\n showSearch\n label={t(\"createFolder.parentTitle\")}\n name=\"parentId\"\n treeData={folderOptions}\n />\n <Typography className=\"mt-1\" style=\"body3\">\n {t(\"createFolder.parentInfo\")}\n </Typography>\n </div>\n </Form>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock cancelButtonProps={{ onClick: onClose }} />\n </Pane.Footer>\n </>\n )}\n </Formik>\n </>\n );\n};\n\nexport default AddEditPane;\n","export const REORDER_TREE_INDENT_WIDTH = 30;\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst Node = (\n { icon = null, itemLabel, folder, depth, className, onClick, ...rest },\n ref\n) => {\n const { t } = useTranslation();\n\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n childCount > 0 &&\n metaInfo.push(t(\"folders.subfolderCount\", { count: childCount }));\n folder.itemCount > 0 && metaInfo.push(`${folder.itemCount} ${itemLabel}`);\n\n return (\n <div className=\"flex w-full min-w-0\">\n {Array.from({ length: depth }).map((_, index) => (\n <span\n className=\"neeto-ui-border-gray-300 relative h-full flex-shrink-0 border-l\"\n key={index}\n style={{\n width: REORDER_TREE_INDENT_WIDTH,\n left: Math.round(REORDER_TREE_INDENT_WIDTH / 2),\n }}\n />\n ))}\n <div\n {...{ ...rest, onClick, ref }}\n className={classNames(\n \"relative my-1 flex cursor-pointer items-center px-2 py-1\",\n className\n )}\n >\n {icon}\n <div className=\"ml-2\">\n <Typography lineHeight=\"snug\" style=\"body1\" weight=\"medium\">\n {folder.name}\n </Typography>\n <Typography\n className=\"relative mt-0.5\"\n lineHeight=\"snug\"\n style=\"body3\"\n weight=\"normal\"\n >\n {metaInfo.join(\" . \")}\n </Typography>\n </div>\n </div>\n </div>\n );\n};\n\nexport default forwardRef(Node);\n","import classNames from \"classnames\";\nimport { isNotPresent, noop } from \"neetocist\";\nimport { Radio } from \"neetoui\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nimport Node from \"../Node\";\n\nconst SelectableNode = ({\n folder,\n item,\n depth = 0,\n maxDepth,\n disabled,\n config,\n ...rest\n}) => {\n const { selection, onSelect } = rest;\n const { t } = useTranslation(config);\n\n const isDisabled = disabled || item?.id === folder.id || depth > maxDepth;\n\n const renderChildren = () => {\n if (isNotPresent(folder.children)) return null;\n\n return folder.children.map(child => (\n <SelectableNode\n {...{ ...rest, config, item, maxDepth }}\n depth={depth + 1}\n disabled={isDisabled}\n folder={child}\n key={child.id}\n />\n ));\n };\n\n return (\n <div\n aria-disabled={isDisabled}\n className={classNames({ \"opacity-60\": isDisabled })}\n title={isDisabled ? t(\"moveToFolder.notAllowed\") : undefined}\n >\n <Node\n {...{ ...rest, depth, folder }}\n icon={\n <Radio.Item\n readOnly\n checked={selection === folder.id}\n className=\"neeto-ui-radio__container\"\n name=\"move-folder-option\"\n />\n }\n onClick={isDisabled ? noop : () => onSelect(folder)}\n />\n {renderChildren()}\n </div>\n );\n};\n\nexport default SelectableNode;\n","import { useState } from \"react\";\n\nimport { Button, Pane, Typography } from \"neetoui\";\n\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { treeToMap, measureDepth } from \"utils/treeUtils\";\n\nimport SelectableNode from \"./SelectableNode\";\n\nconst PaneBody = ({\n item,\n config,\n submitButtonProps,\n cancelButtonProps,\n removeButtonProps,\n onSubmit,\n onClose,\n onRemove,\n}) => {\n const [selection, setSelection] = useState(null);\n const { setFolderState } = useFolderStore.pick();\n const { data: folders = [] } = useFetchFolders(config);\n const { t } = useTranslation(config);\n\n let folderDepth = 0;\n if (item) {\n // If item is a folder, measure the current depth from current folder to longest leaf.\n const foldersMap = treeToMap(folders);\n const folder = foldersMap[item.id];\n if (folder) folderDepth = measureDepth(folder);\n }\n\n const maxDepth = config.maxDepth - folderDepth;\n\n const onAddFolder = () => {\n setFolderState({ paneState: { type: \"add\", item: null } });\n };\n\n return (\n <>\n <Pane.Header className=\"flex items-center justify-between\">\n <Typography style=\"h2\">{t(\"moveToFolder.title\")}</Typography>\n <Button\n className=\"mr-2\"\n label={t(\"folders.add\")}\n style=\"link\"\n onClick={onAddFolder}\n />\n </Pane.Header>\n <Pane.Body className=\"pb-6\">\n {folders.map(folder => (\n <SelectableNode\n {...{ config, folder, item, maxDepth, selection }}\n disabled={item?.id === folder.id || maxDepth <= 0}\n itemLabel={config.labels.item}\n key={folder.id}\n onSelect={folder => setSelection(folder.id)}\n />\n ))}\n </Pane.Body>\n <Pane.Footer className=\"space-x-2\">\n <div className=\"flex flex-1 space-x-2\">\n <Button\n disabled={!selection}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={() => onSubmit(selection)}\n {...submitButtonProps}\n />\n <Button\n label={t(\"common.cancel\")}\n style=\"text\"\n onClick={onClose}\n {...cancelButtonProps}\n />\n </div>\n {onRemove && (\n <Button\n label={t(\"moveToFolder.remove\")}\n style=\"tertiary\"\n onClick={onRemove}\n {...removeButtonProps}\n />\n )}\n </Pane.Footer>\n </>\n );\n};\n\nexport default PaneBody;\n","import { useUpdateFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport PaneBody from \"./Body\";\n\nconst MoveFolderPane = ({ config, onClose }) => {\n const { item } = useFolderStore.pick(\"paneState\");\n const { mutate: updateFolder } = useUpdateFolder(config);\n\n const onSaveSelection = parentId => {\n const payload = { id: item.id, parentId };\n updateFolder({ id: item.id, payload }, { onSuccess: onClose });\n };\n\n return <PaneBody {...{ config, item, onClose }} onSubmit={onSaveSelection} />;\n};\n\nexport default MoveFolderPane;\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\n\nimport Node from \"../Node\";\n\nconst DraggableNode = ({ folder, depth = 0, ...rest }) => {\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableRef,\n } = useDraggable({\n id: `draggable-item--${folder.id}`,\n data: folder,\n disabled: depth <= 0,\n });\n\n const { isOver, setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isDragging,\n });\n\n const renderChildren = () => {\n if (isNotPresent(folder.children) || isDragging) return null;\n\n return folder.children.map(child => (\n <DraggableNode\n {...rest}\n depth={depth + 1}\n folder={child}\n key={child.id}\n />\n ));\n };\n\n return (\n <>\n <Node\n {...rest}\n className={classNames({\n \"neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isDragging,\n \"neeto-ui-border-primary-500 border\": isOver,\n \"border border-transparent\": !isOver,\n })}\n {...{ depth, folder, ...attributes, ...listeners }}\n ref={ref => {\n setDroppableRef(ref);\n setDraggableRef(ref);\n }}\n />\n {renderChildren()}\n </>\n );\n};\n\nexport default DraggableNode;\n","import { useState } from \"react\";\n\nimport { DndContext, DragOverlay } from \"@dnd-kit/core\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Reorder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { treeToMap, measureDepth, mapToTree } from \"utils/treeUtils\";\n\nimport DraggableNode from \"./DraggableNode\";\n\nimport Node from \"../Node\";\n\n// Rearrange folders without positional adjustment.\nconst RearrangeFoldersPane = ({ config, onClose }) => {\n const [dragItem, setDragItem] = useState(null);\n const [changes, setChanges] = useState({});\n\n const { t } = useTranslation(config);\n const { data: folders } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\n\n const [tree, setTree] = useStateWithDependency(\n () => ({ name: \"/\", id: null, children: folders }),\n [folders]\n );\n\n const onDragEnd = ({ active, over }) => {\n setDragItem(null);\n if (!over) return;\n\n const foldersMap = treeToMap(tree);\n const activeFolder = foldersMap[active.data.current.id];\n const overFolder = foldersMap[over.data.current.id];\n\n // Check moving inside same directory\n if (activeFolder.meta.parent?.id === overFolder.id) return;\n\n // Check moving to a folder with depth greater than the allowed limit.\n // maxDepth + 1 due to extra root node added for the tree\n const activeDepth = measureDepth(activeFolder);\n const overDepth = overFolder.meta.depth;\n if (activeDepth + overDepth >= config.maxDepth + 1) {\n Toastr.error(\n t(\"moveToFolder.depthExceeded\", { maxDepth: config.maxDepth })\n );\n\n return;\n }\n\n activeFolder.meta.parent = overFolder;\n const newTree = mapToTree(foldersMap);\n setTree(newTree);\n setChanges(assoc(activeFolder.id, overFolder.id));\n };\n\n const onSubmit = () => {\n const payload = { changes };\n reorderFolders(payload, { onSuccess: onClose });\n };\n\n const nodeProps = {\n icon: (\n <Reorder className=\"neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0\" />\n ),\n itemLabel: config.labels.item,\n };\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">{t(\"reorderFolder.title\")}</Typography>\n </Pane.Header>\n <DndContext\n {...{ onDragEnd }}\n onDragStart={({ active }) => setDragItem(active.data.current)}\n >\n <Pane.Body className=\"pb-6\">\n <DraggableNode {...nodeProps} folder={tree} key={tree.id} />\n </Pane.Body>\n <Pane.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={onSubmit}\n />\n <Button label={t(\"common.cancel\")} style=\"text\" onClick={onClose} />\n </Pane.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragItem && (\n <Node\n {...nodeProps}\n className=\"neeto-ui-bg-gray-200\"\n depth={0}\n folder={dragItem}\n />\n )}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n </>\n );\n};\n\nexport default RearrangeFoldersPane;\n","const distanceBetween = (p1, p2) =>\n Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n\nconst centerOfRectangle = (rect, left = rect.left, top = rect.top) => ({\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5,\n});\n\nexport const closestCenter =\n ({ activeItem }) =>\n ({ collisionRect, droppableRects, droppableContainers }) => {\n const centerRect = centerOfRectangle(\n collisionRect,\n collisionRect.left - 30,\n collisionRect.top - 30\n );\n\n let minDistance = Number.POSITIVE_INFINITY;\n let collision = { id: undefined };\n\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const droppableContainer of droppableContainers) {\n const rect = droppableRects.get(droppableContainer.id);\n\n if (!rect || droppableContainer.id === activeItem.id) continue;\n\n const distance = distanceBetween(centerOfRectangle(rect), centerRect);\n if (distance < minDistance) {\n minDistance = distance;\n collision = {\n id: droppableContainer.id,\n data: { droppableContainer, value: distance },\n };\n }\n }\n\n return [collision];\n };\n\nexport default closestCenter;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst PlaceholderNode = ({ folder, dragState }) => {\n const { overItem } = dragState;\n\n const id = useId();\n const isOver = id === overItem?.id;\n const depth = folder.meta.depth + 1;\n const meta = { parent: folder, index: -1, depth };\n\n const { setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-placeholder--${folder.name}`,\n data: { id, meta },\n });\n\n return (\n <div className=\"flex w-full\">\n <div style={{ width: REORDER_TREE_INDENT_WIDTH * depth }} />\n <div\n ref={setDroppableRef}\n className={classNames({\n \"min-w-0 flex-1 transition-colors\": true,\n \"neeto-ui-border-primary-500 border-b-2\": isOver,\n })}\n />\n </div>\n );\n};\n\nexport default PlaceholderNode;\n","import React from \"react\";\n\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { isArray } from \"utils/internal\";\n\nimport PlaceholderNode from \"./PlaceholderNode\";\n\nimport Node from \"../Node\";\n\nconst DraggableNode = ({ folder, dragState, ...rest }) => {\n const { overItem } = dragState;\n const isOverItem = folder.id === overItem?.id;\n const isOverParent = folder.id === overItem?.meta.parent?.id;\n const isRoot = folder.meta.depth <= 0;\n\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableRef,\n } = useDraggable({\n id: `draggable-item--${folder.id}`,\n data: folder,\n disabled: isRoot,\n });\n\n const { setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isRoot || isDragging,\n });\n\n const renderChildren = () => {\n if (isDragging) return null;\n\n return (\n <React.Fragment key={`${folder.id}--container`}>\n <PlaceholderNode {...{ dragState, folder }} />\n {isArray(folder.children) &&\n folder.children.map(child => (\n <DraggableNode\n {...{ ...rest, dragState }}\n depth={child.meta.depth}\n folder={child}\n key={child.id}\n />\n ))}\n </React.Fragment>\n );\n };\n\n return (\n <>\n <Node\n depth={folder.meta.depth}\n {...{ ...rest, folder, ...attributes, ...listeners }}\n className={classNames({\n \"hover:neeto-ui-bg-gray-100 w-full cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isDragging,\n \"neeto-ui-bg-primary-50\": isOverParent,\n \"neeto-ui-border-primary-500 border-b-2\": isOverItem,\n })}\n ref={ref => {\n setDroppableRef(ref);\n setDraggableRef(ref);\n }}\n />\n {renderChildren()}\n </>\n );\n};\n\nexport default DraggableNode;\n","import { useMemo, useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Reorder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport closestCenter from \"utils/closestCenter\";\nimport { treeToMap, measureDepth, mapToSortedTree } from \"utils/treeUtils\";\n\nimport DraggableNode from \"./DraggableNode\";\n\nimport Node from \"../Node\";\n\nconst initialDragState = { activeItem: null, overItem: null };\nconst sensorConfig = { activationConstraint: { distance: 8 } };\nconst measuringConfig = { droppable: { frequency: 500 } };\n\n// Reorder with support for position adjustment\nconst ReorderFoldersPane = ({ config, onClose }) => {\n const [dragState, setDragState] = useState(initialDragState);\n const [changes, setChanges] = useState({});\n\n const { t } = useTranslation(config);\n const { data: folders } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n const [baseTree, setBaseTree] = useStateWithDependency(\n () => ({ name: \"/\", id: null, children: folders }),\n [folders]\n );\n\n // Decorates tree with meta info. Can be optimized when needed.\n const tree = useMemo(() => mapToSortedTree(treeToMap(baseTree)), [baseTree]);\n\n const onDragEnd = ({ active, over }) => {\n setDragState(initialDragState);\n if (!over) return;\n\n const foldersMap = treeToMap(tree);\n const activeFolder = foldersMap[active.data.current.id];\n const targetFolder = foldersMap[over.data.current.meta.parent.id];\n const targetIndex = over.data.current.meta.index + 1; // `index` starts from -1 with placeholder\n\n // Guards: Check moving inside invalid directories.\n if (!targetFolder || activeFolder.id === targetFolder.id) return;\n\n if (\n activeFolder.meta.parent.id === targetFolder.id &&\n activeFolder.meta.index === targetIndex\n ) {\n return;\n }\n\n // Check moving to a folder with depth greater than the allowed limit.\n // maxDepth + 1 due to extra root node added for the tree\n const srcDepth = measureDepth(activeFolder);\n const dstDepth = targetFolder.meta.depth;\n if (srcDepth + dstDepth >= config.maxDepth + 1) {\n Toastr.error(\n t(\"moveToFolder.depthExceeded\", { maxDepth: config.maxDepth })\n );\n\n return;\n }\n\n activeFolder.meta.parent = targetFolder;\n activeFolder.meta.__index = targetIndex;\n\n const newTree = mapToSortedTree(foldersMap);\n setBaseTree(newTree);\n setChanges(\n assoc(activeFolder.id, {\n parentId: targetFolder.id,\n index: targetIndex,\n })\n );\n };\n\n const onSubmit = () => {\n const payload = { changes };\n reorderFolders(payload, { onSuccess: onClose });\n };\n\n const nodeProps = {\n icon: (\n <Reorder className=\"neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0\" />\n ),\n itemLabel: config.labels.item,\n };\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">{t(\"reorderFolder.title\")}</Typography>\n </Pane.Header>\n <DndContext\n {...{ onDragEnd, sensors }}\n collisionDetection={closestCenter(dragState)}\n measuring={measuringConfig}\n onDragOver={({ over }) => {\n setDragState(assoc(\"overItem\", over?.data.current));\n }}\n onDragStart={({ active }) => {\n setDragState(assoc(\"activeItem\", active.data.current));\n }}\n >\n <Pane.Body className=\"pb-6\">\n <DraggableNode\n {...{ ...nodeProps, dragState }}\n folder={tree}\n key={tree.id}\n />\n </Pane.Body>\n <Pane.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={onSubmit}\n />\n <Button label={t(\"common.cancel\")} style=\"text\" onClick={onClose} />\n </Pane.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragState && (\n <Node\n {...nodeProps}\n className=\"neeto-ui-bg-gray-200 pl-4 pr-12\"\n depth={0}\n folder={dragState.activeItem}\n />\n )}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n </>\n );\n};\n\nexport default ReorderFoldersPane;\n","/* eslint-disable @bigbinary/neeto/no-conditional-overlays */\nimport { Pane } from \"neetoui\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport AddEditPane from \"./AddEdit\";\nimport MoveFolderPane from \"./Move\";\nimport RearrangeFoldersPane from \"./Rearrange\";\nimport ReorderFoldersPane from \"./Reorder\";\n\nconst FoldersPane = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const { setFolderState } = useFolderStore.pick();\n const { type } = useFolderStore.pick(\"paneState\");\n\n const onClose = () => setFolderState({ paneState: null });\n const commonProps = { config, onClose };\n\n const ReorderPaneComponent =\n config.reorderMode === \"reorder\"\n ? ReorderFoldersPane\n : RearrangeFoldersPane;\n\n return (\n <Pane {...{ onClose }} isOpen={!!type}>\n {({ setFocusField }) => (\n <>\n {(type === \"edit\" || type === \"add\") && (\n <AddEditPane {...{ setFocusField, ...commonProps }} />\n )}\n {type === \"move\" && <MoveFolderPane {...commonProps} />}\n {type === \"reorder\" && <ReorderPaneComponent {...commonProps} />}\n </>\n )}\n </Pane>\n );\n};\n\nexport default FoldersPane;\n","import FoldersAlerts from \"components/internal/Alerts\";\nimport FoldersPane from \"components/internal/Pane\";\n\nconst FoldersContext = ({ config, children }) => (\n <>\n {children}\n <FoldersPane {...{ config }} />\n <FoldersAlerts {...{ config }} />\n </>\n);\n\nexport default FoldersContext;\n","import MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Checkbox, Typography } from \"neetoui\";\nimport { Link } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nconst FolderTile = ({\n isSelected,\n link,\n itemLabel,\n folder,\n actions,\n config,\n onSelect,\n}) => {\n const { t } = useTranslation(config);\n\n const actionCallback = callback => event => {\n event.preventDefault();\n callback(folder);\n };\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"common.edit\"),\n onClick: actionCallback(actions.onEdit),\n },\n {\n key: \"move\",\n label: t(\"common.move\"),\n onClick: actionCallback(actions.onMove),\n },\n {\n key: \"delete\",\n label: t(\"common.delete\"),\n onClick: actionCallback(actions.onDelete),\n },\n ];\n\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n childCount > 0 &&\n metaInfo.push(t(\"folders.subfolderCount\", { count: childCount }));\n metaInfo.push(`${folder.itemCount || 0} ${itemLabel}`);\n\n return (\n <Link\n 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\"\n to={link}\n >\n <Checkbox\n checked={isSelected}\n className=\"m-0 flex-shrink-0 flex-grow-0 pt-0.5\"\n name={folder.id}\n onChange={event => onSelect(folder, event.target.checked)}\n onClick={event => event.stopPropagation()}\n />\n <span className=\"flex min-w-0 flex-grow flex-col gap-2\">\n <Typography\n className=\"-mt-0.5 line-clamp-2 break-words pr-8\"\n lineHeight=\"snug\"\n style=\"body1\"\n title={folder.name}\n weight=\"medium\"\n >\n {folder.name}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body3\">\n {metaInfo.join(\" . \")}\n </Typography>\n </span>\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{ className: \"absolute right-2 top-2\" }}\n dropdownProps={{ onClick: event => event.preventDefault() }}\n />\n </Link>\n );\n};\n\nexport default FolderTile;\n","import { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\nimport { pick } from \"ramda\";\n\nimport FoldersContext from \"components/Context\";\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFolder, useFolders } from \"hooks\";\nimport useFolderActions from \"hooks/useFolderActions\";\nimport useTranslation from \"hooks/useTranslation\";\n\nimport FolderTile from \"./Tile\";\n\nconst FoldersList = ({ selection = [], config: configProps, onSelect }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const params = useQueryParams();\n const { t } = useTranslation(config);\n\n const fetchParams = pick([\"sortBy\", \"orderBy\"], params);\n const { folders } = useFolders({ ...config, params: fetchParams });\n const { folderId, folder } = useFolder(config);\n const actions = useFolderActions(config);\n const subFolders = folderId ? folder?.children : folders;\n if (isNotPresent(subFolders)) return null;\n\n return (\n <FoldersContext {...{ config }}>\n <Typography className=\"my-3\" style=\"h4\">\n {t(\"folders.title\")}\n </Typography>\n <div className=\"neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4\">\n {subFolders.map(folder => (\n <FolderTile\n {...{ actions, config, folder, onSelect }}\n isSelected={selection.includes(folder.id)}\n itemLabel={config.labels.item}\n key={folder.id}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n ))}\n </div>\n </FoldersContext>\n );\n};\n\nexport default FoldersList;\n","import { Pane } from \"neetoui\";\n\nimport PaneBody from \"components/internal/Pane/Move/Body\";\n\nconst MoveToFolderPane = ({ isOpen, onClose, ...rest }) => (\n <Pane {...{ isOpen, onClose }}>\n <PaneBody {...{ ...rest, onClose }} />\n </Pane>\n);\n\nexport default MoveToFolderPane;\n","import { Typography } from \"neetoui\";\nimport { NavLink } from \"react-router-dom\";\n\nconst FolderNode = ({ isActive, folder, link }) => (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-sidebar-folders-tree__folder-node block\"\n isActive={() => isActive}\n to={link}\n >\n <Typography\n className=\"line-clamp-1 block truncate\"\n component=\"span\"\n style=\"body2\"\n title={folder.name}\n >\n {folder.name}\n </Typography>\n </NavLink>\n);\n\nexport default FolderNode;\n","import { startTransition, useEffect, useState } from \"react\";\n\nimport { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Tree, Typography } from \"neetoui\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport FolderNode from \"./Node\";\n\nconst FoldersTree = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const [expandedKeys, setExpandedKeys] = useState([]);\n\n const { t } = useTranslation(config);\n const params = useQueryParams({ toCamelCase: false });\n const activeFolderSid = getActiveFolderId(config);\n const { data: folders } = useFetchFolders(config);\n\n const updateExpandedKeys = () => {\n if (!folders) return;\n // When active folder changes from external sources, update expanded keys to auto expand tree.\n const expandedKeys = [];\n const map = treeToMap(folders, \"sid\");\n const activeFolder = map[activeFolderSid];\n const parentSid = activeFolder?.meta?.parent?.sid;\n if (parentSid) expandedKeys.push(parentSid);\n setExpandedKeys(expandedKeys);\n };\n\n useEffect(() => {\n // Non urgent update.\n startTransition(updateExpandedKeys);\n }, [activeFolderSid, folders]);\n\n if (isNotPresent(folders)) {\n return (\n <Typography\n className=\"w-full text-center\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"folders.noFolders\")}\n </Typography>\n );\n }\n\n return (\n <Tree\n {...{ expandedKeys }}\n autoExpandParent\n blockNode\n showLine\n className=\"neeto-sidebar-folders-tree\"\n componentToken={{ titleHeight: 24, indentSize: 24 }}\n fieldNames={{ key: \"sid\" }}\n selectedKeys={[activeFolderSid]}\n treeData={folders}\n titleRender={folder => (\n <FolderNode\n {...{ folder }}\n isActive={folder.sid === activeFolderSid}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n )}\n onExpand={setExpandedKeys}\n />\n );\n};\n\nexport default FoldersTree;\n","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}}export{n as default};\n"],"names":["useTranslation","config","_useDefaultTranslatio","useDefaultTranslation","t","modT","key","options","labels","_objectSpread","FoldersAlerts","_ref","_useFolderStore","useFolderStore","store","setFolderState","shallow","queryParams","useQueryParams","toCamelCase","queryClient","useQueryClient","history","useHistory","_useTranslation","_useFolderStore2","_store$alertState","_store$alertState2","type","item","_useDestroyFolder","useDestroyFolder","destroyFolder","mutateAsync","isPending","_useFolders","useFolders","folders","onClose","alertState","alertProps","isOpen","isSubmitting","onConfirmDelete","onSuccess","isActive","isActiveFolder","sid","invalidationKeys","concat","_toConsumableArray","QUERY_KEYS","FOLDERS","DETAILS","forEach","queryKey","invalidateQueries","refetchType","path","pathToFolder","id","parent","length","replace","buildUrl","folderPath","folderId","onSettled","title","message","_jsx","Trans","i18nKey","values","customizeAlerts","onSubmit","Alert","typeComponentMap","string","Input","Switch","textarea","Textarea","ExtraAttributes","attributes","Array","isArray","map","_ref2","rest","_objectWithoutProperties","_excluded","Component","_createElement","name","TreeSelect","forwardRef","ref","_fieldNames$label","className","_ref$disabled","disabled","fieldNames","_ref$label","label","_ref$loading","loading","_ref$placeholder","placeholder","_ref$required","required","_ref$showSearch","showSearch","_ref$size","size","treeData","otherProps","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","hasLeafNodes","some","node","pId","_jsxs","children","Label","ConfigProvider","theme","token","colorBgContainer","colorBorder","colorBorderSecondary","colorFillAlter","colorFillContent","colorFillSecondary","colorIcon","colorIconHover","colorLink","colorLinkActive","colorLinkHover","colorPrimary","colorSplit","colorText","colorTextDescription","colorTextDisabled","colorTextHeading","colorTextPlaceholder","controlItemBgActive","controlItemBgActiveHover","controlItemBgHover","components","titleHeight","indentSize","nodeHoverBg","nodeSelectedBg","colorBgElevated","AntdTree","treeDataSimpleMode","dropdownStyle","zIndex","popupClassName","suffixIcon","Down","treeNodeFilterProp","value","undefined","classnames","error","switcherIcon","props","onBlur","onChange","dropdownRender","menu","displayName","createFolderOptions","foldersMap","folder","_folder$meta$parent","depth","maxDepth","createInitialValues","defaults","extraAttrs","parentId","defaultValue","createPayload","payload","AddEditPane","setFocusField","_store$paneState","_store$paneState2","_useFetchFolders","useFetchFolders","data","_useCreateFolder","useCreateFolder","createFolder","mutate","_useUpdateFolder","useUpdateFolder","updateFolder","isEditing","useMemo","treeToMap","folderOptions","activeFolderSid","getActiveFolderId","activeFolder","isValidParent","extraAttributes","initialValues","onSubmitForm","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stop","_x","apply","arguments","_Fragment","Pane","Header","Typography","style","Formik","enableReinitialize","Body","Form","allowClear","Footer","ActionBlock","cancelButtonProps","onClick","REORDER_TREE_INDENT_WIDTH","Node","_folder$children$leng","_folder$children","_ref$icon","icon","itemLabel","metaInfo","childCount","push","count","itemCount","from","_","index","width","left","Math","round","classNames","lineHeight","weight","join","SelectableNode","_ref$depth","selection","onSelect","isDisabled","renderChildren","isNotPresent","child","_SelectableNode","Radio","Item","readOnly","checked","noop","PaneBody","submitButtonProps","removeButtonProps","onRemove","_useState","useState","_useState2","setSelection","_useFetchFolders$data","folderDepth","measureDepth","onAddFolder","paneState","Button","MoveFolderPane","onSaveSelection","DraggableNode","_useDraggable","useDraggable","isDragging","listeners","setDraggableRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableRef","_DraggableNode","RearrangeFoldersPane","dragItem","setDragItem","_useState3","_useState4","changes","setChanges","_useReorderFolders","useReorderFolders","reorderFolders","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","tree","setTree","onDragEnd","_activeFolder$meta$pa","active","over","current","overFolder","activeDepth","overDepth","Toastr","newTree","mapToTree","assoc","nodeProps","Reorder","DndContext","onDragStart","_ref3","isEmpty","createPortal","DragOverlay","document","body","distanceBetween","p1","p2","sqrt","pow","x","y","centerOfRectangle","rect","top","height","closestCenter","activeItem","collisionRect","droppableRects","droppableContainers","centerRect","minDistance","Number","POSITIVE_INFINITY","collision","_iterator","_createForOfIteratorHelper","_step","s","n","done","droppableContainer","get","distance","err","e","f","PlaceholderNode","dragState","overItem","useId","_overItem$meta$parent","isOverItem","isOverParent","isRoot","React","Fragment","initialDragState","sensorConfig","activationConstraint","measuringConfig","droppable","frequency","ReorderFoldersPane","setDragState","sensors","useSensors","useSensor","PointerSensor","baseTree","setBaseTree","mapToSortedTree","targetFolder","targetIndex","srcDepth","dstDepth","__index","collisionDetection","measuring","onDragOver","_ref4","FoldersPane","configProps","DEFAULT_CONFIG","commonProps","ReorderPaneComponent","reorderMode","FoldersContext","FolderTile","isSelected","link","actions","actionCallback","callback","event","preventDefault","menuItems","onEdit","onMove","onDelete","Link","to","Checkbox","target","stopPropagation","MoreDropdown","dropdownButtonProps","dropdownProps","FoldersList","_ref$selection","params","fetchParams","pick","_useFolder","useFolder","useFolderActions","subFolders","includes","MoveToFolderPane","FolderNode","NavLink","activeClassName","component","FoldersTree","expandedKeys","setExpandedKeys","updateExpandedKeys","_activeFolder$meta","parentSid","useEffect","startTransition","Tree","autoExpandParent","blockNode","showLine","componentToken","selectedKeys","titleRender","onExpand"],"mappings":"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","x_google_ignoreList":[24]}
1
+ {"version":3,"file":"components.js","sources":["../../app/javascript/src/hooks/useTranslation.js","../../app/javascript/src/components/internal/Alerts.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/constants.js","../../app/javascript/src/components/internal/Pane/AddEdit/Extra.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/TreeSelect.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/utils.js","../../app/javascript/src/components/internal/Pane/AddEdit/index.jsx","../../app/javascript/src/constants/general.js","../../app/javascript/src/components/internal/Pane/Node.jsx","../../app/javascript/src/components/internal/Pane/Move/SelectableNode.jsx","../../app/javascript/src/components/internal/Pane/Move/Body.jsx","../../app/javascript/src/components/internal/Pane/Move/index.jsx","../../app/javascript/src/components/internal/Pane/Rearrange/DraggableNode.jsx","../../app/javascript/src/components/internal/Pane/Rearrange/index.jsx","../../app/javascript/src/utils/closestCenter.js","../../app/javascript/src/components/internal/Pane/Reorder/PlaceholderNode.jsx","../../app/javascript/src/components/internal/Pane/Reorder/DraggableNode.jsx","../../app/javascript/src/components/internal/Pane/Reorder/index.jsx","../../app/javascript/src/components/internal/Pane/index.jsx","../../app/javascript/src/components/Context.jsx","../../app/javascript/src/components/List/Tile.jsx","../../app/javascript/src/components/List/index.jsx","../../app/javascript/src/components/MoveToFolderPane.jsx","../../app/javascript/src/components/Tree/Node.jsx","../../app/javascript/src/components/Tree/index.jsx","../../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["import { useTranslation as useDefaultTranslation } from \"react-i18next\";\n\nconst useTranslation = config => {\n const { t } = useDefaultTranslation();\n\n const modT = (key, options) =>\n config?.labels ? t(key, { ...config.labels, ...options }) : t(key, options);\n\n return { t: modT };\n};\n\nexport default useTranslation;\n","import { useQueryClient } from \"@tanstack/react-query\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useDestroyFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolders from \"hooks/useFolders\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { pathToFolder } from \"utils\";\nimport { isActiveFolder } from \"utils/internal\";\n\nconst FoldersAlerts = ({ config }) => {\n const { setFolderState } = useFolderStore.pick();\n const queryParams = useQueryParams({ toCamelCase: false });\n const queryClient = useQueryClient();\n const history = useHistory();\n const { t } = useTranslation(config);\n\n const { type, item } = useFolderStore.pick(\"alertState\");\n const { mutateAsync: destroyFolder, isPending } = useDestroyFolder(config);\n const { folders } = useFolders(config);\n\n const onClose = () => setFolderState({ alertState: null });\n const alertProps = { isOpen: !!type, isSubmitting: isPending, onClose };\n\n const onConfirmDelete = () => {\n const onSuccess = () => {\n const isActive = isActiveFolder(config, item.sid);\n // Invalidates items and folder details. Refetch only if not active folder.\n const invalidationKeys = [\n ...config.invalidationKeys,\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ];\n\n invalidationKeys.forEach(queryKey => {\n queryClient.invalidateQueries({\n refetchType: isActive ? \"none\" : \"active\",\n queryKey,\n });\n });\n\n if (isActive && folders) {\n const path = pathToFolder(folders, item.id);\n const parent = path[path.length - 2];\n history.replace(\n buildUrl(config.folderPath, {\n ...queryParams,\n folderId: parent ? parent.sid : \"\",\n })\n );\n }\n };\n\n destroyFolder(item.id, { onSuccess, onSettled: onClose });\n };\n\n if (type === \"delete\") {\n alertProps.title = t(\"deleteFolder.title\");\n alertProps.message = <Trans i18nKey=\"deleteFolder.info\" values={item} />;\n if (config.customizeAlerts) config.customizeAlerts(type, item, alertProps);\n alertProps.onSubmit = onConfirmDelete;\n }\n\n return <Alert {...alertProps} />;\n};\n\nexport default FoldersAlerts;\n","import { t } from \"i18next\";\nimport { object, string } from \"yup\";\n\nexport const FORM_VALIDATION_SCHEMA = object().shape({\n name: string().required(t(\"errors.blank\", { entity: t(\"common.name\") })),\n});\n","import { Input, Switch, Textarea } from \"neetoui/formik\";\n\nconst typeComponentMap = { string: Input, boolean: Switch, textarea: Textarea };\n\nconst ExtraAttributes = ({ attributes }) => {\n if (!Array.isArray(attributes)) return null;\n\n return attributes.map(({ type, ...rest }) => {\n const Component = typeComponentMap[type];\n if (!Component) return null;\n\n return <Component {...rest} key={rest.name} />;\n });\n};\n\nexport default ExtraAttributes;\n","import { forwardRef } from \"react\";\n\nimport { TreeSelect as AntdTree, ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport { useField } from \"formik\";\nimport { Down } from \"neetoicons\";\nimport { Label } from \"neetoui\";\n\nconst TreeSelect = forwardRef(\n (\n {\n className,\n disabled = false,\n fieldNames,\n label = \"\",\n loading = false,\n name,\n placeholder = \"\",\n required = false,\n showSearch = true,\n size = \"middle\",\n treeData,\n ...otherProps\n },\n ref\n ) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n const hasLeafNodes = treeData?.some(node => node?.pId !== null);\n\n return (\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required }}>{label}</Label>}\n <ConfigProvider\n theme={{\n token: {\n colorBgContainer: \"rgb(var(--neeto-ui-white))\",\n colorBorder: \"rgb(var(--neeto-ui-gray-300))\",\n colorBorderSecondary: \"rgb(var(--neeto-ui-gray-200))\",\n colorFillAlter: \"rgb(var(--neeto-ui-gray-100))\",\n colorFillContent: \"rgb(var(--neeto-ui-gray-100))\",\n colorFillSecondary: \"rgb(var(--neeto-ui-gray-100))\",\n colorIcon: \"rgb(var(--neeto-ui-gray-700))\",\n colorIconHover: \"rgb(var(--neeto-ui-gray-800))\",\n colorLink: \"rgb(var(--neeto-ui-primary-500))\",\n colorLinkActive: \"rgb(var(--neeto-ui-primary-800))\",\n colorLinkHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n colorSplit: \"rgb(var(--neeto-ui-gray-100))\",\n colorText: \"rgb(var(--neeto-ui-gray-800))\",\n colorTextDescription: \"rgb(var(--neeto-ui-gray-700))\",\n colorTextDisabled: \"rgb(var(--neeto-ui-gray-600))\",\n colorTextHeading: \"rgb(var(--neeto-ui-black))\",\n colorTextPlaceholder: \"rgb(var(--neeto-ui-gray-500))\",\n controlItemBgActive: \"rgb(var(--neeto-ui-primary-100))\",\n controlItemBgActiveHover: \"rgb(var(--neeto-ui-pastel-purple))\",\n controlItemBgHover: \"rgb(var(--neeto-ui-gray-100))\",\n },\n components: {\n TreeSelect: {\n titleHeight: 28,\n indentSize: 28,\n nodeHoverBg: \"rgb(var(--neeto-ui-gray-100))\",\n nodeSelectedBg: \"rgb(var(--neeto-ui-primary-500))\",\n colorBgElevated: \"rgb(var(--neeto-ui-white))\",\n },\n },\n }}\n >\n <AntdTree\n treeDataSimpleMode\n data-cy=\"nui-select-container-wrapper\"\n dropdownStyle={{ zIndex: 100000 }}\n name={field.name}\n popupClassName=\"neeto-ui-tree-select-dropdown\"\n suffixIcon={<Down />}\n treeNodeFilterProp={fieldNames?.label ?? \"title\"}\n value={field.value || undefined}\n className={classnames(\"neeto-ui-tree-select__wrapper\", className, {\n \"neeto-ui-tree-select__error\": meta.error,\n })}\n switcherIcon={props => (\n <div {...props}>\n <Down className=\"relative\" />\n </div>\n )}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(value)}\n {...{\n disabled,\n fieldNames,\n loading,\n placeholder,\n ref,\n showSearch,\n size,\n treeData,\n ...otherProps,\n }}\n dropdownRender={menu =>\n hasLeafNodes ? menu : <div className=\"-mx-5 -ml-6\">{menu}</div>\n }\n />\n </ConfigProvider>\n {meta.error && <p className=\"neeto-ui-input__error\">{meta.error}</p>}\n </div>\n );\n }\n);\n\nTreeSelect.displayName = \"TreeSelect\";\n\nexport default TreeSelect;\n","import { values } from \"ramda\";\n\nexport const createFolderOptions = (foldersMap, config) =>\n values(foldersMap).map(folder => ({\n id: folder.id,\n title: folder.name,\n value: folder.id,\n pId: folder.meta.parent?.id,\n disabled: folder.meta.depth >= config.maxDepth,\n }));\n\nexport const createInitialValues = (defaults, extraAttrs) => {\n const values = { name: \"\", parentId: defaults.parentId || null };\n\n extraAttrs?.forEach(({ name, defaultValue }) => {\n values[name] = defaultValue;\n });\n\n return values;\n};\n\nexport const createPayload = (values, extraAttrs) => {\n const payload = { name: values.name, parentId: values.parentId };\n\n extraAttrs?.forEach(({ name }) => {\n payload[name] = values[name];\n });\n\n return payload;\n};\n","import { useMemo } from \"react\";\n\nimport { Formik, Form } from \"formik\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\n\nimport {\n useFetchFolders,\n useCreateFolder,\n useUpdateFolder,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport { FORM_VALIDATION_SCHEMA } from \"./constants\";\nimport ExtraAttributes from \"./Extra\";\nimport TreeSelect from \"./TreeSelect\";\nimport {\n createFolderOptions,\n createInitialValues,\n createPayload,\n} from \"./utils\";\n\nconst AddEditPane = ({ setFocusField, config, onClose }) => {\n const { t } = useTranslation(config);\n const { type, item } = useFolderStore.pick(\"paneState\");\n const { data: folders } = useFetchFolders(config);\n const { mutate: createFolder } = useCreateFolder(config);\n const { mutateAsync: updateFolder } = useUpdateFolder(config);\n\n const isEditing = type === \"edit\" && item;\n const foldersMap = useMemo(() => treeToMap(folders, \"sid\"), [folders]);\n const folderOptions = useMemo(\n () => createFolderOptions(foldersMap, config),\n [foldersMap]\n );\n\n const activeFolderSid = getActiveFolderId(config);\n const activeFolder = foldersMap[activeFolderSid];\n const isValidParent = activeFolder?.meta.depth < config.maxDepth;\n const parentId = isValidParent ? activeFolder.id : null;\n const extraAttributes = config.extraAttributes;\n\n const initialValues = useMemo(\n () =>\n isEditing ? item : createInitialValues({ parentId }, extraAttributes),\n [isEditing, item, parentId, extraAttributes]\n );\n\n const onSubmitForm = async values => {\n const payload = createPayload(values, extraAttributes);\n isEditing\n ? await updateFolder({ id: item.id, payload })\n : await createFolder(payload);\n onClose();\n };\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">\n {isEditing ? t(\"folders.edit\") : t(\"folders.add\")}\n </Typography>\n </Pane.Header>\n <Formik\n {...{ initialValues }}\n enableReinitialize\n validationSchema={FORM_VALIDATION_SCHEMA}\n onSubmit={onSubmitForm}\n >\n {() => (\n <>\n <Pane.Body className=\"pb-6\">\n <Form className=\"w-full space-y-5\">\n <Input\n required\n label={t(\"folders.name\")}\n name=\"name\"\n ref={setFocusField}\n />\n <ExtraAttributes attributes={extraAttributes} />\n <div>\n <TreeSelect\n allowClear\n showSearch\n label={t(\"createFolder.parentTitle\")}\n name=\"parentId\"\n treeData={folderOptions}\n />\n <Typography className=\"mt-1\" style=\"body3\">\n {t(\"createFolder.parentInfo\")}\n </Typography>\n </div>\n </Form>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock cancelButtonProps={{ onClick: onClose }} />\n </Pane.Footer>\n </>\n )}\n </Formik>\n </>\n );\n};\n\nexport default AddEditPane;\n","export const REORDER_TREE_INDENT_WIDTH = 30;\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst Node = (\n { icon = null, itemLabel, folder, depth, className, onClick, ...rest },\n ref\n) => {\n const { t } = useTranslation();\n\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n childCount > 0 &&\n metaInfo.push(t(\"folders.subfolderCount\", { count: childCount }));\n folder.itemCount > 0 && metaInfo.push(`${folder.itemCount} ${itemLabel}`);\n\n return (\n <div className=\"flex w-full min-w-0\">\n {Array.from({ length: depth }).map((_, index) => (\n <span\n className=\"neeto-ui-border-gray-300 relative h-full flex-shrink-0 border-l\"\n key={index}\n style={{\n width: REORDER_TREE_INDENT_WIDTH,\n left: Math.round(REORDER_TREE_INDENT_WIDTH / 2),\n }}\n />\n ))}\n <div\n {...{ ...rest, onClick, ref }}\n className={classNames(\n \"relative my-1 flex cursor-pointer items-center px-2 py-1\",\n className\n )}\n >\n {icon}\n <div className=\"ml-2\">\n <Typography lineHeight=\"snug\" style=\"body1\" weight=\"medium\">\n {folder.name}\n </Typography>\n <Typography\n className=\"relative mt-0.5\"\n lineHeight=\"snug\"\n style=\"body3\"\n weight=\"normal\"\n >\n {metaInfo.join(\" . \")}\n </Typography>\n </div>\n </div>\n </div>\n );\n};\n\nexport default forwardRef(Node);\n","import classNames from \"classnames\";\nimport { isNotPresent, noop } from \"neetocist\";\nimport { Radio } from \"neetoui\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nimport Node from \"../Node\";\n\nconst SelectableNode = ({\n folder,\n item,\n depth = 0,\n maxDepth,\n disabled,\n config,\n ...rest\n}) => {\n const { selection, onSelect } = rest;\n const { t } = useTranslation(config);\n\n const isDisabled = disabled || item?.id === folder.id || depth > maxDepth;\n\n const renderChildren = () => {\n if (isNotPresent(folder.children)) return null;\n\n return folder.children.map(child => (\n <SelectableNode\n {...{ ...rest, config, item, maxDepth }}\n depth={depth + 1}\n disabled={isDisabled}\n folder={child}\n key={child.id}\n />\n ));\n };\n\n return (\n <div\n aria-disabled={isDisabled}\n className={classNames({ \"opacity-60\": isDisabled })}\n title={isDisabled ? t(\"moveToFolder.notAllowed\") : undefined}\n >\n <Node\n {...{ ...rest, depth, folder }}\n icon={\n <Radio.Item\n readOnly\n checked={selection === folder.id}\n className=\"neeto-ui-radio__container\"\n name=\"move-folder-option\"\n />\n }\n onClick={isDisabled ? noop : () => onSelect(folder)}\n />\n {renderChildren()}\n </div>\n );\n};\n\nexport default SelectableNode;\n","import { useState } from \"react\";\n\nimport { Button, Pane, Typography } from \"neetoui\";\n\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { treeToMap, measureDepth } from \"utils/treeUtils\";\n\nimport SelectableNode from \"./SelectableNode\";\n\nconst PaneBody = ({\n item,\n config,\n submitButtonProps,\n cancelButtonProps,\n removeButtonProps,\n onSubmit,\n onClose,\n onRemove,\n}) => {\n const [selection, setSelection] = useState(null);\n const { setFolderState } = useFolderStore.pick();\n const { data: folders = [] } = useFetchFolders(config);\n const { t } = useTranslation(config);\n\n let folderDepth = 0;\n if (item) {\n // If item is a folder, measure the current depth from current folder to longest leaf.\n const foldersMap = treeToMap(folders);\n const folder = foldersMap[item.id];\n if (folder) folderDepth = measureDepth(folder);\n }\n\n const maxDepth = config.maxDepth - folderDepth;\n\n const onAddFolder = () => {\n setFolderState({ paneState: { type: \"add\", item: null } });\n };\n\n return (\n <>\n <Pane.Header className=\"flex items-center justify-between\">\n <Typography style=\"h2\">{t(\"moveToFolder.title\")}</Typography>\n <Button\n className=\"mr-2\"\n label={t(\"folders.add\")}\n style=\"link\"\n onClick={onAddFolder}\n />\n </Pane.Header>\n <Pane.Body className=\"pb-6\">\n {folders.map(folder => (\n <SelectableNode\n {...{ config, folder, item, maxDepth, selection }}\n disabled={item?.id === folder.id || maxDepth <= 0}\n itemLabel={config.labels.item}\n key={folder.id}\n onSelect={folder => setSelection(folder.id)}\n />\n ))}\n </Pane.Body>\n <Pane.Footer className=\"space-x-2\">\n <div className=\"flex flex-1 space-x-2\">\n <Button\n disabled={!selection}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={() => onSubmit(selection)}\n {...submitButtonProps}\n />\n <Button\n label={t(\"common.cancel\")}\n style=\"text\"\n onClick={onClose}\n {...cancelButtonProps}\n />\n </div>\n {onRemove && (\n <Button\n label={t(\"moveToFolder.remove\")}\n style=\"tertiary\"\n onClick={onRemove}\n {...removeButtonProps}\n />\n )}\n </Pane.Footer>\n </>\n );\n};\n\nexport default PaneBody;\n","import { useUpdateFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport PaneBody from \"./Body\";\n\nconst MoveFolderPane = ({ config, onClose }) => {\n const { item } = useFolderStore.pick(\"paneState\");\n const { mutate: updateFolder } = useUpdateFolder(config);\n\n const onSaveSelection = parentId => {\n const payload = { id: item.id, parentId };\n updateFolder({ id: item.id, payload }, { onSuccess: onClose });\n };\n\n return <PaneBody {...{ config, item, onClose }} onSubmit={onSaveSelection} />;\n};\n\nexport default MoveFolderPane;\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\n\nimport Node from \"../Node\";\n\nconst DraggableNode = ({ folder, depth = 0, ...rest }) => {\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableRef,\n } = useDraggable({\n id: `draggable-item--${folder.id}`,\n data: folder,\n disabled: depth <= 0,\n });\n\n const { isOver, setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isDragging,\n });\n\n const renderChildren = () => {\n if (isNotPresent(folder.children) || isDragging) return null;\n\n return folder.children.map(child => (\n <DraggableNode\n {...rest}\n depth={depth + 1}\n folder={child}\n key={child.id}\n />\n ));\n };\n\n return (\n <>\n <Node\n {...rest}\n className={classNames({\n \"neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isDragging,\n \"neeto-ui-border-primary-500 border\": isOver,\n \"border border-transparent\": !isOver,\n })}\n {...{ depth, folder, ...attributes, ...listeners }}\n ref={ref => {\n setDroppableRef(ref);\n setDraggableRef(ref);\n }}\n />\n {renderChildren()}\n </>\n );\n};\n\nexport default DraggableNode;\n","import { useState } from \"react\";\n\nimport { DndContext, DragOverlay } from \"@dnd-kit/core\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Reorder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { treeToMap, measureDepth, mapToTree } from \"utils/treeUtils\";\n\nimport DraggableNode from \"./DraggableNode\";\n\nimport Node from \"../Node\";\n\n// Rearrange folders without positional adjustment.\nconst RearrangeFoldersPane = ({ config, onClose }) => {\n const [dragItem, setDragItem] = useState(null);\n const [changes, setChanges] = useState({});\n\n const { t } = useTranslation(config);\n const { data: folders } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\n\n const [tree, setTree] = useStateWithDependency(\n () => ({ name: \"/\", id: null, children: folders }),\n [folders]\n );\n\n const onDragEnd = ({ active, over }) => {\n setDragItem(null);\n if (!over) return;\n\n const foldersMap = treeToMap(tree);\n const activeFolder = foldersMap[active.data.current.id];\n const overFolder = foldersMap[over.data.current.id];\n\n // Check moving inside same directory\n if (activeFolder.meta.parent?.id === overFolder.id) return;\n\n // Check moving to a folder with depth greater than the allowed limit.\n // maxDepth + 1 due to extra root node added for the tree\n const activeDepth = measureDepth(activeFolder);\n const overDepth = overFolder.meta.depth;\n if (activeDepth + overDepth >= config.maxDepth + 1) {\n Toastr.error(\n t(\"moveToFolder.depthExceeded\", { maxDepth: config.maxDepth })\n );\n\n return;\n }\n\n activeFolder.meta.parent = overFolder;\n const newTree = mapToTree(foldersMap);\n setTree(newTree);\n setChanges(assoc(activeFolder.id, overFolder.id));\n };\n\n const onSubmit = () => {\n const payload = { changes };\n reorderFolders(payload, { onSuccess: onClose });\n };\n\n const nodeProps = {\n icon: (\n <Reorder className=\"neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0\" />\n ),\n itemLabel: config.labels.item,\n };\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">{t(\"reorderFolder.title\")}</Typography>\n </Pane.Header>\n <DndContext\n {...{ onDragEnd }}\n onDragStart={({ active }) => setDragItem(active.data.current)}\n >\n <Pane.Body className=\"pb-6\">\n <DraggableNode {...nodeProps} folder={tree} key={tree.id} />\n </Pane.Body>\n <Pane.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={onSubmit}\n />\n <Button label={t(\"common.cancel\")} style=\"text\" onClick={onClose} />\n </Pane.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragItem && (\n <Node\n {...nodeProps}\n className=\"neeto-ui-bg-gray-200\"\n depth={0}\n folder={dragItem}\n />\n )}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n </>\n );\n};\n\nexport default RearrangeFoldersPane;\n","const distanceBetween = (p1, p2) =>\n Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n\nconst centerOfRectangle = (rect, left = rect.left, top = rect.top) => ({\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5,\n});\n\nexport const closestCenter =\n ({ activeItem }) =>\n ({ collisionRect, droppableRects, droppableContainers }) => {\n const centerRect = centerOfRectangle(\n collisionRect,\n collisionRect.left - 30,\n collisionRect.top - 30\n );\n\n let minDistance = Number.POSITIVE_INFINITY;\n let collision = { id: undefined };\n\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const droppableContainer of droppableContainers) {\n const rect = droppableRects.get(droppableContainer.id);\n\n if (!rect || droppableContainer.id === activeItem.id) continue;\n\n const distance = distanceBetween(centerOfRectangle(rect), centerRect);\n if (distance < minDistance) {\n minDistance = distance;\n collision = {\n id: droppableContainer.id,\n data: { droppableContainer, value: distance },\n };\n }\n }\n\n return [collision];\n };\n\nexport default closestCenter;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst PlaceholderNode = ({ folder, dragState }) => {\n const { overItem } = dragState;\n\n const id = useId();\n const isOver = id === overItem?.id;\n const depth = folder.meta.depth + 1;\n const meta = { parent: folder, index: -1, depth };\n\n const { setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-placeholder--${folder.name}`,\n data: { id, meta },\n });\n\n return (\n <div className=\"flex w-full\">\n <div style={{ width: REORDER_TREE_INDENT_WIDTH * depth }} />\n <div\n ref={setDroppableRef}\n className={classNames({\n \"min-w-0 flex-1 transition-colors\": true,\n \"neeto-ui-border-primary-500 border-b-2\": isOver,\n })}\n />\n </div>\n );\n};\n\nexport default PlaceholderNode;\n","import React from \"react\";\n\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { isArray } from \"utils/internal\";\n\nimport PlaceholderNode from \"./PlaceholderNode\";\n\nimport Node from \"../Node\";\n\nconst DraggableNode = ({ folder, dragState, ...rest }) => {\n const { overItem } = dragState;\n const isOverItem = folder.id === overItem?.id;\n const isOverParent = folder.id === overItem?.meta.parent?.id;\n const isRoot = folder.meta.depth <= 0;\n\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableRef,\n } = useDraggable({\n id: `draggable-item--${folder.id}`,\n data: folder,\n disabled: isRoot,\n });\n\n const { setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isRoot || isDragging,\n });\n\n const renderChildren = () => {\n if (isDragging) return null;\n\n return (\n <React.Fragment key={`${folder.id}--container`}>\n <PlaceholderNode {...{ dragState, folder }} />\n {isArray(folder.children) &&\n folder.children.map(child => (\n <DraggableNode\n {...{ ...rest, dragState }}\n depth={child.meta.depth}\n folder={child}\n key={child.id}\n />\n ))}\n </React.Fragment>\n );\n };\n\n return (\n <>\n <Node\n depth={folder.meta.depth}\n {...{ ...rest, folder, ...attributes, ...listeners }}\n className={classNames({\n \"hover:neeto-ui-bg-gray-100 w-full cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isDragging,\n \"neeto-ui-bg-primary-50\": isOverParent,\n \"neeto-ui-border-primary-500 border-b-2\": isOverItem,\n })}\n ref={ref => {\n setDroppableRef(ref);\n setDraggableRef(ref);\n }}\n />\n {renderChildren()}\n </>\n );\n};\n\nexport default DraggableNode;\n","import { useMemo, useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport { Reorder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport closestCenter from \"utils/closestCenter\";\nimport { treeToMap, measureDepth, mapToSortedTree } from \"utils/treeUtils\";\n\nimport DraggableNode from \"./DraggableNode\";\n\nimport Node from \"../Node\";\n\nconst initialDragState = { activeItem: null, overItem: null };\nconst sensorConfig = { activationConstraint: { distance: 8 } };\nconst measuringConfig = { droppable: { frequency: 500 } };\n\n// Reorder with support for position adjustment\nconst ReorderFoldersPane = ({ config, onClose }) => {\n const [dragState, setDragState] = useState(initialDragState);\n const [changes, setChanges] = useState({});\n\n const { t } = useTranslation(config);\n const { data: folders } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n const [baseTree, setBaseTree] = useStateWithDependency(\n () => ({ name: \"/\", id: null, children: folders }),\n [folders]\n );\n\n // Decorates tree with meta info. Can be optimized when needed.\n const tree = useMemo(() => mapToSortedTree(treeToMap(baseTree)), [baseTree]);\n\n const onDragEnd = ({ active, over }) => {\n setDragState(initialDragState);\n if (!over) return;\n\n const foldersMap = treeToMap(tree);\n const activeFolder = foldersMap[active.data.current.id];\n const targetFolder = foldersMap[over.data.current.meta.parent.id];\n const targetIndex = over.data.current.meta.index + 1; // `index` starts from -1 with placeholder\n\n // Guards: Check moving inside invalid directories.\n if (!targetFolder || activeFolder.id === targetFolder.id) return;\n\n if (\n activeFolder.meta.parent.id === targetFolder.id &&\n activeFolder.meta.index === targetIndex\n ) {\n return;\n }\n\n // Check moving to a folder with depth greater than the allowed limit.\n // maxDepth + 1 due to extra root node added for the tree\n const srcDepth = measureDepth(activeFolder);\n const dstDepth = targetFolder.meta.depth;\n if (srcDepth + dstDepth >= config.maxDepth + 1) {\n Toastr.error(\n t(\"moveToFolder.depthExceeded\", { maxDepth: config.maxDepth })\n );\n\n return;\n }\n\n activeFolder.meta.parent = targetFolder;\n activeFolder.meta.__index = targetIndex;\n\n const newTree = mapToSortedTree(foldersMap);\n setBaseTree(newTree);\n setChanges(\n assoc(activeFolder.id, {\n parentId: targetFolder.id,\n index: targetIndex,\n })\n );\n };\n\n const onSubmit = () => {\n const payload = { changes };\n reorderFolders(payload, { onSuccess: onClose });\n };\n\n const nodeProps = {\n icon: (\n <Reorder className=\"neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0\" />\n ),\n itemLabel: config.labels.item,\n };\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">{t(\"reorderFolder.title\")}</Typography>\n </Pane.Header>\n <DndContext\n {...{ onDragEnd, sensors }}\n collisionDetection={closestCenter(dragState)}\n measuring={measuringConfig}\n onDragOver={({ over }) => {\n setDragState(assoc(\"overItem\", over?.data.current));\n }}\n onDragStart={({ active }) => {\n setDragState(assoc(\"activeItem\", active.data.current));\n }}\n >\n <Pane.Body className=\"pb-6\">\n <DraggableNode\n {...{ ...nodeProps, dragState }}\n folder={tree}\n key={tree.id}\n />\n </Pane.Body>\n <Pane.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={onSubmit}\n />\n <Button label={t(\"common.cancel\")} style=\"text\" onClick={onClose} />\n </Pane.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragState && (\n <Node\n {...nodeProps}\n className=\"neeto-ui-bg-gray-200 pl-4 pr-12\"\n depth={0}\n folder={dragState.activeItem}\n />\n )}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n </>\n );\n};\n\nexport default ReorderFoldersPane;\n","/* eslint-disable @bigbinary/neeto/no-conditional-overlays */\nimport { Pane } from \"neetoui\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport AddEditPane from \"./AddEdit\";\nimport MoveFolderPane from \"./Move\";\nimport RearrangeFoldersPane from \"./Rearrange\";\nimport ReorderFoldersPane from \"./Reorder\";\n\nconst FoldersPane = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const { setFolderState } = useFolderStore.pick();\n const { type } = useFolderStore.pick(\"paneState\");\n\n const onClose = () => setFolderState({ paneState: null });\n const commonProps = { config, onClose };\n\n const ReorderPaneComponent =\n config.reorderMode === \"reorder\"\n ? ReorderFoldersPane\n : RearrangeFoldersPane;\n\n return (\n <Pane {...{ onClose }} isOpen={!!type}>\n {({ setFocusField }) => (\n <>\n {(type === \"edit\" || type === \"add\") && (\n <AddEditPane {...{ setFocusField, ...commonProps }} />\n )}\n {type === \"move\" && <MoveFolderPane {...commonProps} />}\n {type === \"reorder\" && <ReorderPaneComponent {...commonProps} />}\n </>\n )}\n </Pane>\n );\n};\n\nexport default FoldersPane;\n","import FoldersAlerts from \"components/internal/Alerts\";\nimport FoldersPane from \"components/internal/Pane\";\n\nconst FoldersContext = ({ config, children }) => (\n <>\n {children}\n <FoldersPane {...{ config }} />\n <FoldersAlerts {...{ config }} />\n </>\n);\n\nexport default FoldersContext;\n","import MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Checkbox, Typography } from \"neetoui\";\nimport { Link } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nconst FolderTile = ({\n isSelected,\n link,\n itemLabel,\n folder,\n actions,\n config,\n onSelect,\n}) => {\n const { t } = useTranslation(config);\n\n const actionCallback = callback => event => {\n event.preventDefault();\n callback(folder);\n };\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"common.edit\"),\n onClick: actionCallback(actions.onEdit),\n },\n {\n key: \"move\",\n label: t(\"common.move\"),\n onClick: actionCallback(actions.onMove),\n },\n {\n key: \"delete\",\n label: t(\"common.delete\"),\n onClick: actionCallback(actions.onDelete),\n },\n ];\n\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n childCount > 0 &&\n metaInfo.push(t(\"folders.subfolderCount\", { count: childCount }));\n metaInfo.push(`${folder.itemCount || 0} ${itemLabel}`);\n\n return (\n <Link\n 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\"\n to={link}\n >\n <Checkbox\n checked={isSelected}\n className=\"m-0 flex-shrink-0 flex-grow-0 pt-0.5\"\n name={folder.id}\n onChange={event => onSelect(folder, event.target.checked)}\n onClick={event => event.stopPropagation()}\n />\n <span className=\"flex min-w-0 flex-grow flex-col gap-2\">\n <Typography\n className=\"-mt-0.5 line-clamp-2 break-words pr-8\"\n lineHeight=\"snug\"\n style=\"body1\"\n title={folder.name}\n weight=\"medium\"\n >\n {folder.name}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body3\">\n {metaInfo.join(\" . \")}\n </Typography>\n </span>\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{ className: \"absolute right-2 top-2\" }}\n dropdownProps={{ onClick: event => event.preventDefault() }}\n />\n </Link>\n );\n};\n\nexport default FolderTile;\n","import { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\nimport { pick } from \"ramda\";\n\nimport FoldersContext from \"components/Context\";\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFolder, useFolders } from \"hooks\";\nimport useFolderActions from \"hooks/useFolderActions\";\nimport useTranslation from \"hooks/useTranslation\";\n\nimport FolderTile from \"./Tile\";\n\nconst FoldersList = ({ selection = [], config: configProps, onSelect }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const params = useQueryParams();\n const { t } = useTranslation(config);\n\n const fetchParams = pick([\"sortBy\", \"orderBy\"], params);\n const { folders } = useFolders({ ...config, params: fetchParams });\n const { folderId, folder } = useFolder(config);\n const actions = useFolderActions(config);\n const subFolders = folderId ? folder?.children : folders;\n if (isNotPresent(subFolders)) return null;\n\n return (\n <FoldersContext {...{ config }}>\n <Typography className=\"my-3\" style=\"h4\">\n {t(\"folders.title\")}\n </Typography>\n <div className=\"neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4\">\n {subFolders.map(folder => (\n <FolderTile\n {...{ actions, config, folder, onSelect }}\n isSelected={selection.includes(folder.id)}\n itemLabel={config.labels.item}\n key={folder.id}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n ))}\n </div>\n </FoldersContext>\n );\n};\n\nexport default FoldersList;\n","import { Pane } from \"neetoui\";\n\nimport PaneBody from \"components/internal/Pane/Move/Body\";\n\nconst MoveToFolderPane = ({ isOpen, onClose, ...rest }) => (\n <Pane {...{ isOpen, onClose }}>\n <PaneBody {...{ ...rest, onClose }} />\n </Pane>\n);\n\nexport default MoveToFolderPane;\n","import { Typography } from \"neetoui\";\nimport { NavLink } from \"react-router-dom\";\n\nconst FolderNode = ({ isActive, folder, link }) => (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-sidebar-folders-tree__folder-node block\"\n isActive={() => isActive}\n to={link}\n >\n <Typography\n className=\"line-clamp-1 block truncate\"\n component=\"span\"\n style=\"body2\"\n title={folder.name}\n >\n {folder.name}\n </Typography>\n </NavLink>\n);\n\nexport default FolderNode;\n","import { startTransition, useEffect, useState } from \"react\";\n\nimport { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Tree, Typography } from \"neetoui\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport FolderNode from \"./Node\";\n\nconst FoldersTree = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const [expandedKeys, setExpandedKeys] = useState([]);\n\n const { t } = useTranslation(config);\n const params = useQueryParams({ toCamelCase: false });\n const activeFolderSid = getActiveFolderId(config);\n const { data: folders } = useFetchFolders(config);\n\n const updateExpandedKeys = () => {\n if (!folders) return;\n // When active folder changes from external sources, update expanded keys to auto expand tree.\n const expandedKeys = [];\n const map = treeToMap(folders, \"sid\");\n const activeFolder = map[activeFolderSid];\n const parentSid = activeFolder?.meta?.parent?.sid;\n if (parentSid) expandedKeys.push(parentSid);\n setExpandedKeys(expandedKeys);\n };\n\n useEffect(() => {\n // Non urgent update.\n startTransition(updateExpandedKeys);\n }, [activeFolderSid, folders]);\n\n if (isNotPresent(folders)) {\n return (\n <Typography\n className=\"w-full text-center\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"folders.noFolders\")}\n </Typography>\n );\n }\n\n return (\n <Tree\n {...{ expandedKeys }}\n autoExpandParent\n blockNode\n showLine\n className=\"neeto-sidebar-folders-tree\"\n componentToken={{ titleHeight: 24, indentSize: 24 }}\n fieldNames={{ key: \"sid\" }}\n selectedKeys={[activeFolderSid]}\n treeData={folders}\n titleRender={folder => (\n <FolderNode\n {...{ folder }}\n isActive={folder.sid === activeFolderSid}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n )}\n onExpand={setExpandedKeys}\n />\n );\n};\n\nexport default FoldersTree;\n","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}}export{n as default};\n"],"names":["useTranslation","config","_useDefaultTranslatio","useDefaultTranslation","t","modT","key","options","labels","_objectSpread","FoldersAlerts","_ref","_useFolderStore","useFolderStore","store","setFolderState","shallow","queryParams","useQueryParams","toCamelCase","queryClient","useQueryClient","history","useHistory","_useTranslation","_useFolderStore2","_store$alertState","_store$alertState2","type","item","_useDestroyFolder","useDestroyFolder","destroyFolder","mutateAsync","isPending","_useFolders","useFolders","folders","onClose","alertState","alertProps","isOpen","isSubmitting","onConfirmDelete","onSuccess","isActive","isActiveFolder","sid","invalidationKeys","concat","_toConsumableArray","QUERY_KEYS","FOLDERS","DETAILS","forEach","queryKey","invalidateQueries","refetchType","path","pathToFolder","id","parent","length","replace","buildUrl","folderPath","folderId","onSettled","title","message","_jsx","Trans","i18nKey","values","customizeAlerts","onSubmit","Alert","FORM_VALIDATION_SCHEMA","object","shape","name","string","required","entity","typeComponentMap","Input","Switch","textarea","Textarea","ExtraAttributes","attributes","Array","isArray","map","_ref2","rest","_objectWithoutProperties","_excluded","Component","_createElement","TreeSelect","forwardRef","ref","_fieldNames$label","className","_ref$disabled","disabled","fieldNames","_ref$label","label","_ref$loading","loading","_ref$placeholder","placeholder","_ref$required","_ref$showSearch","showSearch","_ref$size","size","treeData","otherProps","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","hasLeafNodes","some","node","pId","_jsxs","children","Label","ConfigProvider","theme","token","colorBgContainer","colorBorder","colorBorderSecondary","colorFillAlter","colorFillContent","colorFillSecondary","colorIcon","colorIconHover","colorLink","colorLinkActive","colorLinkHover","colorPrimary","colorSplit","colorText","colorTextDescription","colorTextDisabled","colorTextHeading","colorTextPlaceholder","controlItemBgActive","controlItemBgActiveHover","controlItemBgHover","components","titleHeight","indentSize","nodeHoverBg","nodeSelectedBg","colorBgElevated","AntdTree","treeDataSimpleMode","dropdownStyle","zIndex","popupClassName","suffixIcon","Down","treeNodeFilterProp","value","undefined","classnames","error","switcherIcon","props","onBlur","onChange","dropdownRender","menu","displayName","createFolderOptions","foldersMap","folder","_folder$meta$parent","depth","maxDepth","createInitialValues","defaults","extraAttrs","parentId","defaultValue","createPayload","payload","AddEditPane","setFocusField","_store$paneState","_store$paneState2","_useFetchFolders","useFetchFolders","data","_useCreateFolder","useCreateFolder","createFolder","mutate","_useUpdateFolder","useUpdateFolder","updateFolder","isEditing","useMemo","treeToMap","folderOptions","activeFolderSid","getActiveFolderId","activeFolder","isValidParent","extraAttributes","initialValues","onSubmitForm","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stop","_x","apply","arguments","_Fragment","Pane","Header","Typography","style","Formik","enableReinitialize","validationSchema","Body","Form","allowClear","Footer","ActionBlock","cancelButtonProps","onClick","REORDER_TREE_INDENT_WIDTH","Node","_folder$children$leng","_folder$children","_ref$icon","icon","itemLabel","metaInfo","childCount","push","count","itemCount","from","_","index","width","left","Math","round","classNames","lineHeight","weight","join","SelectableNode","_ref$depth","selection","onSelect","isDisabled","renderChildren","isNotPresent","child","_SelectableNode","Radio","Item","readOnly","checked","noop","PaneBody","submitButtonProps","removeButtonProps","onRemove","_useState","useState","_useState2","setSelection","_useFetchFolders$data","folderDepth","measureDepth","onAddFolder","paneState","Button","MoveFolderPane","onSaveSelection","DraggableNode","_useDraggable","useDraggable","isDragging","listeners","setDraggableRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableRef","_DraggableNode","RearrangeFoldersPane","dragItem","setDragItem","_useState3","_useState4","changes","setChanges","_useReorderFolders","useReorderFolders","reorderFolders","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","tree","setTree","onDragEnd","_activeFolder$meta$pa","active","over","current","overFolder","activeDepth","overDepth","Toastr","newTree","mapToTree","assoc","nodeProps","Reorder","DndContext","onDragStart","_ref3","isEmpty","createPortal","DragOverlay","document","body","distanceBetween","p1","p2","sqrt","pow","x","y","centerOfRectangle","rect","top","height","closestCenter","activeItem","collisionRect","droppableRects","droppableContainers","centerRect","minDistance","Number","POSITIVE_INFINITY","collision","_iterator","_createForOfIteratorHelper","_step","s","n","done","droppableContainer","get","distance","err","e","f","PlaceholderNode","dragState","overItem","useId","_overItem$meta$parent","isOverItem","isOverParent","isRoot","React","Fragment","initialDragState","sensorConfig","activationConstraint","measuringConfig","droppable","frequency","ReorderFoldersPane","setDragState","sensors","useSensors","useSensor","PointerSensor","baseTree","setBaseTree","mapToSortedTree","targetFolder","targetIndex","srcDepth","dstDepth","__index","collisionDetection","measuring","onDragOver","_ref4","FoldersPane","configProps","DEFAULT_CONFIG","commonProps","ReorderPaneComponent","reorderMode","FoldersContext","FolderTile","isSelected","link","actions","actionCallback","callback","event","preventDefault","menuItems","onEdit","onMove","onDelete","Link","to","Checkbox","target","stopPropagation","MoreDropdown","dropdownButtonProps","dropdownProps","FoldersList","_ref$selection","params","fetchParams","pick","_useFolder","useFolder","useFolderActions","subFolders","includes","MoveToFolderPane","FolderNode","NavLink","activeClassName","component","FoldersTree","expandedKeys","setExpandedKeys","updateExpandedKeys","_activeFolder$meta","parentSid","useEffect","startTransition","Tree","autoExpandParent","blockNode","showLine","componentToken","selectedKeys","titleRender","onExpand"],"mappings":"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","x_google_ignoreList":[25]}