@bigbinary/neeto-folders-frontend 1.1.7 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":["../app/javascript/src/components/internal/Alerts.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/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/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 { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useDestroyFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolders from \"hooks/useFolders\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { isActiveFolder } from \"utils/internal\";\nimport { pathToFolder } from \"utils/pathUtils\";\n\nconst FoldersAlerts = ({ config }) => {\n const { setFolderState } = useFolderStore.pick();\n const queryParams = useQueryParams({ toCamelCase: false });\n const history = useHistory();\n const { t } = useTranslation();\n\n const { type, item } = useFolderStore.pick(\"alertState\");\n const { mutateAsync: destroyFolder, isLoading } = useDestroyFolder(config);\n const { folders } = useFolders(config);\n\n const onClose = () => setFolderState({ alertState: null });\n const alertProps = { isOpen: !!type, isSubmitting: isLoading, onClose };\n\n const onConfirmDelete = async () => {\n await destroyFolder(item.id);\n onClose();\n\n if (!isActiveFolder(item.sid) || !folders) return;\n const path = pathToFolder(folders, item.id);\n const parent = path[path.length - 2];\n if (!parent) return;\n history.replace(\n buildUrl(config.folderPath, {\n ...queryParams,\n folderId: parent.sid,\n })\n );\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 { 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","import { useMemo } from \"react\";\n\nimport { Formik, Form } from \"formik\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFolders,\n useCreateFolder,\n useUpdateFolder,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport TreeSelect from \"./TreeSelect\";\nimport { createFolderOptions } from \"./utils\";\n\nconst AddEditPane = ({ setFocusField, config, onClose }) => {\n const { t } = useTranslation();\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 initialValues = useMemo(\n () => (isEditing ? item : { name: \"\", parentId }),\n [isEditing, item, parentId]\n );\n\n const onSubmitForm = async values => {\n const payload = { name: values.name, parent_id: values.parentId };\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 <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","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst indentSize = 30;\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 flex-shrink-0 border-l\"\n key={index}\n style={{ width: indentSize, left: Math.round(indentSize / 2) }}\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\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Node from \"../Node\";\n\nconst SelectableNode = ({\n folder,\n item,\n depth = 0,\n maxDepth,\n disabled,\n ...rest\n}) => {\n const { selection, onSelect } = rest;\n const { t } = useTranslation();\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, 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\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\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();\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 {...{ folder, item, maxDepth, selection }}\n disabled={item?.id === folder.id || maxDepth <= 0}\n itemLabel={config.itemLabel}\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\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport { treeToMap, measureDepth, mapToTree } from \"utils/treeUtils\";\n\nimport DraggableNode from \"./DraggableNode\";\n\nimport Node from \"../Node\";\n\nconst ReorderFoldersPane = ({ config, onClose }) => {\n const [dragItem, setDragItem] = useState(null);\n const [changes, setChanges] = useState({});\n\n const { t } = useTranslation();\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.itemLabel,\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 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 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 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\" && <ReorderFoldersPane {...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 { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nconst FolderTile = ({\n isSelected,\n link,\n itemLabel,\n folder,\n actions,\n onSelect,\n}) => {\n const { t } = useTranslation();\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\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FoldersContext from \"components/Context\";\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFolder, useFolders } from \"hooks\";\nimport useFolderActions from \"hooks/useFolderActions\";\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();\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, folder, onSelect }}\n isSelected={selection.includes(folder.id)}\n itemLabel={config.itemLabel}\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\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\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();\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":["FoldersAlerts","_ref","config","_useFolderStore","useFolderStore","store","setFolderState","shallow","queryParams","useQueryParams","toCamelCase","history","useHistory","_useTranslation","useTranslation","t","_useFolderStore2","_store$alertState","_store$alertState2","type","item","_useDestroyFolder","useDestroyFolder","destroyFolder","mutateAsync","isLoading","_useFolders","useFolders","folders","onClose","alertState","alertProps","isOpen","isSubmitting","onConfirmDelete","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","path","parent","wrap","_callee$","_context","prev","next","id","isActiveFolder","sid","abrupt","pathToFolder","length","replace","buildUrl","folderPath","_objectSpread","folderId","stop","apply","arguments","title","message","_jsx","Trans","i18nKey","values","customizeAlerts","onSubmit","Alert","TreeSelect","forwardRef","ref","_fieldNames$label","className","_ref$disabled","disabled","fieldNames","_ref$label","label","_ref$loading","loading","name","_ref$placeholder","placeholder","_ref$required","required","_ref$showSearch","showSearch","_ref$size","size","treeData","otherProps","_objectWithoutProperties","_excluded","_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","map","folder","_folder$meta$parent","depth","maxDepth","AddEditPane","setFocusField","_store$paneState","_store$paneState2","_useFetchFolders","useFetchFolders","data","_useCreateFolder","useCreateFolder","createFolder","mutate","_useUpdateFolder","useUpdateFolder","updateFolder","isEditing","useMemo","treeToMap","folderOptions","activeFolderSid","getActiveFolderId","activeFolder","isValidParent","parentId","initialValues","onSubmitForm","payload","parent_id","_x","_Fragment","Pane","Header","Typography","style","Formik","enableReinitialize","Body","Form","Input","allowClear","Footer","ActionBlock","cancelButtonProps","onClick","Node","_folder$children$leng","_folder$children","_ref$icon","icon","itemLabel","rest","metaInfo","childCount","push","count","itemCount","concat","Array","from","_","index","width","left","Math","round","classNames","lineHeight","weight","join","SelectableNode","_ref$depth","selection","onSelect","isDisabled","renderChildren","isNotPresent","child","_createElement","_SelectableNode","key","Radio","Item","readOnly","checked","noop","PaneBody","submitButtonProps","removeButtonProps","onRemove","_useState","useState","_useState2","setSelection","_useFetchFolders$data","folderDepth","measureDepth","onAddFolder","paneState","Button","MoveFolderPane","onSaveSelection","onSuccess","DraggableNode","_useDraggable","useDraggable","isDragging","attributes","listeners","setDraggableRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableRef","_DraggableNode","ReorderFoldersPane","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","FoldersPane","configProps","DEFAULT_CONFIG","commonProps","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","isActive","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":[17]}
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]}
package/dist/hooks.js CHANGED
@@ -1,7 +1,9 @@
1
- export { u as useFolder, b as useFolderActions, a as useFolders } from './useFolderActions-DdOLB5Zw.js';
1
+ export { u as useFolder, b as useFolderActions, a as useFolders } from './useFolderActions-BLpmmlOf.js';
2
2
  import '@babel/runtime/helpers/defineProperty';
