@bigbinary/neeto-folders-frontend 2.0.34 → 2.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":["../../app/javascript/src/hooks/useTranslation.js","../../app/javascript/src/components/internal/Alerts.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/constants.js","../../app/javascript/src/components/internal/Pane/AddEdit/Extra.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/utils.js","../../app/javascript/src/components/internal/Pane/AddEdit/index.jsx","../../app/javascript/src/constants/general.js","../../app/javascript/src/components/internal/Pane/Node.jsx","../../app/javascript/src/components/internal/Pane/Move/SelectableNode.jsx","../../app/javascript/src/components/internal/Pane/Move/Body.jsx","../../app/javascript/src/components/internal/Pane/Move/index.jsx","../../app/javascript/src/components/internal/Pane/Rearrange/DraggableNode.jsx","../../app/javascript/src/components/internal/Pane/Rearrange/index.jsx","../../app/javascript/src/utils/closestCenter.js","../../app/javascript/src/components/internal/Pane/Reorder/PlaceholderNode.jsx","../../app/javascript/src/components/internal/Pane/Reorder/DraggableNode.jsx","../../app/javascript/src/components/internal/Pane/Reorder/index.jsx","../../app/javascript/src/components/internal/Pane/index.jsx","../../app/javascript/src/components/Context.jsx","../../app/javascript/src/components/List/Tile.jsx","../../app/javascript/src/components/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","../../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["import { useTranslation as useDefaultTranslation } from \"react-i18next\";\n\nconst useTranslation = config => {\n const { t } = useDefaultTranslation();\n\n const modT = (key, options) =>\n config?.labels ? t(key, { ...config.labels, ...options }) : t(key, options);\n\n return { t: modT };\n};\n\nexport default useTranslation;\n","import { useQueryClient } from \"@tanstack/react-query\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useDestroyFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolders from \"hooks/useFolders\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { pathToFolder } from \"utils\";\nimport { isActiveFolder } from \"utils/internal\";\n\nconst FoldersAlerts = ({ config }) => {\n const { setFolderState } = useFolderStore.pick();\n const queryParams = useQueryParams({ toCamelCase: false });\n const queryClient = useQueryClient();\n const history = useHistory();\n const { t } = useTranslation(config);\n\n const { type, item } = useFolderStore.pick(\"alertState\");\n const { mutateAsync: destroyFolder, isPending } = useDestroyFolder(config);\n const { folders } = useFolders(config);\n\n const onClose = () => setFolderState({ alertState: null });\n const alertProps = { isOpen: !!type, isSubmitting: isPending, onClose };\n\n const onConfirmDelete = () => {\n const onSuccess = () => {\n const isActive = isActiveFolder(config, item.sid);\n // Invalidates items and folder details. Refetch only if not active folder.\n const invalidationKeys = [\n ...config.invalidationKeys,\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ];\n\n invalidationKeys.forEach(queryKey => {\n queryClient.invalidateQueries({\n refetchType: isActive ? \"none\" : \"active\",\n queryKey,\n });\n });\n\n if (isActive && folders) {\n const path = pathToFolder(folders, item.id);\n const parent = path[path.length - 2];\n 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 { 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: ({ 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 }\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","export const REORDER_TREE_INDENT_WIDTH = 30;\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 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 {Array.from({ length: depth }).map((_, index) => (\n <span\n className=\"neeto-ui-border-gray-300 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 ))}\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\">\n <Typography lineHeight=\"snug\" style=\"body1\" weight=\"medium\">\n {folder.name}\n </Typography>\n <Typography\n className=\"relative mt-0.5\"\n lineHeight=\"snug\"\n style=\"body3\"\n weight=\"normal\"\n >\n {metaInfo.join(\" . \")}\n </Typography>\n </div>\n </div>\n </div>\n );\n};\n\nexport default forwardRef(Node);\n","import classNames from \"classnames\";\nimport { isNotPresent, noop, 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 = 1,\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 className={classNames({ \"opacity-60\": isDisabled })}\n title={isDisabled ? t(\"moveToFolder.notAllowed\") : undefined}\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 { 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 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 {...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","const distanceBetween = (p1, p2) =>\n Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n\nconst centerOfRectangle = (rect, left = rect.left, top = rect.top) => ({\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5,\n});\n\nexport const closestCenter =\n ({ activeItem }) =>\n ({ collisionRect, droppableRects, droppableContainers }) => {\n const centerRect = centerOfRectangle(\n collisionRect,\n collisionRect.left - 30,\n collisionRect.top - 30\n );\n\n let minDistance = Number.POSITIVE_INFINITY;\n let collision = { id: undefined };\n\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const droppableContainer of droppableContainers) {\n const rect = droppableRects.get(droppableContainer.id);\n\n if (!rect || droppableContainer.id === activeItem.id) continue;\n\n const distance = distanceBetween(centerOfRectangle(rect), centerRect);\n if (distance < minDistance) {\n minDistance = distance;\n collision = {\n id: droppableContainer.id,\n data: { droppableContainer, value: distance },\n };\n }\n }\n\n return [collision];\n };\n\nexport default closestCenter;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst PlaceholderNode = ({ folder, dragState }) => {\n const { overItem } = dragState;\n\n const id = useId();\n const isOver = id === overItem?.id;\n const depth = folder.meta.depth + 1;\n const meta = { parent: folder, index: -1, depth };\n\n const { setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-placeholder--${folder.name}`,\n data: { id, meta },\n });\n\n return (\n <div className=\"flex w-full\">\n <div style={{ width: REORDER_TREE_INDENT_WIDTH * depth }} />\n <div\n ref={setDroppableRef}\n className={classNames({\n \"min-w-0 flex-1 transition-colors\": true,\n \"neeto-ui-border-primary-500 border-b-2\": isOver,\n })}\n />\n </div>\n );\n};\n\nexport default PlaceholderNode;\n","import React from \"react\";\n\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { isArray } from \"utils/internal\";\n\nimport PlaceholderNode from \"./PlaceholderNode\";\n\nimport Node from \"../Node\";\n\nconst DraggableNode = ({\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 {...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","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n"],"names":["useTranslation","config","_useDefaultTranslatio","useDefaultTranslation","t","modT","key","options","labels","_objectSpread","FoldersAlerts","_ref","_useFolderStore","useFolderStore","store","setFolderState","shallow","queryParams","useQueryParams","toCamelCase","queryClient","useQueryClient","history","useHistory","_useTranslation","_useFolderStore2","_store$alertState","_store$alertState2","type","item","_useDestroyFolder","useDestroyFolder","destroyFolder","mutateAsync","isPending","_useFolders","useFolders","folders","onClose","alertState","alertProps","isOpen","isSubmitting","onConfirmDelete","onSuccess","_config$onUpdateSucce","isActive","isActiveFolder","sid","invalidationKeys","concat","_toConsumableArray","QUERY_KEYS","FOLDERS","DETAILS","forEach","queryKey","invalidateQueries","refetchType","path","pathToFolder","id","parent","length","redirectUrl","buildUrl","folderPath","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","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","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","REORDER_TREE_INDENT_WIDTH","Node","_folder$children$leng","_folder$children","_ref$icon","icon","itemLabel","folder","folderLabel","depth","metaInfo","childCount","push","toLowerCase","itemCount","from","_","index","width","insetInlineStart","Math","round","hyphenate","classNames","lineHeight","weight","join","forwardRef","SelectableNode","_ref$depth","maxDepth","selection","onSelect","isDisabled","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","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","distanceBetween","p1","p2","sqrt","pow","x","y","centerOfRectangle","rect","left","top","height","closestCenter","activeItem","collisionRect","droppableRects","droppableContainers","centerRect","minDistance","collision","_iterator","_createForOfIteratorHelper","_step","s","n","done","droppableContainer","value","get","distance","err","e","f","PlaceholderNode","dragState","overItem","useId","_overItem$meta$parent","isOverItem","isOverParent","isRoot","React","Fragment","initialDragState","sensorConfig","activationConstraint","measuringConfig","droppable","frequency","ReorderFoldersPane","_dragState$activeItem","_dragState$activeItem2","_dragState$activeItem3","setDragState","sensors","useSensors","useSensor","PointerSensor","baseTree","setBaseTree","mapToSortedTree","targetFolder","targetIndex","srcDepth","dstDepth","__index","collisionDetection","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","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","Plus","tooltipProps","content","position","DownIcon","RightIcon","SwitcherIcon","expanded","splitItemsByFolder","items","reduce","acc","isLeaf","itemsByFolderId","rootItems","appendItemsToFolders","buildTreeWithItems","_splitItemsByFolder","foldersWithItems","FoldersTree","Set","expandedKeysSet","setExpandedKeysSet","expandedKeys","treeData","updateExpandedKeys","_activeFolder$meta","updatedExpandedKeys","parentSid","has","add","handleExpand","keys","keysSet","removeChildKeys","useEffect","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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","x_google_ignoreList":[34]}
1
+ {"version":3,"file":"components.js","sources":["../../app/javascript/src/hooks/useTranslation.js","../../app/javascript/src/components/internal/Alerts.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/constants.js","../../app/javascript/src/components/internal/Pane/AddEdit/Extra.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/utils.js","../../app/javascript/src/components/internal/Pane/AddEdit/index.jsx","../../app/javascript/src/constants/general.js","../../app/javascript/src/components/internal/Pane/Node.jsx","../../app/javascript/src/components/internal/Pane/Move/SelectableNode.jsx","../../app/javascript/src/components/internal/Pane/Move/Body.jsx","../../app/javascript/src/components/internal/Pane/Move/index.jsx","../../app/javascript/src/components/internal/Pane/Rearrange/DraggableNode.jsx","../../app/javascript/src/components/internal/Pane/Rearrange/index.jsx","../../app/javascript/src/utils/closestCenter.js","../../app/javascript/src/components/internal/Pane/Reorder/PlaceholderNode.jsx","../../app/javascript/src/components/internal/Pane/Reorder/DraggableNode.jsx","../../app/javascript/src/components/internal/Pane/Reorder/index.jsx","../../app/javascript/src/components/internal/Pane/index.jsx","../../app/javascript/src/components/Context.jsx","../../app/javascript/src/components/List/Tile.jsx","../../app/javascript/src/components/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","../../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["import { useTranslation as useDefaultTranslation } from \"react-i18next\";\n\nconst useTranslation = config => {\n const { t } = useDefaultTranslation();\n\n const modT = (key, options) =>\n config?.labels ? t(key, { ...config.labels, ...options }) : t(key, options);\n\n return { t: modT };\n};\n\nexport default useTranslation;\n","import { useQueryClient } from \"@tanstack/react-query\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useDestroyFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolders from \"hooks/useFolders\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { pathToFolder } from \"utils\";\nimport { isActiveFolder } from \"utils/internal\";\n\nconst FoldersAlerts = ({ config }) => {\n const { setFolderState } = useFolderStore.pick();\n const queryParams = useQueryParams({ toCamelCase: false });\n const queryClient = useQueryClient();\n const history = useHistory();\n const { t } = useTranslation(config);\n\n const { type, item } = useFolderStore.pick(\"alertState\");\n const { mutateAsync: destroyFolder, isPending } = useDestroyFolder(config);\n const { folders } = useFolders(config);\n\n const onClose = () => setFolderState({ alertState: null });\n const alertProps = { isOpen: !!type, isSubmitting: isPending, onClose };\n\n const onConfirmDelete = () => {\n const onSuccess = () => {\n const isActive = isActiveFolder(config, item.sid);\n // Invalidates items and folder details. Refetch only if not active folder.\n const invalidationKeys = [\n ...config.invalidationKeys,\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ];\n\n invalidationKeys.forEach(queryKey => {\n queryClient.invalidateQueries({\n refetchType: isActive ? \"none\" : \"active\",\n queryKey,\n });\n });\n\n if (isActive && folders) {\n const path = pathToFolder(folders, item.id);\n const parent = path[path.length - 2];\n 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 { 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: ({ 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 }\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","export const REORDER_TREE_INDENT_WIDTH = 30;\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 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 {Array.from({ length: depth }).map((_, index) => (\n <span\n className=\"neeto-ui-border-gray-200 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 ))}\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\">\n <Typography lineHeight=\"snug\" style=\"body1\" weight=\"medium\">\n {folder.name}\n </Typography>\n <Typography\n className=\"relative mt-0.5\"\n lineHeight=\"snug\"\n style=\"body3\"\n weight=\"normal\"\n >\n {metaInfo.join(\" . \")}\n </Typography>\n </div>\n </div>\n </div>\n );\n};\n\nexport default forwardRef(Node);\n","import classNames from \"classnames\";\nimport { isNotPresent, noop, 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 { 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 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 {...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","const distanceBetween = (p1, p2) =>\n Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n\nconst centerOfRectangle = (rect, left = rect.left, top = rect.top) => ({\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5,\n});\n\nexport const closestCenter =\n ({ activeItem }) =>\n ({ collisionRect, droppableRects, droppableContainers }) => {\n const centerRect = centerOfRectangle(\n collisionRect,\n collisionRect.left - 30,\n collisionRect.top - 30\n );\n\n let minDistance = Number.POSITIVE_INFINITY;\n let collision = { id: undefined };\n\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const droppableContainer of droppableContainers) {\n const rect = droppableRects.get(droppableContainer.id);\n\n if (!rect || droppableContainer.id === activeItem.id) continue;\n\n const distance = distanceBetween(centerOfRectangle(rect), centerRect);\n if (distance < minDistance) {\n minDistance = distance;\n collision = {\n id: droppableContainer.id,\n data: { droppableContainer, value: distance },\n };\n }\n }\n\n return [collision];\n };\n\nexport default closestCenter;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst PlaceholderNode = ({ folder, dragState }) => {\n const { overItem } = dragState;\n\n const id = useId();\n const isOver = id === overItem?.id;\n const depth = folder.meta.depth + 1;\n const meta = { parent: folder, index: -1, depth };\n\n const { setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-placeholder--${folder.name}`,\n data: { id, meta },\n });\n\n return (\n <div className=\"flex w-full\">\n <div style={{ width: REORDER_TREE_INDENT_WIDTH * depth }} />\n <div\n ref={setDroppableRef}\n className={classNames({\n \"min-w-0 flex-1 transition-colors\": true,\n \"neeto-ui-border-primary-500 border-b-2\": isOver,\n })}\n />\n </div>\n );\n};\n\nexport default PlaceholderNode;\n","import React from \"react\";\n\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { isArray } from \"utils/internal\";\n\nimport PlaceholderNode from \"./PlaceholderNode\";\n\nimport Node from \"../Node\";\n\nconst DraggableNode = ({\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 {...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","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n"],"names":["useTranslation","config","_useDefaultTranslatio","useDefaultTranslation","t","modT","key","options","labels","_objectSpread","FoldersAlerts","_ref","_useFolderStore","useFolderStore","store","setFolderState","shallow","queryParams","useQueryParams","toCamelCase","queryClient","useQueryClient","history","useHistory","_useTranslation","_useFolderStore2","_store$alertState","_store$alertState2","type","item","_useDestroyFolder","useDestroyFolder","destroyFolder","mutateAsync","isPending","_useFolders","useFolders","folders","onClose","alertState","alertProps","isOpen","isSubmitting","onConfirmDelete","onSuccess","_config$onUpdateSucce","isActive","isActiveFolder","sid","invalidationKeys","concat","_toConsumableArray","QUERY_KEYS","FOLDERS","DETAILS","forEach","queryKey","invalidateQueries","refetchType","path","pathToFolder","id","parent","length","redirectUrl","buildUrl","folderPath","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","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","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","REORDER_TREE_INDENT_WIDTH","Node","_folder$children$leng","_folder$children","_ref$icon","icon","itemLabel","folder","folderLabel","depth","metaInfo","childCount","push","toLowerCase","itemCount","from","_","index","width","insetInlineStart","Math","round","hyphenate","classNames","lineHeight","weight","join","forwardRef","SelectableNode","_ref$depth","maxDepth","selection","onSelect","isDisabled","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","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","distanceBetween","p1","p2","sqrt","pow","x","y","centerOfRectangle","rect","left","top","height","closestCenter","activeItem","collisionRect","droppableRects","droppableContainers","centerRect","minDistance","collision","_iterator","_createForOfIteratorHelper","_step","s","n","done","droppableContainer","value","get","distance","err","e","f","PlaceholderNode","dragState","overItem","useId","_overItem$meta$parent","isOverItem","isOverParent","isRoot","React","Fragment","initialDragState","sensorConfig","activationConstraint","measuringConfig","droppable","frequency","ReorderFoldersPane","_dragState$activeItem","_dragState$activeItem2","_dragState$activeItem3","setDragState","sensors","useSensors","useSensor","PointerSensor","baseTree","setBaseTree","mapToSortedTree","targetFolder","targetIndex","srcDepth","dstDepth","__index","collisionDetection","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","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","Plus","tooltipProps","content","position","DownIcon","RightIcon","SwitcherIcon","expanded","splitItemsByFolder","items","reduce","acc","isLeaf","itemsByFolderId","rootItems","appendItemsToFolders","buildTreeWithItems","_splitItemsByFolder","foldersWithItems","FoldersTree","Set","expandedKeysSet","setExpandedKeysSet","expandedKeys","treeData","updateExpandedKeys","_activeFolder$meta","updatedExpandedKeys","parentSid","has","add","handleExpand","keys","keysSet","removeChildKeys","useEffect","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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","x_google_ignoreList":[34]}