@bigbinary/neeto-folders-frontend 2.0.36 → 2.0.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.ready +1 -0
- package/dist/cjs/components.js +90 -121
- package/dist/cjs/components.js.map +1 -1
- package/dist/cjs/hooks.js +1 -1
- package/dist/cjs/utils.js +1 -1
- package/dist/cjs/v2/components.js +1855 -0
- package/dist/cjs/v2/components.js.map +1 -0
- package/dist/components.js +87 -118
- package/dist/components.js.map +1 -1
- package/dist/hooks.js +1 -1
- package/dist/{index-BrWMXN6M.js → index-BkzhP3-H.js} +2 -2
- package/dist/index-BkzhP3-H.js.map +1 -0
- package/dist/{index-KIfzNbYI.js → index-Dn0REquw.js} +2 -2
- package/dist/index-Dn0REquw.js.map +1 -0
- package/dist/inject-css-Bkrn7lFS.js +77 -0
- package/dist/inject-css-Bkrn7lFS.js.map +1 -0
- package/dist/inject-css-D3Ee0dJK.js +82 -0
- package/dist/inject-css-D3Ee0dJK.js.map +1 -0
- package/dist/internal-DKHdgJas.js.map +1 -1
- package/dist/internal-DUPKoXC_.js.map +1 -1
- package/dist/{useFolderActions-DBZKRr8d.js → useFolderActions-CkUK_Tj3.js} +6 -5
- package/dist/useFolderActions-CkUK_Tj3.js.map +1 -0
- package/dist/{useFolderActions-4NdTAEfb.js → useFolderActions-D7U62Qea.js} +5 -4
- package/dist/useFolderActions-D7U62Qea.js.map +1 -0
- package/dist/utils.js +1 -1
- package/dist/v2/components.js +1846 -0
- package/dist/v2/components.js.map +1 -0
- package/package.json +35 -29
- package/dist/index-BrWMXN6M.js.map +0 -1
- package/dist/index-KIfzNbYI.js.map +0 -1
- package/dist/useFolderActions-4NdTAEfb.js.map +0 -1
- package/dist/useFolderActions-DBZKRr8d.js.map +0 -1
|
@@ -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-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]}
|
|
1
|
+
{"version":3,"file":"components.js","sources":["../../app/javascript/src/components/internal/Alerts.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/constants.js","../../app/javascript/src/components/internal/Pane/AddEdit/Extra.jsx","../../app/javascript/src/components/internal/Pane/AddEdit/utils.js","../../app/javascript/src/components/internal/Pane/AddEdit/index.jsx","../../app/javascript/src/components/internal/Pane/Node.jsx","../../app/javascript/src/components/internal/Pane/Move/SelectableNode.jsx","../../app/javascript/src/components/internal/Pane/Move/Body.jsx","../../app/javascript/src/components/internal/Pane/Move/index.jsx","../../app/javascript/src/components/internal/Pane/Rearrange/DraggableNode.jsx","../../app/javascript/src/components/internal/Pane/Rearrange/index.jsx","../../app/javascript/src/components/internal/Pane/Reorder/PlaceholderNode.jsx","../../app/javascript/src/components/internal/Pane/Reorder/DraggableNode.jsx","../../app/javascript/src/components/internal/Pane/Reorder/index.jsx","../../app/javascript/src/components/internal/Pane/index.jsx","../../app/javascript/src/components/Context.jsx","../../app/javascript/src/components/List/Tile.jsx","../../app/javascript/src/components/Dnd.jsx","../../app/javascript/src/components/List/index.jsx","../../app/javascript/src/components/List/Draggable.jsx","../../app/javascript/src/components/MoveToFolderPane.jsx","../../app/javascript/src/components/Tree/FolderIcon.jsx","../../app/javascript/src/components/Tree/FolderIconOpen.jsx","../../app/javascript/src/components/Tree/Node.jsx","../../app/javascript/src/components/Tree/DownIcon.jsx","../../app/javascript/src/components/Tree/RightIcon.jsx","../../app/javascript/src/components/Tree/SwitcherIcon.jsx","../../app/javascript/src/components/Tree/utils.js","../../app/javascript/src/components/Tree/index.jsx","../../app/javascript/src/components/TreeSelect/utils.js","../../app/javascript/src/components/TreeSelect/index.jsx"],"sourcesContent":["import { useQueryClient } from \"@tanstack/react-query\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useDestroyFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolders from \"hooks/useFolders\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { pathToFolder } from \"utils\";\nimport { isActiveFolder } from \"utils/internal\";\n\nconst FoldersAlerts = ({ config }) => {\n const { setFolderState } = useFolderStore.pick();\n const queryParams = useQueryParams({ toCamelCase: false });\n const queryClient = useQueryClient();\n const history = useHistory();\n const { t } = useTranslation(config);\n\n const { type, item } = useFolderStore.pick(\"alertState\");\n const { mutateAsync: destroyFolder, isPending } = useDestroyFolder(config);\n const { folders } = useFolders(config);\n\n const onClose = () => setFolderState({ alertState: null });\n const alertProps = { isOpen: !!type, isSubmitting: isPending, onClose };\n\n const onConfirmDelete = () => {\n const onSuccess = () => {\n const isActive = isActiveFolder(config, item.sid);\n // Invalidates items and folder details. Refetch only if not active folder.\n const invalidationKeys = [\n ...config.invalidationKeys,\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ];\n\n invalidationKeys.forEach(queryKey => {\n queryClient.invalidateQueries({\n refetchType: isActive ? \"none\" : \"active\",\n queryKey,\n });\n });\n\n if (isActive && folders) {\n const path = pathToFolder(folders, item.id);\n const parent = path[path.length - 2];\n const redirectUrl = parent\n ? buildUrl(config.folderPath, {\n ...queryParams,\n folderId: parent.sid,\n })\n : \"/\";\n history.replace(redirectUrl);\n }\n\n config.onUpdateSuccess?.();\n };\n\n destroyFolder(item.id, { onSuccess, onSettled: onClose });\n };\n\n if (type === \"delete\") {\n alertProps.title = t(\"deleteFolder.title\");\n alertProps.message = <Trans i18nKey=\"deleteFolder.info\" values={item} />;\n if (config.customizeAlerts) config.customizeAlerts(type, item, alertProps);\n alertProps.onSubmit = onConfirmDelete;\n }\n\n return <Alert {...alertProps} />;\n};\n\nexport default FoldersAlerts;\n","import { t } from \"i18next\";\nimport { object, string } from \"yup\";\n\nexport const FORM_VALIDATION_SCHEMA = object().shape({\n name: string().required(t(\"errors.blank\", { entity: t(\"common.name\") })),\n});\n","import { Input, Switch, Textarea } from \"neetoui/formik\";\n\nconst typeComponentMap = { string: Input, boolean: Switch, textarea: Textarea };\n\nconst ExtraAttributes = ({ attributes }) => {\n if (!Array.isArray(attributes)) return null;\n\n return attributes.map(({ type, ...rest }) => {\n const Component = typeComponentMap[type];\n if (!Component) return null;\n\n return <Component {...rest} key={rest.name} />;\n });\n};\n\nexport default ExtraAttributes;\n","export const createInitialValues = (defaults, extraAttrs) => {\n const values = { name: \"\", parentId: defaults.parentId || null };\n\n extraAttrs?.forEach(({ name, defaultValue }) => {\n values[name] = defaultValue;\n });\n\n return values;\n};\n\nexport const createPayload = (values, extraAttrs) => {\n const payload = { name: values.name, parentId: values.parentId || \"\" };\n\n extraAttrs?.forEach(({ name }) => {\n payload[name] = values[name];\n });\n\n return payload;\n};\n\nexport const filterExtraAttributes = (attributes, isEditing) => {\n if (!attributes || !Array.isArray(attributes)) return [];\n\n return attributes.filter(attribute => {\n if (isEditing) {\n return attribute.isEditAttribute !== false;\n }\n\n return attribute.isCreateAttribute !== false;\n });\n};\n","import { useMemo } from \"react\";\n\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography, Spinner } from \"neetoui\";\nimport { Input, ActionBlock, Form } from \"neetoui/formik\";\n\nimport { TreeSelect } from \"components\";\nimport {\n useFetchFolders,\n useCreateFolder,\n useUpdateFolder,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { getActiveFolderId } from \"utils/internal\";\n\nimport { FORM_VALIDATION_SCHEMA } from \"./constants\";\nimport ExtraAttributes from \"./Extra\";\nimport {\n createInitialValues,\n createPayload,\n filterExtraAttributes,\n} from \"./utils\";\n\nconst AddEditPane = ({ setFocusField, config, onClose, folderSid }) => {\n const { t } = useTranslation(config);\n const { type, item } = useFolderStore.pick(\"paneState\");\n const { setFolderState } = useFolderStore.pick();\n const { isFetching } = useFetchFolders(config);\n const { mutate: createFolder } = useCreateFolder(config);\n const { mutateAsync: updateFolder } = useUpdateFolder(config);\n\n const isEditing = type === \"edit\" && item;\n const activeFolderSid = folderSid || getActiveFolderId(config);\n const extraAttributes = config.extraAttributes;\n\n const filteredExtraAttributes = useMemo(\n () => filterExtraAttributes(extraAttributes, isEditing),\n [extraAttributes, isEditing]\n );\n\n const handleError = (setStatus, error) => {\n const { response } = error;\n if (response && response.data && response.data.errors) {\n setStatus(response.data.errors);\n }\n };\n\n const onSubmitForm = async (values, { setStatus }) => {\n const payload = createPayload(values, filteredExtraAttributes);\n const reactQueryOptions = {\n onSuccess: ({ id, sid }) => {\n if (isEditing && sid !== item.sid) {\n const newPath = window.location.pathname.replace(\n activeFolderSid,\n sid\n );\n window.location.href = newPath;\n } else if (!isEditing) {\n setFolderState({ lastCreatedFolderId: id });\n }\n showThumbsUpToastr();\n onClose();\n },\n onError: error => handleError(setStatus, error),\n };\n\n const config = { showToastr: false };\n\n isEditing\n ? await updateFolder(\n { id: item.id, payload, config, initialSlug: item.sid },\n reactQueryOptions\n )\n : await createFolder({ payload, config }, reactQueryOptions);\n };\n\n const initialValues = useMemo(\n () => (isEditing ? item : createInitialValues({}, filteredExtraAttributes)),\n [isEditing, item, filteredExtraAttributes]\n );\n\n if (isFetching) {\n return (\n <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">\n {isEditing ? t(\"folders.edit\") : t(\"folders.add\")}\n </Typography>\n </Pane.Header>\n <Form\n className=\"flex flex-grow flex-col\"\n formikProps={{\n initialValues,\n enableReinitialize: true,\n validationSchema:\n config.addEditValidationSchema?.(isEditing) ||\n FORM_VALIDATION_SCHEMA,\n onSubmit: onSubmitForm,\n }}\n >\n {({ dirty }) => (\n <>\n <Pane.Body className=\"pb-6\">\n <div className=\"w-full space-y-5\">\n <Input\n required\n label={t(\"folders.name\")}\n name=\"name\"\n ref={setFocusField}\n />\n <ExtraAttributes attributes={filteredExtraAttributes} />\n <div>\n <TreeSelect\n {...{ config }}\n allowClear\n showSearch\n initialValue={folderSid}\n label={t(\"createFolder.parentTitle\")}\n name=\"parentId\"\n />\n <Typography className=\"mt-1\" style=\"body3\">\n {t(\"createFolder.parentInfo\")}\n </Typography>\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{ disabled: !dirty }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default AddEditPane;\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst Node = (\n {\n icon = null,\n itemLabel,\n folder,\n folderLabel,\n depth,\n hideTreeIndent = false,\n className,\n onClick,\n ...rest\n },\n ref\n) => {\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n childCount > 0 && metaInfo.push(`${childCount} ${folderLabel}`.toLowerCase());\n folder.itemCount > 0 &&\n metaInfo.push(`${folder.itemCount} ${itemLabel}`.toLowerCase());\n\n return (\n <div className=\"flex w-full min-w-0\">\n {!hideTreeIndent &&\n Array.from({ length: depth + 1 }).map((_, index) => (\n <span\n className=\"neeto-ui-border-gray-400 relative h-full flex-shrink-0 border-s\"\n key={index}\n style={{\n width: REORDER_TREE_INDENT_WIDTH,\n insetInlineStart: Math.round(REORDER_TREE_INDENT_WIDTH / 2),\n }}\n >\n {index === depth && (\n <span\n aria-hidden\n className=\"neeto-ui-border-gray-400 absolute border-t\"\n style={{\n insetInlineStart: 0,\n top: \"50%\",\n width: Math.round(REORDER_TREE_INDENT_WIDTH / 2),\n }}\n />\n )}\n </span>\n ))}\n <div\n {...{ ...rest, onClick, ref }}\n data-testid={`${hyphenate(folder.name)}-folder-node`}\n className={classNames(\n \"relative my-1 flex cursor-pointer items-center px-2 py-1\",\n className\n )}\n >\n {icon}\n <div className=\"ms-2 flex items-baseline gap-2\">\n <Typography lineHeight=\"snug\" style=\"body1\" weight=\"medium\">\n {folder.name}\n </Typography>\n {metaInfo.length > 0 && (\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"snug\"\n style=\"body3\"\n weight=\"normal\"\n >\n {metaInfo.join(\" . \")}\n </Typography>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default forwardRef(Node);\n","import classNames from \"classnames\";\nimport { isNotPresent, noop, hyphenate } from \"neetocist\";\nimport { Radio } from \"neetoui\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nimport Node from \"../Node\";\n\nconst SelectableNode = ({\n folder,\n item,\n depth = 0,\n maxDepth,\n disabled,\n config,\n ...rest\n}) => {\n const { selection, onSelect } = rest;\n const { t } = useTranslation(config);\n\n const isDisabled = disabled || item?.id === folder.id || depth >= maxDepth;\n const itemLabel = config.labels[folder.itemCount > 1 ? \"items\" : \"item\"];\n const folderLabel =\n config.labels[(folder.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"];\n\n const renderChildren = () => {\n if (isNotPresent(folder.children)) return null;\n\n return folder.children.map(child => (\n <SelectableNode\n {...{ ...rest, config, item, maxDepth }}\n depth={depth + 1}\n disabled={isDisabled}\n folder={child}\n key={child.id}\n />\n ));\n };\n\n return (\n <div\n aria-disabled={isDisabled}\n title={isDisabled ? t(\"moveToFolder.notAllowed\") : undefined}\n className={classNames(\"flex flex-col w-full min-w-0\", {\n \"opacity-60\": isDisabled,\n })}\n >\n <Node\n {...{ ...rest, depth, folder, folderLabel, itemLabel }}\n icon={\n <Radio.Item\n readOnly\n checked={selection === folder.id}\n className=\"neeto-ui-radio__container\"\n data-testid={`${hyphenate(folder.name)}-folder-option`}\n name=\"move-folder-option\"\n />\n }\n onClick={isDisabled ? noop : () => onSelect(folder)}\n />\n {renderChildren()}\n </div>\n );\n};\n\nexport default SelectableNode;\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport useHotkeys from \"neetohotkeys\";\nimport { Button, Pane, Typography, Spinner } from \"neetoui\";\n\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { treeToMap, measureDepth } from \"utils/treeUtils\";\n\nimport SelectableNode from \"./SelectableNode\";\n\nconst createTree = (folders, isRootEnabled) =>\n isRootEnabled ? [{ name: \"/\", id: null, children: folders }] : folders;\n\nconst PaneBody = ({\n isRootEnabled = true,\n item,\n config,\n submitButtonProps,\n cancelButtonProps,\n removeButtonProps,\n onSubmit,\n onClose,\n onRemove,\n parentId,\n}) => {\n const parent = item?.parentId || parentId || null;\n const [selection, setSelection] = useState(parent);\n const { setFolderState } = useFolderStore.pick();\n const { data: folders = [], isFetching } = useFetchFolders(config);\n const { t } = useTranslation(config);\n const { type } = useFolderStore.pick(\"paneState\");\n\n const tree = useMemo(\n () => createTree(folders, isRootEnabled),\n [folders, isRootEnabled]\n );\n\n let maxDepth = Number.POSITIVE_INFINITY;\n\n if (item) {\n // If item is a folder, measure the current depth from current folder to longest leaf.\n const foldersMap = treeToMap(folders);\n const folder = foldersMap[item.id];\n\n if (folder) {\n const folderDepth = measureDepth(folder) + 1; // +1 for own depth;\n maxDepth = config.maxDepth - folderDepth;\n if (isRootEnabled) maxDepth += 1; // +1 for root folder.\n }\n }\n\n const onAddFolder = () => {\n setFolderState({ paneState: { type: \"add\", item: null } });\n };\n\n const { lastCreatedFolderId } = useFolderStore.pick(\"lastCreatedFolderId\");\n\n useEffect(() => {\n if (lastCreatedFolderId == null) return;\n setSelection(lastCreatedFolderId);\n setFolderState({ lastCreatedFolderId: null });\n }, [lastCreatedFolderId]);\n\n useHotkeys([\"command+enter\", \"enter\"], () => onSubmit(selection), {\n mode: \"global\",\n enabled: !!type,\n });\n\n if (isFetching) {\n return (\n <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header className=\"flex items-center justify-between\">\n <Typography style=\"h2\">{t(\"moveToFolder.title\")}</Typography>\n <Button\n className=\"me-2\"\n data-testid=\"add-new-folder-button\"\n label={t(\"folders.add\")}\n style=\"link\"\n onClick={onAddFolder}\n />\n </Pane.Header>\n <Pane.Body className=\"pb-6\">\n {tree.map(folder => (\n <SelectableNode\n {...{ config, folder, item, maxDepth, selection }}\n disabled={item?.id === folder.id || maxDepth <= 0}\n key={folder.id}\n onSelect={folder => setSelection(folder.id)}\n />\n ))}\n </Pane.Body>\n <Pane.Footer className=\"space-x-2\">\n <div className=\"flex flex-1 space-x-2\">\n <Button\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={() => onSubmit(selection)}\n {...submitButtonProps}\n data-testid=\"save-changes-button\"\n disabled={selection === parent || submitButtonProps?.disabled}\n />\n <Button\n label={t(\"common.cancel\")}\n style=\"text\"\n onClick={onClose}\n {...cancelButtonProps}\n data-testid=\"cancel-button\"\n />\n </div>\n {onRemove && (\n <Button\n label={t(\"moveToFolder.remove\")}\n style=\"tertiary\"\n onClick={onRemove}\n {...removeButtonProps}\n data-testid=\"remove-from-folder-button\"\n />\n )}\n </Pane.Footer>\n </>\n );\n};\n\nexport default PaneBody;\n","import { useUpdateFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { toastApiError } from \"utils/internal\";\n\nimport PaneBody from \"./Body\";\n\nconst MoveFolderPane = ({ config, onClose }) => {\n const { item } = useFolderStore.pick(\"paneState\");\n const { isPending, mutate: updateFolder } = useUpdateFolder(config);\n\n const onSaveSelection = parentId => {\n const payload = { id: item.id, parentId };\n updateFolder(\n { id: item.id, payload, config: { showToastr: false } },\n {\n onSuccess: () => {\n onClose();\n config.onUpdateSuccess?.();\n },\n onError: toastApiError,\n }\n );\n };\n\n return (\n <PaneBody\n {...{ config, item, onClose }}\n submitButtonProps={{ loading: isPending, disabled: isPending }}\n onSubmit={onSaveSelection}\n />\n );\n};\n\nexport default MoveFolderPane;\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\n\nimport Node from \"../Node\";\n\nconst DraggableNode = ({\n folder,\n depth = 0,\n config,\n folderLabel,\n itemLabel,\n ...rest\n}) => {\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableRef,\n } = useDraggable({\n id: `draggable-item--${folder.id}`,\n data: folder,\n disabled: depth <= 0,\n });\n\n const { isOver, setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isDragging,\n });\n\n const renderChildren = () => {\n if (isNotPresent(folder.children) || isDragging) return null;\n\n return folder.children.map(child => (\n <DraggableNode\n {...{ ...rest, config }}\n depth={depth + 1}\n folder={child}\n itemLabel={config.labels[child?.itemCount > 1 ? \"items\" : \"item\"]}\n key={child.id}\n folderLabel={\n config.labels[\n (child?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n ));\n };\n\n return (\n <>\n <Node\n {...rest}\n className={classNames({\n \"neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isDragging,\n \"neeto-ui-border-primary-500 border\": isOver,\n \"border border-transparent\": !isOver,\n })}\n {...{\n depth,\n folder,\n ...attributes,\n ...listeners,\n folderLabel,\n itemLabel,\n }}\n ref={ref => {\n setDroppableRef(ref);\n setDraggableRef(ref);\n }}\n />\n {renderChildren()}\n </>\n );\n};\n\nexport default DraggableNode;\n","import { useState } from \"react\";\n\nimport { DndContext, DragOverlay } from \"@dnd-kit/core\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Reorder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography, Spinner } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { treeToMap, measureDepth, mapToTree } from \"utils/treeUtils\";\n\nimport DraggableNode from \"./DraggableNode\";\n\nimport Node from \"../Node\";\n\n// Rearrange folders without positional adjustment.\nconst RearrangeFoldersPane = ({ config, onClose }) => {\n const [dragItem, setDragItem] = useState(null);\n const [changes, setChanges] = useState({});\n\n const { t } = useTranslation(config);\n const { data: folders, isFetching } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\n const { type } = useFolderStore.pick(\"paneState\");\n\n const [tree, setTree] = useStateWithDependency(\n () => ({ name: \"/\", id: null, children: folders }),\n [folders]\n );\n\n const onDragEnd = ({ active, over }) => {\n setDragItem(null);\n if (!over) return;\n\n const foldersMap = treeToMap(tree);\n const activeFolder = foldersMap[active.data.current.id];\n const overFolder = foldersMap[over.data.current.id];\n\n // Check moving inside same directory\n if (activeFolder.meta.parent?.id === overFolder.id) return;\n\n // Check moving to a folder with depth greater than the allowed limit.\n // maxDepth + 1 due to extra root node added for the tree\n const activeDepth = measureDepth(activeFolder);\n const overDepth = overFolder.meta.depth;\n if (activeDepth + overDepth >= config.maxDepth + 1) {\n Toastr.error(\n t(\"moveToFolder.depthExceeded\", { maxDepth: config.maxDepth })\n );\n\n return;\n }\n\n activeFolder.meta.parent = overFolder;\n const newTree = mapToTree(foldersMap);\n setTree(newTree);\n setChanges(assoc(activeFolder.id, overFolder.id));\n };\n\n const onSubmit = () => {\n const payload = { changes };\n reorderFolders(payload, {\n onSuccess: () => {\n onClose();\n config.onUpdateSuccess?.();\n },\n });\n };\n\n useHotkeys([\"command+enter\", \"enter\"], onSubmit, {\n mode: \"global\",\n enabled: !!type,\n });\n\n const nodeProps = {\n icon: (\n <Reorder className=\"neeto-ui-text-gray-500 relative -start-[0.3125rem] flex-shrink-0\" />\n ),\n };\n\n if (isFetching) {\n return (\n <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">{t(\"reorderFolder.title\")}</Typography>\n </Pane.Header>\n <DndContext\n {...{ onDragEnd }}\n onDragStart={({ active }) => setDragItem(active.data.current)}\n >\n <Pane.Body className=\"pb-6\">\n <DraggableNode\n {...{ ...nodeProps, config }}\n folder={tree}\n itemLabel={config.labels[tree?.itemCount > 1 ? \"items\" : \"item\"]}\n key={tree.id}\n folderLabel={\n config.labels[\n (tree?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n </Pane.Body>\n <Pane.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={onSubmit}\n />\n <Button label={t(\"common.cancel\")} style=\"text\" onClick={onClose} />\n </Pane.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragItem && (\n <Node\n hideTreeIndent\n {...nodeProps}\n className=\"neeto-ui-bg-gray-200\"\n depth={0}\n folder={dragItem}\n folderLabel={\n config.labels[\n (dragItem?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n itemLabel={\n config.labels[dragItem?.itemCount > 1 ? \"items\" : \"item\"]\n }\n />\n )}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n </>\n );\n};\n\nexport default RearrangeFoldersPane;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst PlaceholderNode = ({ folder, dragState }) => {\n const { overItem } = dragState;\n\n const id = useId();\n const isOver = id === overItem?.id;\n const depth = folder.meta.depth + 1;\n const meta = { parent: folder, index: -1, depth };\n\n const { setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-placeholder--${folder.name}`,\n data: { id, meta },\n });\n\n return (\n <div className=\"flex w-full\">\n <div style={{ width: REORDER_TREE_INDENT_WIDTH * (depth + 1) }} />\n <div\n ref={setDroppableRef}\n className={classNames({\n \"min-w-0 flex-1 transition-colors\": true,\n \"neeto-ui-border-primary-500 border-b-2\": isOver,\n })}\n />\n </div>\n );\n};\n\nexport default PlaceholderNode;\n","import React from \"react\";\n\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nimport { isArray } from \"utils/internal\";\n\nimport PlaceholderNode from \"./PlaceholderNode\";\n\nimport Node from \"../Node\";\n\nconst DraggableNode = ({\n folder,\n config,\n dragState,\n folderLabel,\n itemLabel,\n ...rest\n}) => {\n const { overItem } = dragState;\n const isOverItem = folder.id === overItem?.id;\n const isOverParent = folder.id === overItem?.meta.parent?.id;\n const isRoot = folder.meta.depth <= 0;\n\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableRef,\n } = useDraggable({\n id: `draggable-item--${folder.id}`,\n data: folder,\n disabled: isRoot,\n });\n\n const { setNodeRef: setDroppableRef } = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isRoot || isDragging,\n });\n\n const renderChildren = () => {\n if (isDragging) return null;\n\n return (\n <React.Fragment key={`${folder.id}--container`}>\n <PlaceholderNode {...{ dragState, folder }} />\n {isArray(folder.children) &&\n folder.children.map(child => (\n <DraggableNode\n {...{ ...rest, config, dragState }}\n depth={child.meta.depth}\n folder={child}\n itemLabel={config.labels[child?.itemCount > 1 ? \"items\" : \"item\"]}\n key={child.id}\n folderLabel={\n config.labels[\n (child?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n ))}\n </React.Fragment>\n );\n };\n\n return (\n <>\n <Node\n depth={folder.meta.depth}\n {...{\n ...rest,\n folder,\n ...attributes,\n ...listeners,\n folderLabel,\n itemLabel,\n }}\n className={classNames({\n \"hover:neeto-ui-bg-gray-100 w-full cursor-move transition-colors\": true,\n \"neeto-ui-bg-gray-100 opacity-50\": isDragging,\n \"neeto-ui-bg-primary-50\": isOverParent,\n \"neeto-ui-border-primary-500 border-b-2\": isOverItem,\n })}\n ref={ref => {\n setDroppableRef(ref);\n setDraggableRef(ref);\n }}\n />\n {renderChildren()}\n </>\n );\n};\n\nexport default DraggableNode;\n","import { useMemo, useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Reorder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography, Spinner } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport useFolderStore from \"stores/foldersStore\";\nimport closestCenter from \"utils/closestCenter\";\nimport { treeToMap, measureDepth, mapToSortedTree } from \"utils/treeUtils\";\n\nimport DraggableNode from \"./DraggableNode\";\n\nimport Node from \"../Node\";\n\nconst initialDragState = { activeItem: null, overItem: null };\nconst sensorConfig = { activationConstraint: { distance: 8 } };\nconst measuringConfig = { droppable: { frequency: 500 } };\n\n// Reorder with support for position adjustment\nconst ReorderFoldersPane = ({ config, onClose }) => {\n const [dragState, setDragState] = useState(initialDragState);\n const [changes, setChanges] = useState({});\n\n const { t } = useTranslation(config);\n const { data: folders, isFetching } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n const { type } = useFolderStore.pick(\"paneState\");\n\n const [baseTree, setBaseTree] = useStateWithDependency(\n () => ({ name: \"/\", id: null, children: folders }),\n [folders]\n );\n\n // Decorates tree with meta info. Can be optimized when needed.\n const tree = useMemo(() => mapToSortedTree(treeToMap(baseTree)), [baseTree]);\n\n const onDragEnd = ({ active, over }) => {\n setDragState(initialDragState);\n if (!over) return;\n\n const foldersMap = treeToMap(tree);\n const activeFolder = foldersMap[active.data.current.id];\n const targetFolder = foldersMap[over.data.current.meta.parent.id];\n const targetIndex = over.data.current.meta.index + 1; // `index` starts from -1 with placeholder\n\n // Guards: Check moving inside invalid directories.\n if (!targetFolder || activeFolder.id === targetFolder.id) return;\n\n if (\n activeFolder.meta.parent.id === targetFolder.id &&\n activeFolder.meta.index === targetIndex\n ) {\n return;\n }\n\n // Check moving to a folder with depth greater than the allowed limit.\n // maxDepth + 1 due to extra root node added for the tree\n const srcDepth = measureDepth(activeFolder);\n const dstDepth = targetFolder.meta.depth;\n if (srcDepth + dstDepth >= config.maxDepth + 1) {\n Toastr.error(\n t(\"moveToFolder.depthExceeded\", { maxDepth: config.maxDepth })\n );\n\n return;\n }\n\n activeFolder.meta.parent = targetFolder;\n activeFolder.meta.__index = targetIndex;\n\n const newTree = mapToSortedTree(foldersMap);\n setBaseTree(newTree);\n setChanges(\n assoc(activeFolder.id, {\n parentId: targetFolder.id,\n index: targetIndex,\n })\n );\n };\n\n const onSubmit = () => {\n const payload = { changes };\n reorderFolders(payload, {\n onSuccess: () => {\n onClose();\n config.onUpdateSuccess?.();\n },\n });\n };\n\n useHotkeys([\"command+enter\", \"enter\"], onSubmit, {\n mode: \"global\",\n enabled: !!type,\n });\n\n const nodeProps = {\n icon: (\n <Reorder className=\"neeto-ui-text-gray-500 relative -start-[0.3125rem] flex-shrink-0\" />\n ),\n };\n\n if (isFetching) {\n return (\n <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">{t(\"reorderFolder.title\")}</Typography>\n </Pane.Header>\n <DndContext\n {...{ onDragEnd, sensors }}\n collisionDetection={closestCenter(dragState)}\n measuring={measuringConfig}\n onDragOver={({ over }) => {\n setDragState(assoc(\"overItem\", over?.data.current));\n }}\n onDragStart={({ active }) => {\n setDragState(assoc(\"activeItem\", active.data.current));\n }}\n >\n <Pane.Body className=\"pb-6\">\n <DraggableNode\n {...{ ...nodeProps, config, dragState }}\n folder={tree}\n itemLabel={config.labels[tree?.itemCount > 1 ? \"items\" : \"item\"]}\n key={tree.id}\n folderLabel={\n config.labels[\n (tree?.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"\n ]\n }\n />\n </Pane.Body>\n <Pane.Footer className=\"gap-2\">\n <Button\n disabled={isEmpty(changes)}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={onSubmit}\n />\n <Button label={t(\"common.cancel\")} style=\"text\" onClick={onClose} />\n </Pane.Footer>\n {createPortal(\n <DragOverlay zIndex={99999}>\n {dragState && (\n <Node\n hideTreeIndent\n {...nodeProps}\n className=\"neeto-ui-bg-gray-200 ps-4 pe-12\"\n depth={0}\n folder={dragState.activeItem}\n folderLabel={\n config.labels[\n (dragState.activeItem?.children?.length ?? 0) > 1\n ? \"folders\"\n : \"folder\"\n ]\n }\n itemLabel={\n config.labels[\n dragState.activeItem?.itemCount > 1 ? \"items\" : \"item\"\n ]\n }\n />\n )}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n </>\n );\n};\n\nexport default ReorderFoldersPane;\n","/* eslint-disable @bigbinary/neeto/no-conditional-overlays */\nimport { Pane } from \"neetoui\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport AddEditPane from \"./AddEdit\";\nimport MoveFolderPane from \"./Move\";\nimport RearrangeFoldersPane from \"./Rearrange\";\nimport ReorderFoldersPane from \"./Reorder\";\n\nconst FoldersPane = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const { paneState, setFolderState } = useFolderStore.pick();\n const { type, ...rest } = paneState || {};\n\n const onClose = () => setFolderState({ paneState: null });\n const commonProps = { config, onClose, ...rest };\n\n const ReorderPaneComponent =\n config.reorderMode === \"reorder\"\n ? ReorderFoldersPane\n : RearrangeFoldersPane;\n\n return (\n <Pane {...{ onClose }} isOpen={!!type}>\n {({ setFocusField }) => (\n <>\n {(type === \"edit\" || type === \"add\") && (\n <AddEditPane {...{ setFocusField, ...commonProps }} />\n )}\n {type === \"move\" && <MoveFolderPane {...commonProps} />}\n {type === \"reorder\" && <ReorderPaneComponent {...commonProps} />}\n </>\n )}\n </Pane>\n );\n};\n\nexport default FoldersPane;\n","import FoldersAlerts from \"components/internal/Alerts\";\nimport FoldersPane from \"components/internal/Pane\";\n\nconst FoldersContext = ({ config, children }) => (\n <>\n {children}\n <FoldersPane {...{ config }} />\n <FoldersAlerts {...{ config }} />\n </>\n);\n\nexport default FoldersContext;\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Checkbox, Typography } from \"neetoui\";\nimport { Link } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\nimport { DEFAULT_CONFIG } from \"src/constants/config\";\n\nconst FolderTile = ({\n isPreview = false,\n isSelected,\n link,\n folder,\n actions,\n config,\n onSelect,\n}) => {\n const { t } = useTranslation(config);\n\n const droppable = useDroppable({\n id: `droppable-item--${folder.id}`,\n data: folder,\n disabled: isPreview,\n });\n\n const draggable = useDraggable({\n id: `draggable-item--${folder.id}`,\n data: { ...folder, type: DEFAULT_CONFIG.type },\n disabled: isPreview,\n });\n\n const actionCallback = callback => event => {\n event.preventDefault();\n callback(folder);\n };\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"common.edit\"),\n onClick: actionCallback(actions.onEdit),\n },\n {\n key: \"move\",\n label: t(\"common.moveToFolder\"),\n onClick: actionCallback(actions.onMove),\n },\n {\n key: \"delete\",\n label: t(\"common.delete\"),\n onClick: actionCallback(actions.onDelete),\n },\n ];\n\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n const itemLabel = config.labels[folder.itemCount > 1 ? \"items\" : \"item\"];\n const folderLabel =\n config.labels[(folder.children?.length ?? 0) > 1 ? \"folders\" : \"folder\"];\n childCount > 0 && metaInfo.push(`${childCount} ${folderLabel}`.toLowerCase());\n metaInfo.push(`${folder.itemCount || 0} ${itemLabel}`.toLowerCase());\n\n return (\n <Link\n data-testid={`${hyphenate(folder.name)}-folder-tile`}\n to={link}\n className={classNames(\n \"neeto-ui-bg-gray-50 neeto-ui-border-gray-200 neeto-ui-rounded-md hover:neeto-ui-border-primary-500 relative flex max-w-full items-start gap-2 border-2 p-3 transition-colors ease-in\",\n {\n \"neeto-ui-bg-primary-100\": droppable.isOver,\n \"opacity-50\": draggable.isDragging,\n \"scale-75\": isPreview,\n }\n )}\n {...droppable.attributes}\n {...droppable.listeners}\n {...draggable.attributes}\n {...draggable.listeners}\n ref={ref => {\n droppable.setNodeRef(ref);\n draggable.setNodeRef(ref);\n }}\n >\n <Checkbox\n checked={isSelected}\n className=\"m-0 flex-shrink-0 flex-grow-0 pt-0.5\"\n name={folder.id}\n onChange={event => onSelect(folder, event.target.checked)}\n onClick={event => event.stopPropagation()}\n />\n <span className=\"flex min-w-0 flex-grow flex-col gap-2\">\n <Typography\n className=\"-mt-0.5 line-clamp-2 break-words pe-8\"\n data-testid=\"folder-name\"\n lineHeight=\"snug\"\n style=\"body1\"\n title={folder.name}\n weight=\"medium\"\n >\n {folder.name}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body3\">\n {metaInfo.join(\" . \")}\n </Typography>\n </span>\n <MoreDropdown\n {...{ menuItems }}\n dropdownButtonProps={{ className: \"absolute end-2 top-2\" }}\n dropdownProps={{ onClick: event => event.preventDefault() }}\n />\n </Link>\n );\n};\n\nexport default FolderTile;\n","import { useState } from \"react\";\n\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { snapCenterToCursor } from \"@dnd-kit/modifiers\";\nimport { noop } from \"neetocist\";\n\nimport FolderTile from \"components/List/Tile\";\nimport { useUpdateFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { DEFAULT_CONFIG } from \"src/constants/config\";\nimport { toastApiError } from \"utils/internal\";\n\nconst sensorConfig = { activationConstraint: { distance: 8 } };\n\nconst FoldersDnd = ({\n config,\n children,\n onDrop: onDropItem,\n renderOverlay: renderItemOverlay,\n}) => {\n const [dragItem, setDragItem] = useState(null);\n const { mutate: updateFolder } = useUpdateFolder(config);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n const onDropFolder = (folder, parent) => {\n if (!folder || !parent || folder.id === parent.id) return;\n updateFolder(\n {\n id: folder.id,\n payload: { id: folder.id, parentId: parent.id },\n initialSlug: folder.sid,\n config: { showToastr: false },\n },\n { onError: toastApiError }\n );\n };\n\n const handleDragStart = ({ active }) => {\n setDragItem(active.data.current);\n };\n\n const handleDragEnd = ({ active, over }) => {\n setDragItem(null);\n if (!active || !over) return;\n\n if (active.data.current.type === DEFAULT_CONFIG.type) {\n onDropFolder(active.data.current, over.data.current);\n } else onDropItem(active.data.current, over.data.current);\n };\n\n const renderFolderOverlay = dragItem => (\n <FolderTile\n {...{ config }}\n isPreview\n actions={{}}\n folder={dragItem}\n onSelect={noop}\n />\n );\n\n return (\n <DndContext\n {...{ sensors }}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n >\n {children}\n <DragOverlay dropAnimation={null} modifiers={[snapCenterToCursor]}>\n {dragItem &&\n (dragItem.type !== DEFAULT_CONFIG.type\n ? renderItemOverlay(dragItem)\n : renderFolderOverlay(dragItem))}\n </DragOverlay>\n </DndContext>\n );\n};\n\nexport default FoldersDnd;\n","import { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFolder, useFolders } from \"hooks\";\nimport useFolderActions from \"hooks/useFolderActions\";\nimport useTranslation from \"hooks/useTranslation\";\n\nimport FolderTile from \"./Tile\";\n\nconst FoldersList = ({ selection = [], config: configProps, onSelect }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const params = useQueryParams();\n const { t } = useTranslation(config);\n\n const { folders } = useFolders(config);\n const { folderId, folder } = useFolder(config);\n const actions = useFolderActions(config);\n const subFolders = folderId ? folder?.children : folders;\n\n if (isNotPresent(subFolders) || !Array.isArray(subFolders)) return null;\n\n return (\n <>\n <Typography className=\"my-3\" style=\"h4\">\n {t(\"folders.title\")}\n </Typography>\n <div\n className=\"neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4\"\n data-testid=\"folders-list\"\n >\n {subFolders.map(folder => (\n <FolderTile\n {...{ actions, config, folder, onSelect }}\n isSelected={selection.includes(folder.id)}\n key={folder.id}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n ))}\n </div>\n </>\n );\n};\n\nexport default FoldersList;\n","import { useDraggable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nconst DraggableWrapper = ({ data, id = data.id, children }) => {\n const draggable = useDraggable({\n id: `folders-list-draggable-item--${id}`,\n data,\n });\n\n return (\n <div\n className={classNames({ \"opacity-50\": draggable.isDragging })}\n {...draggable.attributes}\n {...draggable.listeners}\n ref={draggable.setNodeRef}\n >\n {children}\n </div>\n );\n};\n\nexport default DraggableWrapper;\n","import { Pane } from \"neetoui\";\n\nimport PaneBody from \"components/internal/Pane/Move/Body\";\n\nconst MoveToFolderPane = ({ isOpen, onClose, ...rest }) => (\n <Pane {...{ isOpen, onClose }}>\n <PaneBody {...{ ...rest, onClose }} />\n </Pane>\n);\n\nexport default MoveToFolderPane;\n","const FolderIcon = props => (\n <svg\n fill=\"none\"\n height={props.size}\n viewBox=\"0 0 16 16\"\n width={props.size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M3.202 12.798h9.6c.882 0 1.6-.717 1.6-1.6v-6c0-.882-.718-1.6-1.6-1.6H9.069a.8.8 0 0 1-.48-.16l-.96-.72a1.6 1.6 0 0 0-.96-.32H3.202c-.883 0-1.6.718-1.6 1.6v7.2c0 .883.717 1.6 1.6 1.6\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default FolderIcon;\n","const FolderIconOpen = props => (\n <svg\n fill=\"none\"\n height={props.size}\n viewBox=\"0 0 16 16\"\n width={props.size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"m2.2 7.24-.59 1.765V4c0-.882.717-1.6 1.6-1.6h3.467c.345 0 .682.113.96.32l.96.72c.137.105.307.16.48.16h2.932c.883 0 1.6.718 1.6 1.6v.4H4.474c-1.032 0-1.95.66-2.277 1.64zm10.544 5.56h-9.47c-.82 0-1.397-.802-1.137-1.58l1.2-3.6c.162-.49.622-.82 1.137-.82h9.47c.82 0 1.398.803 1.138 1.58l-1.2 3.6c-.163.49-.623.82-1.138.82\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default FolderIconOpen;\n","import { isNotEmpty, hyphenate, noop } from \"neetocist\";\nimport { Lock, Plus } from \"neetoicons\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\nimport { NavLink } from \"react-router-dom\";\n\nimport useTranslation from \"hooks/useTranslation\";\n\nimport FolderIcon from \"./FolderIcon\";\nimport FolderIconOpen from \"./FolderIconOpen\";\n\nconst Node = ({ isActive, isExpanded, node, link, config }) => {\n const { t } = useTranslation();\n const { isPrivate, name, isFolder = true } = node;\n\n const { getMoreActions = noop, getAddActions = noop } = isFolder\n ? config.folderActions\n : config.itemActions;\n\n const moreActions = getMoreActions(node) || [];\n const addActions = getAddActions(node) || [];\n\n const hasMoreActions = isNotEmpty(moreActions);\n const hasAddActions = isNotEmpty(addActions);\n const hasAnyActions = hasMoreActions || hasAddActions;\n\n return (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-sidebar-folders-tree__folder-node\"\n isActive={() => isActive}\n to={link}\n >\n <div\n className=\"flex items-center justify-between w-full group relative\"\n data-testid={`${hyphenate(name)}-${isFolder ? \"folder\" : \"item\"}-sublink`}\n title=\"\"\n >\n {isFolder &&\n (isExpanded ? (\n <FolderIconOpen className=\"flex-shrink-0 me-1\" size={16} />\n ) : (\n <FolderIcon className=\"flex-shrink-0 me-1\" size={16} />\n ))}\n <div className=\"flex items-center min-w-0 flex-1\">\n <Typography\n className=\"line-clamp-1 block truncate ps-0.5\"\n component=\"span\"\n style=\"body2\"\n title={name}\n >\n {name}\n </Typography>\n {isPrivate && (\n <span title={t(\"common.private\")}>\n <Lock className=\"flex-shrink-0 ms-1\" size={16} />\n </span>\n )}\n </div>\n {hasAnyActions && (\n <div\n className=\"flex items-center gap-0.5 py-0.5 absolute end-0 top-0 h-full neeto-sidebar-folders-tree__folder-node-actions neeto-ui-rounded-md ps-2\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n {hasAddActions && (\n <MoreDropdown\n dropdownProps={{ icon: Plus }}\n menuItems={addActions}\n dropdownButtonProps={{\n size: \"small\",\n tooltipProps: { content: \"Add\", position: \"top\" },\n className:\n \"opacity-0 group-hover:opacity-100 transition-opacity neeto-sidebar-folders-tree__action-button size-5\",\n }}\n />\n )}\n {hasMoreActions && (\n <MoreDropdown\n menuItems={moreActions}\n dropdownButtonProps={{\n size: \"small\",\n className:\n \"opacity-0 group-hover:opacity-100 transition-opacity neeto-sidebar-folders-tree__action-button size-5\",\n }}\n />\n )}\n </div>\n )}\n </div>\n </NavLink>\n );\n};\n\nexport default Node;\n","const DownIcon = props => (\n <svg\n fill=\"none\"\n height=\"6\"\n viewBox=\"0 0 6 6\"\n width=\"6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M3.803 5.475a.35.35 0 0 1-.606 0l-2.425-4.2A.35.35 0 0 1 1.075.75h4.85a.35.35 0 0 1 .303.525z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default DownIcon;\n","const RightIcon = props => (\n <svg\n fill=\"none\"\n height=\"6\"\n viewBox=\"0 0 6 6\"\n width=\"6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M5.475 2.697a.35.35 0 0 1 0 .606l-4.2 2.425a.35.35 0 0 1-.525-.303V.575a.35.35 0 0 1 .525-.303z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default RightIcon;\n","import DownIcon from \"./DownIcon\";\nimport RightIcon from \"./RightIcon\";\n\nconst SwitcherIcon = ({ expanded }) =>\n expanded ? (\n <DownIcon className=\"neeto-ui-relative\" size={16} />\n ) : (\n <RightIcon className=\"neeto-ui-relative\" size={16} />\n );\n\nexport default SwitcherIcon;\n","const splitItemsByFolder = items =>\n items.reduce(\n (acc, item) => {\n const value = { ...item, isFolder: false, isLeaf: true };\n if (item.folderId) {\n if (!acc.itemsByFolderId[item.folderId]) {\n acc.itemsByFolderId[item.folderId] = [];\n }\n acc.itemsByFolderId[item.folderId].push({ ...value });\n } else {\n acc.rootItems.push(value);\n }\n\n return acc;\n },\n { itemsByFolderId: {}, rootItems: [] }\n );\n\nconst appendItemsToFolders = (folders, itemsByFolderId) =>\n folders.map(folder => ({\n ...folder,\n isFolder: true,\n isLeaf: false,\n children: [\n ...appendItemsToFolders(folder.children || [], itemsByFolderId),\n ...(itemsByFolderId[folder.id] || []),\n ],\n }));\n\nexport const buildTreeWithItems = (folders, { items }) => {\n if (!items || !folders) return folders;\n\n const { itemsByFolderId, rootItems } = splitItemsByFolder(items);\n const foldersWithItems = appendItemsToFolders(folders, itemsByFolderId);\n\n return [...foldersWithItems, ...rootItems];\n};\n","import { startTransition, useEffect, useMemo, useState } from \"react\";\n\nimport { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Tree, Typography } from \"neetoui\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport Node from \"./Node\";\nimport SwitcherIcon from \"./SwitcherIcon\";\nimport { buildTreeWithItems } from \"./utils\";\n\nconst FoldersTree = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const [expandedKeysSet, setExpandedKeysSet] = useState(new Set());\n const expandedKeys = Array.from(expandedKeysSet);\n\n const { t } = useTranslation(config);\n const params = useQueryParams({ toCamelCase: false });\n const activeFolderSid = getActiveFolderId(config);\n const { data: folders } = useFetchFolders(config);\n\n const treeData = useMemo(\n () => buildTreeWithItems(folders, config),\n [folders, config.items]\n );\n\n const updateExpandedKeys = () => {\n if (!treeData) return;\n // When active folder changes from external sources, update expanded keys to auto expand tree.\n const updatedExpandedKeys = new Set(expandedKeysSet);\n const map = treeToMap(treeData, \"sid\");\n const activeFolder = map[activeFolderSid];\n const parentSid = activeFolder?.meta?.parent?.sid;\n\n if (parentSid && !expandedKeysSet.has(parentSid)) {\n updatedExpandedKeys.add(parentSid);\n }\n };\n\n const handleExpand = (keys, { expanded, node }) => {\n const keysSet = new Set(keys);\n\n if (!expanded) {\n const removeChildKeys = (children = []) => {\n children.forEach(child => {\n keysSet.delete(child.sid);\n removeChildKeys(child.children);\n });\n };\n removeChildKeys(node.children);\n }\n\n setExpandedKeysSet(keysSet);\n };\n\n useEffect(() => {\n // Non urgent update.\n startTransition(updateExpandedKeys);\n }, [activeFolderSid, treeData]);\n\n if (isNotPresent(treeData)) {\n return (\n <Typography\n className=\"w-full text-center\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"folders.noFolders\")}\n </Typography>\n );\n }\n\n return (\n <Tree\n {...{ expandedKeys, treeData }}\n autoExpandParent\n blockNode\n className=\"neeto-sidebar-folders-tree\"\n componentToken={{ titleHeight: 24, indentSize: 20 }}\n fieldNames={{ key: \"sid\" }}\n selectedKeys={[activeFolderSid]}\n showLine={false}\n switcherIcon={SwitcherIcon}\n titleRender={node => (\n <Node\n {...{ config, node }}\n isActive={node.sid === activeFolderSid}\n isExpanded={expandedKeysSet.has(node.sid)}\n link={\n node.link ||\n buildUrl(config.folderPath, { ...params, folderId: node.sid })\n }\n />\n )}\n onExpand={handleExpand}\n />\n );\n};\n\nexport default FoldersTree;\n","import { mapObj } from \"utils/internal\";\n\nexport const createFolderOptions = (foldersMap, config) =>\n mapObj(\n foldersMap,\n folder => ({\n id: folder.id,\n label: folder.name,\n value: folder.id,\n pId: folder.meta.parent?.id,\n }),\n folder => folder.meta.depth < config.maxDepth\n );\n","import { forwardRef, useMemo, useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { TreeSelect as NUITreeSelect } from \"neetoui/formik\";\n\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport { createFolderOptions } from \"./utils\";\n\nconst TreeSelect = forwardRef(\n (\n {\n label = \"\",\n name,\n placeholder = \"\",\n disabled = false,\n loading = false,\n required = false,\n showSearch = true,\n size = \"middle\",\n fieldNames,\n config,\n initialValue,\n ...otherProps\n },\n ref\n ) => {\n const { data: folders } = useFetchFolders(config);\n const { values, setFieldValue } = useFormikContext();\n\n const foldersMap = useMemo(\n () => (folders ? treeToMap(folders, \"sid\") : null),\n [folders]\n );\n const activeFolderSid = initialValue || getActiveFolderId(config);\n const activeFolder = foldersMap[activeFolderSid];\n const isValidParent = activeFolder?.meta.depth < config.maxDepth;\n const parentId = isValidParent ? activeFolder.id : null;\n\n useEffect(() => {\n if (values.name !== \"\") return;\n setFieldValue(name, parentId);\n }, [parentId, name]);\n\n const folderOptions = useMemo(\n () => createFolderOptions(foldersMap, config),\n [foldersMap]\n );\n\n return (\n <NUITreeSelect\n treeDataSimpleMode\n data-testid=\"nui-select-container-wrapper\"\n treeData={folderOptions}\n treeNodeFilterProp={fieldNames?.label ?? \"title\"}\n {...{\n disabled,\n fieldNames,\n label,\n loading,\n name,\n placeholder,\n ref,\n required,\n showSearch,\n size,\n ...otherProps,\n }}\n />\n );\n }\n);\n\nTreeSelect.displayName = \"TreeSelect\";\n\nexport default TreeSelect;\n"],"names":["FoldersAlerts","_ref","config","_useFolderStore","useFolderStore","store","setFolderState","shallow","queryParams","useQueryParams","toCamelCase","queryClient","useQueryClient","history","useHistory","_useTranslation","useTranslation","t","_useFolderStore2","_store$alertState","_store$alertState2","type","item","_useDestroyFolder","useDestroyFolder","destroyFolder","mutateAsync","isPending","_useFolders","useFolders","folders","onClose","alertState","alertProps","isOpen","isSubmitting","onConfirmDelete","onSuccess","_config$onUpdateSucce","isActive","isActiveFolder","sid","invalidationKeys","concat","_toConsumableArray","QUERY_KEYS","FOLDERS","DETAILS","forEach","queryKey","invalidateQueries","refetchType","path","pathToFolder","id","parent","length","redirectUrl","buildUrl","folderPath","_objectSpread","folderId","replace","onUpdateSuccess","call","onSettled","title","message","_jsx","Trans","i18nKey","values","customizeAlerts","onSubmit","Alert","FORM_VALIDATION_SCHEMA","object","shape","name","string","required","entity","typeComponentMap","Input","Switch","textarea","Textarea","ExtraAttributes","attributes","Array","isArray","map","_ref2","rest","_objectWithoutProperties","_excluded","Component","_createElement","key","createInitialValues","defaults","extraAttrs","parentId","defaultValue","createPayload","payload","filterExtraAttributes","isEditing","filter","attribute","isEditAttribute","isCreateAttribute","AddEditPane","_config$addEditValida","setFocusField","folderSid","_store$paneState","_store$paneState2","_useFetchFolders","useFetchFolders","isFetching","_useCreateFolder","useCreateFolder","createFolder","mutate","_useUpdateFolder","useUpdateFolder","updateFolder","activeFolderSid","getActiveFolderId","extraAttributes","filteredExtraAttributes","useMemo","handleError","setStatus","error","response","data","errors","onSubmitForm","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","reactQueryOptions","wrap","_callee$","_context","prev","next","_ref4","newPath","window","location","pathname","href","lastCreatedFolderId","showThumbsUpToastr","onError","showToastr","initialSlug","stop","_x","_x2","apply","arguments","initialValues","Pane","Body","className","children","Spinner","_jsxs","_Fragment","Header","Typography","style","Form","formikProps","enableReinitialize","validationSchema","addEditValidationSchema","_ref5","dirty","label","ref","TreeSelect","allowClear","showSearch","initialValue","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps","disabled","Node","_folder$children$leng","_folder$children","_ref$icon","icon","itemLabel","folder","folderLabel","depth","_ref$hideTreeIndent","hideTreeIndent","metaInfo","childCount","push","toLowerCase","itemCount","from","_","index","width","REORDER_TREE_INDENT_WIDTH","insetInlineStart","Math","round","top","hyphenate","classNames","lineHeight","weight","join","forwardRef","SelectableNode","_ref$depth","maxDepth","selection","onSelect","isDisabled","labels","renderChildren","isNotPresent","child","_SelectableNode","undefined","Radio","Item","readOnly","checked","noop","createTree","isRootEnabled","PaneBody","_ref$isRootEnabled","removeButtonProps","onRemove","_useState","useState","_useState2","_slicedToArray","setSelection","_useFetchFolders$data","tree","Number","POSITIVE_INFINITY","foldersMap","treeToMap","folderDepth","measureDepth","onAddFolder","paneState","_useFolderStore3","_store$lastCreatedFol","useEffect","useHotkeys","mode","enabled","Button","MoveFolderPane","onSaveSelection","toastApiError","loading","DraggableNode","_useDraggable","useDraggable","isDragging","listeners","setDraggableRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableRef","_child$children$lengt","_child$children","_DraggableNode","RearrangeFoldersPane","_tree$children$length","_tree$children","_dragItem$children$le","_dragItem$children","dragItem","setDragItem","_useState3","_useState4","changes","setChanges","_useReorderFolders","useReorderFolders","reorderFolders","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","setTree","onDragEnd","_activeFolder$meta$pa","active","over","activeFolder","current","overFolder","meta","activeDepth","overDepth","Toastr","newTree","mapToTree","assoc","nodeProps","Reorder","DndContext","onDragStart","isEmpty","createPortal","DragOverlay","zIndex","document","body","PlaceholderNode","dragState","overItem","useId","_overItem$meta$parent","isOverItem","isOverParent","isRoot","React","Fragment","initialDragState","activeItem","sensorConfig","activationConstraint","distance","measuringConfig","droppable","frequency","ReorderFoldersPane","_dragState$activeItem","_dragState$activeItem2","_dragState$activeItem3","setDragState","sensors","useSensors","useSensor","PointerSensor","baseTree","setBaseTree","mapToSortedTree","targetFolder","targetIndex","srcDepth","dstDepth","__index","collisionDetection","closestCenter","measuring","onDragOver","FoldersPane","configProps","DEFAULT_CONFIG","commonProps","ReorderPaneComponent","reorderMode","FoldersContext","FolderTile","_folder$children$leng2","_folder$children2","_ref$isPreview","isPreview","isSelected","link","actions","draggable","actionCallback","callback","event","preventDefault","menuItems","onEdit","onMove","onDelete","Link","to","Checkbox","onChange","target","stopPropagation","MoreDropdown","dropdownButtonProps","dropdownProps","FoldersDnd","onDropItem","onDrop","renderItemOverlay","renderOverlay","onDropFolder","handleDragStart","handleDragEnd","renderFolderOverlay","dropAnimation","modifiers","snapCenterToCursor","FoldersList","_ref$selection","params","_useFolder","useFolder","useFolderActions","subFolders","includes","DraggableWrapper","_ref$id","MoveToFolderPane","FolderIcon","props","fill","height","size","viewBox","xmlns","d","FolderIconOpen","isExpanded","node","isPrivate","_node$isFolder","isFolder","folderActions","itemActions","_ref2$getMoreActions","getMoreActions","_ref2$getAddActions","getAddActions","moreActions","addActions","hasMoreActions","isNotEmpty","hasAddActions","hasAnyActions","NavLink","activeClassName","component","Lock","e","Plus","tooltipProps","content","position","DownIcon","RightIcon","SwitcherIcon","expanded","splitItemsByFolder","items","reduce","acc","value","isLeaf","itemsByFolderId","rootItems","appendItemsToFolders","buildTreeWithItems","_splitItemsByFolder","foldersWithItems","FoldersTree","Set","expandedKeysSet","setExpandedKeysSet","expandedKeys","treeData","updateExpandedKeys","_activeFolder$meta","updatedExpandedKeys","parentSid","has","add","handleExpand","keys","keysSet","removeChildKeys","startTransition","Tree","autoExpandParent","blockNode","componentToken","titleHeight","indentSize","fieldNames","selectedKeys","showLine","switcherIcon","titleRender","onExpand","createFolderOptions","mapObj","_folder$meta$parent","pId","_fieldNames$label","_ref$label","_ref$placeholder","placeholder","_ref$disabled","_ref$loading","_ref$required","_ref$showSearch","_ref$size","otherProps","_useFormikContext","useFormikContext","setFieldValue","isValidParent","folderOptions","NUITreeSelect","treeDataSimpleMode","treeNodeFilterProp","displayName"],"mappings":"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"}
|