@bigbinary/neeto-folders-frontend 2.0.40 → 2.0.42

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/v2/components/internal/Alerts.jsx","../../../app/javascript/src/v2/components/internal/Pane/AddEdit/constants.js","../../../app/javascript/src/v2/components/internal/Pane/AddEdit/Extra.jsx","../../../app/javascript/src/v2/components/internal/Pane/AddEdit/utils.js","../../../app/javascript/src/v2/components/internal/Pane/AddEdit/index.jsx","../../../app/javascript/src/v2/components/internal/Pane/Node.jsx","../../../app/javascript/src/v2/components/internal/Pane/Move/SelectableNode.jsx","../../../app/javascript/src/v2/components/internal/Pane/Move/Body.jsx","../../../app/javascript/src/v2/components/internal/Pane/Move/index.jsx","../../../app/javascript/src/v2/components/internal/Pane/Rearrange/DraggableNode.jsx","../../../app/javascript/src/v2/components/internal/Pane/Rearrange/index.jsx","../../../app/javascript/src/v2/components/internal/Pane/Reorder/PlaceholderNode.jsx","../../../app/javascript/src/v2/components/internal/Pane/Reorder/DraggableNode.jsx","../../../app/javascript/src/v2/components/internal/Pane/Reorder/index.jsx","../../../app/javascript/src/v2/components/internal/Pane/index.jsx","../../../app/javascript/src/v2/components/Context.jsx","../../../app/javascript/src/v2/components/List/Tile.jsx","../../../app/javascript/src/v2/components/Dnd.jsx","../../../app/javascript/src/v2/components/List/index.jsx","../../../app/javascript/src/v2/components/List/Draggable.jsx","../../../app/javascript/src/v2/components/MoveToFolderPane.jsx","../../../app/javascript/src/v2/components/Tree/FolderIcon.jsx","../../../app/javascript/src/v2/components/Tree/FolderIconOpen.jsx","../../../app/javascript/src/v2/components/Tree/Node.jsx","../../../app/javascript/src/v2/components/Tree/DownIcon.jsx","../../../app/javascript/src/v2/components/Tree/RightIcon.jsx","../../../app/javascript/src/v2/components/Tree/SwitcherIcon.jsx","../../../app/javascript/src/v2/components/Tree/utils.js","../../../app/javascript/src/v2/components/Tree/index.jsx","../../../app/javascript/src/v2/components/TreeSelect/utils.js","../../../app/javascript/src/v2/components/TreeSelect/index.jsx"],"sourcesContent":["import { Alert } from \"@bigbinary/neeto-atoms\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\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 const redirectUrl = parent\n ? buildUrl(config.folderPath, {\n ...queryParams,\n folderId: parent.sid,\n })\n : \"/\";\n history.replace(redirectUrl);\n }\n\n config.onUpdateSuccess?.();\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 \"@bigbinary/neeto-atoms/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","export 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\nexport const filterExtraAttributes = (attributes, isEditing) => {\n if (!attributes || !Array.isArray(attributes)) return [];\n\n return attributes.filter(attribute => {\n if (isEditing) {\n return attribute.isEditAttribute !== false;\n }\n\n return attribute.isCreateAttribute !== false;\n });\n};\n","import { useMemo } from \"react\";\n\nimport { Sheet, Spinner, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input, ActionBlock, Form } from \"@bigbinary/neeto-atoms/formik\";\nimport { showThumbsUpToastr } from \"neetocommons/v2/utils\";\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 { TreeSelect } from \"v2/components\";\n\nimport { FORM_VALIDATION_SCHEMA } from \"./constants\";\nimport ExtraAttributes from \"./Extra\";\nimport {\n createInitialValues,\n createPayload,\n filterExtraAttributes,\n} from \"./utils\";\n\nconst AddEditPane = ({ setFocusField, config, onClose, folderSid }) => {\n const { t } = useTranslation(config);\n const { type, item } = useFolderStore.pick(\"paneState\");\n const { setFolderState } = useFolderStore.pick();\n const { isFetching } = useFetchFolders(config);\n const { mutate: createFolder } = useCreateFolder(config);\n const { mutateAsync: updateFolder } = useUpdateFolder(config);\n\n const isEditing = type === \"edit\" && item;\n const activeFolderSid = folderSid || getActiveFolderId(config);\n const extraAttributes = config.extraAttributes;\n\n const filteredExtraAttributes = useMemo(\n () => filterExtraAttributes(extraAttributes, isEditing),\n [extraAttributes, isEditing]\n );\n\n const handleError = (setStatus, error) => {\n const { response } = error;\n if (response && response.data && response.data.errors) {\n setStatus(response.data.errors);\n }\n };\n\n const onSubmitForm = async (values, { setStatus }) => {\n const payload = createPayload(values, filteredExtraAttributes);\n const reactQueryOptions = {\n onSuccess: ({ id, sid }) => {\n if (isEditing && sid !== item.sid) {\n const newPath = window.location.pathname.replace(\n activeFolderSid,\n sid\n );\n window.location.href = newPath;\n } else if (!isEditing) {\n setFolderState({ lastCreatedFolderId: id });\n }\n showThumbsUpToastr();\n onClose();\n },\n onError: error => handleError(setStatus, error),\n };\n\n const config = { showToastr: false };\n\n isEditing\n ? await updateFolder(\n { id: item.id, payload, config, initialSlug: item.sid },\n reactQueryOptions\n )\n : await createFolder({ payload, config }, reactQueryOptions);\n };\n\n const initialValues = useMemo(\n () => (isEditing ? item : createInitialValues({}, filteredExtraAttributes)),\n [isEditing, item, filteredExtraAttributes]\n );\n\n if (isFetching) {\n return (\n <Sheet.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Sheet.Body>\n );\n }\n\n return (\n <>\n <Sheet.Header>\n <Sheet.Title>\n {isEditing ? t(\"folders.edit\") : t(\"folders.add\")}\n </Sheet.Title>\n </Sheet.Header>\n <Form\n className=\"flex flex-grow flex-col\"\n formikProps={{\n initialValues,\n enableReinitialize: true,\n validationSchema:\n config.addEditValidationSchema?.(isEditing) ||\n FORM_VALIDATION_SCHEMA,\n onSubmit: onSubmitForm,\n }}\n >\n {({ dirty }) => (\n <>\n <Sheet.Body className=\"pb-6\">\n <div 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={filteredExtraAttributes} />\n <div>\n <TreeSelect\n {...{ config }}\n allowClear\n showSearch\n initialValue={folderSid}\n label={t(\"createFolder.parentTitle\")}\n name=\"parentId\"\n />\n <Typography className=\"mt-1\" variant=\"body3\">\n {t(\"createFolder.parentInfo\")}\n </Typography>\n </div>\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{ disabled: !dirty }}\n />\n </Sheet.Footer>\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default AddEditPane;\n","import { forwardRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst Node = (\n {\n icon = null,\n itemLabel,\n folder,\n folderLabel,\n depth,\n hideTreeIndent = false,\n className,\n onClick,\n ...rest\n },\n ref\n) => {\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n childCount > 0 && metaInfo.push(`${childCount} ${folderLabel}`.toLowerCase());\n folder.itemCount > 0 &&\n metaInfo.push(`${folder.itemCount} ${itemLabel}`.toLowerCase());\n\n return (\n <div className=\"flex w-full min-w-0\">\n {!hideTreeIndent &&\n Array.from({ length: depth + 1 }).map((_, index) => (\n <span\n className=\"border-border relative h-full flex-shrink-0 border-s\"\n key={index}\n style={{\n width: REORDER_TREE_INDENT_WIDTH,\n insetInlineStart: Math.round(REORDER_TREE_INDENT_WIDTH / 2),\n }}\n >\n {index === depth && (\n <span\n aria-hidden\n className=\"border-border absolute border-t\"\n style={{\n insetInlineStart: 0,\n top: \"50%\",\n width: Math.round(REORDER_TREE_INDENT_WIDTH / 2),\n }}\n />\n )}\n </span>\n ))}\n <div\n {...{ ...rest, onClick, ref }}\n data-testid={`${hyphenate(folder.name)}-folder-node`}\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=\"ms-2 flex items-baseline gap-2\">\n <Typography variant=\"body1\" weight=\"medium\">\n {folder.name}\n </Typography>\n {metaInfo.length > 0 && (\n <Typography\n className=\"text-muted-foreground\"\n variant=\"body3\"\n weight=\"normal\"\n >\n {metaInfo.join(\" . \")}\n </Typography>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default forwardRef(Node);\n","import { RadioGroup } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { isNotPresent, noop, hyphenate } from \"neetocist\";\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 const itemLabel = config.labels[folder.itemCount > 1 ? \"items\" : \"item\"];\n const folderLabel =\n config.labels[(folder.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"];\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 title={isDisabled ? t(\"moveToFolder.notAllowed\") : undefined}\n className={classNames(\"flex flex-col w-full min-w-0\", {\n \"opacity-60\": isDisabled,\n })}\n >\n <Node\n {...{ ...rest, depth, folder, folderLabel, itemLabel }}\n icon={\n <RadioGroup.Item\n readOnly\n checked={selection === folder.id}\n data-testid={`${hyphenate(folder.name)}-folder-option`}\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 { useEffect, useMemo, useState } from \"react\";\n\nimport { Button, Sheet, Spinner } from \"@bigbinary/neeto-atoms\";\nimport useHotkeys from \"neetohotkeys\";\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 createTree = (folders, isRootEnabled) =>\n isRootEnabled ? [{ name: \"/\", id: null, children: folders }] : folders;\n\nconst PaneBody = ({\n isRootEnabled = true,\n item,\n config,\n submitButtonProps,\n cancelButtonProps,\n removeButtonProps,\n onSubmit,\n onClose,\n onRemove,\n parentId,\n}) => {\n const parent = item?.parentId || parentId || null;\n const [selection, setSelection] = useState(parent);\n const { setFolderState } = useFolderStore.pick();\n const { data: folders = [], isFetching } = useFetchFolders(config);\n const { t } = useTranslation(config);\n const { type } = useFolderStore.pick(\"paneState\");\n\n const tree = useMemo(\n () => createTree(folders, isRootEnabled),\n [folders, isRootEnabled]\n );\n\n let maxDepth = Number.POSITIVE_INFINITY;\n\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\n if (folder) {\n const folderDepth = measureDepth(folder) + 1; // +1 for own depth;\n maxDepth = config.maxDepth - folderDepth;\n if (isRootEnabled) maxDepth += 1; // +1 for root folder.\n }\n }\n\n const onAddFolder = () => {\n setFolderState({ paneState: { type: \"add\", item: null } });\n };\n\n const { lastCreatedFolderId } = useFolderStore.pick(\"lastCreatedFolderId\");\n\n useEffect(() => {\n if (lastCreatedFolderId == null) return;\n setSelection(lastCreatedFolderId);\n setFolderState({ lastCreatedFolderId: null });\n }, [lastCreatedFolderId]);\n\n useHotkeys([\"command+enter\", \"enter\"], () => onSubmit(selection), {\n mode: \"global\",\n enabled: !!type,\n });\n\n if (isFetching) {\n return (\n <Sheet.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Sheet.Body>\n );\n }\n\n return (\n <>\n <Sheet.Header className=\"flex items-center justify-between\">\n <Sheet.Title>{t(\"moveToFolder.title\")}</Sheet.Title>\n <Button\n className=\"me-2\"\n data-testid=\"add-new-folder-button\"\n label={t(\"folders.add\")}\n variant=\"link\"\n onClick={onAddFolder}\n />\n </Sheet.Header>\n <Sheet.Body className=\"pb-6\">\n {tree.map(folder => (\n <SelectableNode\n {...{ config, folder, item, maxDepth, selection }}\n disabled={item?.id === folder.id || maxDepth <= 0}\n key={folder.id}\n onSelect={folder => setSelection(folder.id)}\n />\n ))}\n </Sheet.Body>\n <Sheet.Footer className=\"space-x-2\">\n <div className=\"flex flex-1 space-x-2\">\n <Button\n label={t(\"common.save\")}\n variant=\"default\"\n onClick={() => onSubmit(selection)}\n {...submitButtonProps}\n data-testid=\"save-changes-button\"\n disabled={selection === parent || submitButtonProps?.disabled}\n />\n <Button\n label={t(\"common.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n {...cancelButtonProps}\n data-testid=\"cancel-button\"\n />\n </div>\n {onRemove && (\n <Button\n label={t(\"moveToFolder.remove\")}\n variant=\"outline\"\n onClick={onRemove}\n {...removeButtonProps}\n data-testid=\"remove-from-folder-button\"\n />\n )}\n </Sheet.Footer>\n </>\n );\n};\n\nexport default PaneBody;\n","import { useUpdateFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { toastApiError } from \"utils/internal\";\n\nimport PaneBody from \"./Body\";\n\nconst MoveFolderPane = ({ config, onClose }) => {\n const { item } = useFolderStore.pick(\"paneState\");\n const { isPending, mutate: updateFolder } = useUpdateFolder(config);\n\n const onSaveSelection = parentId => {\n const payload = { id: item.id, parentId };\n updateFolder(\n { id: item.id, payload, config: { showToastr: false } },\n {\n onSuccess: () => {\n onClose();\n config.onUpdateSuccess?.();\n },\n onError: toastApiError,\n }\n );\n };\n\n return (\n <PaneBody\n {...{ config, item, onClose }}\n submitButtonProps={{ loading: isPending, disabled: isPending }}\n onSubmit={onSaveSelection}\n />\n );\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 = ({\n folder,\n depth = 0,\n config,\n folderLabel,\n itemLabel,\n ...rest\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: 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, config }}\n depth={depth + 1}\n folder={child}\n itemLabel={config.labels[child?.itemCount > 1 ? \"items\" : \"item\"]}\n key={child.id}\n folderLabel={\n config.labels[\n (child?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n ));\n };\n\n return (\n <>\n <Node\n {...rest}\n className={classNames({\n \"rounded-lg hover:bg-muted w-full min-w-0 cursor-move transition-colors\": true,\n \"bg-muted opacity-50\": isDragging,\n \"border-primary border\": isOver,\n \"border border-transparent\": !isOver,\n })}\n {...{\n depth,\n folder,\n ...attributes,\n ...listeners,\n folderLabel,\n itemLabel,\n }}\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 { Button, Sheet, Spinner, Toastr } from \"@bigbinary/neeto-atoms\";\nimport { DndContext, DragOverlay } from \"@dnd-kit/core\";\nimport { GripVertical } from \"lucide-react\";\nimport { useStateWithDependency } from \"neetocommons/v2/react-utils\";\nimport useHotkeys from \"neetohotkeys\";\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 useFolderStore from \"stores/foldersStore\";\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, isFetching } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\n const { type } = useFolderStore.pick(\"paneState\");\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, {\n onSuccess: () => {\n onClose();\n config.onUpdateSuccess?.();\n },\n });\n };\n\n useHotkeys([\"command+enter\", \"enter\"], onSubmit, {\n mode: \"global\",\n enabled: !!type,\n });\n\n const nodeProps = {\n icon: (\n <GripVertical className=\"text-muted-foreground relative -start-[0.3125rem] flex-shrink-0\" />\n ),\n };\n\n if (isFetching) {\n return (\n <Sheet.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Sheet.Body>\n );\n }\n\n return (\n <>\n <Sheet.Header>\n <Sheet.Title>{t(\"reorderFolder.title\")}</Sheet.Title>\n </Sheet.Header>\n <DndContext\n {...{ onDragEnd }}\n onDragStart={({ active }) => setDragItem(active.data.current)}\n >\n <Sheet.Body className=\"pb-6\">\n <DraggableNode\n {...{ ...nodeProps, config }}\n folder={tree}\n itemLabel={config.labels[tree?.itemCount > 1 ? \"items\" : \"item\"]}\n key={tree.id}\n folderLabel={\n config.labels[\n (tree?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n </Sheet.Body>\n <Sheet.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n variant=\"default\"\n onClick={onSubmit}\n />\n <Button\n label={t(\"common.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragItem && (\n <Node\n hideTreeIndent\n {...nodeProps}\n className=\"bg-muted\"\n depth={0}\n folder={dragItem}\n folderLabel={\n config.labels[\n (dragItem?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n itemLabel={\n config.labels[dragItem?.itemCount > 1 ? \"items\" : \"item\"]\n }\n />\n )}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n </>\n );\n};\n\nexport default RearrangeFoldersPane;\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 + 1) }} />\n <div\n ref={setDroppableRef}\n className={classNames({\n \"min-w-0 flex-1 transition-colors\": true,\n \"border-primary 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 = ({\n folder,\n config,\n dragState,\n folderLabel,\n itemLabel,\n ...rest\n}) => {\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, config, dragState }}\n depth={child.meta.depth}\n folder={child}\n itemLabel={config.labels[child?.itemCount > 1 ? \"items\" : \"item\"]}\n key={child.id}\n folderLabel={\n config.labels[\n (child?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n ))}\n </React.Fragment>\n );\n };\n\n return (\n <>\n <Node\n depth={folder.meta.depth}\n {...{\n ...rest,\n folder,\n ...attributes,\n ...listeners,\n folderLabel,\n itemLabel,\n }}\n className={classNames({\n \"hover:bg-muted w-full cursor-move transition-colors\": true,\n \"bg-muted opacity-50\": isDragging,\n \"bg-accent\": isOverParent,\n \"border-primary 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 { Button, Sheet, Spinner, Toastr } from \"@bigbinary/neeto-atoms\";\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { GripVertical } from \"lucide-react\";\nimport { useStateWithDependency } from \"neetocommons/v2/react-utils\";\nimport useHotkeys from \"neetohotkeys\";\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 useFolderStore from \"stores/foldersStore\";\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, isFetching } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n const { type } = useFolderStore.pick(\"paneState\");\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, {\n onSuccess: () => {\n onClose();\n config.onUpdateSuccess?.();\n },\n });\n };\n\n useHotkeys([\"command+enter\", \"enter\"], onSubmit, {\n mode: \"global\",\n enabled: !!type,\n });\n\n const nodeProps = {\n icon: (\n <GripVertical className=\"text-muted-foreground relative -start-[0.3125rem] flex-shrink-0\" />\n ),\n };\n\n if (isFetching) {\n return (\n <Sheet.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Sheet.Body>\n );\n }\n\n return (\n <>\n <Sheet.Header>\n <Sheet.Title>{t(\"reorderFolder.title\")}</Sheet.Title>\n </Sheet.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 <Sheet.Body className=\"pb-6\">\n <DraggableNode\n {...{ ...nodeProps, config, dragState }}\n folder={tree}\n itemLabel={config.labels[tree?.itemCount > 1 ? \"items\" : \"item\"]}\n key={tree.id}\n folderLabel={\n config.labels[\n (tree?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n </Sheet.Body>\n <Sheet.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n variant=\"default\"\n onClick={onSubmit}\n />\n <Button\n label={t(\"common.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragState && (\n <Node\n hideTreeIndent\n {...nodeProps}\n className=\"bg-muted ps-4 pe-12\"\n depth={0}\n folder={dragState.activeItem}\n folderLabel={\n config.labels[\n (dragState.activeItem?.children?.length ?? 0) > 1\n ? \"folders\"\n : \"folder\"\n ]\n }\n itemLabel={\n config.labels[\n dragState.activeItem?.itemCount > 1 ? \"items\" : \"item\"\n ]\n }\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 { useRef } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\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 setFocusField = useRef(null);\n const { paneState, setFolderState } = useFolderStore.pick();\n const { type, ...rest } = paneState || {};\n\n const onClose = () => setFolderState({ paneState: null });\n const commonProps = { config, onClose, ...rest };\n\n const ReorderPaneComponent =\n config.reorderMode === \"reorder\"\n ? ReorderFoldersPane\n : RearrangeFoldersPane;\n\n return (\n <Sheet {...{ onClose }} initialFocusRef={setFocusField} isOpen={!!type}>\n {(type === \"edit\" || type === \"add\") && (\n <AddEditPane {...{ setFocusField, ...commonProps }} />\n )}\n {type === \"move\" && <MoveFolderPane {...commonProps} />}\n {type === \"reorder\" && <ReorderPaneComponent {...commonProps} />}\n </Sheet>\n );\n};\n\nexport default FoldersPane;\n","import FoldersAlerts from \"v2/components/internal/Alerts\";\nimport FoldersPane from \"v2/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 { Checkbox, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { Link } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\nimport { DEFAULT_CONFIG } from \"src/constants/config\";\n\nconst FolderTile = ({\n isPreview = false,\n isSelected,\n link,\n folder,\n actions,\n config,\n onSelect,\n}) => {\n const { t } = useTranslation(config);\n\n const droppable = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isPreview,\n });\n\n const draggable = useDraggable({\n id: `draggable-item--${folder.id}`,\n data: { ...folder, type: DEFAULT_CONFIG.type },\n disabled: isPreview,\n });\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.moveToFolder\"),\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 const itemLabel = config.labels[folder.itemCount > 1 ? \"items\" : \"item\"];\n const folderLabel =\n config.labels[(folder.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"];\n childCount > 0 && metaInfo.push(`${childCount} ${folderLabel}`.toLowerCase());\n metaInfo.push(`${folder.itemCount || 0} ${itemLabel}`.toLowerCase());\n\n return (\n <Link\n data-testid={`${hyphenate(folder.name)}-folder-tile`}\n to={link}\n className={classNames(\n \"bg-muted border-border rounded-md hover:border-primary relative flex max-w-full items-start gap-2 border-2 p-3 transition-colors ease-in\",\n {\n \"bg-accent\": droppable.isOver,\n \"opacity-50\": draggable.isDragging,\n \"scale-75\": isPreview,\n }\n )}\n {...droppable.attributes}\n {...droppable.listeners}\n {...draggable.attributes}\n {...draggable.listeners}\n ref={ref => {\n droppable.setNodeRef(ref);\n draggable.setNodeRef(ref);\n }}\n >\n <Checkbox\n checked={isSelected}\n className=\"m-0 flex-shrink-0 flex-grow-0 pt-0.5\"\n name={folder.id}\n onCheckedChange={checked => onSelect(folder, 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 pe-8\"\n data-testid=\"folder-name\"\n title={folder.name}\n variant=\"body1\"\n weight=\"medium\"\n >\n {folder.name}\n </Typography>\n <Typography className=\"text-muted-foreground\" variant=\"body3\">\n {metaInfo.join(\" . \")}\n </Typography>\n </span>\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{ className: \"absolute end-2 top-2\" }}\n dropdownProps={{ onClick: event => event.preventDefault() }}\n />\n </Link>\n );\n};\n\nexport default FolderTile;\n","import { useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { snapCenterToCursor } from \"@dnd-kit/modifiers\";\nimport { noop } from \"neetocist\";\n\nimport { useUpdateFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { DEFAULT_CONFIG } from \"src/constants/config\";\nimport { toastApiError } from \"utils/internal\";\nimport FolderTile from \"v2/components/List/Tile\";\n\nconst sensorConfig = { activationConstraint: { distance: 8 } };\n\nconst FoldersDnd = ({\n config,\n children,\n onDrop: onDropItem,\n renderOverlay: renderItemOverlay,\n}) => {\n const [dragItem, setDragItem] = useState(null);\n const { mutate: updateFolder } = useUpdateFolder(config);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n const onDropFolder = (folder, parent) => {\n if (!folder || !parent || folder.id === parent.id) return;\n updateFolder(\n {\n id: folder.id,\n payload: { id: folder.id, parentId: parent.id },\n initialSlug: folder.sid,\n config: { showToastr: false },\n },\n { onError: toastApiError }\n );\n };\n\n const handleDragStart = ({ active }) => {\n setDragItem(active.data.current);\n };\n\n const handleDragEnd = ({ active, over }) => {\n setDragItem(null);\n if (!active || !over) return;\n\n if (active.data.current.type === DEFAULT_CONFIG.type) {\n onDropFolder(active.data.current, over.data.current);\n } else onDropItem(active.data.current, over.data.current);\n };\n\n const renderFolderOverlay = dragItem => (\n <FolderTile\n {...{ config }}\n isPreview\n actions={{}}\n folder={dragItem}\n onSelect={noop}\n />\n );\n\n return (\n <DndContext\n {...{ sensors }}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n >\n {children}\n <DragOverlay dropAnimation={null} modifiers={[snapCenterToCursor]}>\n {dragItem &&\n (dragItem.type !== DEFAULT_CONFIG.type\n ? renderItemOverlay(dragItem)\n : renderFolderOverlay(dragItem))}\n </DragOverlay>\n </DndContext>\n );\n};\n\nexport default FoldersDnd;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\n\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 { folders } = useFolders(config);\n const { folderId, folder } = useFolder(config);\n const actions = useFolderActions(config);\n const subFolders = folderId ? folder?.children : folders;\n\n if (isNotPresent(subFolders) || !Array.isArray(subFolders)) return null;\n\n return (\n <>\n <Typography className=\"my-3\" variant=\"h4\">\n {t(\"folders.title\")}\n </Typography>\n <div\n className=\"neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4\"\n data-testid=\"folders-list\"\n >\n {subFolders.map(folder => (\n <FolderTile\n {...{ actions, config, folder, onSelect }}\n isSelected={selection.includes(folder.id)}\n key={folder.id}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n ))}\n </div>\n </>\n );\n};\n\nexport default FoldersList;\n","import { useDraggable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nconst DraggableWrapper = ({ data, id = data.id, children }) => {\n const draggable = useDraggable({\n id: `folders-list-draggable-item--${id}`,\n data,\n });\n\n return (\n <div\n className={classNames({ \"opacity-50\": draggable.isDragging })}\n {...draggable.attributes}\n {...draggable.listeners}\n ref={draggable.setNodeRef}\n >\n {children}\n </div>\n );\n};\n\nexport default DraggableWrapper;\n","import { Sheet } from \"@bigbinary/neeto-atoms\";\n\nimport PaneBody from \"v2/components/internal/Pane/Move/Body\";\n\nconst MoveToFolderPane = ({ isOpen, onClose, ...rest }) => (\n <Sheet {...{ isOpen, onClose }}>\n <PaneBody {...{ ...rest, onClose }} />\n </Sheet>\n);\n\nexport default MoveToFolderPane;\n","const FolderIcon = props => (\n <svg\n fill=\"none\"\n height={props.size}\n viewBox=\"0 0 16 16\"\n width={props.size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M3.202 12.798h9.6c.882 0 1.6-.717 1.6-1.6v-6c0-.882-.718-1.6-1.6-1.6H9.069a.8.8 0 0 1-.48-.16l-.96-.72a1.6 1.6 0 0 0-.96-.32H3.202c-.883 0-1.6.718-1.6 1.6v7.2c0 .883.717 1.6 1.6 1.6\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default FolderIcon;\n","const FolderIconOpen = props => (\n <svg\n fill=\"none\"\n height={props.size}\n viewBox=\"0 0 16 16\"\n width={props.size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"m2.2 7.24-.59 1.765V4c0-.882.717-1.6 1.6-1.6h3.467c.345 0 .682.113.96.32l.96.72c.137.105.307.16.48.16h2.932c.883 0 1.6.718 1.6 1.6v.4H4.474c-1.032 0-1.95.66-2.277 1.64zm10.544 5.56h-9.47c-.82 0-1.397-.802-1.137-1.58l1.2-3.6c.162-.49.622-.82 1.137-.82h9.47c.82 0 1.398.803 1.138 1.58l-1.2 3.6c-.163.49-.623.82-1.138.82\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default FolderIconOpen;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Lock, Plus } from \"lucide-react\";\nimport { isNotEmpty, hyphenate, noop } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { NavLink } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nimport FolderIcon from \"./FolderIcon\";\nimport FolderIconOpen from \"./FolderIconOpen\";\n\nconst Node = ({ isActive, isExpanded, node, link, config }) => {\n const { t } = useTranslation();\n const { isPrivate, name, isFolder = true } = node;\n\n const { getMoreActions = noop, getAddActions = noop } = isFolder\n ? config.folderActions\n : config.itemActions;\n\n const moreActions = getMoreActions(node) || [];\n const addActions = getAddActions(node) || [];\n\n const hasMoreActions = isNotEmpty(moreActions);\n const hasAddActions = isNotEmpty(addActions);\n const hasAnyActions = hasMoreActions || hasAddActions;\n\n return (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-sidebar-folders-tree__folder-node\"\n isActive={() => isActive}\n to={link}\n >\n <div\n className=\"flex items-center justify-between w-full group relative\"\n data-testid={`${hyphenate(name)}-${isFolder ? \"folder\" : \"item\"}-sublink`}\n title=\"\"\n >\n {isFolder &&\n (isExpanded ? (\n <FolderIconOpen className=\"flex-shrink-0 me-1\" size={16} />\n ) : (\n <FolderIcon className=\"flex-shrink-0 me-1\" size={16} />\n ))}\n <div className=\"flex items-center min-w-0 flex-1\">\n <Typography\n as=\"span\"\n className=\"line-clamp-1 block truncate ps-0.5\"\n title={name}\n variant=\"body2\"\n >\n {name}\n </Typography>\n {isPrivate && (\n <span title={t(\"common.private\")}>\n <Lock className=\"flex-shrink-0 ms-1\" size={16} />\n </span>\n )}\n </div>\n {hasAnyActions && (\n <div\n className=\"flex items-center gap-0.5 py-0.5 absolute end-0 top-0 h-full neeto-sidebar-folders-tree__folder-node-actions rounded-md ps-2\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n {hasAddActions && (\n <MoreDropdown\n menuItems={addActions}\n dropdownButtonProps={{\n icon: Plus,\n size: \"icon\",\n tooltipProps: { content: \"Add\", position: \"top\" },\n className:\n \"opacity-0 group-hover:opacity-100 transition-opacity neeto-sidebar-folders-tree__action-button size-5\",\n }}\n />\n )}\n {hasMoreActions && (\n <MoreDropdown\n menuItems={moreActions}\n dropdownButtonProps={{\n size: \"icon\",\n className:\n \"opacity-0 group-hover:opacity-100 transition-opacity neeto-sidebar-folders-tree__action-button size-5\",\n }}\n />\n )}\n </div>\n )}\n </div>\n </NavLink>\n );\n};\n\nexport default Node;\n","const DownIcon = props => (\n <svg\n fill=\"none\"\n height=\"6\"\n viewBox=\"0 0 6 6\"\n width=\"6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M3.803 5.475a.35.35 0 0 1-.606 0l-2.425-4.2A.35.35 0 0 1 1.075.75h4.85a.35.35 0 0 1 .303.525z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default DownIcon;\n","const RightIcon = props => (\n <svg\n fill=\"none\"\n height=\"6\"\n viewBox=\"0 0 6 6\"\n width=\"6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M5.475 2.697a.35.35 0 0 1 0 .606l-4.2 2.425a.35.35 0 0 1-.525-.303V.575a.35.35 0 0 1 .525-.303z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default RightIcon;\n","import DownIcon from \"./DownIcon\";\nimport RightIcon from \"./RightIcon\";\n\nconst SwitcherIcon = ({ expanded }) =>\n expanded ? (\n <DownIcon className=\"relative\" size={16} />\n ) : (\n <RightIcon className=\"relative\" size={16} />\n );\n\nexport default SwitcherIcon;\n","const splitItemsByFolder = items =>\n items.reduce(\n (acc, item) => {\n const value = { ...item, isFolder: false, isLeaf: true };\n if (item.folderId) {\n if (!acc.itemsByFolderId[item.folderId]) {\n acc.itemsByFolderId[item.folderId] = [];\n }\n acc.itemsByFolderId[item.folderId].push({ ...value });\n } else {\n acc.rootItems.push(value);\n }\n\n return acc;\n },\n { itemsByFolderId: {}, rootItems: [] }\n );\n\nconst appendItemsToFolders = (folders, itemsByFolderId) =>\n folders.map(folder => ({\n ...folder,\n isFolder: true,\n isLeaf: false,\n children: [\n ...appendItemsToFolders(folder.children || [], itemsByFolderId),\n ...(itemsByFolderId[folder.id] || []),\n ],\n }));\n\nexport const buildTreeWithItems = (folders, { items }) => {\n if (!items || !folders) return folders;\n\n const { itemsByFolderId, rootItems } = splitItemsByFolder(items);\n const foldersWithItems = appendItemsToFolders(folders, itemsByFolderId);\n\n return [...foldersWithItems, ...rootItems];\n};\n\n// neeto-atoms Tree (react-arborist based) requires `key`/`title` on every node\n// and has no `fieldNames` prop, unlike neetoui's antd Tree which used\n// fieldNames={{ key: \"sid\" }}. Map them in while preserving the original fields\n// (sid, link, meta, isFolder, isPrivate, …) so titleRender/onExpand keep working.\nexport const toAtomsTreeData = (nodes = []) =>\n nodes.map(node => ({\n ...node,\n key: node.sid,\n title: node.name,\n children: node.children ? toAtomsTreeData(node.children) : undefined,\n }));\n","import { startTransition, useEffect, useMemo, useState } from \"react\";\n\nimport { Tree, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\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 Node from \"./Node\";\nimport SwitcherIcon from \"./SwitcherIcon\";\nimport { buildTreeWithItems, toAtomsTreeData } from \"./utils\";\n\nconst FoldersTree = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const [expandedKeysSet, setExpandedKeysSet] = useState(new Set());\n const expandedKeys = Array.from(expandedKeysSet);\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 treeData = useMemo(\n () => toAtomsTreeData(buildTreeWithItems(folders, config)),\n [folders, config.items]\n );\n\n const updateExpandedKeys = () => {\n if (!treeData) return;\n // When active folder changes from external sources, update expanded keys to auto expand tree.\n const updatedExpandedKeys = new Set(expandedKeysSet);\n const map = treeToMap(treeData, \"sid\");\n const activeFolder = map[activeFolderSid];\n const parentSid = activeFolder?.meta?.parent?.sid;\n\n if (parentSid && !expandedKeysSet.has(parentSid)) {\n updatedExpandedKeys.add(parentSid);\n }\n };\n\n const handleExpand = (keys, { expanded, node }) => {\n const keysSet = new Set(keys);\n\n if (!expanded) {\n const removeChildKeys = (children = []) => {\n children.forEach(child => {\n keysSet.delete(child.sid);\n removeChildKeys(child.children);\n });\n };\n removeChildKeys(node.children);\n }\n\n setExpandedKeysSet(keysSet);\n };\n\n useEffect(() => {\n // Non urgent update.\n startTransition(updateExpandedKeys);\n }, [activeFolderSid, treeData]);\n\n if (isNotPresent(treeData)) {\n return (\n <Typography\n className=\"w-full text-center\"\n variant=\"body2\"\n weight=\"semibold\"\n >\n {t(\"folders.noFolders\")}\n </Typography>\n );\n }\n\n return (\n <Tree\n {...{ expandedKeys, treeData }}\n autoExpandParent\n blockNode\n className=\"neeto-sidebar-folders-tree\"\n indent={20}\n rowHeight={24}\n selectedKeys={[activeFolderSid]}\n showLine={false}\n switcherIcon={SwitcherIcon}\n titleRender={node => (\n <Node\n {...{ config, node }}\n isActive={node.sid === activeFolderSid}\n isExpanded={expandedKeysSet.has(node.sid)}\n link={\n node.link ||\n buildUrl(config.folderPath, { ...params, folderId: node.sid })\n }\n />\n )}\n onExpand={handleExpand}\n />\n );\n};\n\nexport default FoldersTree;\n","// neeto-atoms TreeSelect expects nested treeData ({ key, title, children }) and\n// has no `treeDataSimpleMode`, unlike neetoui's antd TreeSelect which consumed a\n// flat list keyed by pId. Build the nested shape directly from the folders tree,\n// pruning folders at/below maxDepth (and their subtrees).\n//\n// Depth is derived structurally from the recursion level (roots = 0), matching\n// treeToMap/walkTree — the raw `folders` from the API don't carry a computed\n// `meta.depth`; v1 only had it because it passed the treeToMap'd map.\nexport const createFolderOptions = (folders, config, depth = 0) => {\n if (depth >= config.maxDepth) return [];\n\n return (folders ?? []).map(folder => {\n const children = createFolderOptions(folder.children, config, depth + 1);\n\n return {\n key: folder.id,\n title: folder.name,\n ...(children.length > 0 && { children }),\n };\n });\n};\n","import { forwardRef, useMemo, useEffect } from \"react\";\n\nimport { TreeSelect as NeetoUITreeSelect } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\n\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport { createFolderOptions } from \"./utils\";\n\nconst TreeSelect = forwardRef(\n (\n {\n label = \"\",\n name,\n placeholder = \"\",\n disabled = false,\n required = false,\n showSearch = true,\n allowClear = false,\n config,\n initialValue,\n ...otherProps\n },\n ref\n ) => {\n const { data: folders } = useFetchFolders(config);\n const { values, setFieldValue } = useFormikContext();\n\n const foldersMap = useMemo(\n () => (folders ? treeToMap(folders, \"sid\") : null),\n [folders]\n );\n const activeFolderSid = initialValue || getActiveFolderId(config);\n const activeFolder = foldersMap[activeFolderSid];\n const isValidParent = activeFolder?.meta.depth < config.maxDepth;\n const parentId = isValidParent ? activeFolder.id : null;\n\n useEffect(() => {\n if (values.name !== \"\") return;\n setFieldValue(name, parentId);\n }, [parentId, name]);\n\n const folderOptions = useMemo(\n () => createFolderOptions(folders ?? [], config),\n [folders]\n );\n\n return (\n <NeetoUITreeSelect\n isClearable={allowClear}\n isDisabled={disabled}\n isSearchable={showSearch}\n treeData={folderOptions}\n {...{ label, name, placeholder, ref, required, ...otherProps }}\n />\n );\n }\n);\n\nTreeSelect.displayName = \"TreeSelect\";\n\nexport default TreeSelect;\n"],"names":["FoldersAlerts","_ref","config","_useFolderStore","useFolderStore","store","setFolderState","shallow","queryParams","useQueryParams","toCamelCase","queryClient","useQueryClient","history","useHistory","_useTranslation","useTranslation","t","_useFolderStore2","_store$alertState","_store$alertState2","type","item","_useDestroyFolder","useDestroyFolder","destroyFolder","mutateAsync","isPending","_useFolders","useFolders","folders","onClose","alertState","alertProps","isOpen","isSubmitting","onConfirmDelete","onSuccess","_config$onUpdateSucce","isActive","isActiveFolder","sid","invalidationKeys","concat","_toConsumableArray","QUERY_KEYS","FOLDERS","DETAILS","forEach","queryKey","invalidateQueries","refetchType","path","pathToFolder","id","parent","length","redirectUrl","buildUrl","folderPath","_objectSpread","folderId","replace","onUpdateSuccess","call","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","key","createInitialValues","defaults","extraAttrs","parentId","defaultValue","createPayload","payload","filterExtraAttributes","isEditing","filter","attribute","isEditAttribute","isCreateAttribute","AddEditPane","_config$addEditValida","setFocusField","folderSid","_store$paneState","_store$paneState2","_useFetchFolders","useFetchFolders","isFetching","_useCreateFolder","useCreateFolder","createFolder","mutate","_useUpdateFolder","useUpdateFolder","updateFolder","activeFolderSid","getActiveFolderId","extraAttributes","filteredExtraAttributes","useMemo","handleError","setStatus","error","response","data","errors","onSubmitForm","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","reactQueryOptions","wrap","_callee$","_context","prev","next","_ref4","newPath","window","location","pathname","href","lastCreatedFolderId","showThumbsUpToastr","onError","showToastr","initialSlug","stop","_x","_x2","apply","arguments","initialValues","Sheet","Body","className","children","Spinner","_jsxs","_Fragment","Header","Title","Form","formikProps","enableReinitialize","validationSchema","addEditValidationSchema","_ref5","dirty","label","ref","TreeSelect","allowClear","showSearch","initialValue","Typography","variant","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps","disabled","Node","_folder$children$leng","_folder$children","_ref$icon","icon","itemLabel","folder","folderLabel","depth","_ref$hideTreeIndent","hideTreeIndent","metaInfo","childCount","push","toLowerCase","itemCount","from","_","index","style","width","REORDER_TREE_INDENT_WIDTH","insetInlineStart","Math","round","top","hyphenate","classNames","weight","join","forwardRef","SelectableNode","_ref$depth","maxDepth","selection","onSelect","isDisabled","labels","renderChildren","isNotPresent","child","_SelectableNode","undefined","RadioGroup","Item","readOnly","checked","noop","createTree","isRootEnabled","PaneBody","_ref$isRootEnabled","removeButtonProps","onRemove","_useState","useState","_useState2","_slicedToArray","setSelection","_useFetchFolders$data","tree","Number","POSITIVE_INFINITY","foldersMap","treeToMap","folderDepth","measureDepth","onAddFolder","paneState","_useFolderStore3","_store$lastCreatedFol","useEffect","useHotkeys","mode","enabled","Button","MoveFolderPane","onSaveSelection","toastApiError","loading","DraggableNode","_useDraggable","useDraggable","isDragging","listeners","setDraggableRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableRef","_child$children$lengt","_child$children","_DraggableNode","RearrangeFoldersPane","_tree$children$length","_tree$children","_dragItem$children$le","_dragItem$children","dragItem","setDragItem","_useState3","_useState4","changes","setChanges","_useReorderFolders","useReorderFolders","reorderFolders","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","setTree","onDragEnd","_activeFolder$meta$pa","active","over","activeFolder","current","overFolder","meta","activeDepth","overDepth","Toastr","newTree","mapToTree","assoc","nodeProps","GripVertical","DndContext","onDragStart","isEmpty","createPortal","DragOverlay","zIndex","document","body","PlaceholderNode","dragState","overItem","useId","_overItem$meta$parent","isOverItem","isOverParent","isRoot","React","Fragment","initialDragState","activeItem","sensorConfig","activationConstraint","distance","measuringConfig","droppable","frequency","ReorderFoldersPane","_dragState$activeItem","_dragState$activeItem2","_dragState$activeItem3","setDragState","sensors","useSensors","useSensor","PointerSensor","baseTree","setBaseTree","mapToSortedTree","targetFolder","targetIndex","srcDepth","dstDepth","__index","collisionDetection","closestCenter","measuring","onDragOver","FoldersPane","configProps","DEFAULT_CONFIG","useRef","commonProps","ReorderPaneComponent","reorderMode","initialFocusRef","FoldersContext","FolderTile","_folder$children$leng2","_folder$children2","_ref$isPreview","isPreview","isSelected","link","actions","draggable","actionCallback","callback","event","preventDefault","menuItems","onEdit","onMove","onDelete","Link","to","Checkbox","onCheckedChange","stopPropagation","MoreDropdown","dropdownButtonProps","dropdownProps","FoldersDnd","onDropItem","onDrop","renderItemOverlay","renderOverlay","onDropFolder","handleDragStart","handleDragEnd","renderFolderOverlay","dropAnimation","modifiers","snapCenterToCursor","FoldersList","_ref$selection","params","_useFolder","useFolder","useFolderActions","subFolders","includes","DraggableWrapper","_ref$id","MoveToFolderPane","FolderIcon","props","fill","height","size","viewBox","xmlns","d","FolderIconOpen","isExpanded","node","isPrivate","_node$isFolder","isFolder","folderActions","itemActions","_ref2$getMoreActions","getMoreActions","_ref2$getAddActions","getAddActions","moreActions","addActions","hasMoreActions","isNotEmpty","hasAddActions","hasAnyActions","NavLink","activeClassName","as","Lock","e","Plus","tooltipProps","content","position","DownIcon","RightIcon","SwitcherIcon","expanded","splitItemsByFolder","items","reduce","acc","value","isLeaf","itemsByFolderId","rootItems","appendItemsToFolders","buildTreeWithItems","_splitItemsByFolder","foldersWithItems","toAtomsTreeData","nodes","FoldersTree","Set","expandedKeysSet","setExpandedKeysSet","expandedKeys","treeData","updateExpandedKeys","_activeFolder$meta","updatedExpandedKeys","parentSid","has","add","handleExpand","keys","keysSet","removeChildKeys","startTransition","Tree","autoExpandParent","blockNode","indent","rowHeight","selectedKeys","showLine","switcherIcon","titleRender","onExpand","createFolderOptions","_ref$label","_ref$placeholder","placeholder","_ref$disabled","_ref$required","_ref$showSearch","_ref$allowClear","otherProps","_useFormikContext","useFormikContext","setFieldValue","isValidParent","folderOptions","NeetoUITreeSelect","isClearable","isSearchable","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sources":["../../../app/javascript/src/v2/components/internal/Alerts.jsx","../../../app/javascript/src/v2/components/internal/Pane/AddEdit/constants.js","../../../app/javascript/src/v2/components/internal/Pane/AddEdit/Extra.jsx","../../../app/javascript/src/v2/components/internal/Pane/AddEdit/utils.js","../../../app/javascript/src/v2/components/internal/Pane/AddEdit/index.jsx","../../../app/javascript/src/v2/components/internal/Pane/Node.jsx","../../../app/javascript/src/v2/components/internal/Pane/Move/SelectableNode.jsx","../../../app/javascript/src/v2/components/internal/Pane/Move/Body.jsx","../../../app/javascript/src/v2/components/internal/Pane/Move/index.jsx","../../../app/javascript/src/v2/components/internal/Pane/Rearrange/DraggableNode.jsx","../../../app/javascript/src/v2/components/internal/Pane/Rearrange/index.jsx","../../../app/javascript/src/v2/components/internal/Pane/Reorder/PlaceholderNode.jsx","../../../app/javascript/src/v2/components/internal/Pane/Reorder/DraggableNode.jsx","../../../app/javascript/src/v2/components/internal/Pane/Reorder/index.jsx","../../../app/javascript/src/v2/components/internal/Pane/index.jsx","../../../app/javascript/src/v2/components/Context.jsx","../../../app/javascript/src/v2/components/List/Tile.jsx","../../../app/javascript/src/v2/components/Dnd.jsx","../../../app/javascript/src/v2/components/List/index.jsx","../../../app/javascript/src/v2/components/List/Draggable.jsx","../../../app/javascript/src/v2/components/MoveToFolderPane.jsx","../../../app/javascript/src/v2/components/Tree/FolderIcon.jsx","../../../app/javascript/src/v2/components/Tree/FolderIconOpen.jsx","../../../app/javascript/src/v2/components/Tree/Node.jsx","../../../app/javascript/src/v2/components/Tree/DownIcon.jsx","../../../app/javascript/src/v2/components/Tree/RightIcon.jsx","../../../app/javascript/src/v2/components/Tree/SwitcherIcon.jsx","../../../app/javascript/src/v2/components/Tree/utils.js","../../../app/javascript/src/v2/components/Tree/index.jsx","../../../app/javascript/src/v2/components/TreeSelect/utils.js","../../../app/javascript/src/v2/components/TreeSelect/index.jsx"],"sourcesContent":["import { Alert } from \"@bigbinary/neeto-atoms\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\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 const redirectUrl = parent\n ? buildUrl(config.folderPath, {\n ...queryParams,\n folderId: parent.sid,\n })\n : \"/\";\n history.replace(redirectUrl);\n }\n\n config.onUpdateSuccess?.();\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 \"@bigbinary/neeto-atoms/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","export 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\nexport const filterExtraAttributes = (attributes, isEditing) => {\n if (!attributes || !Array.isArray(attributes)) return [];\n\n return attributes.filter(attribute => {\n if (isEditing) {\n return attribute.isEditAttribute !== false;\n }\n\n return attribute.isCreateAttribute !== false;\n });\n};\n","import { useMemo } from \"react\";\n\nimport { Sheet, Spinner, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input, ActionBlock, Form } from \"@bigbinary/neeto-atoms/formik\";\nimport { showThumbsUpToastr } from \"neetocommons/v2/utils\";\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 { TreeSelect } from \"v2/components\";\n\nimport { FORM_VALIDATION_SCHEMA } from \"./constants\";\nimport ExtraAttributes from \"./Extra\";\nimport {\n createInitialValues,\n createPayload,\n filterExtraAttributes,\n} from \"./utils\";\n\nconst AddEditPane = ({ setFocusField, config, onClose, folderSid }) => {\n const { t } = useTranslation(config);\n const { type, item } = useFolderStore.pick(\"paneState\");\n const { setFolderState } = useFolderStore.pick();\n const { isFetching } = useFetchFolders(config);\n const { mutate: createFolder } = useCreateFolder(config);\n const { mutateAsync: updateFolder } = useUpdateFolder(config);\n\n const isEditing = type === \"edit\" && item;\n const activeFolderSid = folderSid || getActiveFolderId(config);\n const extraAttributes = config.extraAttributes;\n\n const filteredExtraAttributes = useMemo(\n () => filterExtraAttributes(extraAttributes, isEditing),\n [extraAttributes, isEditing]\n );\n\n const handleError = (setStatus, error) => {\n const { response } = error;\n if (response && response.data && response.data.errors) {\n setStatus(response.data.errors);\n }\n };\n\n const onSubmitForm = async (values, { setStatus }) => {\n const payload = createPayload(values, filteredExtraAttributes);\n const reactQueryOptions = {\n onSuccess: ({ id, sid }) => {\n if (isEditing && sid !== item.sid) {\n const newPath = window.location.pathname.replace(\n activeFolderSid,\n sid\n );\n window.location.href = newPath;\n } else if (!isEditing) {\n setFolderState({ lastCreatedFolderId: id });\n }\n showThumbsUpToastr();\n onClose();\n },\n onError: error => handleError(setStatus, error),\n };\n\n const config = { showToastr: false };\n\n isEditing\n ? await updateFolder(\n { id: item.id, payload, config, initialSlug: item.sid },\n reactQueryOptions\n )\n : await createFolder({ payload, config }, reactQueryOptions);\n };\n\n const initialValues = useMemo(\n () => (isEditing ? item : createInitialValues({}, filteredExtraAttributes)),\n [isEditing, item, filteredExtraAttributes]\n );\n\n if (isFetching) {\n return (\n <Sheet.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Sheet.Body>\n );\n }\n\n return (\n <>\n <Sheet.Header>\n <Sheet.Title>\n {isEditing ? t(\"folders.edit\") : t(\"folders.add\")}\n </Sheet.Title>\n </Sheet.Header>\n <Form\n className=\"flex flex-grow flex-col\"\n formikProps={{\n initialValues,\n enableReinitialize: true,\n validationSchema:\n config.addEditValidationSchema?.(isEditing) ||\n FORM_VALIDATION_SCHEMA,\n onSubmit: onSubmitForm,\n }}\n >\n {({ dirty }) => (\n <>\n <Sheet.Body className=\"pb-6\">\n <div 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={filteredExtraAttributes} />\n <div>\n <TreeSelect\n {...{ config }}\n allowClear\n showSearch\n initialValue={folderSid}\n label={t(\"createFolder.parentTitle\")}\n name=\"parentId\"\n />\n <Typography className=\"mt-1\" variant=\"body3\">\n {t(\"createFolder.parentInfo\")}\n </Typography>\n </div>\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{ disabled: !dirty }}\n />\n </Sheet.Footer>\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default AddEditPane;\n","import { forwardRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst Node = (\n {\n icon = null,\n itemLabel,\n folder,\n folderLabel,\n depth,\n hideTreeIndent = false,\n className,\n onClick,\n ...rest\n },\n ref\n) => {\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n childCount > 0 && metaInfo.push(`${childCount} ${folderLabel}`.toLowerCase());\n folder.itemCount > 0 &&\n metaInfo.push(`${folder.itemCount} ${itemLabel}`.toLowerCase());\n\n return (\n <div className=\"flex w-full min-w-0\">\n {!hideTreeIndent &&\n Array.from({ length: depth + 1 }).map((_, index) => (\n <span\n className=\"border-border relative h-full flex-shrink-0 border-s\"\n key={index}\n style={{\n width: REORDER_TREE_INDENT_WIDTH,\n insetInlineStart: Math.round(REORDER_TREE_INDENT_WIDTH / 2),\n }}\n >\n {index === depth && (\n <span\n aria-hidden\n className=\"border-border absolute border-t\"\n style={{\n insetInlineStart: 0,\n top: \"50%\",\n width: Math.round(REORDER_TREE_INDENT_WIDTH / 2),\n }}\n />\n )}\n </span>\n ))}\n <div\n {...{ ...rest, onClick, ref }}\n data-testid={`${hyphenate(folder.name)}-folder-node`}\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=\"ms-2 flex items-baseline gap-2\">\n <Typography variant=\"body1\" weight=\"medium\">\n {folder.name}\n </Typography>\n {metaInfo.length > 0 && (\n <Typography\n className=\"text-muted-foreground\"\n variant=\"body3\"\n weight=\"normal\"\n >\n {metaInfo.join(\" . \")}\n </Typography>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default forwardRef(Node);\n","import { RadioGroupItem } from \"@bigbinary/neeto-atoms/primitives\";\nimport classNames from \"classnames\";\nimport { isNotPresent, noop, hyphenate } from \"neetocist\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nexport const toRadioValue = id => (id == null ? \"__root__\" : String(id));\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 const itemLabel = config.labels[folder.itemCount > 1 ? \"items\" : \"item\"];\n const folderLabel =\n config.labels[(folder.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"];\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 title={isDisabled ? t(\"moveToFolder.notAllowed\") : undefined}\n className={classNames(\"flex flex-col w-full min-w-0\", {\n \"opacity-60\": isDisabled,\n })}\n >\n <Node\n {...{ ...rest, depth, folder, folderLabel, itemLabel }}\n icon={\n <RadioGroupItem\n data-testid={`${hyphenate(folder.name)}-folder-option`}\n disabled={isDisabled}\n value={toRadioValue(folder.id)}\n />\n }\n onClick={isDisabled ? noop : () => onSelect(folder)}\n />\n {renderChildren()}\n </div>\n );\n};\n\nexport default SelectableNode;\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Button, Sheet, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { RadioGroup } from \"@bigbinary/neeto-atoms/primitives\";\nimport useHotkeys from \"neetohotkeys\";\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, { toRadioValue } from \"./SelectableNode\";\n\nconst createTree = (folders, isRootEnabled) =>\n isRootEnabled ? [{ name: \"/\", id: null, children: folders }] : folders;\n\nconst PaneBody = ({\n isRootEnabled = true,\n item,\n config,\n submitButtonProps,\n cancelButtonProps,\n removeButtonProps,\n onSubmit,\n onClose,\n onRemove,\n parentId,\n}) => {\n const parent = item?.parentId || parentId || null;\n const [selection, setSelection] = useState(parent);\n const { setFolderState } = useFolderStore.pick();\n const { data: folders = [], isFetching } = useFetchFolders(config);\n const { t } = useTranslation(config);\n const { type } = useFolderStore.pick(\"paneState\");\n\n const tree = useMemo(\n () => createTree(folders, isRootEnabled),\n [folders, isRootEnabled]\n );\n\n let maxDepth = Number.POSITIVE_INFINITY;\n\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\n if (folder) {\n const folderDepth = measureDepth(folder) + 1; // +1 for own depth;\n maxDepth = config.maxDepth - folderDepth;\n if (isRootEnabled) maxDepth += 1; // +1 for root folder.\n }\n }\n\n const onAddFolder = () => {\n setFolderState({ paneState: { type: \"add\", item: null } });\n };\n\n const { lastCreatedFolderId } = useFolderStore.pick(\"lastCreatedFolderId\");\n\n useEffect(() => {\n if (lastCreatedFolderId == null) return;\n setSelection(lastCreatedFolderId);\n setFolderState({ lastCreatedFolderId: null });\n }, [lastCreatedFolderId]);\n\n useHotkeys([\"command+enter\", \"enter\"], () => onSubmit(selection), {\n mode: \"global\",\n enabled: !!type,\n });\n\n if (isFetching) {\n return (\n <Sheet.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Sheet.Body>\n );\n }\n\n return (\n <>\n <Sheet.Header className=\"flex flex-row items-center justify-between\">\n <Sheet.Title>{t(\"moveToFolder.title\")}</Sheet.Title>\n <Button\n className=\"absolute end-12 top-3\"\n data-testid=\"add-new-folder-button\"\n label={t(\"folders.add\")}\n size=\"sm\"\n variant=\"outline\"\n onClick={onAddFolder}\n />\n </Sheet.Header>\n <Sheet.Body className=\"pb-6\">\n <RadioGroup className=\"contents\" value={toRadioValue(selection)}>\n {tree.map(folder => (\n <SelectableNode\n {...{ config, folder, item, maxDepth, selection }}\n disabled={item?.id === folder.id || maxDepth <= 0}\n key={folder.id}\n onSelect={folder => setSelection(folder.id)}\n />\n ))}\n </RadioGroup>\n </Sheet.Body>\n <Sheet.Footer className=\"space-x-2\">\n <div className=\"flex flex-1 space-x-2\">\n <Button\n label={t(\"common.save\")}\n variant=\"default\"\n onClick={() => onSubmit(selection)}\n {...submitButtonProps}\n data-testid=\"save-changes-button\"\n disabled={selection === parent || submitButtonProps?.disabled}\n />\n <Button\n label={t(\"common.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n {...cancelButtonProps}\n data-testid=\"cancel-button\"\n />\n </div>\n {onRemove && (\n <Button\n label={t(\"moveToFolder.remove\")}\n variant=\"outline\"\n onClick={onRemove}\n {...removeButtonProps}\n data-testid=\"remove-from-folder-button\"\n />\n )}\n </Sheet.Footer>\n </>\n );\n};\n\nexport default PaneBody;\n","import { useUpdateFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { toastApiError } from \"utils/internal\";\n\nimport PaneBody from \"./Body\";\n\nconst MoveFolderPane = ({ config, onClose }) => {\n const { item } = useFolderStore.pick(\"paneState\");\n const { isPending, mutate: updateFolder } = useUpdateFolder(config);\n\n const onSaveSelection = parentId => {\n const payload = { id: item.id, parentId };\n updateFolder(\n { id: item.id, payload, config: { showToastr: false } },\n {\n onSuccess: () => {\n onClose();\n config.onUpdateSuccess?.();\n },\n onError: toastApiError,\n }\n );\n };\n\n return (\n <PaneBody\n {...{ config, item, onClose }}\n submitButtonProps={{ loading: isPending, disabled: isPending }}\n onSubmit={onSaveSelection}\n />\n );\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 = ({\n folder,\n depth = 0,\n config,\n folderLabel,\n itemLabel,\n ...rest\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: 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, config }}\n depth={depth + 1}\n folder={child}\n itemLabel={config.labels[child?.itemCount > 1 ? \"items\" : \"item\"]}\n key={child.id}\n folderLabel={\n config.labels[\n (child?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n ));\n };\n\n return (\n <>\n <Node\n {...rest}\n className={classNames({\n \"rounded-lg hover:bg-muted w-full min-w-0 cursor-move transition-colors\": true,\n \"bg-muted opacity-50\": isDragging,\n \"border-primary border\": isOver,\n \"border border-transparent\": !isOver,\n })}\n {...{\n depth,\n folder,\n ...attributes,\n ...listeners,\n folderLabel,\n itemLabel,\n }}\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 { Button, Sheet, Spinner, Toastr } from \"@bigbinary/neeto-atoms\";\nimport { DndContext, DragOverlay } from \"@dnd-kit/core\";\nimport { GripVertical } from \"lucide-react\";\nimport { useStateWithDependency } from \"neetocommons/v2/react-utils\";\nimport useHotkeys from \"neetohotkeys\";\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 useFolderStore from \"stores/foldersStore\";\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, isFetching } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\n const { type } = useFolderStore.pick(\"paneState\");\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, {\n onSuccess: () => {\n onClose();\n config.onUpdateSuccess?.();\n },\n });\n };\n\n useHotkeys([\"command+enter\", \"enter\"], onSubmit, {\n mode: \"global\",\n enabled: !!type,\n });\n\n const nodeProps = {\n icon: (\n <GripVertical className=\"text-muted-foreground relative -start-[0.3125rem] size-4 flex-shrink-0\" />\n ),\n };\n\n if (isFetching) {\n return (\n <Sheet.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Sheet.Body>\n );\n }\n\n return (\n <>\n <Sheet.Header>\n <Sheet.Title>{t(\"reorderFolder.title\")}</Sheet.Title>\n </Sheet.Header>\n <DndContext\n {...{ onDragEnd }}\n onDragStart={({ active }) => setDragItem(active.data.current)}\n >\n <Sheet.Body className=\"pb-6\">\n <DraggableNode\n {...{ ...nodeProps, config }}\n folder={tree}\n itemLabel={config.labels[tree?.itemCount > 1 ? \"items\" : \"item\"]}\n key={tree.id}\n folderLabel={\n config.labels[\n (tree?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n </Sheet.Body>\n <Sheet.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n variant=\"default\"\n onClick={onSubmit}\n />\n <Button\n label={t(\"common.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragItem && (\n <Node\n hideTreeIndent\n {...nodeProps}\n className=\"bg-muted\"\n depth={0}\n folder={dragItem}\n folderLabel={\n config.labels[\n (dragItem?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n itemLabel={\n config.labels[dragItem?.itemCount > 1 ? \"items\" : \"item\"]\n }\n />\n )}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n </>\n );\n};\n\nexport default RearrangeFoldersPane;\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 + 1) }} />\n <div\n ref={setDroppableRef}\n className={classNames({\n \"min-w-0 flex-1 transition-colors\": true,\n \"border-primary 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 = ({\n folder,\n config,\n dragState,\n folderLabel,\n itemLabel,\n ...rest\n}) => {\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, config, dragState }}\n depth={child.meta.depth}\n folder={child}\n itemLabel={config.labels[child?.itemCount > 1 ? \"items\" : \"item\"]}\n key={child.id}\n folderLabel={\n config.labels[\n (child?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n ))}\n </React.Fragment>\n );\n };\n\n return (\n <>\n <Node\n depth={folder.meta.depth}\n {...{\n ...rest,\n folder,\n ...attributes,\n ...listeners,\n folderLabel,\n itemLabel,\n }}\n className={classNames({\n \"hover:bg-muted w-full cursor-move transition-colors\": true,\n \"bg-muted opacity-50\": isDragging,\n \"bg-accent\": isOverParent,\n \"border-primary 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 { Button, Sheet, Spinner, Toastr } from \"@bigbinary/neeto-atoms\";\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { GripVertical } from \"lucide-react\";\nimport { useStateWithDependency } from \"neetocommons/v2/react-utils\";\nimport useHotkeys from \"neetohotkeys\";\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 useFolderStore from \"stores/foldersStore\";\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, isFetching } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n const { type } = useFolderStore.pick(\"paneState\");\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, {\n onSuccess: () => {\n onClose();\n config.onUpdateSuccess?.();\n },\n });\n };\n\n useHotkeys([\"command+enter\", \"enter\"], onSubmit, {\n mode: \"global\",\n enabled: !!type,\n });\n\n const nodeProps = {\n icon: (\n <GripVertical className=\"text-muted-foreground relative -start-[0.3125rem] size-4 flex-shrink-0\" />\n ),\n };\n\n if (isFetching) {\n return (\n <Sheet.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Sheet.Body>\n );\n }\n\n return (\n <>\n <Sheet.Header>\n <Sheet.Title>{t(\"reorderFolder.title\")}</Sheet.Title>\n </Sheet.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 <Sheet.Body className=\"pb-6\">\n <DraggableNode\n {...{ ...nodeProps, config, dragState }}\n folder={tree}\n itemLabel={config.labels[tree?.itemCount > 1 ? \"items\" : \"item\"]}\n key={tree.id}\n folderLabel={\n config.labels[\n (tree?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n </Sheet.Body>\n <Sheet.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n variant=\"default\"\n onClick={onSubmit}\n />\n <Button\n label={t(\"common.cancel\")}\n variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragState && (\n <Node\n hideTreeIndent\n {...nodeProps}\n className=\"bg-muted ps-4 pe-12\"\n depth={0}\n folder={dragState.activeItem}\n folderLabel={\n config.labels[\n (dragState.activeItem?.children?.length ?? 0) > 1\n ? \"folders\"\n : \"folder\"\n ]\n }\n itemLabel={\n config.labels[\n dragState.activeItem?.itemCount > 1 ? \"items\" : \"item\"\n ]\n }\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 { useRef } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\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 setFocusField = useRef(null);\n const { paneState, setFolderState } = useFolderStore.pick();\n const { type, ...rest } = paneState || {};\n\n const onClose = () => setFolderState({ paneState: null });\n const commonProps = { config, onClose, ...rest };\n\n const ReorderPaneComponent =\n config.reorderMode === \"reorder\"\n ? ReorderFoldersPane\n : RearrangeFoldersPane;\n\n return (\n <Sheet\n {...{ onClose }}\n initialFocusRef={setFocusField}\n isOpen={!!type}\n size=\"large\"\n >\n {(type === \"edit\" || type === \"add\") && (\n <AddEditPane {...{ setFocusField, ...commonProps }} />\n )}\n {type === \"move\" && <MoveFolderPane {...commonProps} />}\n {type === \"reorder\" && <ReorderPaneComponent {...commonProps} />}\n </Sheet>\n );\n};\n\nexport default FoldersPane;\n","import FoldersAlerts from \"v2/components/internal/Alerts\";\nimport FoldersPane from \"v2/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 { Checkbox, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { Link } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\nimport { DEFAULT_CONFIG } from \"src/constants/config\";\n\nconst FolderTile = ({\n isPreview = false,\n isSelected,\n link,\n folder,\n actions,\n config,\n onSelect,\n}) => {\n const { t } = useTranslation(config);\n\n const droppable = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isPreview,\n });\n\n const draggable = useDraggable({\n id: `draggable-item--${folder.id}`,\n data: { ...folder, type: DEFAULT_CONFIG.type },\n disabled: isPreview,\n });\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.moveToFolder\"),\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 const itemLabel = config.labels[folder.itemCount > 1 ? \"items\" : \"item\"];\n const folderLabel =\n config.labels[(folder.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"];\n childCount > 0 && metaInfo.push(`${childCount} ${folderLabel}`.toLowerCase());\n metaInfo.push(`${folder.itemCount || 0} ${itemLabel}`.toLowerCase());\n\n return (\n <Link\n data-testid={`${hyphenate(folder.name)}-folder-tile`}\n to={link}\n className={classNames(\n \"bg-muted border-border rounded-md hover:border-primary relative flex max-w-full items-start gap-2 border-2 p-3 transition-colors ease-in\",\n {\n \"bg-accent\": droppable.isOver,\n \"opacity-50\": draggable.isDragging,\n \"scale-75\": isPreview,\n }\n )}\n {...droppable.attributes}\n {...droppable.listeners}\n {...draggable.attributes}\n {...draggable.listeners}\n ref={ref => {\n droppable.setNodeRef(ref);\n draggable.setNodeRef(ref);\n }}\n >\n <Checkbox\n checked={isSelected}\n className=\"m-0 flex-shrink-0 flex-grow-0 pt-0.5\"\n name={folder.id}\n onCheckedChange={checked => onSelect(folder, 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 pe-8\"\n data-testid=\"folder-name\"\n title={folder.name}\n variant=\"body1\"\n weight=\"medium\"\n >\n {folder.name}\n </Typography>\n <Typography className=\"text-muted-foreground\" variant=\"body3\">\n {metaInfo.join(\" . \")}\n </Typography>\n </span>\n <MoreDropdown\n {...{ menuItems }}\n dropdownProps={{ onClick: event => event.preventDefault() }}\n dropdownButtonProps={{\n className: \"absolute end-2 top-2\",\n onClick: event => event.preventDefault(),\n }}\n />\n </Link>\n );\n};\n\nexport default FolderTile;\n","import { useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { snapCenterToCursor } from \"@dnd-kit/modifiers\";\nimport { noop } from \"neetocist\";\n\nimport { useUpdateFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { DEFAULT_CONFIG } from \"src/constants/config\";\nimport { toastApiError } from \"utils/internal\";\nimport FolderTile from \"v2/components/List/Tile\";\n\nconst sensorConfig = { activationConstraint: { distance: 8 } };\n\nconst FoldersDnd = ({\n config,\n children,\n onDrop: onDropItem,\n renderOverlay: renderItemOverlay,\n}) => {\n const [dragItem, setDragItem] = useState(null);\n const { mutate: updateFolder } = useUpdateFolder(config);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n const onDropFolder = (folder, parent) => {\n if (!folder || !parent || folder.id === parent.id) return;\n updateFolder(\n {\n id: folder.id,\n payload: { id: folder.id, parentId: parent.id },\n initialSlug: folder.sid,\n config: { showToastr: false },\n },\n { onError: toastApiError }\n );\n };\n\n const handleDragStart = ({ active }) => {\n setDragItem(active.data.current);\n };\n\n const handleDragEnd = ({ active, over }) => {\n setDragItem(null);\n if (!active || !over) return;\n\n if (active.data.current.type === DEFAULT_CONFIG.type) {\n onDropFolder(active.data.current, over.data.current);\n } else onDropItem(active.data.current, over.data.current);\n };\n\n const renderFolderOverlay = dragItem => (\n <FolderTile\n {...{ config }}\n isPreview\n actions={{}}\n folder={dragItem}\n onSelect={noop}\n />\n );\n\n return (\n <DndContext\n {...{ sensors }}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n >\n {children}\n <DragOverlay dropAnimation={null} modifiers={[snapCenterToCursor]}>\n {dragItem &&\n (dragItem.type !== DEFAULT_CONFIG.type\n ? renderItemOverlay(dragItem)\n : renderFolderOverlay(dragItem))}\n </DragOverlay>\n </DndContext>\n );\n};\n\nexport default FoldersDnd;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\n\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 { folders } = useFolders(config);\n const { folderId, folder } = useFolder(config);\n const actions = useFolderActions(config);\n const subFolders = folderId ? folder?.children : folders;\n\n if (isNotPresent(subFolders) || !Array.isArray(subFolders)) return null;\n\n return (\n <>\n <Typography className=\"my-3\" variant=\"h6\">\n {t(\"folders.title\")}\n </Typography>\n <div\n className=\"neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4\"\n data-testid=\"folders-list\"\n >\n {subFolders.map(folder => (\n <FolderTile\n {...{ actions, config, folder, onSelect }}\n isSelected={selection.includes(folder.id)}\n key={folder.id}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n ))}\n </div>\n </>\n );\n};\n\nexport default FoldersList;\n","import { useDraggable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nconst DraggableWrapper = ({ data, id = data.id, children }) => {\n const draggable = useDraggable({\n id: `folders-list-draggable-item--${id}`,\n data,\n });\n\n return (\n <div\n className={classNames({ \"opacity-50\": draggable.isDragging })}\n {...draggable.attributes}\n {...draggable.listeners}\n ref={draggable.setNodeRef}\n >\n {children}\n </div>\n );\n};\n\nexport default DraggableWrapper;\n","import { Sheet } from \"@bigbinary/neeto-atoms\";\n\nimport PaneBody from \"v2/components/internal/Pane/Move/Body\";\n\nconst MoveToFolderPane = ({ isOpen, onClose, ...rest }) => (\n <Sheet {...{ isOpen, onClose }} size=\"large\">\n <PaneBody {...{ ...rest, onClose }} />\n </Sheet>\n);\n\nexport default MoveToFolderPane;\n","const FolderIcon = props => (\n <svg\n fill=\"none\"\n height={props.size}\n viewBox=\"0 0 16 16\"\n width={props.size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M3.202 12.798h9.6c.882 0 1.6-.717 1.6-1.6v-6c0-.882-.718-1.6-1.6-1.6H9.069a.8.8 0 0 1-.48-.16l-.96-.72a1.6 1.6 0 0 0-.96-.32H3.202c-.883 0-1.6.718-1.6 1.6v7.2c0 .883.717 1.6 1.6 1.6\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default FolderIcon;\n","const FolderIconOpen = props => (\n <svg\n fill=\"none\"\n height={props.size}\n viewBox=\"0 0 16 16\"\n width={props.size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"m2.2 7.24-.59 1.765V4c0-.882.717-1.6 1.6-1.6h3.467c.345 0 .682.113.96.32l.96.72c.137.105.307.16.48.16h2.932c.883 0 1.6.718 1.6 1.6v.4H4.474c-1.032 0-1.95.66-2.277 1.64zm10.544 5.56h-9.47c-.82 0-1.397-.802-1.137-1.58l1.2-3.6c.162-.49.622-.82 1.137-.82h9.47c.82 0 1.398.803 1.138 1.58l-1.2 3.6c-.163.49-.623.82-1.138.82\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default FolderIconOpen;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Lock, Plus } from \"lucide-react\";\nimport { isNotEmpty, hyphenate, noop } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { NavLink } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nimport FolderIcon from \"./FolderIcon\";\nimport FolderIconOpen from \"./FolderIconOpen\";\n\nconst Node = ({ isActive, isExpanded, node, link, config }) => {\n const { t } = useTranslation();\n const { isPrivate, name, isFolder = true } = node;\n\n const { getMoreActions = noop, getAddActions = noop } = isFolder\n ? config.folderActions\n : config.itemActions;\n\n const moreActions = getMoreActions(node) || [];\n const addActions = getAddActions(node) || [];\n\n const hasMoreActions = isNotEmpty(moreActions);\n const hasAddActions = isNotEmpty(addActions);\n const hasAnyActions = hasMoreActions || hasAddActions;\n\n return (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-sidebar-folders-tree__folder-node\"\n isActive={() => isActive}\n to={link}\n >\n <div\n className=\"flex items-center justify-between w-full group relative\"\n data-testid={`${hyphenate(name)}-${isFolder ? \"folder\" : \"item\"}-sublink`}\n title=\"\"\n >\n {isFolder &&\n (isExpanded ? (\n <FolderIconOpen className=\"flex-shrink-0 me-1\" size={16} />\n ) : (\n <FolderIcon className=\"flex-shrink-0 me-1\" size={16} />\n ))}\n <div className=\"flex items-center min-w-0 flex-1\">\n <Typography\n as=\"span\"\n className=\"line-clamp-1 block truncate ps-0.5\"\n title={name}\n variant=\"body2\"\n >\n {name}\n </Typography>\n {isPrivate && (\n <span title={t(\"common.private\")}>\n <Lock className=\"flex-shrink-0 ms-1\" size={16} />\n </span>\n )}\n </div>\n {hasAnyActions && (\n <div\n className=\"flex items-center gap-0.5 py-0.5 absolute end-0 top-0 h-full neeto-sidebar-folders-tree__folder-node-actions rounded-md ps-2\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n {hasAddActions && (\n <MoreDropdown\n menuItems={addActions}\n dropdownButtonProps={{\n icon: Plus,\n size: \"icon\",\n tooltipProps: { content: \"Add\", position: \"top\" },\n className:\n \"opacity-0 group-hover:opacity-100 transition-opacity neeto-sidebar-folders-tree__action-button size-5\",\n }}\n />\n )}\n {hasMoreActions && (\n <MoreDropdown\n menuItems={moreActions}\n dropdownButtonProps={{\n size: \"icon\",\n className:\n \"opacity-0 group-hover:opacity-100 transition-opacity neeto-sidebar-folders-tree__action-button size-5\",\n }}\n />\n )}\n </div>\n )}\n </div>\n </NavLink>\n );\n};\n\nexport default Node;\n","const DownIcon = props => (\n <svg\n fill=\"none\"\n height=\"6\"\n viewBox=\"0 0 6 6\"\n width=\"6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M3.803 5.475a.35.35 0 0 1-.606 0l-2.425-4.2A.35.35 0 0 1 1.075.75h4.85a.35.35 0 0 1 .303.525z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default DownIcon;\n","const RightIcon = props => (\n <svg\n fill=\"none\"\n height=\"6\"\n viewBox=\"0 0 6 6\"\n width=\"6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M5.475 2.697a.35.35 0 0 1 0 .606l-4.2 2.425a.35.35 0 0 1-.525-.303V.575a.35.35 0 0 1 .525-.303z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default RightIcon;\n","import DownIcon from \"./DownIcon\";\nimport RightIcon from \"./RightIcon\";\n\nconst SwitcherIcon = ({ expanded }) =>\n expanded ? (\n <DownIcon className=\"relative\" size={16} />\n ) : (\n <RightIcon className=\"relative\" size={16} />\n );\n\nexport default SwitcherIcon;\n","const splitItemsByFolder = items =>\n items.reduce(\n (acc, item) => {\n const value = { ...item, isFolder: false, isLeaf: true };\n if (item.folderId) {\n if (!acc.itemsByFolderId[item.folderId]) {\n acc.itemsByFolderId[item.folderId] = [];\n }\n acc.itemsByFolderId[item.folderId].push({ ...value });\n } else {\n acc.rootItems.push(value);\n }\n\n return acc;\n },\n { itemsByFolderId: {}, rootItems: [] }\n );\n\nconst appendItemsToFolders = (folders, itemsByFolderId) =>\n folders.map(folder => ({\n ...folder,\n isFolder: true,\n isLeaf: false,\n children: [\n ...appendItemsToFolders(folder.children || [], itemsByFolderId),\n ...(itemsByFolderId[folder.id] || []),\n ],\n }));\n\nexport const buildTreeWithItems = (folders, { items }) => {\n if (!items || !folders) return folders;\n\n const { itemsByFolderId, rootItems } = splitItemsByFolder(items);\n const foldersWithItems = appendItemsToFolders(folders, itemsByFolderId);\n\n return [...foldersWithItems, ...rootItems];\n};\n\n// neeto-atoms Tree (react-arborist based) requires `key`/`title` on every node\n// and has no `fieldNames` prop, unlike neetoui's antd Tree which used\n// fieldNames={{ key: \"sid\" }}. Map them in while preserving the original fields\n// (sid, link, meta, isFolder, isPrivate, …) so titleRender/onExpand keep working.\nexport const toAtomsTreeData = (nodes = []) =>\n nodes.map(node => ({\n ...node,\n key: node.sid,\n title: node.name,\n children: node.children ? toAtomsTreeData(node.children) : undefined,\n }));\n","import { startTransition, useEffect, useMemo, useState } from \"react\";\n\nimport { Tree, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\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 Node from \"./Node\";\nimport SwitcherIcon from \"./SwitcherIcon\";\nimport { buildTreeWithItems, toAtomsTreeData } from \"./utils\";\n\nconst FoldersTree = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const [expandedKeysSet, setExpandedKeysSet] = useState(new Set());\n const expandedKeys = Array.from(expandedKeysSet);\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 treeData = useMemo(\n () => toAtomsTreeData(buildTreeWithItems(folders, config)),\n [folders, config.items]\n );\n\n const updateExpandedKeys = () => {\n if (!treeData) return;\n // When active folder changes from external sources, update expanded keys to auto expand tree.\n const updatedExpandedKeys = new Set(expandedKeysSet);\n const map = treeToMap(treeData, \"sid\");\n const activeFolder = map[activeFolderSid];\n const parentSid = activeFolder?.meta?.parent?.sid;\n\n if (parentSid && !expandedKeysSet.has(parentSid)) {\n updatedExpandedKeys.add(parentSid);\n }\n };\n\n const handleExpand = (keys, { expanded, node }) => {\n const keysSet = new Set(keys);\n\n if (!expanded) {\n const removeChildKeys = (children = []) => {\n children.forEach(child => {\n keysSet.delete(child.sid);\n removeChildKeys(child.children);\n });\n };\n removeChildKeys(node.children);\n }\n\n setExpandedKeysSet(keysSet);\n };\n\n useEffect(() => {\n // Non urgent update.\n startTransition(updateExpandedKeys);\n }, [activeFolderSid, treeData]);\n\n if (isNotPresent(treeData)) {\n return (\n <Typography\n className=\"w-full text-center\"\n variant=\"body2\"\n weight=\"semibold\"\n >\n {t(\"folders.noFolders\")}\n </Typography>\n );\n }\n\n return (\n <Tree\n {...{ expandedKeys, treeData }}\n autoExpandParent\n blockNode\n className=\"neeto-sidebar-folders-tree\"\n indent={20}\n rowHeight={24}\n selectedKeys={[activeFolderSid]}\n showLine={false}\n switcherIcon={SwitcherIcon}\n titleRender={node => (\n <Node\n {...{ config, node }}\n isActive={node.sid === activeFolderSid}\n isExpanded={expandedKeysSet.has(node.sid)}\n link={\n node.link ||\n buildUrl(config.folderPath, { ...params, folderId: node.sid })\n }\n />\n )}\n onExpand={handleExpand}\n />\n );\n};\n\nexport default FoldersTree;\n","// neeto-atoms TreeSelect expects nested treeData ({ key, title, children }) and\n// has no `treeDataSimpleMode`, unlike neetoui's antd TreeSelect which consumed a\n// flat list keyed by pId. Build the nested shape directly from the folders tree,\n// pruning folders at/below maxDepth (and their subtrees).\n//\n// Depth is derived structurally from the recursion level (roots = 0), matching\n// treeToMap/walkTree — the raw `folders` from the API don't carry a computed\n// `meta.depth`; v1 only had it because it passed the treeToMap'd map.\nexport const createFolderOptions = (folders, config, depth = 0) => {\n if (depth >= config.maxDepth) return [];\n\n return (folders ?? []).map(folder => {\n const children = createFolderOptions(folder.children, config, depth + 1);\n\n return {\n key: folder.id,\n title: folder.name,\n ...(children.length > 0 && { children }),\n };\n });\n};\n","import { forwardRef, useMemo, useEffect } from \"react\";\n\nimport { TreeSelect as NeetoUITreeSelect } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\n\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport { createFolderOptions } from \"./utils\";\n\nconst TreeSelect = forwardRef(\n (\n {\n label = \"\",\n name,\n placeholder = \"\",\n disabled = false,\n required = false,\n showSearch = true,\n allowClear = false,\n config,\n initialValue,\n ...otherProps\n },\n ref\n ) => {\n const { data: folders } = useFetchFolders(config);\n const { values, setFieldValue } = useFormikContext();\n\n const foldersMap = useMemo(\n () => (folders ? treeToMap(folders, \"sid\") : null),\n [folders]\n );\n const activeFolderSid = initialValue || getActiveFolderId(config);\n const activeFolder = foldersMap[activeFolderSid];\n const isValidParent = activeFolder?.meta.depth < config.maxDepth;\n const parentId = isValidParent ? activeFolder.id : null;\n\n useEffect(() => {\n if (values.name !== \"\") return;\n setFieldValue(name, parentId);\n }, [parentId, name]);\n\n const folderOptions = useMemo(\n () => createFolderOptions(folders ?? [], config),\n [folders]\n );\n\n return (\n <NeetoUITreeSelect\n isClearable={allowClear}\n isDisabled={disabled}\n isSearchable={showSearch}\n treeData={folderOptions}\n {...{ label, name, placeholder, ref, required, ...otherProps }}\n />\n );\n }\n);\n\nTreeSelect.displayName = \"TreeSelect\";\n\nexport default TreeSelect;\n"],"names":["FoldersAlerts","_ref","config","_useFolderStore","useFolderStore","store","setFolderState","shallow","queryParams","useQueryParams","toCamelCase","queryClient","useQueryClient","history","useHistory","_useTranslation","useTranslation","t","_useFolderStore2","_store$alertState","_store$alertState2","type","item","_useDestroyFolder","useDestroyFolder","destroyFolder","mutateAsync","isPending","_useFolders","useFolders","folders","onClose","alertState","alertProps","isOpen","isSubmitting","onConfirmDelete","onSuccess","_config$onUpdateSucce","isActive","isActiveFolder","sid","invalidationKeys","concat","_toConsumableArray","QUERY_KEYS","FOLDERS","DETAILS","forEach","queryKey","invalidateQueries","refetchType","path","pathToFolder","id","parent","length","redirectUrl","buildUrl","folderPath","_objectSpread","folderId","replace","onUpdateSuccess","call","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","key","createInitialValues","defaults","extraAttrs","parentId","defaultValue","createPayload","payload","filterExtraAttributes","isEditing","filter","attribute","isEditAttribute","isCreateAttribute","AddEditPane","_config$addEditValida","setFocusField","folderSid","_store$paneState","_store$paneState2","_useFetchFolders","useFetchFolders","isFetching","_useCreateFolder","useCreateFolder","createFolder","mutate","_useUpdateFolder","useUpdateFolder","updateFolder","activeFolderSid","getActiveFolderId","extraAttributes","filteredExtraAttributes","useMemo","handleError","setStatus","error","response","data","errors","onSubmitForm","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","reactQueryOptions","wrap","_callee$","_context","prev","next","_ref4","newPath","window","location","pathname","href","lastCreatedFolderId","showThumbsUpToastr","onError","showToastr","initialSlug","stop","_x","_x2","apply","arguments","initialValues","Sheet","Body","className","children","Spinner","_jsxs","_Fragment","Header","Title","Form","formikProps","enableReinitialize","validationSchema","addEditValidationSchema","_ref5","dirty","label","ref","TreeSelect","allowClear","showSearch","initialValue","Typography","variant","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps","disabled","Node","_folder$children$leng","_folder$children","_ref$icon","icon","itemLabel","folder","folderLabel","depth","_ref$hideTreeIndent","hideTreeIndent","metaInfo","childCount","push","toLowerCase","itemCount","from","_","index","style","width","REORDER_TREE_INDENT_WIDTH","insetInlineStart","Math","round","top","hyphenate","classNames","weight","join","forwardRef","toRadioValue","String","SelectableNode","_ref$depth","maxDepth","selection","onSelect","isDisabled","labels","renderChildren","isNotPresent","child","_SelectableNode","undefined","RadioGroupItem","value","noop","createTree","isRootEnabled","PaneBody","_ref$isRootEnabled","removeButtonProps","onRemove","_useState","useState","_useState2","_slicedToArray","setSelection","_useFetchFolders$data","tree","Number","POSITIVE_INFINITY","foldersMap","treeToMap","folderDepth","measureDepth","onAddFolder","paneState","_useFolderStore3","_store$lastCreatedFol","useEffect","useHotkeys","mode","enabled","Button","size","RadioGroup","MoveFolderPane","onSaveSelection","toastApiError","loading","DraggableNode","_useDraggable","useDraggable","isDragging","listeners","setDraggableRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableRef","_child$children$lengt","_child$children","_DraggableNode","RearrangeFoldersPane","_tree$children$length","_tree$children","_dragItem$children$le","_dragItem$children","dragItem","setDragItem","_useState3","_useState4","changes","setChanges","_useReorderFolders","useReorderFolders","reorderFolders","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","setTree","onDragEnd","_activeFolder$meta$pa","active","over","activeFolder","current","overFolder","meta","activeDepth","overDepth","Toastr","newTree","mapToTree","assoc","nodeProps","GripVertical","DndContext","onDragStart","isEmpty","createPortal","DragOverlay","zIndex","document","body","PlaceholderNode","dragState","overItem","useId","_overItem$meta$parent","isOverItem","isOverParent","isRoot","React","Fragment","initialDragState","activeItem","sensorConfig","activationConstraint","distance","measuringConfig","droppable","frequency","ReorderFoldersPane","_dragState$activeItem","_dragState$activeItem2","_dragState$activeItem3","setDragState","sensors","useSensors","useSensor","PointerSensor","baseTree","setBaseTree","mapToSortedTree","targetFolder","targetIndex","srcDepth","dstDepth","__index","collisionDetection","closestCenter","measuring","onDragOver","FoldersPane","configProps","DEFAULT_CONFIG","useRef","commonProps","ReorderPaneComponent","reorderMode","initialFocusRef","FoldersContext","FolderTile","_folder$children$leng2","_folder$children2","_ref$isPreview","isPreview","isSelected","link","actions","draggable","actionCallback","callback","event","preventDefault","menuItems","onEdit","onMove","onDelete","Link","to","Checkbox","checked","onCheckedChange","stopPropagation","MoreDropdown","dropdownProps","dropdownButtonProps","FoldersDnd","onDropItem","onDrop","renderItemOverlay","renderOverlay","onDropFolder","handleDragStart","handleDragEnd","renderFolderOverlay","dropAnimation","modifiers","snapCenterToCursor","FoldersList","_ref$selection","params","_useFolder","useFolder","useFolderActions","subFolders","includes","DraggableWrapper","_ref$id","MoveToFolderPane","FolderIcon","props","fill","height","viewBox","xmlns","d","FolderIconOpen","isExpanded","node","isPrivate","_node$isFolder","isFolder","folderActions","itemActions","_ref2$getMoreActions","getMoreActions","_ref2$getAddActions","getAddActions","moreActions","addActions","hasMoreActions","isNotEmpty","hasAddActions","hasAnyActions","NavLink","activeClassName","as","Lock","e","Plus","tooltipProps","content","position","DownIcon","RightIcon","SwitcherIcon","expanded","splitItemsByFolder","items","reduce","acc","isLeaf","itemsByFolderId","rootItems","appendItemsToFolders","buildTreeWithItems","_splitItemsByFolder","foldersWithItems","toAtomsTreeData","nodes","FoldersTree","Set","expandedKeysSet","setExpandedKeysSet","expandedKeys","treeData","updateExpandedKeys","_activeFolder$meta","updatedExpandedKeys","parentSid","has","add","handleExpand","keys","keysSet","removeChildKeys","startTransition","Tree","autoExpandParent","blockNode","indent","rowHeight","selectedKeys","showLine","switcherIcon","titleRender","onExpand","createFolderOptions","_ref$label","_ref$placeholder","placeholder","_ref$disabled","_ref$required","_ref$showSearch","_ref$allowClear","otherProps","_useFormikContext","useFormikContext","setFieldValue","isValidParent","folderOptions","NeetoUITreeSelect","isClearable","isSearchable","displayName"],"mappings":"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"}