@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.
- package/app/javascript/src/translations/en.json +2 -0
- package/dist/.ready +1 -1
- package/dist/cjs/components.js +94 -40
- package/dist/cjs/components.js.map +1 -1
- package/dist/cjs/utils.js +1 -1
- package/dist/cjs/v2/components.js +88 -43
- package/dist/cjs/v2/components.js.map +1 -1
- package/dist/components.js +95 -41
- package/dist/components.js.map +1 -1
- package/dist/{index-BfobK2xL.js → index-BXvkr7vp.js} +2 -2
- package/dist/{index-BfobK2xL.js.map → index-BXvkr7vp.js.map} +1 -1
- package/dist/{index-BuO0HoGs.js → index-DCIRHXw_.js} +2 -1
- package/dist/{index-BuO0HoGs.js.map → index-DCIRHXw_.js.map} +1 -1
- package/dist/utils.js +1 -1
- package/dist/v2/components.js +90 -45
- package/dist/v2/components.js.map +1 -1
- package/package.json +9 -9
- package/types.d.ts +1 -0
package/dist/components.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sources":["../app/javascript/src/components/internal/Alerts.jsx","../app/javascript/src/components/internal/Pane/AddEdit/constants.js","../app/javascript/src/components/internal/Pane/AddEdit/Extra.jsx","../app/javascript/src/components/internal/Pane/AddEdit/utils.js","../app/javascript/src/components/internal/Pane/AddEdit/index.jsx","../app/javascript/src/components/internal/Pane/Node.jsx","../app/javascript/src/components/internal/Pane/Move/SelectableNode.jsx","../app/javascript/src/components/internal/Pane/Move/Body.jsx","../app/javascript/src/components/internal/Pane/Move/index.jsx","../app/javascript/src/components/internal/Pane/Rearrange/DraggableNode.jsx","../app/javascript/src/components/internal/Pane/Rearrange/index.jsx","../app/javascript/src/components/internal/Pane/Reorder/PlaceholderNode.jsx","../app/javascript/src/components/internal/Pane/Reorder/DraggableNode.jsx","../app/javascript/src/components/internal/Pane/Reorder/index.jsx","../app/javascript/src/components/internal/Pane/index.jsx","../app/javascript/src/components/Context.jsx","../app/javascript/src/components/List/Tile.jsx","../app/javascript/src/components/Dnd.jsx","../app/javascript/src/components/List/index.jsx","../app/javascript/src/components/List/Draggable.jsx","../app/javascript/src/components/MoveToFolderPane.jsx","../app/javascript/src/components/Tree/FolderIcon.jsx","../app/javascript/src/components/Tree/FolderIconOpen.jsx","../app/javascript/src/components/Tree/Node.jsx","../app/javascript/src/components/Tree/DownIcon.jsx","../app/javascript/src/components/Tree/RightIcon.jsx","../app/javascript/src/components/Tree/SwitcherIcon.jsx","../app/javascript/src/components/Tree/utils.js","../app/javascript/src/components/Tree/index.jsx","../app/javascript/src/components/TreeSelect/utils.js","../app/javascript/src/components/TreeSelect/index.jsx"],"sourcesContent":["import { useQueryClient } from \"@tanstack/react-query\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useDestroyFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolders from \"hooks/useFolders\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { pathToFolder } from \"utils\";\nimport { isActiveFolder } from \"utils/internal\";\n\nconst FoldersAlerts = ({ config }) => {\n const { setFolderState } = useFolderStore.pick();\n const queryParams = useQueryParams({ toCamelCase: false });\n const queryClient = useQueryClient();\n const history = useHistory();\n const { t } = useTranslation(config);\n\n const { type, item } = useFolderStore.pick(\"alertState\");\n const { mutateAsync: destroyFolder, isPending } = useDestroyFolder(config);\n const { folders } = useFolders(config);\n\n const onClose = () => setFolderState({ alertState: null });\n const alertProps = { isOpen: !!type, isSubmitting: isPending, onClose };\n\n const onConfirmDelete = () => {\n const onSuccess = () => {\n const isActive = isActiveFolder(config, item.sid);\n // Invalidates items and folder details. Refetch only if not active folder.\n const invalidationKeys = [\n ...config.invalidationKeys,\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ];\n\n invalidationKeys.forEach(queryKey => {\n queryClient.invalidateQueries({\n refetchType: isActive ? \"none\" : \"active\",\n queryKey,\n });\n });\n\n if (isActive && folders) {\n const path = pathToFolder(folders, item.id);\n const parent = path[path.length - 2];\n 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 \"neetoui/formik\";\n\nconst typeComponentMap = { string: Input, boolean: Switch, textarea: Textarea };\n\nconst ExtraAttributes = ({ attributes }) => {\n if (!Array.isArray(attributes)) return null;\n\n return attributes.map(({ type, ...rest }) => {\n const Component = typeComponentMap[type];\n if (!Component) return null;\n\n return <Component {...rest} key={rest.name} />;\n });\n};\n\nexport default ExtraAttributes;\n","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 { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography, Spinner } from \"neetoui\";\nimport { Input, ActionBlock, Form } from \"neetoui/formik\";\n\nimport { TreeSelect } from \"components\";\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\";\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 <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">\n {isEditing ? t(\"folders.edit\") : t(\"folders.add\")}\n </Typography>\n </Pane.Header>\n <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 <Pane.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\" style=\"body3\">\n {t(\"createFolder.parentInfo\")}\n </Typography>\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{ disabled: !dirty }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default AddEditPane;\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\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=\"neeto-ui-border-gray-400 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=\"neeto-ui-border-gray-400 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 lineHeight=\"snug\" style=\"body1\" weight=\"medium\">\n {folder.name}\n </Typography>\n {metaInfo.length > 0 && (\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"snug\"\n style=\"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 classNames from \"classnames\";\nimport { isNotPresent, noop, hyphenate } from \"neetocist\";\nimport { Radio } from \"neetoui\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nimport Node from \"../Node\";\n\nconst SelectableNode = ({\n folder,\n item,\n depth = 0,\n maxDepth,\n disabled,\n config,\n ...rest\n}) => {\n const { selection, onSelect } = rest;\n const { t } = useTranslation(config);\n\n const isDisabled = disabled || item?.id === folder.id || depth >= maxDepth;\n 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 <Radio.Item\n readOnly\n checked={selection === folder.id}\n className=\"neeto-ui-radio__container\"\n data-testid={`${hyphenate(folder.name)}-folder-option`}\n name=\"move-folder-option\"\n />\n }\n onClick={isDisabled ? noop : () => onSelect(folder)}\n />\n {renderChildren()}\n </div>\n );\n};\n\nexport default SelectableNode;\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport useHotkeys from \"neetohotkeys\";\nimport { Button, Pane, Typography, Spinner } from \"neetoui\";\n\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { treeToMap, measureDepth } from \"utils/treeUtils\";\n\nimport SelectableNode from \"./SelectableNode\";\n\nconst 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 <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header className=\"flex items-center justify-between\">\n <Typography style=\"h2\">{t(\"moveToFolder.title\")}</Typography>\n <Button\n className=\"me-2\"\n data-testid=\"add-new-folder-button\"\n label={t(\"folders.add\")}\n style=\"link\"\n onClick={onAddFolder}\n />\n </Pane.Header>\n <Pane.Body className=\"pb-6\">\n {tree.map(folder => (\n <SelectableNode\n {...{ config, folder, item, maxDepth, selection }}\n disabled={item?.id === folder.id || maxDepth <= 0}\n key={folder.id}\n onSelect={folder => setSelection(folder.id)}\n />\n ))}\n </Pane.Body>\n <Pane.Footer className=\"space-x-2\">\n <div className=\"flex flex-1 space-x-2\">\n <Button\n label={t(\"common.save\")}\n style=\"primary\"\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 style=\"text\"\n onClick={onClose}\n {...cancelButtonProps}\n data-testid=\"cancel-button\"\n />\n </div>\n {onRemove && (\n <Button\n label={t(\"moveToFolder.remove\")}\n style=\"tertiary\"\n onClick={onRemove}\n {...removeButtonProps}\n data-testid=\"remove-from-folder-button\"\n />\n )}\n </Pane.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 \"neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isDragging,\n \"neeto-ui-border-primary-500 border\": isOver,\n \"border border-transparent\": !isOver,\n })}\n {...{\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 { DndContext, DragOverlay } from \"@dnd-kit/core\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Reorder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography, Spinner } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport 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 <Reorder className=\"neeto-ui-text-gray-500 relative -start-[0.3125rem] flex-shrink-0\" />\n ),\n };\n\n if (isFetching) {\n return (\n <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">{t(\"reorderFolder.title\")}</Typography>\n </Pane.Header>\n <DndContext\n {...{ onDragEnd }}\n onDragStart={({ active }) => setDragItem(active.data.current)}\n >\n <Pane.Body className=\"pb-6\">\n <DraggableNode\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 </Pane.Body>\n <Pane.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={onSubmit}\n />\n <Button label={t(\"common.cancel\")} style=\"text\" onClick={onClose} />\n </Pane.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragItem && (\n <Node\n hideTreeIndent\n {...nodeProps}\n className=\"neeto-ui-bg-gray-200\"\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 \"neeto-ui-border-primary-500 border-b-2\": isOver,\n })}\n />\n </div>\n );\n};\n\nexport default PlaceholderNode;\n","import React from \"react\";\n\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { isArray } from \"utils/internal\";\n\nimport PlaceholderNode from \"./PlaceholderNode\";\n\nimport Node from \"../Node\";\n\nconst DraggableNode = ({\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:neeto-ui-bg-gray-100 w-full cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isDragging,\n \"neeto-ui-bg-primary-50\": isOverParent,\n \"neeto-ui-border-primary-500 border-b-2\": isOverItem,\n })}\n ref={ref => {\n setDroppableRef(ref);\n setDraggableRef(ref);\n }}\n />\n {renderChildren()}\n </>\n );\n};\n\nexport default DraggableNode;\n","import { useMemo, useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Reorder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography, Spinner } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport 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 <Reorder className=\"neeto-ui-text-gray-500 relative -start-[0.3125rem] flex-shrink-0\" />\n ),\n };\n\n if (isFetching) {\n return (\n <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">{t(\"reorderFolder.title\")}</Typography>\n </Pane.Header>\n <DndContext\n {...{ onDragEnd, sensors }}\n collisionDetection={closestCenter(dragState)}\n measuring={measuringConfig}\n onDragOver={({ over }) => {\n setDragState(assoc(\"overItem\", over?.data.current));\n }}\n onDragStart={({ active }) => {\n setDragState(assoc(\"activeItem\", active.data.current));\n }}\n >\n <Pane.Body className=\"pb-6\">\n <DraggableNode\n {...{ ...nodeProps, 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 </Pane.Body>\n <Pane.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={onSubmit}\n />\n <Button label={t(\"common.cancel\")} style=\"text\" onClick={onClose} />\n </Pane.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragState && (\n <Node\n hideTreeIndent\n {...nodeProps}\n className=\"neeto-ui-bg-gray-200 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 { Pane } from \"neetoui\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport AddEditPane from \"./AddEdit\";\nimport MoveFolderPane from \"./Move\";\nimport RearrangeFoldersPane from \"./Rearrange\";\nimport ReorderFoldersPane from \"./Reorder\";\n\nconst FoldersPane = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const { 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 <Pane {...{ onClose }} isOpen={!!type}>\n {({ setFocusField }) => (\n <>\n {(type === \"edit\" || type === \"add\") && (\n <AddEditPane {...{ setFocusField, ...commonProps }} />\n )}\n {type === \"move\" && <MoveFolderPane {...commonProps} />}\n {type === \"reorder\" && <ReorderPaneComponent {...commonProps} />}\n </>\n )}\n </Pane>\n );\n};\n\nexport default FoldersPane;\n","import FoldersAlerts from \"components/internal/Alerts\";\nimport FoldersPane from \"components/internal/Pane\";\n\nconst FoldersContext = ({ config, children }) => (\n <>\n {children}\n <FoldersPane {...{ config }} />\n <FoldersAlerts {...{ config }} />\n </>\n);\n\nexport default FoldersContext;\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Checkbox, Typography } from \"neetoui\";\nimport { Link } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\nimport { DEFAULT_CONFIG } from \"src/constants/config\";\n\nconst FolderTile = ({\n isPreview = false,\n isSelected,\n link,\n folder,\n actions,\n config,\n onSelect,\n}) => {\n const { t } = useTranslation(config);\n\n const droppable = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isPreview,\n });\n\n const draggable = useDraggable({\n id: `draggable-item--${folder.id}`,\n data: { ...folder, type: DEFAULT_CONFIG.type },\n disabled: isPreview,\n });\n\n const actionCallback = callback => event => {\n event.preventDefault();\n callback(folder);\n };\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"common.edit\"),\n onClick: actionCallback(actions.onEdit),\n },\n {\n key: \"move\",\n label: t(\"common.moveToFolder\"),\n onClick: actionCallback(actions.onMove),\n },\n {\n key: \"delete\",\n label: t(\"common.delete\"),\n onClick: actionCallback(actions.onDelete),\n },\n ];\n\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n const itemLabel = config.labels[folder.itemCount > 1 ? \"items\" : \"item\"];\n const folderLabel =\n config.labels[(folder.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"];\n childCount > 0 && metaInfo.push(`${childCount} ${folderLabel}`.toLowerCase());\n metaInfo.push(`${folder.itemCount || 0} ${itemLabel}`.toLowerCase());\n\n return (\n <Link\n data-testid={`${hyphenate(folder.name)}-folder-tile`}\n to={link}\n className={classNames(\n \"neeto-ui-bg-gray-50 neeto-ui-border-gray-200 neeto-ui-rounded-md hover:neeto-ui-border-primary-500 relative flex max-w-full items-start gap-2 border-2 p-3 transition-colors ease-in\",\n {\n \"neeto-ui-bg-primary-100\": droppable.isOver,\n \"opacity-50\": draggable.isDragging,\n \"scale-75\": isPreview,\n }\n )}\n {...droppable.attributes}\n {...droppable.listeners}\n {...draggable.attributes}\n {...draggable.listeners}\n ref={ref => {\n droppable.setNodeRef(ref);\n draggable.setNodeRef(ref);\n }}\n >\n <Checkbox\n checked={isSelected}\n className=\"m-0 flex-shrink-0 flex-grow-0 pt-0.5\"\n name={folder.id}\n onChange={event => onSelect(folder, event.target.checked)}\n onClick={event => event.stopPropagation()}\n />\n <span className=\"flex min-w-0 flex-grow flex-col gap-2\">\n <Typography\n className=\"-mt-0.5 line-clamp-2 break-words pe-8\"\n data-testid=\"folder-name\"\n lineHeight=\"snug\"\n style=\"body1\"\n title={folder.name}\n weight=\"medium\"\n >\n {folder.name}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body3\">\n {metaInfo.join(\" . \")}\n </Typography>\n </span>\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{ className: \"absolute end-2 top-2\" }}\n dropdownProps={{ onClick: event => event.preventDefault() }}\n />\n </Link>\n );\n};\n\nexport default FolderTile;\n","import { useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { snapCenterToCursor } from \"@dnd-kit/modifiers\";\nimport { noop } from \"neetocist\";\n\nimport FolderTile from \"components/List/Tile\";\nimport { useUpdateFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { DEFAULT_CONFIG } from \"src/constants/config\";\nimport { toastApiError } from \"utils/internal\";\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 { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\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\" style=\"h4\">\n {t(\"folders.title\")}\n </Typography>\n <div\n className=\"neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4\"\n data-testid=\"folders-list\"\n >\n {subFolders.map(folder => (\n <FolderTile\n {...{ actions, config, folder, onSelect }}\n isSelected={selection.includes(folder.id)}\n key={folder.id}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n ))}\n </div>\n </>\n );\n};\n\nexport default FoldersList;\n","import { useDraggable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nconst DraggableWrapper = ({ data, id = data.id, children }) => {\n const draggable = useDraggable({\n id: `folders-list-draggable-item--${id}`,\n data,\n });\n\n return (\n <div\n className={classNames({ \"opacity-50\": draggable.isDragging })}\n {...draggable.attributes}\n {...draggable.listeners}\n ref={draggable.setNodeRef}\n >\n {children}\n </div>\n );\n};\n\nexport default DraggableWrapper;\n","import { Pane } from \"neetoui\";\n\nimport PaneBody from \"components/internal/Pane/Move/Body\";\n\nconst MoveToFolderPane = ({ isOpen, onClose, ...rest }) => (\n <Pane {...{ isOpen, onClose }}>\n <PaneBody {...{ ...rest, onClose }} />\n </Pane>\n);\n\nexport default MoveToFolderPane;\n","const FolderIcon = props => (\n <svg\n fill=\"none\"\n height={props.size}\n viewBox=\"0 0 16 16\"\n width={props.size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M3.202 12.798h9.6c.882 0 1.6-.717 1.6-1.6v-6c0-.882-.718-1.6-1.6-1.6H9.069a.8.8 0 0 1-.48-.16l-.96-.72a1.6 1.6 0 0 0-.96-.32H3.202c-.883 0-1.6.718-1.6 1.6v7.2c0 .883.717 1.6 1.6 1.6\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default FolderIcon;\n","const FolderIconOpen = props => (\n <svg\n fill=\"none\"\n height={props.size}\n viewBox=\"0 0 16 16\"\n width={props.size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"m2.2 7.24-.59 1.765V4c0-.882.717-1.6 1.6-1.6h3.467c.345 0 .682.113.96.32l.96.72c.137.105.307.16.48.16h2.932c.883 0 1.6.718 1.6 1.6v.4H4.474c-1.032 0-1.95.66-2.277 1.64zm10.544 5.56h-9.47c-.82 0-1.397-.802-1.137-1.58l1.2-3.6c.162-.49.622-.82 1.137-.82h9.47c.82 0 1.398.803 1.138 1.58l-1.2 3.6c-.163.49-.623.82-1.138.82\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default FolderIconOpen;\n","import { isNotEmpty, hyphenate, noop } from \"neetocist\";\nimport { Lock, Plus } from \"neetoicons\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { NavLink } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nimport FolderIcon from \"./FolderIcon\";\nimport FolderIconOpen from \"./FolderIconOpen\";\n\nconst Node = ({ isActive, isExpanded, node, link, config }) => {\n const { t } = useTranslation();\n const { isPrivate, name, isFolder = true } = node;\n\n const { getMoreActions = noop, getAddActions = noop } = isFolder\n ? config.folderActions\n : config.itemActions;\n\n const moreActions = getMoreActions(node) || [];\n const addActions = getAddActions(node) || [];\n\n const hasMoreActions = isNotEmpty(moreActions);\n const hasAddActions = isNotEmpty(addActions);\n const hasAnyActions = hasMoreActions || hasAddActions;\n\n return (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-sidebar-folders-tree__folder-node\"\n isActive={() => isActive}\n to={link}\n >\n <div\n className=\"flex items-center justify-between w-full group relative\"\n data-testid={`${hyphenate(name)}-${isFolder ? \"folder\" : \"item\"}-sublink`}\n title=\"\"\n >\n {isFolder &&\n (isExpanded ? (\n <FolderIconOpen className=\"flex-shrink-0 me-1\" size={16} />\n ) : (\n <FolderIcon className=\"flex-shrink-0 me-1\" size={16} />\n ))}\n <div className=\"flex items-center min-w-0 flex-1\">\n <Typography\n className=\"line-clamp-1 block truncate ps-0.5\"\n component=\"span\"\n style=\"body2\"\n title={name}\n >\n {name}\n </Typography>\n {isPrivate && (\n <span title={t(\"common.private\")}>\n <Lock className=\"flex-shrink-0 ms-1\" size={16} />\n </span>\n )}\n </div>\n {hasAnyActions && (\n <div\n className=\"flex items-center gap-0.5 py-0.5 absolute end-0 top-0 h-full neeto-sidebar-folders-tree__folder-node-actions neeto-ui-rounded-md ps-2\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n {hasAddActions && (\n <MoreDropdown\n dropdownProps={{ icon: Plus }}\n menuItems={addActions}\n dropdownButtonProps={{\n size: \"small\",\n tooltipProps: { content: \"Add\", position: \"top\" },\n className:\n \"opacity-0 group-hover:opacity-100 transition-opacity neeto-sidebar-folders-tree__action-button size-5\",\n }}\n />\n )}\n {hasMoreActions && (\n <MoreDropdown\n menuItems={moreActions}\n dropdownButtonProps={{\n size: \"small\",\n className:\n \"opacity-0 group-hover:opacity-100 transition-opacity neeto-sidebar-folders-tree__action-button size-5\",\n }}\n />\n )}\n </div>\n )}\n </div>\n </NavLink>\n );\n};\n\nexport default Node;\n","const DownIcon = props => (\n <svg\n fill=\"none\"\n height=\"6\"\n viewBox=\"0 0 6 6\"\n width=\"6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M3.803 5.475a.35.35 0 0 1-.606 0l-2.425-4.2A.35.35 0 0 1 1.075.75h4.85a.35.35 0 0 1 .303.525z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default DownIcon;\n","const RightIcon = props => (\n <svg\n fill=\"none\"\n height=\"6\"\n viewBox=\"0 0 6 6\"\n width=\"6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M5.475 2.697a.35.35 0 0 1 0 .606l-4.2 2.425a.35.35 0 0 1-.525-.303V.575a.35.35 0 0 1 .525-.303z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default RightIcon;\n","import DownIcon from \"./DownIcon\";\nimport RightIcon from \"./RightIcon\";\n\nconst SwitcherIcon = ({ expanded }) =>\n expanded ? (\n <DownIcon className=\"neeto-ui-relative\" size={16} />\n ) : (\n <RightIcon className=\"neeto-ui-relative\" size={16} />\n );\n\nexport default SwitcherIcon;\n","const splitItemsByFolder = items =>\n items.reduce(\n (acc, item) => {\n const value = { ...item, isFolder: false, isLeaf: true };\n if (item.folderId) {\n if (!acc.itemsByFolderId[item.folderId]) {\n acc.itemsByFolderId[item.folderId] = [];\n }\n acc.itemsByFolderId[item.folderId].push({ ...value });\n } else {\n acc.rootItems.push(value);\n }\n\n return acc;\n },\n { itemsByFolderId: {}, rootItems: [] }\n );\n\nconst appendItemsToFolders = (folders, itemsByFolderId) =>\n folders.map(folder => ({\n ...folder,\n isFolder: true,\n isLeaf: false,\n children: [\n ...appendItemsToFolders(folder.children || [], itemsByFolderId),\n ...(itemsByFolderId[folder.id] || []),\n ],\n }));\n\nexport const buildTreeWithItems = (folders, { items }) => {\n if (!items || !folders) return folders;\n\n const { itemsByFolderId, rootItems } = splitItemsByFolder(items);\n const foldersWithItems = appendItemsToFolders(folders, itemsByFolderId);\n\n return [...foldersWithItems, ...rootItems];\n};\n","import { startTransition, useEffect, useMemo, useState } from \"react\";\n\nimport { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Tree, Typography } from \"neetoui\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport Node from \"./Node\";\nimport SwitcherIcon from \"./SwitcherIcon\";\nimport { buildTreeWithItems } 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 () => buildTreeWithItems(folders, config),\n [folders, config.items]\n );\n\n const updateExpandedKeys = () => {\n if (!treeData) return;\n // When active folder changes from external sources, update expanded keys to auto expand tree.\n const updatedExpandedKeys = new Set(expandedKeysSet);\n const map = treeToMap(treeData, \"sid\");\n const activeFolder = map[activeFolderSid];\n const parentSid = activeFolder?.meta?.parent?.sid;\n\n if (parentSid && !expandedKeysSet.has(parentSid)) {\n updatedExpandedKeys.add(parentSid);\n }\n };\n\n const handleExpand = (keys, { expanded, node }) => {\n const keysSet = new Set(keys);\n\n if (!expanded) {\n const removeChildKeys = (children = []) => {\n children.forEach(child => {\n keysSet.delete(child.sid);\n removeChildKeys(child.children);\n });\n };\n removeChildKeys(node.children);\n }\n\n setExpandedKeysSet(keysSet);\n };\n\n useEffect(() => {\n // Non urgent update.\n startTransition(updateExpandedKeys);\n }, [activeFolderSid, treeData]);\n\n if (isNotPresent(treeData)) {\n return (\n <Typography\n className=\"w-full text-center\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"folders.noFolders\")}\n </Typography>\n );\n }\n\n return (\n <Tree\n {...{ expandedKeys, treeData }}\n autoExpandParent\n blockNode\n className=\"neeto-sidebar-folders-tree\"\n componentToken={{ titleHeight: 24, indentSize: 20 }}\n fieldNames={{ key: \"sid\" }}\n selectedKeys={[activeFolderSid]}\n showLine={false}\n switcherIcon={SwitcherIcon}\n titleRender={node => (\n <Node\n {...{ config, node }}\n isActive={node.sid === activeFolderSid}\n isExpanded={expandedKeysSet.has(node.sid)}\n link={\n node.link ||\n buildUrl(config.folderPath, { ...params, folderId: node.sid })\n }\n />\n )}\n onExpand={handleExpand}\n />\n );\n};\n\nexport default FoldersTree;\n","import { mapObj } from \"utils/internal\";\n\nexport const createFolderOptions = (foldersMap, config) =>\n mapObj(\n foldersMap,\n folder => ({\n id: folder.id,\n label: folder.name,\n value: folder.id,\n pId: folder.meta.parent?.id,\n }),\n folder => folder.meta.depth < config.maxDepth\n );\n","import { forwardRef, useMemo, useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { TreeSelect as NUITreeSelect } from \"neetoui/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 loading = false,\n required = false,\n showSearch = true,\n size = \"middle\",\n fieldNames,\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(foldersMap, config),\n [foldersMap]\n );\n\n return (\n <NUITreeSelect\n treeDataSimpleMode\n data-testid=\"nui-select-container-wrapper\"\n treeData={folderOptions}\n treeNodeFilterProp={fieldNames?.label ?? \"title\"}\n {...{\n disabled,\n fieldNames,\n label,\n loading,\n name,\n placeholder,\n ref,\n required,\n showSearch,\n size,\n ...otherProps,\n }}\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","Pane","Body","className","children","Spinner","_jsxs","_Fragment","Header","Typography","style","Form","formikProps","enableReinitialize","validationSchema","addEditValidationSchema","_ref5","dirty","label","ref","TreeSelect","allowClear","showSearch","initialValue","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","width","REORDER_TREE_INDENT_WIDTH","insetInlineStart","Math","round","top","hyphenate","classNames","lineHeight","weight","join","forwardRef","SelectableNode","_ref$depth","maxDepth","selection","onSelect","isDisabled","labels","renderChildren","isNotPresent","child","_SelectableNode","undefined","Radio","Item","readOnly","checked","noop","createTree","isRootEnabled","PaneBody","_ref$isRootEnabled","removeButtonProps","onRemove","_useState","useState","_useState2","_slicedToArray","setSelection","_useFetchFolders$data","tree","Number","POSITIVE_INFINITY","foldersMap","treeToMap","folderDepth","measureDepth","onAddFolder","paneState","_useFolderStore3","_store$lastCreatedFol","useEffect","useHotkeys","mode","enabled","Button","MoveFolderPane","onSaveSelection","toastApiError","loading","DraggableNode","_useDraggable","useDraggable","isDragging","listeners","setDraggableRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableRef","_child$children$lengt","_child$children","_DraggableNode","RearrangeFoldersPane","_tree$children$length","_tree$children","_dragItem$children$le","_dragItem$children","dragItem","setDragItem","_useState3","_useState4","changes","setChanges","_useReorderFolders","useReorderFolders","reorderFolders","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","setTree","onDragEnd","_activeFolder$meta$pa","active","over","activeFolder","current","overFolder","meta","activeDepth","overDepth","Toastr","newTree","mapToTree","assoc","nodeProps","Reorder","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","commonProps","ReorderPaneComponent","reorderMode","FoldersContext","FolderTile","_folder$children$leng2","_folder$children2","_ref$isPreview","isPreview","isSelected","link","actions","draggable","actionCallback","callback","event","preventDefault","menuItems","onEdit","onMove","onDelete","Link","to","Checkbox","onChange","target","stopPropagation","MoreDropdown","dropdownButtonProps","dropdownProps","FoldersDnd","onDropItem","onDrop","renderItemOverlay","renderOverlay","onDropFolder","handleDragStart","handleDragEnd","renderFolderOverlay","dropAnimation","modifiers","snapCenterToCursor","FoldersList","_ref$selection","params","_useFolder","useFolder","useFolderActions","subFolders","includes","DraggableWrapper","_ref$id","MoveToFolderPane","FolderIcon","props","fill","height","size","viewBox","xmlns","d","FolderIconOpen","isExpanded","node","isPrivate","_node$isFolder","isFolder","folderActions","itemActions","_ref2$getMoreActions","getMoreActions","_ref2$getAddActions","getAddActions","moreActions","addActions","hasMoreActions","isNotEmpty","hasAddActions","hasAnyActions","NavLink","activeClassName","component","Lock","e","Plus","tooltipProps","content","position","DownIcon","RightIcon","SwitcherIcon","expanded","splitItemsByFolder","items","reduce","acc","value","isLeaf","itemsByFolderId","rootItems","appendItemsToFolders","buildTreeWithItems","_splitItemsByFolder","foldersWithItems","FoldersTree","Set","expandedKeysSet","setExpandedKeysSet","expandedKeys","treeData","updateExpandedKeys","_activeFolder$meta","updatedExpandedKeys","parentSid","has","add","handleExpand","keys","keysSet","removeChildKeys","startTransition","Tree","autoExpandParent","blockNode","componentToken","titleHeight","indentSize","fieldNames","selectedKeys","showLine","switcherIcon","titleRender","onExpand","createFolderOptions","mapObj","_folder$meta$parent","pId","_fieldNames$label","_ref$label","_ref$placeholder","placeholder","_ref$disabled","_ref$loading","_ref$required","_ref$showSearch","_ref$size","otherProps","_useFormikContext","useFormikContext","setFieldValue","isValidParent","folderOptions","NUITreeSelect","treeDataSimpleMode","treeNodeFilterProp","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components.js","sources":["../app/javascript/src/components/internal/Alerts.jsx","../app/javascript/src/components/internal/Pane/AddEdit/constants.js","../app/javascript/src/components/internal/Pane/AddEdit/Extra.jsx","../app/javascript/src/components/internal/Pane/AddEdit/utils.js","../app/javascript/src/components/internal/Pane/AddEdit/index.jsx","../app/javascript/src/components/internal/Pane/Node.jsx","../app/javascript/src/components/internal/Pane/Move/SelectableNode.jsx","../app/javascript/src/components/internal/Pane/Move/Body.jsx","../app/javascript/src/components/internal/Pane/Move/index.jsx","../app/javascript/src/components/internal/Pane/Rearrange/DraggableNode.jsx","../app/javascript/src/components/internal/Pane/Rearrange/index.jsx","../app/javascript/src/components/internal/Pane/Reorder/PlaceholderNode.jsx","../app/javascript/src/components/internal/Pane/Reorder/DraggableNode.jsx","../app/javascript/src/components/internal/Pane/Reorder/index.jsx","../app/javascript/src/components/internal/Pane/index.jsx","../app/javascript/src/components/Context.jsx","../app/javascript/src/components/List/Tile.jsx","../app/javascript/src/components/Dnd.jsx","../app/javascript/src/components/List/index.jsx","../app/javascript/src/components/List/Draggable.jsx","../app/javascript/src/components/MoveToFolderPane.jsx","../app/javascript/src/components/Tree/FolderIcon.jsx","../app/javascript/src/components/Tree/FolderIconOpen.jsx","../app/javascript/src/components/Tree/Node.jsx","../app/javascript/src/components/Tree/DownIcon.jsx","../app/javascript/src/components/Tree/RightIcon.jsx","../app/javascript/src/components/Tree/SwitcherIcon.jsx","../app/javascript/src/components/Tree/utils.js","../app/javascript/src/components/Tree/index.jsx","../app/javascript/src/components/TreeSelect/utils.js","../app/javascript/src/components/TreeSelect/index.jsx"],"sourcesContent":["import { useQueryClient } from \"@tanstack/react-query\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useDestroyFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolders from \"hooks/useFolders\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { pathToFolder } from \"utils\";\nimport { isActiveFolder } from \"utils/internal\";\n\nconst FoldersAlerts = ({ config }) => {\n const { setFolderState } = useFolderStore.pick();\n const queryParams = useQueryParams({ toCamelCase: false });\n const queryClient = useQueryClient();\n const history = useHistory();\n const { t } = useTranslation(config);\n\n const { type, item } = useFolderStore.pick(\"alertState\");\n const { mutateAsync: destroyFolder, isPending } = useDestroyFolder(config);\n const { folders } = useFolders(config);\n\n const onClose = () => setFolderState({ alertState: null });\n const alertProps = { isOpen: !!type, isSubmitting: isPending, onClose };\n\n const onConfirmDelete = () => {\n const onSuccess = () => {\n const isActive = isActiveFolder(config, item.sid);\n // Invalidates items and folder details. Refetch only if not active folder.\n const invalidationKeys = [\n ...config.invalidationKeys,\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ];\n\n invalidationKeys.forEach(queryKey => {\n queryClient.invalidateQueries({\n refetchType: isActive ? \"none\" : \"active\",\n queryKey,\n });\n });\n\n if (isActive && folders) {\n const path = pathToFolder(folders, item.id);\n const parent = path[path.length - 2];\n 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 \"neetoui/formik\";\n\nconst typeComponentMap = { string: Input, boolean: Switch, textarea: Textarea };\n\nconst ExtraAttributes = ({ attributes }) => {\n if (!Array.isArray(attributes)) return null;\n\n return attributes.map(({ type, ...rest }) => {\n const Component = typeComponentMap[type];\n if (!Component) return null;\n\n return <Component {...rest} key={rest.name} />;\n });\n};\n\nexport default ExtraAttributes;\n","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 { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Toastr, Typography, Spinner } from \"neetoui\";\nimport { Input, ActionBlock, Form } from \"neetoui/formik\";\n\nimport { TreeSelect } from \"components\";\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\";\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 <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">\n {isEditing ? t(\"folders.edit\") : t(\"folders.add\")}\n </Typography>\n </Pane.Header>\n <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 <Pane.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\" style=\"body3\">\n {t(\"createFolder.parentInfo\")}\n </Typography>\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{ disabled: !dirty }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default AddEditPane;\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\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=\"neeto-ui-border-gray-400 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=\"neeto-ui-border-gray-400 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 lineHeight=\"snug\" style=\"body1\" weight=\"medium\">\n {folder.name}\n </Typography>\n {metaInfo.length > 0 && (\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"snug\"\n style=\"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 classNames from \"classnames\";\nimport { isNotPresent, noop, hyphenate } from \"neetocist\";\nimport { Radio } from \"neetoui\";\n\nimport useTranslation from \"hooks/useTranslation\";\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 <Radio.Item\n readOnly\n checked={selection === folder.id}\n className=\"neeto-ui-radio__container\"\n data-testid={`${hyphenate(folder.name)}-folder-option`}\n name=\"move-folder-option\"\n />\n }\n onClick={isDisabled ? noop : () => onSelect(folder)}\n />\n {renderChildren()}\n </div>\n );\n};\n\nexport default SelectableNode;\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Button, Callout, Pane, Typography, Spinner } from \"neetoui\";\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 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 <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header className=\"flex items-center justify-between\">\n <Typography style=\"h2\">{t(\"moveToFolder.title\")}</Typography>\n <Button\n className=\"me-2\"\n data-testid=\"add-new-folder-button\"\n label={t(\"folders.add\")}\n style=\"link\"\n onClick={onAddFolder}\n />\n </Pane.Header>\n <Pane.Body className=\"pb-6\">\n {nestingWarning && (\n <Callout className=\"mb-4\" style=\"warning\">\n {nestingWarning}\n </Callout>\n )}\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 </Pane.Body>\n <Pane.Footer className=\"space-x-2\">\n <div className=\"flex flex-1 space-x-2\">\n <Button\n label={t(\"common.save\")}\n style=\"primary\"\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 style=\"text\"\n onClick={onClose}\n {...cancelButtonProps}\n data-testid=\"cancel-button\"\n />\n </div>\n {onRemove && (\n <Button\n label={t(\"moveToFolder.remove\")}\n style=\"tertiary\"\n onClick={onRemove}\n {...removeButtonProps}\n data-testid=\"remove-from-folder-button\"\n />\n )}\n </Pane.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 \"neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isInDraggedSubtree,\n \"neeto-ui-border-primary-500 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 { DndContext, DragOverlay } from \"@dnd-kit/core\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Reorder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography, Spinner } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport 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 <Reorder className=\"neeto-ui-text-gray-500 relative -start-[0.3125rem] flex-shrink-0\" />\n ),\n };\n\n if (isFetching) {\n return (\n <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">{t(\"reorderFolder.title\")}</Typography>\n </Pane.Header>\n <DndContext\n {...{ onDragEnd }}\n onDragStart={({ active }) => setDragItem(active.data.current)}\n >\n <Pane.Body className=\"pb-6\">\n <DraggableNode\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 </Pane.Body>\n <Pane.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={onSubmit}\n />\n <Button label={t(\"common.cancel\")} style=\"text\" onClick={onClose} />\n </Pane.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragItem && (\n <Node\n hideTreeIndent\n {...nodeProps}\n className=\"neeto-ui-bg-gray-200\"\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 \"neeto-ui-border-primary-500 border-b-2\": isOver,\n })}\n />\n </div>\n );\n};\n\nexport default PlaceholderNode;\n","import React from \"react\";\n\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { isArray } from \"utils/internal\";\n\nimport PlaceholderNode from \"./PlaceholderNode\";\n\nimport Node from \"../Node\";\n\nconst DraggableNode = ({\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:neeto-ui-bg-gray-100 w-full cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isInDraggedSubtree,\n \"neeto-ui-bg-primary-50\": isOverParent,\n \"neeto-ui-border-primary-500 border-b-2\": isOverItem,\n })}\n ref={ref => {\n setDroppableRef(ref);\n setDraggableRef(ref);\n }}\n />\n {renderChildren()}\n </>\n );\n};\n\nexport default DraggableNode;\n","import { useMemo, useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Reorder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography, Spinner } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport 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 <Reorder className=\"neeto-ui-text-gray-500 relative -start-[0.3125rem] flex-shrink-0\" />\n ),\n };\n\n if (isFetching) {\n return (\n <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">{t(\"reorderFolder.title\")}</Typography>\n </Pane.Header>\n <DndContext\n {...{ onDragEnd, sensors }}\n collisionDetection={closestCenter(dragState)}\n measuring={measuringConfig}\n onDragOver={({ over }) => {\n setDragState(assoc(\"overItem\", over?.data.current));\n }}\n onDragStart={({ active }) => {\n setDragState(assoc(\"activeItem\", active.data.current));\n }}\n >\n <Pane.Body className=\"pb-6\">\n <DraggableNode\n {...{ ...nodeProps, 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 </Pane.Body>\n <Pane.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={onSubmit}\n />\n <Button label={t(\"common.cancel\")} style=\"text\" onClick={onClose} />\n </Pane.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragState && (\n <Node\n hideTreeIndent\n {...nodeProps}\n className=\"neeto-ui-bg-gray-200 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 { Pane } from \"neetoui\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport AddEditPane from \"./AddEdit\";\nimport MoveFolderPane from \"./Move\";\nimport RearrangeFoldersPane from \"./Rearrange\";\nimport ReorderFoldersPane from \"./Reorder\";\n\nconst FoldersPane = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const { 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 <Pane {...{ onClose }} isOpen={!!type}>\n {({ setFocusField }) => (\n <>\n {(type === \"edit\" || type === \"add\") && (\n <AddEditPane {...{ setFocusField, ...commonProps }} />\n )}\n {type === \"move\" && <MoveFolderPane {...commonProps} />}\n {type === \"reorder\" && <ReorderPaneComponent {...commonProps} />}\n </>\n )}\n </Pane>\n );\n};\n\nexport default FoldersPane;\n","import FoldersAlerts from \"components/internal/Alerts\";\nimport FoldersPane from \"components/internal/Pane\";\n\nconst FoldersContext = ({ config, children }) => (\n <>\n {children}\n <FoldersPane {...{ config }} />\n <FoldersAlerts {...{ config }} />\n </>\n);\n\nexport default FoldersContext;\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Checkbox, Typography } from \"neetoui\";\nimport { Link } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\nimport { DEFAULT_CONFIG } from \"src/constants/config\";\n\nconst FolderTile = ({\n isPreview = false,\n isSelected,\n link,\n folder,\n actions,\n config,\n onSelect,\n}) => {\n const { t } = useTranslation(config);\n\n const droppable = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isPreview,\n });\n\n const draggable = useDraggable({\n id: `draggable-item--${folder.id}`,\n data: { ...folder, type: DEFAULT_CONFIG.type },\n disabled: isPreview,\n });\n\n const actionCallback = callback => event => {\n event.preventDefault();\n callback(folder);\n };\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"common.edit\"),\n onClick: actionCallback(actions.onEdit),\n },\n {\n key: \"move\",\n label: t(\"common.moveToFolder\"),\n onClick: actionCallback(actions.onMove),\n },\n {\n key: \"delete\",\n label: t(\"common.delete\"),\n onClick: actionCallback(actions.onDelete),\n },\n ];\n\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n const itemLabel = config.labels[folder.itemCount > 1 ? \"items\" : \"item\"];\n const folderLabel =\n config.labels[(folder.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"];\n childCount > 0 && metaInfo.push(`${childCount} ${folderLabel}`.toLowerCase());\n metaInfo.push(`${folder.itemCount || 0} ${itemLabel}`.toLowerCase());\n\n return (\n <Link\n data-testid={`${hyphenate(folder.name)}-folder-tile`}\n to={link}\n className={classNames(\n \"neeto-ui-bg-gray-50 neeto-ui-border-gray-200 neeto-ui-rounded-md hover:neeto-ui-border-primary-500 relative flex max-w-full items-start gap-2 border-2 p-3 transition-colors ease-in\",\n {\n \"neeto-ui-bg-primary-100\": droppable.isOver,\n \"opacity-50\": draggable.isDragging,\n \"scale-75\": isPreview,\n }\n )}\n {...droppable.attributes}\n {...droppable.listeners}\n {...draggable.attributes}\n {...draggable.listeners}\n ref={ref => {\n droppable.setNodeRef(ref);\n draggable.setNodeRef(ref);\n }}\n >\n <Checkbox\n checked={isSelected}\n className=\"m-0 flex-shrink-0 flex-grow-0 pt-0.5\"\n name={folder.id}\n onChange={event => onSelect(folder, event.target.checked)}\n onClick={event => event.stopPropagation()}\n />\n <span className=\"flex min-w-0 flex-grow flex-col gap-2\">\n <Typography\n className=\"-mt-0.5 line-clamp-2 break-words pe-8\"\n data-testid=\"folder-name\"\n lineHeight=\"snug\"\n style=\"body1\"\n title={folder.name}\n weight=\"medium\"\n >\n {folder.name}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body3\">\n {metaInfo.join(\" . \")}\n </Typography>\n </span>\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{ className: \"absolute end-2 top-2\" }}\n dropdownProps={{ onClick: event => event.preventDefault() }}\n />\n </Link>\n );\n};\n\nexport default FolderTile;\n","import { useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { snapCenterToCursor } from \"@dnd-kit/modifiers\";\nimport { noop } from \"neetocist\";\n\nimport FolderTile from \"components/List/Tile\";\nimport { useUpdateFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { DEFAULT_CONFIG } from \"src/constants/config\";\nimport { toastApiError } from \"utils/internal\";\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 { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\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\" style=\"h4\">\n {t(\"folders.title\")}\n </Typography>\n <div\n className=\"neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4\"\n data-testid=\"folders-list\"\n >\n {subFolders.map(folder => (\n <FolderTile\n {...{ actions, config, folder, onSelect }}\n isSelected={selection.includes(folder.id)}\n key={folder.id}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n ))}\n </div>\n </>\n );\n};\n\nexport default FoldersList;\n","import { useDraggable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nconst DraggableWrapper = ({ data, id = data.id, children }) => {\n const draggable = useDraggable({\n id: `folders-list-draggable-item--${id}`,\n data,\n });\n\n return (\n <div\n className={classNames({ \"opacity-50\": draggable.isDragging })}\n {...draggable.attributes}\n {...draggable.listeners}\n ref={draggable.setNodeRef}\n >\n {children}\n </div>\n );\n};\n\nexport default DraggableWrapper;\n","import { Pane } from \"neetoui\";\n\nimport PaneBody from \"components/internal/Pane/Move/Body\";\n\nconst MoveToFolderPane = ({ isOpen, onClose, ...rest }) => (\n <Pane {...{ isOpen, onClose }}>\n <PaneBody {...{ ...rest, onClose }} />\n </Pane>\n);\n\nexport default MoveToFolderPane;\n","const FolderIcon = props => (\n <svg\n fill=\"none\"\n height={props.size}\n viewBox=\"0 0 16 16\"\n width={props.size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M3.202 12.798h9.6c.882 0 1.6-.717 1.6-1.6v-6c0-.882-.718-1.6-1.6-1.6H9.069a.8.8 0 0 1-.48-.16l-.96-.72a1.6 1.6 0 0 0-.96-.32H3.202c-.883 0-1.6.718-1.6 1.6v7.2c0 .883.717 1.6 1.6 1.6\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default FolderIcon;\n","const FolderIconOpen = props => (\n <svg\n fill=\"none\"\n height={props.size}\n viewBox=\"0 0 16 16\"\n width={props.size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"m2.2 7.24-.59 1.765V4c0-.882.717-1.6 1.6-1.6h3.467c.345 0 .682.113.96.32l.96.72c.137.105.307.16.48.16h2.932c.883 0 1.6.718 1.6 1.6v.4H4.474c-1.032 0-1.95.66-2.277 1.64zm10.544 5.56h-9.47c-.82 0-1.397-.802-1.137-1.58l1.2-3.6c.162-.49.622-.82 1.137-.82h9.47c.82 0 1.398.803 1.138 1.58l-1.2 3.6c-.163.49-.623.82-1.138.82\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default FolderIconOpen;\n","import { isNotEmpty, hyphenate, noop } from \"neetocist\";\nimport { Lock, Plus } from \"neetoicons\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { NavLink } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nimport FolderIcon from \"./FolderIcon\";\nimport FolderIconOpen from \"./FolderIconOpen\";\n\nconst Node = ({ isActive, isExpanded, node, link, config }) => {\n const { t } = useTranslation();\n const { isPrivate, name, isFolder = true } = node;\n\n const { getMoreActions = noop, getAddActions = noop } = isFolder\n ? config.folderActions\n : config.itemActions;\n\n const moreActions = getMoreActions(node) || [];\n const addActions = getAddActions(node) || [];\n\n const hasMoreActions = isNotEmpty(moreActions);\n const hasAddActions = isNotEmpty(addActions);\n const hasAnyActions = hasMoreActions || hasAddActions;\n\n return (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-sidebar-folders-tree__folder-node\"\n isActive={() => isActive}\n to={link}\n >\n <div\n className=\"flex items-center justify-between w-full group relative\"\n data-testid={`${hyphenate(name)}-${isFolder ? \"folder\" : \"item\"}-sublink`}\n title=\"\"\n >\n {isFolder &&\n (isExpanded ? (\n <FolderIconOpen className=\"flex-shrink-0 me-1\" size={16} />\n ) : (\n <FolderIcon className=\"flex-shrink-0 me-1\" size={16} />\n ))}\n <div className=\"flex items-center min-w-0 flex-1\">\n <Typography\n className=\"line-clamp-1 block truncate ps-0.5\"\n component=\"span\"\n style=\"body2\"\n title={name}\n >\n {name}\n </Typography>\n {isPrivate && (\n <span title={t(\"common.private\")}>\n <Lock className=\"flex-shrink-0 ms-1\" size={16} />\n </span>\n )}\n </div>\n {hasAnyActions && (\n <div\n className=\"flex items-center gap-0.5 py-0.5 absolute end-0 top-0 h-full neeto-sidebar-folders-tree__folder-node-actions neeto-ui-rounded-md ps-2\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n {hasAddActions && (\n <MoreDropdown\n dropdownProps={{ icon: Plus }}\n menuItems={addActions}\n dropdownButtonProps={{\n size: \"small\",\n tooltipProps: { content: \"Add\", position: \"top\" },\n className:\n \"opacity-0 group-hover:opacity-100 transition-opacity neeto-sidebar-folders-tree__action-button size-5\",\n }}\n />\n )}\n {hasMoreActions && (\n <MoreDropdown\n menuItems={moreActions}\n dropdownButtonProps={{\n size: \"small\",\n className:\n \"opacity-0 group-hover:opacity-100 transition-opacity neeto-sidebar-folders-tree__action-button size-5\",\n }}\n />\n )}\n </div>\n )}\n </div>\n </NavLink>\n );\n};\n\nexport default Node;\n","const DownIcon = props => (\n <svg\n fill=\"none\"\n height=\"6\"\n viewBox=\"0 0 6 6\"\n width=\"6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M3.803 5.475a.35.35 0 0 1-.606 0l-2.425-4.2A.35.35 0 0 1 1.075.75h4.85a.35.35 0 0 1 .303.525z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default DownIcon;\n","const RightIcon = props => (\n <svg\n fill=\"none\"\n height=\"6\"\n viewBox=\"0 0 6 6\"\n width=\"6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M5.475 2.697a.35.35 0 0 1 0 .606l-4.2 2.425a.35.35 0 0 1-.525-.303V.575a.35.35 0 0 1 .525-.303z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default RightIcon;\n","import DownIcon from \"./DownIcon\";\nimport RightIcon from \"./RightIcon\";\n\nconst SwitcherIcon = ({ expanded }) =>\n expanded ? (\n <DownIcon className=\"neeto-ui-relative\" size={16} />\n ) : (\n <RightIcon className=\"neeto-ui-relative\" size={16} />\n );\n\nexport default SwitcherIcon;\n","const splitItemsByFolder = items =>\n items.reduce(\n (acc, item) => {\n const value = { ...item, isFolder: false, isLeaf: true };\n if (item.folderId) {\n if (!acc.itemsByFolderId[item.folderId]) {\n acc.itemsByFolderId[item.folderId] = [];\n }\n acc.itemsByFolderId[item.folderId].push({ ...value });\n } else {\n acc.rootItems.push(value);\n }\n\n return acc;\n },\n { itemsByFolderId: {}, rootItems: [] }\n );\n\nconst appendItemsToFolders = (folders, itemsByFolderId) =>\n folders.map(folder => ({\n ...folder,\n isFolder: true,\n isLeaf: false,\n children: [\n ...appendItemsToFolders(folder.children || [], itemsByFolderId),\n ...(itemsByFolderId[folder.id] || []),\n ],\n }));\n\nexport const buildTreeWithItems = (folders, { items }) => {\n if (!items || !folders) return folders;\n\n const { itemsByFolderId, rootItems } = splitItemsByFolder(items);\n const foldersWithItems = appendItemsToFolders(folders, itemsByFolderId);\n\n return [...foldersWithItems, ...rootItems];\n};\n","import { startTransition, useEffect, useMemo, useState } from \"react\";\n\nimport { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Tree, Typography } from \"neetoui\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport Node from \"./Node\";\nimport SwitcherIcon from \"./SwitcherIcon\";\nimport { buildTreeWithItems } 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 () => buildTreeWithItems(folders, config),\n [folders, config.items]\n );\n\n const updateExpandedKeys = () => {\n if (!treeData) return;\n // When active folder changes from external sources, update expanded keys to auto expand tree.\n const updatedExpandedKeys = new Set(expandedKeysSet);\n const map = treeToMap(treeData, \"sid\");\n const activeFolder = map[activeFolderSid];\n const parentSid = activeFolder?.meta?.parent?.sid;\n\n if (parentSid && !expandedKeysSet.has(parentSid)) {\n updatedExpandedKeys.add(parentSid);\n }\n };\n\n const handleExpand = (keys, { expanded, node }) => {\n const keysSet = new Set(keys);\n\n if (!expanded) {\n const removeChildKeys = (children = []) => {\n children.forEach(child => {\n keysSet.delete(child.sid);\n removeChildKeys(child.children);\n });\n };\n removeChildKeys(node.children);\n }\n\n setExpandedKeysSet(keysSet);\n };\n\n useEffect(() => {\n // Non urgent update.\n startTransition(updateExpandedKeys);\n }, [activeFolderSid, treeData]);\n\n if (isNotPresent(treeData)) {\n return (\n <Typography\n className=\"w-full text-center\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"folders.noFolders\")}\n </Typography>\n );\n }\n\n return (\n <Tree\n {...{ expandedKeys, treeData }}\n autoExpandParent\n blockNode\n className=\"neeto-sidebar-folders-tree\"\n componentToken={{ titleHeight: 24, indentSize: 20 }}\n fieldNames={{ key: \"sid\" }}\n selectedKeys={[activeFolderSid]}\n showLine={false}\n switcherIcon={SwitcherIcon}\n titleRender={node => (\n <Node\n {...{ config, node }}\n isActive={node.sid === activeFolderSid}\n isExpanded={expandedKeysSet.has(node.sid)}\n link={\n node.link ||\n buildUrl(config.folderPath, { ...params, folderId: node.sid })\n }\n />\n )}\n onExpand={handleExpand}\n />\n );\n};\n\nexport default FoldersTree;\n","import { findById } from \"neetocist\";\n\nimport { mapObj } from \"utils/internal\";\nimport { walkTree } from \"utils/treeUtils\";\n\nconst subtreeIds = (foldersMap, folderId) => {\n const ids = new Set();\n walkTree(findById(folderId, Object.values(foldersMap ?? {})), ({ id }) =>\n ids.add(id)\n );\n\n return ids;\n};\n\nexport const createFolderOptions = (\n foldersMap,\n maxDepth,\n excludedFolderId = null\n) => {\n const excludedIds = subtreeIds(foldersMap, excludedFolderId);\n\n return mapObj(\n foldersMap,\n folder => ({\n id: folder.id,\n label: folder.name,\n value: folder.id,\n pId: folder.meta.parent?.id,\n }),\n folder => folder.meta.depth < maxDepth && !excludedIds.has(folder.id)\n );\n};\n","import { forwardRef, useMemo, useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { TreeSelect as NUITreeSelect } from \"neetoui/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 loading = false,\n required = false,\n showSearch = true,\n size = \"middle\",\n fieldNames,\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 () => createFolderOptions(foldersMap, config.maxDepth, excludedFolderId),\n [foldersMap, config.maxDepth, excludedFolderId]\n );\n\n return (\n <NUITreeSelect\n treeDataSimpleMode\n data-testid=\"nui-select-container-wrapper\"\n treeData={folderOptions}\n treeNodeFilterProp={fieldNames?.label ?? \"title\"}\n {...{\n disabled,\n fieldNames,\n label,\n loading,\n name,\n placeholder,\n ref,\n required,\n showSearch,\n size,\n ...otherProps,\n }}\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","Pane","Body","className","children","Spinner","_jsxs","_Fragment","Header","Typography","style","Form","formikProps","enableReinitialize","validationSchema","addEditValidationSchema","_ref5","dirty","label","ref","TreeSelect","allowClear","showSearch","excludedFolderId","initialValue","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","width","REORDER_TREE_INDENT_WIDTH","insetInlineStart","Math","round","top","hyphenate","classNames","lineHeight","weight","join","forwardRef","SelectableNode","_ref$movedIds","movedIds","_ref$depth","maxDepth","selection","onSelect","isDepthExceeded","isDisabled","includes","disabledTitle","labels","renderChildren","isNotPresent","child","_SelectableNode","undefined","Radio","Item","readOnly","checked","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","Callout","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","Reorder","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","commonProps","ReorderPaneComponent","reorderMode","FoldersContext","FolderTile","_folder$children$leng2","_folder$children2","_ref$isPreview","isPreview","isSelected","link","actions","draggable","actionCallback","callback","event","preventDefault","menuItems","onEdit","onMove","onDelete","Link","to","Checkbox","onChange","target","stopPropagation","MoreDropdown","dropdownButtonProps","dropdownProps","FoldersDnd","onDropItem","onDrop","renderItemOverlay","renderOverlay","onDropFolder","handleDragStart","handleDragEnd","renderFolderOverlay","dropAnimation","modifiers","snapCenterToCursor","FoldersList","_ref$selection","params","_useFolder","useFolder","useFolderActions","subFolders","DraggableWrapper","_ref$id","MoveToFolderPane","FolderIcon","props","fill","height","size","viewBox","xmlns","d","FolderIconOpen","isExpanded","node","isPrivate","_node$isFolder","isFolder","folderActions","itemActions","_ref2$getMoreActions","getMoreActions","_ref2$getAddActions","getAddActions","moreActions","addActions","hasMoreActions","hasAddActions","hasAnyActions","NavLink","activeClassName","component","Lock","e","Plus","tooltipProps","content","position","DownIcon","RightIcon","SwitcherIcon","expanded","splitItemsByFolder","reduce","acc","value","isLeaf","itemsByFolderId","rootItems","appendItemsToFolders","buildTreeWithItems","_splitItemsByFolder","foldersWithItems","FoldersTree","Set","expandedKeysSet","setExpandedKeysSet","expandedKeys","treeData","updateExpandedKeys","_activeFolder$meta","updatedExpandedKeys","parentSid","has","add","handleExpand","keys","keysSet","removeChildKeys","startTransition","Tree","autoExpandParent","blockNode","componentToken","titleHeight","indentSize","fieldNames","selectedKeys","showLine","switcherIcon","titleRender","onExpand","subtreeIds","ids","walkTree","findById","Object","createFolderOptions","excludedIds","mapObj","_folder$meta$parent","pId","_fieldNames$label","_ref$label","_ref$placeholder","placeholder","_ref$loading","_ref$required","_ref$showSearch","_ref$size","_ref$excludedFolderId","otherProps","_useFormikContext","useFormikContext","setFieldValue","isValidParent","folderOptions","NUITreeSelect","treeDataSimpleMode","treeNodeFilterProp","displayName"],"mappings":"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"}
|