@bigbinary/neeto-folders-frontend 2.0.24 → 2.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":["../app/javascript/src/hooks/useTranslation.js","../app/javascript/src/components/internal/Alerts.jsx","../app/javascript/src/components/internal/Pane/AddEdit/constants.js","../app/javascript/src/components/internal/Pane/AddEdit/Extra.jsx","../app/javascript/src/components/internal/Pane/AddEdit/utils.js","../app/javascript/src/components/internal/Pane/AddEdit/index.jsx","../app/javascript/src/constants/general.js","../app/javascript/src/components/internal/Pane/Node.jsx","../app/javascript/src/components/internal/Pane/Move/SelectableNode.jsx","../app/javascript/src/components/internal/Pane/Move/Body.jsx","../app/javascript/src/components/internal/Pane/Move/index.jsx","../app/javascript/src/components/internal/Pane/Rearrange/DraggableNode.jsx","../app/javascript/src/components/internal/Pane/Rearrange/index.jsx","../app/javascript/src/utils/closestCenter.js","../app/javascript/src/components/internal/Pane/Reorder/PlaceholderNode.jsx","../app/javascript/src/components/internal/Pane/Reorder/DraggableNode.jsx","../app/javascript/src/components/internal/Pane/Reorder/index.jsx","../app/javascript/src/components/internal/Pane/index.jsx","../app/javascript/src/components/Context.jsx","../app/javascript/src/components/List/Tile.jsx","../app/javascript/src/components/List/index.jsx","../app/javascript/src/components/MoveToFolderPane.jsx","../app/javascript/src/components/Tree/Node.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 }) => {\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 = 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 label={t(\"createFolder.parentTitle\")}\n name=\"parentId\"\n />\n <Typography className=\"mt-1\" style=\"body3\">\n {t(\"createFolder.parentInfo\")}\n </Typography>\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{ disabled: !dirty }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default AddEditPane;\n","export const REORDER_TREE_INDENT_WIDTH = 30;\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst Node = (\n {\n icon = null,\n itemLabel,\n folder,\n folderLabel,\n depth,\n className,\n onClick,\n ...rest\n },\n ref\n) => {\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n childCount > 0 && metaInfo.push(`${childCount} ${folderLabel}`.toLowerCase());\n folder.itemCount > 0 &&\n metaInfo.push(`${folder.itemCount} ${itemLabel}`.toLowerCase());\n\n return (\n <div className=\"flex w-full min-w-0\">\n {Array.from({ length: depth }).map((_, index) => (\n <span\n className=\"neeto-ui-border-gray-300 relative h-full flex-shrink-0 border-l\"\n key={index}\n style={{\n width: REORDER_TREE_INDENT_WIDTH,\n left: Math.round(REORDER_TREE_INDENT_WIDTH / 2),\n }}\n />\n ))}\n <div\n {...{ ...rest, onClick, ref }}\n data-cy={`${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=\"ml-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 className={classNames({ \"opacity-60\": isDisabled })}\n title={isDisabled ? t(\"moveToFolder.notAllowed\") : undefined}\n >\n <Node\n {...{ ...rest, depth, folder, folderLabel, itemLabel }}\n icon={\n <Radio.Item\n readOnly\n checked={selection === folder.id}\n className=\"neeto-ui-radio__container\"\n data-cy={`${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 PaneBody = ({\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 () => [{ name: \"/\", id: null, children: folders }],\n [folders]\n );\n\n let folderDepth = 0;\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 if (folder) folderDepth = measureDepth(folder);\n }\n\n const maxDepth = config.maxDepth - folderDepth + 1;\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=\"mr-2\"\n data-cy=\"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 disabled={selection === parent}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={() => onSubmit(selection)}\n {...submitButtonProps}\n data-cy=\"save-changes-button\"\n />\n <Button\n label={t(\"common.cancel\")}\n style=\"text\"\n onClick={onClose}\n {...cancelButtonProps}\n data-cy=\"cancel-button\"\n />\n </div>\n {onRemove && (\n <Button\n label={t(\"moveToFolder.remove\")}\n style=\"tertiary\"\n onClick={onRemove}\n {...removeButtonProps}\n data-cy=\"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\";\n\nimport PaneBody from \"./Body\";\n\nconst MoveFolderPane = ({ config, onClose }) => {\n const { item } = useFolderStore.pick(\"paneState\");\n const { mutate: updateFolder } = useUpdateFolder(config);\n\n const onSaveSelection = parentId => {\n const payload = { id: item.id, parentId };\n updateFolder(\n { id: item.id, payload },\n {\n onSuccess: () => {\n onClose();\n config.onUpdateSuccess?.();\n },\n }\n );\n };\n\n return <PaneBody {...{ config, item, onClose }} onSubmit={onSaveSelection} />;\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 -left-[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 -left-[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 pl-4 pr-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 { setFolderState } = useFolderStore.pick();\n const { type } = useFolderStore.pick(\"paneState\");\n\n const onClose = () => setFolderState({ paneState: null });\n const commonProps = { config, onClose };\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 { 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\";\n\nconst FolderTile = ({\n isSelected,\n link,\n folder,\n actions,\n config,\n onSelect,\n}) => {\n const { t } = useTranslation(config);\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 className=\"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 data-cy={`${hyphenate(folder.name)}-folder-tile`}\n to={link}\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 pr-8\"\n data-cy=\"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 right-2 top-2\" }}\n dropdownProps={{ onClick: event => event.preventDefault() }}\n />\n </Link>\n );\n};\n\nexport default FolderTile;\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-cy=\"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 { 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","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\nconst Node = ({ isActive, 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\"\n data-cy={`${hyphenate(name)}-${isFolder ? \"folder\" : \"item\"}-sublink`}\n title=\"\"\n >\n <div className=\"flex items-center min-w-0 flex-1\">\n <Typography\n className=\"line-clamp-1 block truncate\"\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 ml-1\" size={16} />\n </span>\n )}\n </div>\n {hasAnyActions && (\n <div\n className=\"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity\"\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 }}\n />\n )}\n {hasMoreActions && (\n <MoreDropdown\n dropdownButtonProps={{ size: \"small\" }}\n menuItems={moreActions}\n />\n )}\n </div>\n )}\n </div>\n </NavLink>\n );\n};\n\nexport default Node;\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 { buildTreeWithItems } from \"./utils\";\n\nconst FoldersTree = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const [expandedKeys, setExpandedKeys] = useState([]);\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 = [...expandedKeys];\n const map = treeToMap(treeData, \"sid\");\n const activeFolder = map[activeFolderSid];\n const parentSid = activeFolder?.meta?.parent?.sid;\n if (parentSid && !updatedExpandedKeys.includes(parentSid)) {\n updatedExpandedKeys.push(parentSid);\n }\n setExpandedKeys(updatedExpandedKeys);\n };\n\n const handleExpand = (keys, { expanded, node }) => {\n if (expanded) {\n setExpandedKeys(keys);\n\n return;\n }\n\n const keysSet = new Set(keys);\n const removeChildKeys = (children = []) => {\n children.forEach(child => {\n keysSet.delete(child.sid);\n removeChildKeys(child.children);\n });\n };\n removeChildKeys(node.children);\n setExpandedKeys([...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 showLine\n className=\"neeto-sidebar-folders-tree\"\n componentToken={{ titleHeight: 24, indentSize: 24 }}\n fieldNames={{ key: \"sid\" }}\n selectedKeys={[activeFolderSid]}\n titleRender={node => (\n <Node\n {...{ config, node }}\n isActive={node.sid === activeFolderSid}\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 ...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 = 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-cy=\"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","_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","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","left","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","PaneBody","removeButtonProps","onRemove","_useState","useState","_useState2","_slicedToArray","setSelection","_useFetchFolders$data","tree","folderDepth","foldersMap","treeToMap","measureDepth","onAddFolder","paneState","useHotkeys","mode","enabled","Button","MoveFolderPane","onSaveSelection","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","top","height","closestCenter","activeItem","collisionRect","droppableRects","droppableContainers","centerRect","minDistance","Number","POSITIVE_INFINITY","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","isSelected","link","actions","actionCallback","callback","event","preventDefault","menuItems","onEdit","onMove","onDelete","Link","to","Checkbox","onChange","target","stopPropagation","MoreDropdown","dropdownButtonProps","dropdownProps","FoldersList","_ref$selection","params","_useFolder","useFolder","useFolderActions","subFolders","includes","MoveToFolderPane","node","isPrivate","_node$isFolder","isFolder","folderActions","itemActions","_ref2$getMoreActions","getMoreActions","_ref2$getAddActions","getAddActions","moreActions","addActions","hasMoreActions","isNotEmpty","hasAddActions","hasAnyActions","NavLink","activeClassName","component","Lock","size","Plus","tooltipProps","content","position","splitItemsByFolder","items","reduce","acc","isLeaf","itemsByFolderId","rootItems","appendItemsToFolders","buildTreeWithItems","_splitItemsByFolder","foldersWithItems","FoldersTree","expandedKeys","setExpandedKeys","treeData","updateExpandedKeys","_activeFolder$meta","updatedExpandedKeys","parentSid","handleExpand","keys","expanded","keysSet","Set","removeChildKeys","useEffect","startTransition","Tree","autoExpandParent","blockNode","showLine","componentToken","titleHeight","indentSize","fieldNames","selectedKeys","titleRender","onExpand","createFolderOptions","mapObj","_folder$meta$parent","pId","_fieldNames$label","_ref$label","_ref$placeholder","placeholder","_ref$disabled","_ref$loading","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":[27]}
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/List/index.jsx","../app/javascript/src/components/MoveToFolderPane.jsx","../app/javascript/src/components/Tree/FolderIcon.jsx","../app/javascript/src/components/Tree/FolderIconOpen.jsx","../app/javascript/src/components/Tree/Node.jsx","../app/javascript/src/components/Tree/DownIcon.jsx","../app/javascript/src/components/Tree/RightIcon.jsx","../app/javascript/src/components/Tree/SwitcherIcon.jsx","../app/javascript/src/components/Tree/utils.js","../app/javascript/src/components/Tree/index.jsx","../app/javascript/src/components/TreeSelect/utils.js","../app/javascript/src/components/TreeSelect/index.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["import { useTranslation as useDefaultTranslation } from \"react-i18next\";\n\nconst useTranslation = config => {\n const { t } = useDefaultTranslation();\n\n const modT = (key, options) =>\n config?.labels ? t(key, { ...config.labels, ...options }) : t(key, options);\n\n return { t: modT };\n};\n\nexport default useTranslation;\n","import { useQueryClient } from \"@tanstack/react-query\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useDestroyFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolders from \"hooks/useFolders\";\nimport useTranslation from \"hooks/useTranslation\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { pathToFolder } from \"utils\";\nimport { isActiveFolder } from \"utils/internal\";\n\nconst FoldersAlerts = ({ config }) => {\n const { setFolderState } = useFolderStore.pick();\n const queryParams = useQueryParams({ toCamelCase: false });\n const queryClient = useQueryClient();\n const history = useHistory();\n const { t } = useTranslation(config);\n\n const { type, item } = useFolderStore.pick(\"alertState\");\n const { mutateAsync: destroyFolder, isPending } = useDestroyFolder(config);\n const { folders } = useFolders(config);\n\n const onClose = () => setFolderState({ alertState: null });\n const alertProps = { isOpen: !!type, isSubmitting: isPending, onClose };\n\n const onConfirmDelete = () => {\n const onSuccess = () => {\n const isActive = isActiveFolder(config, item.sid);\n // Invalidates items and folder details. Refetch only if not active folder.\n const invalidationKeys = [\n ...config.invalidationKeys,\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ];\n\n invalidationKeys.forEach(queryKey => {\n queryClient.invalidateQueries({\n refetchType: isActive ? \"none\" : \"active\",\n queryKey,\n });\n });\n\n if (isActive && folders) {\n const path = pathToFolder(folders, item.id);\n const parent = path[path.length - 2];\n const redirectUrl = parent\n ? buildUrl(config.folderPath, {\n ...queryParams,\n folderId: parent.sid,\n })\n : \"/\";\n history.replace(redirectUrl);\n }\n\n config.onUpdateSuccess?.();\n };\n\n destroyFolder(item.id, { onSuccess, onSettled: onClose });\n };\n\n if (type === \"delete\") {\n alertProps.title = t(\"deleteFolder.title\");\n alertProps.message = <Trans i18nKey=\"deleteFolder.info\" values={item} />;\n if (config.customizeAlerts) config.customizeAlerts(type, item, alertProps);\n alertProps.onSubmit = onConfirmDelete;\n }\n\n return <Alert {...alertProps} />;\n};\n\nexport default FoldersAlerts;\n","import { t } from \"i18next\";\nimport { object, string } from \"yup\";\n\nexport const FORM_VALIDATION_SCHEMA = object().shape({\n name: string().required(t(\"errors.blank\", { entity: t(\"common.name\") })),\n});\n","import { Input, Switch, Textarea } from \"neetoui/formik\";\n\nconst typeComponentMap = { string: Input, boolean: Switch, textarea: Textarea };\n\nconst ExtraAttributes = ({ attributes }) => {\n if (!Array.isArray(attributes)) return null;\n\n return attributes.map(({ type, ...rest }) => {\n const Component = typeComponentMap[type];\n if (!Component) return null;\n\n return <Component {...rest} key={rest.name} />;\n });\n};\n\nexport default ExtraAttributes;\n","export const createInitialValues = (defaults, extraAttrs) => {\n const values = { name: \"\", parentId: defaults.parentId || null };\n\n extraAttrs?.forEach(({ name, defaultValue }) => {\n values[name] = defaultValue;\n });\n\n return values;\n};\n\nexport const createPayload = (values, extraAttrs) => {\n const payload = { name: values.name, parentId: values.parentId || \"\" };\n\n extraAttrs?.forEach(({ name }) => {\n payload[name] = values[name];\n });\n\n return payload;\n};\n\nexport const filterExtraAttributes = (attributes, isEditing) => {\n if (!attributes || !Array.isArray(attributes)) return [];\n\n return attributes.filter(attribute => {\n if (isEditing) {\n return attribute.isEditAttribute !== false;\n }\n\n return attribute.isCreateAttribute !== false;\n });\n};\n","import { useMemo } from \"react\";\n\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Pane, Typography, Spinner } from \"neetoui\";\nimport { Input, ActionBlock, Form } from \"neetoui/formik\";\n\nimport { TreeSelect } from \"components\";\nimport {\n useFetchFolders,\n useCreateFolder,\n useUpdateFolder,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useTranslation from \"hooks/useTranslation\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { getActiveFolderId } from \"utils/internal\";\n\nimport { FORM_VALIDATION_SCHEMA } from \"./constants\";\nimport ExtraAttributes from \"./Extra\";\nimport {\n createInitialValues,\n createPayload,\n filterExtraAttributes,\n} from \"./utils\";\n\nconst AddEditPane = ({ setFocusField, config, onClose, folderSid }) => {\n const { t } = useTranslation(config);\n const { type, item } = useFolderStore.pick(\"paneState\");\n const { isFetching } = useFetchFolders(config);\n const { mutate: createFolder } = useCreateFolder(config);\n const { mutateAsync: updateFolder } = useUpdateFolder(config);\n\n const isEditing = type === \"edit\" && item;\n const activeFolderSid = folderSid || getActiveFolderId(config);\n const extraAttributes = config.extraAttributes;\n\n const filteredExtraAttributes = useMemo(\n () => filterExtraAttributes(extraAttributes, isEditing),\n [extraAttributes, isEditing]\n );\n\n const handleError = (setStatus, error) => {\n const { response } = error;\n if (response && response.data && response.data.errors) {\n setStatus(response.data.errors);\n }\n };\n\n const onSubmitForm = async (values, { setStatus }) => {\n const payload = createPayload(values, filteredExtraAttributes);\n const reactQueryOptions = {\n onSuccess: ({ sid }) => {\n if (isEditing && sid !== item.sid) {\n const newPath = window.location.pathname.replace(\n activeFolderSid,\n sid\n );\n window.location.href = newPath;\n }\n showThumbsUpToastr();\n onClose();\n },\n onError: error => handleError(setStatus, error),\n };\n\n const config = { showToastr: false };\n\n isEditing\n ? await updateFolder(\n { id: item.id, payload, config, initialSlug: item.sid },\n reactQueryOptions\n )\n : await createFolder({ payload, config }, reactQueryOptions);\n };\n\n const initialValues = useMemo(\n () => (isEditing ? item : createInitialValues({}, filteredExtraAttributes)),\n [isEditing, item, filteredExtraAttributes]\n );\n\n if (isFetching) {\n return (\n <Pane.Body className=\"flex items-center justify-center\">\n <Spinner />\n </Pane.Body>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\">\n {isEditing ? t(\"folders.edit\") : t(\"folders.add\")}\n </Typography>\n </Pane.Header>\n <Form\n className=\"flex flex-grow flex-col\"\n formikProps={{\n initialValues,\n enableReinitialize: true,\n validationSchema:\n config.addEditValidationSchema?.(isEditing) ||\n FORM_VALIDATION_SCHEMA,\n onSubmit: onSubmitForm,\n }}\n >\n {({ dirty }) => (\n <>\n <Pane.Body className=\"pb-6\">\n <div className=\"w-full space-y-5\">\n <Input\n required\n label={t(\"folders.name\")}\n name=\"name\"\n ref={setFocusField}\n />\n <ExtraAttributes attributes={filteredExtraAttributes} />\n <div>\n <TreeSelect\n {...{ config }}\n allowClear\n showSearch\n initialValue={folderSid}\n label={t(\"createFolder.parentTitle\")}\n name=\"parentId\"\n />\n <Typography className=\"mt-1\" style=\"body3\">\n {t(\"createFolder.parentInfo\")}\n </Typography>\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{ disabled: !dirty }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default AddEditPane;\n","export const REORDER_TREE_INDENT_WIDTH = 30;\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport { REORDER_TREE_INDENT_WIDTH } from \"constants/general\";\n\nconst Node = (\n {\n icon = null,\n itemLabel,\n folder,\n folderLabel,\n depth,\n className,\n onClick,\n ...rest\n },\n ref\n) => {\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n childCount > 0 && metaInfo.push(`${childCount} ${folderLabel}`.toLowerCase());\n folder.itemCount > 0 &&\n metaInfo.push(`${folder.itemCount} ${itemLabel}`.toLowerCase());\n\n return (\n <div className=\"flex w-full min-w-0\">\n {Array.from({ length: depth }).map((_, index) => (\n <span\n className=\"neeto-ui-border-gray-300 relative h-full flex-shrink-0 border-l\"\n key={index}\n style={{\n width: REORDER_TREE_INDENT_WIDTH,\n left: Math.round(REORDER_TREE_INDENT_WIDTH / 2),\n }}\n />\n ))}\n <div\n {...{ ...rest, onClick, ref }}\n data-cy={`${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=\"ml-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 className={classNames({ \"opacity-60\": isDisabled })}\n title={isDisabled ? t(\"moveToFolder.notAllowed\") : undefined}\n >\n <Node\n {...{ ...rest, depth, folder, folderLabel, itemLabel }}\n icon={\n <Radio.Item\n readOnly\n checked={selection === folder.id}\n className=\"neeto-ui-radio__container\"\n data-cy={`${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 PaneBody = ({\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 () => [{ name: \"/\", id: null, children: folders }],\n [folders]\n );\n\n let folderDepth = 0;\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 if (folder) folderDepth = measureDepth(folder);\n }\n\n const maxDepth = config.maxDepth - folderDepth + 1;\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=\"mr-2\"\n data-cy=\"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 disabled={selection === parent}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={() => onSubmit(selection)}\n {...submitButtonProps}\n data-cy=\"save-changes-button\"\n />\n <Button\n label={t(\"common.cancel\")}\n style=\"text\"\n onClick={onClose}\n {...cancelButtonProps}\n data-cy=\"cancel-button\"\n />\n </div>\n {onRemove && (\n <Button\n label={t(\"moveToFolder.remove\")}\n style=\"tertiary\"\n onClick={onRemove}\n {...removeButtonProps}\n data-cy=\"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\";\n\nimport PaneBody from \"./Body\";\n\nconst MoveFolderPane = ({ config, onClose }) => {\n const { item } = useFolderStore.pick(\"paneState\");\n const { mutate: updateFolder } = useUpdateFolder(config);\n\n const onSaveSelection = parentId => {\n const payload = { id: item.id, parentId };\n updateFolder(\n { id: item.id, payload },\n {\n onSuccess: () => {\n onClose();\n config.onUpdateSuccess?.();\n },\n }\n );\n };\n\n return <PaneBody {...{ config, item, onClose }} onSubmit={onSaveSelection} />;\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 -left-[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 -left-[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 pl-4 pr-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 { setFolderState } = useFolderStore.pick();\n const { type } = useFolderStore.pick(\"paneState\");\n\n const onClose = () => setFolderState({ paneState: null });\n const commonProps = { config, onClose };\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 { 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\";\n\nconst FolderTile = ({\n isSelected,\n link,\n folder,\n actions,\n config,\n onSelect,\n}) => {\n const { t } = useTranslation(config);\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 className=\"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 data-cy={`${hyphenate(folder.name)}-folder-tile`}\n to={link}\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 pr-8\"\n data-cy=\"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 right-2 top-2\" }}\n dropdownProps={{ onClick: event => event.preventDefault() }}\n />\n </Link>\n );\n};\n\nexport default FolderTile;\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-cy=\"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 { 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-cy={`${hyphenate(name)}-${isFolder ? \"folder\" : \"item\"}-sublink`}\n title=\"\"\n >\n {isFolder &&\n (isExpanded ? (\n <FolderIconOpen className=\"flex-shrink-0 mr-1\" size={16} />\n ) : (\n <FolderIcon className=\"flex-shrink-0 mr-1\" size={16} />\n ))}\n <div className=\"flex items-center min-w-0 flex-1\">\n <Typography\n className=\"line-clamp-1 block truncate pl-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 ml-1\" size={16} />\n </span>\n )}\n </div>\n {hasAnyActions && (\n <div\n className=\"flex items-center gap-0.5 py-0.5 absolute right-0 top-0 h-full neeto-sidebar-folders-tree__folder-node-actions neeto-ui-rounded-md pl-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-cy=\"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","left","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","PaneBody","removeButtonProps","onRemove","_useState","useState","_useState2","_slicedToArray","setSelection","_useFetchFolders$data","tree","folderDepth","foldersMap","treeToMap","measureDepth","onAddFolder","paneState","useHotkeys","mode","enabled","Button","MoveFolderPane","onSaveSelection","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","top","height","closestCenter","activeItem","collisionRect","droppableRects","droppableContainers","centerRect","minDistance","Number","POSITIVE_INFINITY","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","isSelected","link","actions","actionCallback","callback","event","preventDefault","menuItems","onEdit","onMove","onDelete","Link","to","Checkbox","onChange","target","stopPropagation","MoreDropdown","dropdownButtonProps","dropdownProps","FoldersList","_ref$selection","params","_useFolder","useFolder","useFolderActions","subFolders","includes","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","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":[32]}