@bigbinary/neeto-folders-frontend 1.1.5 → 1.1.7

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/components/internal/Alerts.jsx","../app/javascript/src/components/internal/Pane/AddEdit/TreeSelect.jsx","../app/javascript/src/components/internal/Pane/AddEdit/utils.js","../app/javascript/src/components/internal/Pane/AddEdit/index.jsx","../app/javascript/src/components/internal/Pane/Node.jsx","../app/javascript/src/components/internal/Pane/Move/SelectableNode.jsx","../app/javascript/src/components/internal/Pane/Move/Body.jsx","../app/javascript/src/components/internal/Pane/Move/index.jsx","../app/javascript/src/components/internal/Pane/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/index.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["import { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useDestroyFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolders from \"hooks/useFolders\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { isActiveFolder } from \"utils/internal\";\nimport { pathToFolder } from \"utils/pathUtils\";\n\nconst FoldersAlerts = ({ config }) => {\n const { setFolderState } = useFolderStore.pick();\n const queryParams = useQueryParams({ toCamelCase: false });\n const history = useHistory();\n const { t } = useTranslation();\n\n const { type, item } = useFolderStore.pick(\"alertState\");\n const { mutateAsync: destroyFolder, isLoading } = useDestroyFolder(config);\n const { folders } = useFolders(config);\n\n const onClose = () => setFolderState({ alertState: null });\n const alertProps = { isOpen: !!type, isSubmitting: isLoading, onClose };\n\n const onConfirmDelete = async () => {\n await destroyFolder(item.id);\n onClose();\n\n if (!isActiveFolder(item.sid) || !folders) return;\n const path = pathToFolder(folders, item.id);\n const parent = path[path.length - 2];\n if (!parent) return;\n history.replace(\n buildUrl(config.folderPath, {\n ...queryParams,\n folderId: parent.sid,\n })\n );\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 { forwardRef } from \"react\";\n\nimport { TreeSelect as AntdTree, ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport { useField } from \"formik\";\nimport { Down } from \"neetoicons\";\nimport { Label } from \"neetoui\";\n\nconst TreeSelect = forwardRef(\n (\n {\n className,\n disabled = false,\n fieldNames,\n label = \"\",\n loading = false,\n name,\n placeholder = \"\",\n required = false,\n showSearch = true,\n size = \"middle\",\n treeData,\n ...otherProps\n },\n ref\n ) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n const hasLeafNodes = treeData?.some(node => node?.pId !== null);\n\n return (\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required }}>{label}</Label>}\n <ConfigProvider\n theme={{\n token: {\n colorBgContainer: \"rgb(var(--neeto-ui-white))\",\n colorBorder: \"rgb(var(--neeto-ui-gray-300))\",\n colorBorderSecondary: \"rgb(var(--neeto-ui-gray-200))\",\n colorFillAlter: \"rgb(var(--neeto-ui-gray-100))\",\n colorFillContent: \"rgb(var(--neeto-ui-gray-100))\",\n colorFillSecondary: \"rgb(var(--neeto-ui-gray-100))\",\n colorIcon: \"rgb(var(--neeto-ui-gray-700))\",\n colorIconHover: \"rgb(var(--neeto-ui-gray-800))\",\n colorLink: \"rgb(var(--neeto-ui-primary-500))\",\n colorLinkActive: \"rgb(var(--neeto-ui-primary-800))\",\n colorLinkHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n colorSplit: \"rgb(var(--neeto-ui-gray-100))\",\n colorText: \"rgb(var(--neeto-ui-gray-800))\",\n colorTextDescription: \"rgb(var(--neeto-ui-gray-700))\",\n colorTextDisabled: \"rgb(var(--neeto-ui-gray-600))\",\n colorTextHeading: \"rgb(var(--neeto-ui-black))\",\n colorTextPlaceholder: \"rgb(var(--neeto-ui-gray-500))\",\n controlItemBgActive: \"rgb(var(--neeto-ui-primary-100))\",\n controlItemBgActiveHover: \"rgb(var(--neeto-ui-pastel-purple))\",\n controlItemBgHover: \"rgb(var(--neeto-ui-gray-100))\",\n },\n components: {\n TreeSelect: {\n titleHeight: 28,\n indentSize: 28,\n nodeHoverBg: \"rgb(var(--neeto-ui-gray-100))\",\n nodeSelectedBg: \"rgb(var(--neeto-ui-primary-500))\",\n colorBgElevated: \"rgb(var(--neeto-ui-white))\",\n },\n },\n }}\n >\n <AntdTree\n treeDataSimpleMode\n data-cy=\"nui-select-container-wrapper\"\n dropdownStyle={{ zIndex: 100000 }}\n name={field.name}\n popupClassName=\"neeto-ui-tree-select-dropdown\"\n suffixIcon={<Down />}\n treeNodeFilterProp={fieldNames?.label ?? \"title\"}\n value={field.value || undefined}\n className={classnames(\"neeto-ui-tree-select__wrapper\", className, {\n \"neeto-ui-tree-select__error\": meta.error,\n })}\n switcherIcon={props => (\n <div {...props}>\n <Down className=\"relative\" />\n </div>\n )}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(value)}\n {...{\n disabled,\n fieldNames,\n loading,\n placeholder,\n ref,\n showSearch,\n size,\n treeData,\n ...otherProps,\n }}\n dropdownRender={menu =>\n hasLeafNodes ? menu : <div className=\"-mx-5 -ml-6\">{menu}</div>\n }\n />\n </ConfigProvider>\n {meta.error && <p className=\"neeto-ui-input__error\">{meta.error}</p>}\n </div>\n );\n }\n);\n\nTreeSelect.displayName = \"TreeSelect\";\n\nexport default TreeSelect;\n","import { values } from \"ramda\";\n\nexport const createFolderOptions = (foldersMap, config) =>\n values(foldersMap).map(folder => ({\n id: folder.id,\n title: folder.name,\n value: folder.id,\n pId: folder.meta.parent?.id,\n disabled: folder.meta.depth >= config.maxDepth,\n }));\n","import { useMemo } from \"react\";\n\nimport { Formik, Form } from \"formik\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFolders,\n useCreateFolder,\n useUpdateFolder,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport TreeSelect from \"./TreeSelect\";\nimport { createFolderOptions } from \"./utils\";\n\nconst AddEditPane = ({ setFocusField, config, onClose }) => {\n const { t } = useTranslation();\n const { type, item } = useFolderStore.pick(\"paneState\");\n const { data: folders } = useFetchFolders(config);\n const { mutate: createFolder } = useCreateFolder(config);\n const { mutateAsync: updateFolder } = useUpdateFolder(config);\n\n const isEditing = type === \"edit\" && item;\n const foldersMap = useMemo(() => treeToMap(folders, \"sid\"), [folders]);\n const folderOptions = useMemo(\n () => createFolderOptions(foldersMap, config),\n [foldersMap]\n );\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 const initialValues = useMemo(\n () => (isEditing ? item : { name: \"\", parentId }),\n [isEditing, item, parentId]\n );\n\n const onSubmitForm = async values => {\n const payload = { name: values.name, parent_id: values.parentId };\n isEditing\n ? await updateFolder({ id: item.id, payload })\n : await createFolder(payload);\n onClose();\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 <Formik {...{ initialValues }} enableReinitialize onSubmit={onSubmitForm}>\n {() => (\n <>\n <Pane.Body>\n <Form className=\"w-full space-y-5\">\n <Input\n label={t(\"folders.name\")}\n name=\"name\"\n ref={setFocusField}\n />\n <div>\n <TreeSelect\n allowClear\n showSearch\n label={t(\"createFolder.parentTitle\")}\n name=\"parentId\"\n treeData={folderOptions}\n />\n <Typography className=\"mt-1\" style=\"body3\">\n {t(\"createFolder.parentInfo\")}\n </Typography>\n </div>\n </Form>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock cancelButtonProps={{ onClick: onClose }} />\n </Pane.Footer>\n </>\n )}\n </Formik>\n </>\n );\n};\n\nexport default AddEditPane;\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst indentSize = 30;\n\nconst Node = (\n { icon = null, itemLabel, folder, depth, className, onClick, ...rest },\n ref\n) => {\n const { t } = useTranslation();\n\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n childCount > 0 &&\n metaInfo.push(t(\"folders.subfolderCount\", { count: childCount }));\n folder.itemCount > 0 && metaInfo.push(`${folder.itemCount} ${itemLabel}`);\n\n return (\n <div className=\"flex\">\n {Array.from({ length: depth }).map((_, index) => (\n <span\n className=\"neeto-ui-border-gray-200 relative border-l\"\n key={index}\n style={{ width: indentSize, left: Math.round(indentSize / 2) }}\n />\n ))}\n <div\n {...{ ...rest, onClick, ref }}\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 style=\"body3\" weight=\"medium\">\n {folder.name}\n </Typography>\n <Typography\n className=\"relative -top-0.5\"\n style=\"nano\"\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 } from \"neetocist\";\nimport { Radio, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Node from \"../Node\";\n\nconst SelectableNode = ({\n folder,\n item,\n depth = 0,\n maxDepth,\n disabled,\n ...rest\n}) => {\n const { selection, onSelect } = rest;\n const { t } = useTranslation();\n\n const isDisabled = disabled || item?.id === folder.id || depth > maxDepth;\n\n const renderChildren = () => {\n if (isNotPresent(folder.children)) return null;\n\n return folder.children.map(child => (\n <SelectableNode\n {...{ ...rest, item, maxDepth }}\n depth={depth + 1}\n disabled={isDisabled}\n folder={child}\n key={child.id}\n />\n ));\n };\n\n return (\n <Tooltip\n content={t(\"moveToFolder.notAllowed\")}\n disabled={!isDisabled}\n position=\"top\"\n >\n <div className={classNames({ \"opacity-40\": isDisabled })}>\n <Node\n {...{ ...rest, depth, folder }}\n icon={\n <Radio.Item\n readOnly\n checked={selection === folder.id}\n name=\"move-folder-option\"\n />\n }\n onClick={isDisabled ? noop : () => onSelect(folder)}\n />\n {renderChildren()}\n </div>\n </Tooltip>\n );\n};\n\nexport default SelectableNode;\n","import { useState } from \"react\";\n\nimport { Button, Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\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}) => {\n const [selection, setSelection] = useState(null);\n const { setFolderState } = useFolderStore.pick();\n const { data: folders = [] } = useFetchFolders(config);\n const { t } = useTranslation();\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;\n\n const onAddFolder = () => {\n setFolderState({ paneState: { type: \"add\", item: null } });\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 label={t(\"folders.add\")}\n style=\"link\"\n onClick={onAddFolder}\n />\n </Pane.Header>\n <Pane.Body>\n {folders.map(folder => (\n <SelectableNode\n {...{ folder, item, maxDepth, selection }}\n disabled={item?.id === folder.id || maxDepth <= 0}\n itemLabel={config.itemLabel}\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}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={() => onSubmit(selection)}\n {...submitButtonProps}\n />\n <Button\n label={t(\"common.cancel\")}\n style=\"text\"\n onClick={onClose}\n {...cancelButtonProps}\n />\n </div>\n {onRemove && (\n <Button\n label={t(\"moveToFolder.remove\")}\n style=\"tertiary\"\n onClick={onRemove}\n {...removeButtonProps}\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({ id: item.id, payload }, { onSuccess: onClose });\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 = ({ folder, depth = 0, ...rest }) => {\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}\n depth={depth + 1}\n folder={child}\n key={child.id}\n />\n ));\n };\n\n return (\n <div>\n <Node\n {...rest}\n className={classNames({\n \"neeto-ui-bg-gray-100 opacity-50 \": isDragging,\n \"neeto-ui-border-primary-500 border\": isOver,\n \"border border-transparent\": !isOver,\n })}\n {...{ depth, folder, ...attributes, ...listeners }}\n ref={ref => {\n setDroppableRef(ref);\n setDraggableRef(ref);\n }}\n />\n {renderChildren()}\n </div>\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 { Folder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport { treeToMap, measureDepth, mapToTree } from \"utils/treeUtils\";\n\nimport DraggableNode from \"./DraggableNode\";\n\nimport Node from \"../Node\";\n\nconst ReorderFoldersPane = ({ config, onClose }) => {\n const [dragItem, setDragItem] = useState(null);\n const [changes, setChanges] = useState({});\n\n const { t } = useTranslation();\n const { data: folders } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\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, { onSuccess: onClose });\n };\n\n const nodeProps = { icon: <Folder />, itemLabel: config.itemLabel };\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 {...nodeProps} folder={tree} key={tree.id} />\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 />\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 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 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\" && <ReorderFoldersPane {...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 MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Checkbox, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nconst FolderTile = ({\n isSelected,\n link,\n itemLabel,\n folder,\n actions,\n onSelect,\n}) => {\n const { t } = useTranslation();\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.move\"),\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 childCount > 0 &&\n metaInfo.push(t(\"folders.subfolderCount\", { count: childCount }));\n metaInfo.push(`${folder.itemCount || 0} ${itemLabel}`);\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 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 pr-8\"\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\";\nimport { pick } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FoldersContext from \"components/Context\";\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFolder, useFolders } from \"hooks\";\nimport useFolderActions from \"hooks/useFolderActions\";\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();\n\n const fetchParams = pick([\"sortBy\", \"orderBy\"], params);\n const { folders } = useFolders({ ...config, params: fetchParams });\n const { folderId, folder } = useFolder(config);\n const actions = useFolderActions(config);\n const subFolders = folderId ? folder?.children : folders;\n if (isNotPresent(subFolders)) return null;\n\n return (\n <FoldersContext {...{ config }}>\n <Typography className=\"my-3\" style=\"h4\">\n {t(\"folders.title\")}\n </Typography>\n <div className=\"neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4\">\n {subFolders.map(folder => (\n <FolderTile\n {...{ actions, folder, onSelect }}\n isSelected={selection.includes(folder.id)}\n itemLabel={config.itemLabel}\n key={folder.id}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n ))}\n </div>\n </FoldersContext>\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 { Typography } from \"neetoui\";\nimport { NavLink } from \"react-router-dom\";\n\nconst FolderNode = ({ isActive, folder, link }) => (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-sidebar-folders-tree__folder-node block\"\n isActive={() => isActive}\n to={link}\n >\n <Typography\n className=\"line-clamp-1\"\n component=\"span\"\n style=\"body2\"\n title={folder.name}\n >\n {folder.name}\n </Typography>\n </NavLink>\n);\n\nexport default FolderNode;\n","import { startTransition, useEffect, useState } from \"react\";\n\nimport { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Tree, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport FolderNode from \"./Node\";\n\nconst FoldersTree = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const [expandedKeys, setExpandedKeys] = useState([]);\n\n const { t } = useTranslation();\n const params = useQueryParams({ toCamelCase: false });\n const activeFolderSid = getActiveFolderId(config);\n const { data: folders } = useFetchFolders(config);\n\n const updateExpandedKeys = () => {\n if (!folders) return;\n // When active folder changes from external sources, update expanded keys to auto expand tree.\n const expandedKeys = [];\n const map = treeToMap(folders, \"sid\");\n const activeFolder = map[activeFolderSid];\n const parentSid = activeFolder?.meta?.parent?.sid;\n if (parentSid) expandedKeys.push(parentSid);\n setExpandedKeys(expandedKeys);\n };\n\n useEffect(() => {\n // Non urgent update.\n startTransition(updateExpandedKeys);\n }, [activeFolderSid, folders]);\n\n if (isNotPresent(folders)) {\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 }}\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 treeData={folders}\n titleRender={folder => (\n <FolderNode\n {...{ folder }}\n isActive={folder.sid === activeFolderSid}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n )}\n onExpand={setExpandedKeys}\n />\n );\n};\n\nexport default FoldersTree;\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":["FoldersAlerts","_ref","config","_useFolderStore","useFolderStore","store","setFolderState","shallow","queryParams","useQueryParams","toCamelCase","history","useHistory","_useTranslation","useTranslation","t","_useFolderStore2","_store$alertState","_store$alertState2","type","item","_useDestroyFolder","useDestroyFolder","destroyFolder","mutateAsync","isLoading","_useFolders","useFolders","folders","onClose","alertState","alertProps","isOpen","isSubmitting","onConfirmDelete","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","path","parent","wrap","_callee$","_context","prev","next","id","isActiveFolder","sid","abrupt","pathToFolder","length","replace","buildUrl","folderPath","_objectSpread","folderId","stop","apply","arguments","title","message","_jsx","Trans","i18nKey","values","customizeAlerts","onSubmit","Alert","TreeSelect","forwardRef","ref","_fieldNames$label","className","_ref$disabled","disabled","fieldNames","_ref$label","label","_ref$loading","loading","name","_ref$placeholder","placeholder","_ref$required","required","_ref$showSearch","showSearch","_ref$size","size","treeData","otherProps","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","hasLeafNodes","some","node","pId","_jsxs","children","Label","ConfigProvider","theme","token","colorBgContainer","colorBorder","colorBorderSecondary","colorFillAlter","colorFillContent","colorFillSecondary","colorIcon","colorIconHover","colorLink","colorLinkActive","colorLinkHover","colorPrimary","colorSplit","colorText","colorTextDescription","colorTextDisabled","colorTextHeading","colorTextPlaceholder","controlItemBgActive","controlItemBgActiveHover","controlItemBgHover","components","titleHeight","indentSize","nodeHoverBg","nodeSelectedBg","colorBgElevated","AntdTree","treeDataSimpleMode","dropdownStyle","zIndex","popupClassName","suffixIcon","Down","treeNodeFilterProp","value","undefined","classnames","error","switcherIcon","props","onBlur","onChange","dropdownRender","menu","displayName","createFolderOptions","foldersMap","map","folder","_folder$meta$parent","depth","maxDepth","AddEditPane","setFocusField","_store$paneState","_store$paneState2","_useFetchFolders","useFetchFolders","data","_useCreateFolder","useCreateFolder","createFolder","mutate","_useUpdateFolder","useUpdateFolder","updateFolder","isEditing","useMemo","treeToMap","folderOptions","activeFolderSid","getActiveFolderId","activeFolder","isValidParent","parentId","initialValues","onSubmitForm","payload","parent_id","_x","_Fragment","Pane","Header","Typography","style","Formik","enableReinitialize","Body","Form","Input","allowClear","Footer","ActionBlock","cancelButtonProps","onClick","Node","_folder$children$leng","_folder$children","_ref$icon","icon","itemLabel","rest","metaInfo","childCount","push","count","itemCount","concat","Array","from","_","index","width","left","Math","round","classNames","weight","join","SelectableNode","_ref$depth","selection","onSelect","isDisabled","renderChildren","isNotPresent","child","_createElement","_SelectableNode","key","Tooltip","content","position","Radio","Item","readOnly","checked","noop","PaneBody","submitButtonProps","removeButtonProps","onRemove","_useState","useState","_useState2","setSelection","_useFetchFolders$data","folderDepth","measureDepth","onAddFolder","paneState","Button","MoveFolderPane","onSaveSelection","onSuccess","DraggableNode","_useDraggable","useDraggable","isDragging","attributes","listeners","setDraggableRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableRef","_DraggableNode","ReorderFoldersPane","dragItem","setDragItem","_useState3","_useState4","changes","setChanges","_useReorderFolders","useReorderFolders","reorderFolders","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","tree","setTree","onDragEnd","_activeFolder$meta$pa","active","over","current","overFolder","activeDepth","overDepth","Toastr","newTree","mapToTree","assoc","nodeProps","Folder","DndContext","onDragStart","_ref3","isEmpty","createPortal","DragOverlay","document","body","FoldersPane","configProps","DEFAULT_CONFIG","commonProps","FoldersContext","FolderTile","isSelected","link","actions","actionCallback","callback","event","preventDefault","menuItems","onEdit","onMove","onDelete","Link","to","Checkbox","target","stopPropagation","lineHeight","MoreDropdown","dropdownButtonProps","dropdownProps","FoldersList","_ref$selection","params","fetchParams","pick","_useFolder","useFolder","useFolderActions","subFolders","includes","MoveToFolderPane","FolderNode","isActive","NavLink","activeClassName","component","FoldersTree","expandedKeys","setExpandedKeys","updateExpandedKeys","_activeFolder$meta","parentSid","useEffect","startTransition","Tree","autoExpandParent","blockNode","showLine","componentToken","selectedKeys","titleRender","onExpand"],"mappings":"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","x_google_ignoreList":[17]}
1
+ {"version":3,"file":"components.js","sources":["../app/javascript/src/components/internal/Alerts.jsx","../app/javascript/src/components/internal/Pane/AddEdit/TreeSelect.jsx","../app/javascript/src/components/internal/Pane/AddEdit/utils.js","../app/javascript/src/components/internal/Pane/AddEdit/index.jsx","../app/javascript/src/components/internal/Pane/Node.jsx","../app/javascript/src/components/internal/Pane/Move/SelectableNode.jsx","../app/javascript/src/components/internal/Pane/Move/Body.jsx","../app/javascript/src/components/internal/Pane/Move/index.jsx","../app/javascript/src/components/internal/Pane/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/index.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["import { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Alert } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useDestroyFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport useFolders from \"hooks/useFolders\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { isActiveFolder } from \"utils/internal\";\nimport { pathToFolder } from \"utils/pathUtils\";\n\nconst FoldersAlerts = ({ config }) => {\n const { setFolderState } = useFolderStore.pick();\n const queryParams = useQueryParams({ toCamelCase: false });\n const history = useHistory();\n const { t } = useTranslation();\n\n const { type, item } = useFolderStore.pick(\"alertState\");\n const { mutateAsync: destroyFolder, isLoading } = useDestroyFolder(config);\n const { folders } = useFolders(config);\n\n const onClose = () => setFolderState({ alertState: null });\n const alertProps = { isOpen: !!type, isSubmitting: isLoading, onClose };\n\n const onConfirmDelete = async () => {\n await destroyFolder(item.id);\n onClose();\n\n if (!isActiveFolder(item.sid) || !folders) return;\n const path = pathToFolder(folders, item.id);\n const parent = path[path.length - 2];\n if (!parent) return;\n history.replace(\n buildUrl(config.folderPath, {\n ...queryParams,\n folderId: parent.sid,\n })\n );\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 { forwardRef } from \"react\";\n\nimport { TreeSelect as AntdTree, ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport { useField } from \"formik\";\nimport { Down } from \"neetoicons\";\nimport { Label } from \"neetoui\";\n\nconst TreeSelect = forwardRef(\n (\n {\n className,\n disabled = false,\n fieldNames,\n label = \"\",\n loading = false,\n name,\n placeholder = \"\",\n required = false,\n showSearch = true,\n size = \"middle\",\n treeData,\n ...otherProps\n },\n ref\n ) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n const hasLeafNodes = treeData?.some(node => node?.pId !== null);\n\n return (\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required }}>{label}</Label>}\n <ConfigProvider\n theme={{\n token: {\n colorBgContainer: \"rgb(var(--neeto-ui-white))\",\n colorBorder: \"rgb(var(--neeto-ui-gray-300))\",\n colorBorderSecondary: \"rgb(var(--neeto-ui-gray-200))\",\n colorFillAlter: \"rgb(var(--neeto-ui-gray-100))\",\n colorFillContent: \"rgb(var(--neeto-ui-gray-100))\",\n colorFillSecondary: \"rgb(var(--neeto-ui-gray-100))\",\n colorIcon: \"rgb(var(--neeto-ui-gray-700))\",\n colorIconHover: \"rgb(var(--neeto-ui-gray-800))\",\n colorLink: \"rgb(var(--neeto-ui-primary-500))\",\n colorLinkActive: \"rgb(var(--neeto-ui-primary-800))\",\n colorLinkHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n colorSplit: \"rgb(var(--neeto-ui-gray-100))\",\n colorText: \"rgb(var(--neeto-ui-gray-800))\",\n colorTextDescription: \"rgb(var(--neeto-ui-gray-700))\",\n colorTextDisabled: \"rgb(var(--neeto-ui-gray-600))\",\n colorTextHeading: \"rgb(var(--neeto-ui-black))\",\n colorTextPlaceholder: \"rgb(var(--neeto-ui-gray-500))\",\n controlItemBgActive: \"rgb(var(--neeto-ui-primary-100))\",\n controlItemBgActiveHover: \"rgb(var(--neeto-ui-pastel-purple))\",\n controlItemBgHover: \"rgb(var(--neeto-ui-gray-100))\",\n },\n components: {\n TreeSelect: {\n titleHeight: 28,\n indentSize: 28,\n nodeHoverBg: \"rgb(var(--neeto-ui-gray-100))\",\n nodeSelectedBg: \"rgb(var(--neeto-ui-primary-500))\",\n colorBgElevated: \"rgb(var(--neeto-ui-white))\",\n },\n },\n }}\n >\n <AntdTree\n treeDataSimpleMode\n data-cy=\"nui-select-container-wrapper\"\n dropdownStyle={{ zIndex: 100000 }}\n name={field.name}\n popupClassName=\"neeto-ui-tree-select-dropdown\"\n suffixIcon={<Down />}\n treeNodeFilterProp={fieldNames?.label ?? \"title\"}\n value={field.value || undefined}\n className={classnames(\"neeto-ui-tree-select__wrapper\", className, {\n \"neeto-ui-tree-select__error\": meta.error,\n })}\n switcherIcon={props => (\n <div {...props}>\n <Down className=\"relative\" />\n </div>\n )}\n onBlur={() => setTouched(true)}\n onChange={value => setValue(value)}\n {...{\n disabled,\n fieldNames,\n loading,\n placeholder,\n ref,\n showSearch,\n size,\n treeData,\n ...otherProps,\n }}\n dropdownRender={menu =>\n hasLeafNodes ? menu : <div className=\"-mx-5 -ml-6\">{menu}</div>\n }\n />\n </ConfigProvider>\n {meta.error && <p className=\"neeto-ui-input__error\">{meta.error}</p>}\n </div>\n );\n }\n);\n\nTreeSelect.displayName = \"TreeSelect\";\n\nexport default TreeSelect;\n","import { values } from \"ramda\";\n\nexport const createFolderOptions = (foldersMap, config) =>\n values(foldersMap).map(folder => ({\n id: folder.id,\n title: folder.name,\n value: folder.id,\n pId: folder.meta.parent?.id,\n disabled: folder.meta.depth >= config.maxDepth,\n }));\n","import { useMemo } from \"react\";\n\nimport { Formik, Form } from \"formik\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFolders,\n useCreateFolder,\n useUpdateFolder,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport useFolderStore from \"stores/foldersStore\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport TreeSelect from \"./TreeSelect\";\nimport { createFolderOptions } from \"./utils\";\n\nconst AddEditPane = ({ setFocusField, config, onClose }) => {\n const { t } = useTranslation();\n const { type, item } = useFolderStore.pick(\"paneState\");\n const { data: folders } = useFetchFolders(config);\n const { mutate: createFolder } = useCreateFolder(config);\n const { mutateAsync: updateFolder } = useUpdateFolder(config);\n\n const isEditing = type === \"edit\" && item;\n const foldersMap = useMemo(() => treeToMap(folders, \"sid\"), [folders]);\n const folderOptions = useMemo(\n () => createFolderOptions(foldersMap, config),\n [foldersMap]\n );\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 const initialValues = useMemo(\n () => (isEditing ? item : { name: \"\", parentId }),\n [isEditing, item, parentId]\n );\n\n const onSubmitForm = async values => {\n const payload = { name: values.name, parent_id: values.parentId };\n isEditing\n ? await updateFolder({ id: item.id, payload })\n : await createFolder(payload);\n onClose();\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 <Formik {...{ initialValues }} enableReinitialize onSubmit={onSubmitForm}>\n {() => (\n <>\n <Pane.Body className=\"pb-6\">\n <Form className=\"w-full space-y-5\">\n <Input\n label={t(\"folders.name\")}\n name=\"name\"\n ref={setFocusField}\n />\n <div>\n <TreeSelect\n allowClear\n showSearch\n label={t(\"createFolder.parentTitle\")}\n name=\"parentId\"\n treeData={folderOptions}\n />\n <Typography className=\"mt-1\" style=\"body3\">\n {t(\"createFolder.parentInfo\")}\n </Typography>\n </div>\n </Form>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock cancelButtonProps={{ onClick: onClose }} />\n </Pane.Footer>\n </>\n )}\n </Formik>\n </>\n );\n};\n\nexport default AddEditPane;\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst indentSize = 30;\n\nconst Node = (\n { icon = null, itemLabel, folder, depth, className, onClick, ...rest },\n ref\n) => {\n const { t } = useTranslation();\n\n const metaInfo = [];\n const childCount = folder.children?.length ?? 0;\n childCount > 0 &&\n metaInfo.push(t(\"folders.subfolderCount\", { count: childCount }));\n folder.itemCount > 0 && metaInfo.push(`${folder.itemCount} ${itemLabel}`);\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 flex-shrink-0 border-l\"\n key={index}\n style={{ width: indentSize, left: Math.round(indentSize / 2) }}\n />\n ))}\n <div\n {...{ ...rest, onClick, ref }}\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 } from \"neetocist\";\nimport { Radio } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Node from \"../Node\";\n\nconst SelectableNode = ({\n folder,\n item,\n depth = 0,\n maxDepth,\n disabled,\n ...rest\n}) => {\n const { selection, onSelect } = rest;\n const { t } = useTranslation();\n\n const isDisabled = disabled || item?.id === folder.id || depth > maxDepth;\n\n const renderChildren = () => {\n if (isNotPresent(folder.children)) return null;\n\n return folder.children.map(child => (\n <SelectableNode\n {...{ ...rest, 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 }}\n icon={\n <Radio.Item\n readOnly\n checked={selection === folder.id}\n className=\"neeto-ui-radio__container\"\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 { useState } from \"react\";\n\nimport { Button, Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\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}) => {\n const [selection, setSelection] = useState(null);\n const { setFolderState } = useFolderStore.pick();\n const { data: folders = [] } = useFetchFolders(config);\n const { t } = useTranslation();\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;\n\n const onAddFolder = () => {\n setFolderState({ paneState: { type: \"add\", item: null } });\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 label={t(\"folders.add\")}\n style=\"link\"\n onClick={onAddFolder}\n />\n </Pane.Header>\n <Pane.Body className=\"pb-6\">\n {folders.map(folder => (\n <SelectableNode\n {...{ folder, item, maxDepth, selection }}\n disabled={item?.id === folder.id || maxDepth <= 0}\n itemLabel={config.itemLabel}\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}\n label={t(\"common.save\")}\n style=\"primary\"\n onClick={() => onSubmit(selection)}\n {...submitButtonProps}\n />\n <Button\n label={t(\"common.cancel\")}\n style=\"text\"\n onClick={onClose}\n {...cancelButtonProps}\n />\n </div>\n {onRemove && (\n <Button\n label={t(\"moveToFolder.remove\")}\n style=\"tertiary\"\n onClick={onRemove}\n {...removeButtonProps}\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({ id: item.id, payload }, { onSuccess: onClose });\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 = ({ folder, depth = 0, ...rest }) => {\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}\n depth={depth + 1}\n folder={child}\n key={child.id}\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 {...{ depth, folder, ...attributes, ...listeners }}\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 { Reorder } from \"neetoicons\";\nimport { Button, Pane, Toastr, Typography } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFolders,\n useReorderFolders,\n} from \"hooks/reactQuery/useFoldersApi\";\nimport { treeToMap, measureDepth, mapToTree } from \"utils/treeUtils\";\n\nimport DraggableNode from \"./DraggableNode\";\n\nimport Node from \"../Node\";\n\nconst ReorderFoldersPane = ({ config, onClose }) => {\n const [dragItem, setDragItem] = useState(null);\n const [changes, setChanges] = useState({});\n\n const { t } = useTranslation();\n const { data: folders } = useFetchFolders(config);\n const { mutate: reorderFolders } = useReorderFolders(config);\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, { onSuccess: onClose });\n };\n\n const nodeProps = {\n icon: (\n <Reorder className=\"neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0\" />\n ),\n itemLabel: config.itemLabel,\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 {...nodeProps} folder={tree} key={tree.id} />\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 />\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 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 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\" && <ReorderFoldersPane {...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 MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Checkbox, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nconst FolderTile = ({\n isSelected,\n link,\n itemLabel,\n folder,\n actions,\n onSelect,\n}) => {\n const { t } = useTranslation();\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.move\"),\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 childCount > 0 &&\n metaInfo.push(t(\"folders.subfolderCount\", { count: childCount }));\n metaInfo.push(`${folder.itemCount || 0} ${itemLabel}`);\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 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 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\";\nimport { pick } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FoldersContext from \"components/Context\";\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFolder, useFolders } from \"hooks\";\nimport useFolderActions from \"hooks/useFolderActions\";\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();\n\n const fetchParams = pick([\"sortBy\", \"orderBy\"], params);\n const { folders } = useFolders({ ...config, params: fetchParams });\n const { folderId, folder } = useFolder(config);\n const actions = useFolderActions(config);\n const subFolders = folderId ? folder?.children : folders;\n if (isNotPresent(subFolders)) return null;\n\n return (\n <FoldersContext {...{ config }}>\n <Typography className=\"my-3\" style=\"h4\">\n {t(\"folders.title\")}\n </Typography>\n <div className=\"neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4\">\n {subFolders.map(folder => (\n <FolderTile\n {...{ actions, folder, onSelect }}\n isSelected={selection.includes(folder.id)}\n itemLabel={config.itemLabel}\n key={folder.id}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n ))}\n </div>\n </FoldersContext>\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 { Typography } from \"neetoui\";\nimport { NavLink } from \"react-router-dom\";\n\nconst FolderNode = ({ isActive, folder, link }) => (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-sidebar-folders-tree__folder-node block\"\n isActive={() => isActive}\n to={link}\n >\n <Typography\n className=\"line-clamp-1 block truncate\"\n component=\"span\"\n style=\"body2\"\n title={folder.name}\n >\n {folder.name}\n </Typography>\n </NavLink>\n);\n\nexport default FolderNode;\n","import { startTransition, useEffect, useState } from \"react\";\n\nimport { isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Tree, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\nimport { treeToMap } from \"utils/treeUtils\";\n\nimport FolderNode from \"./Node\";\n\nconst FoldersTree = ({ config: configProps }) => {\n const config = { ...DEFAULT_CONFIG, ...configProps };\n const [expandedKeys, setExpandedKeys] = useState([]);\n\n const { t } = useTranslation();\n const params = useQueryParams({ toCamelCase: false });\n const activeFolderSid = getActiveFolderId(config);\n const { data: folders } = useFetchFolders(config);\n\n const updateExpandedKeys = () => {\n if (!folders) return;\n // When active folder changes from external sources, update expanded keys to auto expand tree.\n const expandedKeys = [];\n const map = treeToMap(folders, \"sid\");\n const activeFolder = map[activeFolderSid];\n const parentSid = activeFolder?.meta?.parent?.sid;\n if (parentSid) expandedKeys.push(parentSid);\n setExpandedKeys(expandedKeys);\n };\n\n useEffect(() => {\n // Non urgent update.\n startTransition(updateExpandedKeys);\n }, [activeFolderSid, folders]);\n\n if (isNotPresent(folders)) {\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 }}\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 treeData={folders}\n titleRender={folder => (\n <FolderNode\n {...{ folder }}\n isActive={folder.sid === activeFolderSid}\n link={buildUrl(config.folderPath, {\n ...params,\n folderId: folder.sid,\n })}\n />\n )}\n onExpand={setExpandedKeys}\n />\n );\n};\n\nexport default FoldersTree;\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":["FoldersAlerts","_ref","config","_useFolderStore","useFolderStore","store","setFolderState","shallow","queryParams","useQueryParams","toCamelCase","history","useHistory","_useTranslation","useTranslation","t","_useFolderStore2","_store$alertState","_store$alertState2","type","item","_useDestroyFolder","useDestroyFolder","destroyFolder","mutateAsync","isLoading","_useFolders","useFolders","folders","onClose","alertState","alertProps","isOpen","isSubmitting","onConfirmDelete","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","path","parent","wrap","_callee$","_context","prev","next","id","isActiveFolder","sid","abrupt","pathToFolder","length","replace","buildUrl","folderPath","_objectSpread","folderId","stop","apply","arguments","title","message","_jsx","Trans","i18nKey","values","customizeAlerts","onSubmit","Alert","TreeSelect","forwardRef","ref","_fieldNames$label","className","_ref$disabled","disabled","fieldNames","_ref$label","label","_ref$loading","loading","name","_ref$placeholder","placeholder","_ref$required","required","_ref$showSearch","showSearch","_ref$size","size","treeData","otherProps","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","hasLeafNodes","some","node","pId","_jsxs","children","Label","ConfigProvider","theme","token","colorBgContainer","colorBorder","colorBorderSecondary","colorFillAlter","colorFillContent","colorFillSecondary","colorIcon","colorIconHover","colorLink","colorLinkActive","colorLinkHover","colorPrimary","colorSplit","colorText","colorTextDescription","colorTextDisabled","colorTextHeading","colorTextPlaceholder","controlItemBgActive","controlItemBgActiveHover","controlItemBgHover","components","titleHeight","indentSize","nodeHoverBg","nodeSelectedBg","colorBgElevated","AntdTree","treeDataSimpleMode","dropdownStyle","zIndex","popupClassName","suffixIcon","Down","treeNodeFilterProp","value","undefined","classnames","error","switcherIcon","props","onBlur","onChange","dropdownRender","menu","displayName","createFolderOptions","foldersMap","map","folder","_folder$meta$parent","depth","maxDepth","AddEditPane","setFocusField","_store$paneState","_store$paneState2","_useFetchFolders","useFetchFolders","data","_useCreateFolder","useCreateFolder","createFolder","mutate","_useUpdateFolder","useUpdateFolder","updateFolder","isEditing","useMemo","treeToMap","folderOptions","activeFolderSid","getActiveFolderId","activeFolder","isValidParent","parentId","initialValues","onSubmitForm","payload","parent_id","_x","_Fragment","Pane","Header","Typography","style","Formik","enableReinitialize","Body","Form","Input","allowClear","Footer","ActionBlock","cancelButtonProps","onClick","Node","_folder$children$leng","_folder$children","_ref$icon","icon","itemLabel","rest","metaInfo","childCount","push","count","itemCount","concat","Array","from","_","index","width","left","Math","round","classNames","lineHeight","weight","join","SelectableNode","_ref$depth","selection","onSelect","isDisabled","renderChildren","isNotPresent","child","_createElement","_SelectableNode","key","Radio","Item","readOnly","checked","noop","PaneBody","submitButtonProps","removeButtonProps","onRemove","_useState","useState","_useState2","setSelection","_useFetchFolders$data","folderDepth","measureDepth","onAddFolder","paneState","Button","MoveFolderPane","onSaveSelection","onSuccess","DraggableNode","_useDraggable","useDraggable","isDragging","attributes","listeners","setDraggableRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableRef","_DraggableNode","ReorderFoldersPane","dragItem","setDragItem","_useState3","_useState4","changes","setChanges","_useReorderFolders","useReorderFolders","reorderFolders","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","tree","setTree","onDragEnd","_activeFolder$meta$pa","active","over","current","overFolder","activeDepth","overDepth","Toastr","newTree","mapToTree","assoc","nodeProps","Reorder","DndContext","onDragStart","_ref3","isEmpty","createPortal","DragOverlay","document","body","FoldersPane","configProps","DEFAULT_CONFIG","commonProps","FoldersContext","FolderTile","isSelected","link","actions","actionCallback","callback","event","preventDefault","menuItems","onEdit","onMove","onDelete","Link","to","Checkbox","target","stopPropagation","MoreDropdown","dropdownButtonProps","dropdownProps","FoldersList","_ref$selection","params","fetchParams","pick","_useFolder","useFolder","useFolderActions","subFolders","includes","MoveToFolderPane","FolderNode","isActive","NavLink","activeClassName","component","FoldersTree","expandedKeys","setExpandedKeys","updateExpandedKeys","_activeFolder$meta","parentSid","useEffect","startTransition","Tree","autoExpandParent","blockNode","showLine","componentToken","selectedKeys","titleRender","onExpand"],"mappings":"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","x_google_ignoreList":[17]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-folders-frontend",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-folders-nano",
package/types.d.ts CHANGED
@@ -1,3 +1,83 @@
1
1
  import React from "react";
2
2
 
3
- export const WelcomeScreen = React.FC<{}>;
3
+ type ApiMethod = () => Promise<any>;
4
+
5
+ interface Config {
6
+ type: string;
7
+ maxDepth: number;
8
+ folderPath: string;
9
+ itemLabel: string;
10
+ itemKeys: string[];
11
+ params: { [key: string]: any };
12
+ api: {
13
+ fetch: ApiMethod;
14
+ get: ApiMethod;
15
+ create: ApiMethod;
16
+ update: ApiMethod;
17
+ destroy: ApiMethod;
18
+ bulkUpdate: ApiMethod;
19
+ bulkDestroy: ApiMethod;
20
+ };
21
+ }
22
+
23
+ interface Folder {
24
+ name: string;
25
+ sid: string;
26
+ type: string;
27
+ item_count: number;
28
+ [key: string]: any;
29
+ }
30
+
31
+ interface QueryKeys {
32
+ FOLDERS: string;
33
+ LIST: string;
34
+ DETAILS: string;
35
+ }
36
+
37
+ export const QUERY_KEYS: QueryKeys;
38
+
39
+ export const FoldersList: React.FC<{
40
+ config: Config;
41
+ selection: string[];
42
+ onSelect: (folderId: string) => void;
43
+ }>;
44
+
45
+ export const FoldersTree: React.FC<{
46
+ config: Config;
47
+ }>;
48
+
49
+ export const MoveToFolderPane: React.FC<{
50
+ isOpen: boolean;
51
+ config: Config;
52
+ item: Folder | any;
53
+ submitButtonProps: object;
54
+ cancelButtonProps: object;
55
+ removeButtonProps: object;
56
+ onSubmit: (folderId: string) => void;
57
+ onClose: () => void;
58
+ onRemove: () => void;
59
+ }>;
60
+
61
+ export const FoldersContext: React.FC<{
62
+ config: Config;
63
+ children: React.ReactNode;
64
+ }>;
65
+
66
+ export const useFolder: (config: Config) => {
67
+ isLoading: boolean;
68
+ folderId: string;
69
+ folder: Folder | null;
70
+ };
71
+
72
+ export const useFolders: (config: Config) => {
73
+ isLoading: boolean;
74
+ folders: Folder[];
75
+ };
76
+
77
+ export const useFolderActions: (config: Config) => {
78
+ onEdit: (item: Folder) => void;
79
+ onMove: (item: Folder) => void;
80
+ onDelete: (item: Folder) => void;
81
+ };
82
+
83
+ export const pathToFolder: (folders: Folder[], folderId: string) => string;