@bigbinary/neeto-folders-frontend 2.0.49-beta1 → 2.0.49

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/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 => () => callback(folder);\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 <span\n className=\"flex-shrink-0 flex-grow-0 pt-0.5\"\n onClick={event => {\n event.preventDefault();\n event.stopPropagation();\n }}\n >\n <Checkbox\n checked={isSelected}\n className=\"m-0\"\n name={folder.id}\n onCheckedChange={checked => onSelect(folder, checked)}\n />\n </span>\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 {/* The MoreDropdown sits inside a react-router <Link>. Its menu is\n portaled, but a menu-item click still bubbles through the React tree to\n the Link's onClick and would navigate into the folder. Guard it with the\n same stopPropagation wrapper the checkbox above uses, so item clicks\n only run their action. */}\n <span\n className=\"absolute end-2 top-2\"\n onClick={event => {\n event.preventDefault();\n event.stopPropagation();\n }}\n >\n <MoreDropdown {...{ menuItems }} />\n </span>\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","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Folder, FolderOpen, 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\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 <FolderOpen className=\"flex-shrink-0 me-1\" size={16} />\n ) : (\n <Folder 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 text-sm\"\n title={name}\n variant=\"body2\"\n >\n {name}\n </Typography>\n {isPrivate && (\n <span\n aria-label={t(\"common.private\")}\n className=\"flex flex-shrink-0 items-center\"\n role=\"img\"\n title={t(\"common.private\")}\n >\n <Lock className=\"flex-shrink-0 ms-1\" size={14} />\n </span>\n )}\n </div>\n {hasAnyActions && (\n <div\n className=\"flex items-center gap-0.5 absolute end-0 top-0 h-full neeto-sidebar-folders-tree__folder-node-actions rounded-e-md ps-6 pe-1\"\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: \"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: \"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\n className=\"neeto-sidebar-folders-tree__switcher-collapsed relative\"\n size={16}\n />\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// Count the rows the tree actually renders: every node plus the descendants of\n// nodes that are currently expanded. Collapsed subtrees are excluded so the\n// caller can size the tree to hug exactly what's visible. `seen` guards against\n// a malformed cyclic tree (a node reachable from itself) recursing forever —\n// mirroring the cycle guard in the tree's `updateExpandedKeys`.\nexport const countVisibleRows = (nodes, expandedKeysSet, seen = new Set()) =>\n nodes.reduce((total, node) => {\n if (seen.has(node)) return total;\n seen.add(node);\n\n const childRows =\n node.children?.length && expandedKeysSet.has(node.sid)\n ? countVisibleRows(node.children, expandedKeysSet, seen)\n : 0;\n\n return total + 1 + childRows;\n }, 0);\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, countVisibleRows, 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 treeMap = useMemo(\n () => (treeData ? treeToMap(treeData, \"sid\") : {}),\n [treeData]\n );\n\n // Only hand react-arborist keys that actually exist in the current tree. A\n // missing/undefined selection — no folder in the URL, or a stale sid during\n // SPA navigation before the tree updates — makes its selectMulti call\n // identify(undefined) and throw \"Cannot read properties of undefined\".\n const selectedKeys =\n activeFolderSid && treeMap[activeFolderSid] ? [activeFolderSid] : [];\n\n // Row stride. Fits the name pill plus the tightened vertical gap (see the\n // stylesheet) without clipping into a scrollbar.\n const rowStride = 30;\n\n // react-arborist (the atoms Tree) is built on react-window and needs an\n // explicit pixel height — it can't grow with content like a plain div. So we\n // size it to the number of currently-visible rows and recompute as folders\n // are added, expanded or collapsed. The tree grows/shrinks with content and\n // the sidebar scrolls when it gets tall, instead of the atoms Tree's fixed\n // 500px default which reserves a tall empty viewport for a few folders.\n const treeHeight = useMemo(\n () => countVisibleRows(treeData || [], expandedKeysSet) * rowStride,\n [treeData, expandedKeysSet]\n );\n\n const updateExpandedKeys = () => {\n if (!treeData) return;\n\n // Expand every ancestor of the active folder (not just the immediate\n // parent) so the full path to it is visible — folders nest up to\n // config.maxDepth. Walk up via treeMap, guarding against cycles.\n const ancestorSids = [];\n const seen = new Set();\n let node = treeMap[activeFolderSid];\n\n while (node?.meta?.parent?.sid && !seen.has(node.meta.parent.sid)) {\n const parentSid = node.meta.parent.sid;\n seen.add(parentSid);\n ancestorSids.push(parentSid);\n node = treeMap[parentSid];\n }\n\n if (!ancestorSids.length) return;\n\n // Functional update so the newly-expanded ancestors merge with the latest\n // expansion state (e.g. folders the user opened manually); bail out when\n // they're all already expanded to avoid a needless re-render.\n setExpandedKeysSet(prev => {\n if (ancestorSids.every(sid => prev.has(sid))) return prev;\n const next = new Set(prev);\n ancestorSids.forEach(sid => next.add(sid));\n\n return next;\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, selectedKeys, treeData }}\n autoExpandParent\n blockNode\n className=\"neeto-sidebar-folders-tree\"\n height={treeHeight}\n indent={20}\n rowHeight={rowStride}\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","menuItems","onEdit","onMove","onDelete","Link","to","event","preventDefault","stopPropagation","Checkbox","checked","onCheckedChange","MoreDropdown","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","isExpanded","node","isPrivate","_node$isFolder","isFolder","folderActions","itemActions","_ref2$getMoreActions","getMoreActions","_ref2$getAddActions","getAddActions","moreActions","addActions","hasMoreActions","isNotEmpty","hasAddActions","hasAnyActions","NavLink","activeClassName","FolderOpen","Folder","as","role","Lock","e","dropdownButtonProps","Plus","tooltipProps","content","position","DownIcon","props","fill","height","viewBox","xmlns","d","RightIcon","SwitcherIcon","expanded","splitItemsByFolder","items","reduce","acc","isLeaf","itemsByFolderId","rootItems","appendItemsToFolders","buildTreeWithItems","_splitItemsByFolder","foldersWithItems","countVisibleRows","nodes","expandedKeysSet","seen","Set","total","_node$children","has","add","childRows","toAtomsTreeData","FoldersTree","setExpandedKeysSet","expandedKeys","treeData","treeMap","selectedKeys","rowStride","treeHeight","updateExpandedKeys","ancestorSids","_node","parentSid","every","handleExpand","keys","keysSet","removeChildKeys","startTransition","Tree","autoExpandParent","blockNode","indent","rowHeight","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/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, Toastr, 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 if (response.data.errors.base) Toastr.error(response.data.errors.base[0]);\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 excludedFolderId={isEditing ? item.id : null}\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 movedIds = [],\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 isDepthExceeded = depth >= maxDepth;\n const isDisabled =\n disabled || movedIds.includes(folder.id) || isDepthExceeded;\n\n const disabledTitle = isDepthExceeded\n ? t(\"moveToFolder.depthExceeded\", { maxDepth: config.maxDepth })\n : t(\"moveToFolder.notAllowed\");\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, maxDepth, movedIds }}\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 ? disabledTitle : 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, Callout, Sheet, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { RadioGroup } from \"@bigbinary/neeto-atoms/primitives\";\nimport { isNotEmpty } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { pluck } from \"ramda\";\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 items,\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 const movedItems = items ?? (item ? [item] : []);\n const movedIds = pluck(\"id\", movedItems);\n let maxDepth = Number.POSITIVE_INFINITY;\n let nestingWarning = null;\n\n if (isNotEmpty(movedItems)) {\n // For moved folders, measure the depth from the tallest folder to its longest leaf.\n const foldersMap = treeToMap(folders);\n const movedFolders = movedIds.map(id => foldersMap[id]).filter(Boolean);\n\n if (isNotEmpty(movedFolders)) {\n const subtreeHeight = Math.max(...movedFolders.map(measureDepth));\n maxDepth = config.maxDepth - (subtreeHeight + 1); // +1 for own depth;\n if (isRootEnabled) maxDepth += 1; // +1 for root folder.\n\n if (subtreeHeight > 0) {\n nestingWarning = t(\"moveToFolder.nestingRestricted\", {\n count: movedFolders.length,\n name: movedFolders[0].name,\n maxDepth: config.maxDepth,\n });\n }\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 {nestingWarning && (\n <Callout className=\"mb-4\" variant=\"warning\">\n {nestingWarning}\n </Callout>\n )}\n <RadioGroup className=\"contents\" value={toRadioValue(selection)}>\n {tree.map(folder => (\n <SelectableNode\n {...{ config, folder, maxDepth, movedIds, selection }}\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 isAncestorDragging = false,\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 isInDraggedSubtree = isDragging || isAncestorDragging;\n\n const { isOver, setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isInDraggedSubtree,\n });\n\n // Children stay rendered while dragging so the list height, and its scroll, don't shift under the drag overlay.\n const renderChildren = () => {\n if (isNotPresent(folder.children)) return null;\n\n return folder.children.map(child => (\n <DraggableNode\n {...{ ...rest, config }}\n depth={depth + 1}\n folder={child}\n isAncestorDragging={isInDraggedSubtree}\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\": isInDraggedSubtree,\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 // The extra root node puts top-level folders at depth 1, so the deepest moved\n // folder lands at level (target depth + subtree height + 1).\n const activeDepth = measureDepth(activeFolder);\n const overDepth = overFolder.meta.depth;\n if (activeDepth + overDepth >= config.maxDepth) {\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, disabled = false }) => {\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 disabled,\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 isAncestorDragging = false,\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 isInDraggedSubtree = isDragging || isAncestorDragging;\n\n const { setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isRoot || isInDraggedSubtree,\n });\n\n // Children stay rendered while dragging so the list height, and its scroll, don't shift under the drag overlay.\n const renderChildren = () => (\n <React.Fragment key={`${folder.id}--container`}>\n <PlaceholderNode\n {...{ dragState, folder }}\n disabled={isInDraggedSubtree}\n />\n {isArray(folder.children) &&\n folder.children.map(child => (\n <DraggableNode\n {...{ ...rest, config, dragState }}\n depth={child.meta.depth}\n folder={child}\n isAncestorDragging={isInDraggedSubtree}\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 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\": isInDraggedSubtree,\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 // The extra root node puts top-level folders at depth 1, so the deepest moved\n // folder lands at level (target depth + subtree height + 1).\n const srcDepth = measureDepth(activeFolder);\n const dstDepth = targetFolder.meta.depth;\n if (srcDepth + dstDepth >= config.maxDepth) {\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 => () => callback(folder);\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 <span\n className=\"flex-shrink-0 flex-grow-0 pt-0.5\"\n onClick={event => {\n event.preventDefault();\n event.stopPropagation();\n }}\n >\n <Checkbox\n checked={isSelected}\n className=\"m-0\"\n name={folder.id}\n onCheckedChange={checked => onSelect(folder, checked)}\n />\n </span>\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 {/* The MoreDropdown sits inside a react-router <Link>. Its menu is\n portaled, but a menu-item click still bubbles through the React tree to\n the Link's onClick and would navigate into the folder. Guard it with the\n same stopPropagation wrapper the checkbox above uses, so item clicks\n only run their action. */}\n <span\n className=\"absolute end-2 top-2\"\n onClick={event => {\n event.preventDefault();\n event.stopPropagation();\n }}\n >\n <MoreDropdown {...{ menuItems }} />\n </span>\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","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Folder, FolderOpen, 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\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 <FolderOpen className=\"flex-shrink-0 me-1\" size={16} />\n ) : (\n <Folder 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 text-sm\"\n title={name}\n variant=\"body2\"\n >\n {name}\n </Typography>\n {isPrivate && (\n <span\n aria-label={t(\"common.private\")}\n className=\"flex flex-shrink-0 items-center\"\n role=\"img\"\n title={t(\"common.private\")}\n >\n <Lock className=\"flex-shrink-0 ms-1\" size={14} />\n </span>\n )}\n </div>\n {hasAnyActions && (\n <div\n className=\"flex items-center gap-0.5 absolute end-0 top-0 h-full neeto-sidebar-folders-tree__folder-node-actions rounded-e-md ps-6 pe-1\"\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: \"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: \"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\n className=\"neeto-sidebar-folders-tree__switcher-collapsed relative\"\n size={16}\n />\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// Count the rows the tree actually renders: every node plus the descendants of\n// nodes that are currently expanded. Collapsed subtrees are excluded so the\n// caller can size the tree to hug exactly what's visible. `seen` guards against\n// a malformed cyclic tree (a node reachable from itself) recursing forever —\n// mirroring the cycle guard in the tree's `updateExpandedKeys`.\nexport const countVisibleRows = (nodes, expandedKeysSet, seen = new Set()) =>\n nodes.reduce((total, node) => {\n if (seen.has(node)) return total;\n seen.add(node);\n\n const childRows =\n node.children?.length && expandedKeysSet.has(node.sid)\n ? countVisibleRows(node.children, expandedKeysSet, seen)\n : 0;\n\n return total + 1 + childRows;\n }, 0);\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, countVisibleRows, 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 treeMap = useMemo(\n () => (treeData ? treeToMap(treeData, \"sid\") : {}),\n [treeData]\n );\n\n // Only hand react-arborist keys that actually exist in the current tree. A\n // missing/undefined selection — no folder in the URL, or a stale sid during\n // SPA navigation before the tree updates — makes its selectMulti call\n // identify(undefined) and throw \"Cannot read properties of undefined\".\n const selectedKeys =\n activeFolderSid && treeMap[activeFolderSid] ? [activeFolderSid] : [];\n\n // Row stride. Fits the name pill plus the tightened vertical gap (see the\n // stylesheet) without clipping into a scrollbar.\n const rowStride = 30;\n\n // react-arborist (the atoms Tree) is built on react-window and needs an\n // explicit pixel height — it can't grow with content like a plain div. So we\n // size it to the number of currently-visible rows and recompute as folders\n // are added, expanded or collapsed. The tree grows/shrinks with content and\n // the sidebar scrolls when it gets tall, instead of the atoms Tree's fixed\n // 500px default which reserves a tall empty viewport for a few folders.\n const treeHeight = useMemo(\n () => countVisibleRows(treeData || [], expandedKeysSet) * rowStride,\n [treeData, expandedKeysSet]\n );\n\n const updateExpandedKeys = () => {\n if (!treeData) return;\n\n // Expand every ancestor of the active folder (not just the immediate\n // parent) so the full path to it is visible — folders nest up to\n // config.maxDepth. Walk up via treeMap, guarding against cycles.\n const ancestorSids = [];\n const seen = new Set();\n let node = treeMap[activeFolderSid];\n\n while (node?.meta?.parent?.sid && !seen.has(node.meta.parent.sid)) {\n const parentSid = node.meta.parent.sid;\n seen.add(parentSid);\n ancestorSids.push(parentSid);\n node = treeMap[parentSid];\n }\n\n if (!ancestorSids.length) return;\n\n // Functional update so the newly-expanded ancestors merge with the latest\n // expansion state (e.g. folders the user opened manually); bail out when\n // they're all already expanded to avoid a needless re-render.\n setExpandedKeysSet(prev => {\n if (ancestorSids.every(sid => prev.has(sid))) return prev;\n const next = new Set(prev);\n ancestorSids.forEach(sid => next.add(sid));\n\n return next;\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, selectedKeys, treeData }}\n autoExpandParent\n blockNode\n className=\"neeto-sidebar-folders-tree\"\n height={treeHeight}\n indent={20}\n rowHeight={rowStride}\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","import { removeById } from \"neetocist\";\n\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 the excluded folder (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 = (\n folders,\n maxDepth,\n excludedFolderId = null,\n depth = 0\n) => {\n if (depth >= maxDepth) return [];\n\n return removeById(excludedFolderId, folders ?? []).map(folder => {\n const children = createFolderOptions(\n folder.children,\n maxDepth,\n excludedFolderId,\n depth + 1\n );\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 excludedFolderId = null,\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 () =>\n createFolderOptions(folders ?? [], config.maxDepth, excludedFolderId),\n [folders, config.maxDepth, excludedFolderId]\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","base","Toastr","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","excludedFolderId","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$movedIds","movedIds","_ref$depth","maxDepth","selection","onSelect","isDepthExceeded","isDisabled","includes","disabledTitle","labels","renderChildren","isNotPresent","child","_SelectableNode","undefined","RadioGroupItem","value","noop","createTree","isRootEnabled","PaneBody","_ref$isRootEnabled","items","removeButtonProps","onRemove","_useState","useState","_useState2","_slicedToArray","setSelection","_useFetchFolders$data","tree","movedItems","pluck","Number","POSITIVE_INFINITY","nestingWarning","isNotEmpty","foldersMap","treeToMap","movedFolders","Boolean","subtreeHeight","max","measureDepth","count","onAddFolder","paneState","_useFolderStore3","_store$lastCreatedFol","useEffect","useHotkeys","mode","enabled","Button","size","Callout","RadioGroup","MoveFolderPane","onSaveSelection","toastApiError","loading","DraggableNode","_ref$isAncestorDraggi","isAncestorDragging","_useDraggable","useDraggable","isDragging","listeners","setDraggableRef","setNodeRef","isInDraggedSubtree","_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","newTree","mapToTree","assoc","nodeProps","GripVertical","DndContext","onDragStart","isEmpty","createPortal","DragOverlay","zIndex","document","body","PlaceholderNode","dragState","_ref$disabled","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","menuItems","onEdit","onMove","onDelete","Link","to","event","preventDefault","stopPropagation","Checkbox","checked","onCheckedChange","MoreDropdown","FoldersDnd","onDropItem","onDrop","renderItemOverlay","renderOverlay","onDropFolder","handleDragStart","handleDragEnd","renderFolderOverlay","dropAnimation","modifiers","snapCenterToCursor","FoldersList","_ref$selection","params","_useFolder","useFolder","useFolderActions","subFolders","DraggableWrapper","_ref$id","MoveToFolderPane","isExpanded","node","isPrivate","_node$isFolder","isFolder","folderActions","itemActions","_ref2$getMoreActions","getMoreActions","_ref2$getAddActions","getAddActions","moreActions","addActions","hasMoreActions","hasAddActions","hasAnyActions","NavLink","activeClassName","FolderOpen","Folder","as","role","Lock","e","dropdownButtonProps","Plus","tooltipProps","content","position","DownIcon","props","fill","height","viewBox","xmlns","d","RightIcon","SwitcherIcon","expanded","splitItemsByFolder","reduce","acc","isLeaf","itemsByFolderId","rootItems","appendItemsToFolders","buildTreeWithItems","_splitItemsByFolder","foldersWithItems","countVisibleRows","nodes","expandedKeysSet","seen","Set","total","_node$children","has","add","childRows","toAtomsTreeData","FoldersTree","setExpandedKeysSet","expandedKeys","treeData","treeMap","selectedKeys","rowStride","treeHeight","updateExpandedKeys","ancestorSids","_node","parentSid","every","handleExpand","keys","keysSet","removeChildKeys","startTransition","Tree","autoExpandParent","blockNode","indent","rowHeight","showLine","switcherIcon","titleRender","onExpand","createFolderOptions","removeById","_ref$label","_ref$placeholder","placeholder","_ref$required","_ref$showSearch","_ref$allowClear","_ref$excludedFolderId","otherProps","_useFormikContext","useFormikContext","setFieldValue","isValidParent","folderOptions","NeetoUITreeSelect","isClearable","isSearchable","displayName"],"mappings":"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"}