3
3
  import 'i18next';
4
4
  import '@bigbinary/neeto-cist';
5
+ import './internal-G6z0jIQe.js';
6
+ import 'ramda';
5
7
  import 'react-router-dom';
6
8
  import 'zustand/shallow';
7
9
  import '@tanstack/react-query';
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,10 +1,37 @@
1
1
  'use strict';
2
2
 
3
+ var ramda = require('ramda');
3
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
5
  var neetoCist = require('@bigbinary/neeto-cist');
6
+ var internal = require('./internal-CS6_tPWL.js');
5
7
 
6
8
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
9
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ var sortByIndex = function sortByIndex(a, b) {
11
+ if (ramda.isNil(a.meta.__index) && ramda.isNil(b.meta.__index)) {
12
+ return a.meta.index - b.meta.index;
13
+ } else if (ramda.isNil(a.meta.__index)) {
14
+ return a.meta.index < b.meta.__index ? -1 : 1;
15
+ } else if (ramda.isNil(b.meta.__index)) {
16
+ return a.meta.__index <= b.meta.index ? -1 : 1;
17
+ }
18
+ return a.meta.__index - b.meta.__index;
19
+ };
20
+ var foldersToTree = function foldersToTree(folders) {
21
+ var map = {};
22
+ var root;
23
+ folders.forEach(function (item) {
24
+ map[item.id] = _objectSpread(_objectSpread({}, item), {}, {
25
+ children: []
26
+ });
27
+ // Destroy existing temporary meta attributes.
28
+ delete map[item.id].meta.__index;
29
+ });
30
+ folders.forEach(function (item) {
31
+ if (!item.meta.parent) root = map[item.id];else map[item.meta.parent.id].children.push(map[item.id]);
32
+ });
33
+ return root;
34
+ };
8
35
  var _walkTree = function walkTree(tree, fn) {
9
36
  var meta = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
10
37
  index: 0,
@@ -13,7 +40,7 @@ var _walkTree = function walkTree(tree, fn) {
13
40
  };
14
41
  if (!tree) return;
15
42
  fn(tree, meta);
16
- if (tree.children) {
43
+ if (internal.isArray(tree.children)) {
17
44
  tree.children.forEach(function (folder, index) {
18
45
  return _walkTree(folder, fn, {
19
46
  parent: tree,
@@ -35,7 +62,7 @@ var measureDepth = function measureDepth(tree) {
35
62
  var treeToMap = function treeToMap(tree) {
36
63
  var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "id";
37
64
  if (neetoCist.isNotPresent(tree)) return {};
38
- var roots = Array.isArray(tree) ? tree : [tree];
65
+ var roots = internal.isArray(tree) ? tree : [tree];
39
66
  var foldersMap = {};
40
67
  roots.forEach(function (root) {
41
68
  _walkTree(root, function (folder, meta) {
@@ -49,34 +76,30 @@ var treeToMap = function treeToMap(tree) {
49
76
 
50
77
  // Convert result of treeToMap back to tree
51
78
  var mapToTree = function mapToTree(foldersMap) {
52
- var map = {};
53
- var root;
54
- Object.values(foldersMap).forEach(function (item) {
55
- map[item.id] = _objectSpread(_objectSpread({}, item), {}, {
56
- children: []
57
- });
58
- });
59
- Object.values(foldersMap).forEach(function (item) {
60
- if (!item.meta.parent) root = map[item.id];else map[item.meta.parent.id].children.push(map[item.id]);
61
- });
62
- return root;
79
+ return foldersToTree(Object.values(foldersMap));
80
+ };
81
+ var mapToSortedTree = function mapToSortedTree(foldersMap) {
82
+ return foldersToTree(Object.values(foldersMap).sort(sortByIndex));
63
83
  };
64
84
 
85
+ var flattenTree = ramda.pipe(treeToMap, ramda.values);
65
86
  var pathToFolder = function pathToFolder(folders, folderId) {
66
87
  var path = [];
67
88
  var folderMap = treeToMap(folders);
68
89
  if (!folderMap[folderId]) return path;
69
90
  var current = folderMap[folderId];
70
91
  while (current) {
71
- var _current$meta;
92
+ var _current$meta$parent;
72
93
  path.unshift(current);
73
- current = (_current$meta = current.meta) === null || _current$meta === void 0 ? void 0 : _current$meta.parent;
94
+ current = folderMap[(_current$meta$parent = current.meta.parent) === null || _current$meta$parent === void 0 ? void 0 : _current$meta$parent.id];
74
95
  }
75
96
  return path;
76
97
  };
77
98
 
99
+ exports.flattenTree = flattenTree;
100
+ exports.mapToSortedTree = mapToSortedTree;
78
101
  exports.mapToTree = mapToTree;
79
102
  exports.measureDepth = measureDepth;
80
103
  exports.pathToFolder = pathToFolder;
81
104
  exports.treeToMap = treeToMap;
82
- //# sourceMappingURL=pathUtils-W8cEGsHR.js.map
105
+ //# sourceMappingURL=index-BFO1zYNo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BFO1zYNo.js","sources":["../app/javascript/src/utils/treeUtils.js","../app/javascript/src/utils/index.js"],"sourcesContent":["import { isNotPresent } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nimport { isArray } from \"./internal\";\n\nconst sortByIndex = (a, b) => {\n if (isNil(a.meta.__index) && isNil(b.meta.__index)) {\n return a.meta.index - b.meta.index;\n } else if (isNil(a.meta.__index)) {\n return a.meta.index < b.meta.__index ? -1 : 1;\n } else if (isNil(b.meta.__index)) {\n return a.meta.__index <= b.meta.index ? -1 : 1;\n }\n\n return a.meta.__index - b.meta.__index;\n};\n\nexport const foldersToTree = folders => {\n const map = {};\n let root;\n\n folders.forEach(item => {\n map[item.id] = { ...item, children: [] };\n // Destroy existing temporary meta attributes.\n delete map[item.id].meta.__index;\n });\n\n folders.forEach(item => {\n if (!item.meta.parent) root = map[item.id];\n else map[item.meta.parent.id].children.push(map[item.id]);\n });\n\n return root;\n};\n\nexport const walkTree = (\n tree,\n fn,\n meta = { index: 0, depth: 0, parent: null }\n) => {\n if (!tree) return;\n\n fn(tree, meta);\n if (isArray(tree.children)) {\n tree.children.forEach((folder, index) =>\n walkTree(folder, fn, { parent: tree, index, depth: meta.depth + 1 })\n );\n }\n};\n\n// Measures the maximum depth to bottom of the tree\nexport const measureDepth = tree => {\n let maxDepth = 0;\n\n walkTree(tree, (_, meta) => {\n if (meta.depth > maxDepth) maxDepth = meta.depth;\n });\n\n return maxDepth;\n};\n\n// Convert tree to lookup table\nexport const treeToMap = (tree, key = \"id\") => {\n if (isNotPresent(tree)) return {};\n\n const roots = isArray(tree) ? tree : [tree];\n const foldersMap = {};\n\n roots.forEach(root => {\n walkTree(root, (folder, meta) => {\n foldersMap[folder[key]] = { ...folder, meta };\n });\n });\n\n return foldersMap;\n};\n\n// Convert result of treeToMap back to tree\nexport const mapToTree = foldersMap => foldersToTree(Object.values(foldersMap));\nexport const mapToSortedTree = foldersMap =>\n foldersToTree(Object.values(foldersMap).sort(sortByIndex));\n","import { pipe, values } from \"ramda\";\n\nimport { treeToMap } from \"./treeUtils\";\n\nconst flattenTree = pipe(treeToMap, values);\n\nconst pathToFolder = (folders, folderId) => {\n const path = [];\n const folderMap = treeToMap(folders);\n if (!folderMap[folderId]) return path;\n\n let current = folderMap[folderId];\n while (current) {\n path.unshift(current);\n current = folderMap[current.meta.parent?.id];\n }\n\n return path;\n};\n\nexport { pathToFolder, flattenTree };\n"],"names":["sortByIndex","a","b","isNil","meta","__index","index","foldersToTree","folders","map","root","forEach","item","id","_objectSpread","children","parent","push","walkTree","tree","fn","arguments","length","undefined","depth","isArray","folder","measureDepth","maxDepth","_","treeToMap","key","isNotPresent","roots","foldersMap","mapToTree","Object","values","mapToSortedTree","sort","flattenTree","pipe","pathToFolder","folderId","path","folderMap","current","_current$meta$parent","unshift"],"mappings":"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"}