@payloadcms/ui 3.42.0 → 3.43.0-internal.c5bbc84

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.
Files changed (71) hide show
  1. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  2. package/dist/elements/CopyLocaleData/index.js +6 -1
  3. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  4. package/dist/elements/FolderView/CollectionTypePill/index.d.ts.map +1 -1
  5. package/dist/elements/FolderView/CollectionTypePill/index.js +13 -10
  6. package/dist/elements/FolderView/CollectionTypePill/index.js.map +1 -1
  7. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -1
  8. package/dist/elements/FolderView/CurrentFolderActions/index.js +17 -11
  9. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  10. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +1 -3
  11. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -1
  12. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +7 -4
  13. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  14. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +1 -0
  15. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -1
  16. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +230 -201
  17. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  18. package/dist/elements/FolderView/FolderFileCard/index.d.ts +8 -0
  19. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -1
  20. package/dist/elements/FolderView/FolderFileCard/index.js +82 -0
  21. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  22. package/dist/elements/FolderView/FolderFileTable/index.d.ts +1 -22
  23. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -1
  24. package/dist/elements/FolderView/FolderFileTable/index.js +245 -163
  25. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  26. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +2 -8
  27. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -1
  28. package/dist/elements/FolderView/ItemCardGrid/index.js +24 -90
  29. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  30. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -1
  31. package/dist/elements/FolderView/SortByPill/index.js +17 -15
  32. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  33. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -1
  34. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +8 -10
  35. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  36. package/dist/exports/client/index.js +22 -22
  37. package/dist/exports/client/index.js.map +4 -4
  38. package/dist/exports/rsc/index.d.ts +1 -0
  39. package/dist/exports/rsc/index.d.ts.map +1 -1
  40. package/dist/exports/rsc/index.js +1 -0
  41. package/dist/exports/rsc/index.js.map +1 -1
  42. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  43. package/dist/fields/Relationship/Input.js +1 -0
  44. package/dist/fields/Relationship/Input.js.map +1 -1
  45. package/dist/providers/Folders/index.d.ts +59 -46
  46. package/dist/providers/Folders/index.d.ts.map +1 -1
  47. package/dist/providers/Folders/index.js +163 -572
  48. package/dist/providers/Folders/index.js.map +1 -1
  49. package/dist/providers/ServerFunctions/index.d.ts +6 -1
  50. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  51. package/dist/providers/ServerFunctions/index.js +19 -0
  52. package/dist/providers/ServerFunctions/index.js.map +1 -1
  53. package/dist/providers/TableColumns/index.js +1 -0
  54. package/dist/providers/TableColumns/index.js.map +1 -1
  55. package/dist/styles.css +1 -1
  56. package/dist/utilities/getFolderResultsComponentAndData.d.ts +29 -0
  57. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
  58. package/dist/utilities/getFolderResultsComponentAndData.js +128 -0
  59. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
  60. package/dist/views/BrowseByFolder/index.d.ts +1 -4
  61. package/dist/views/BrowseByFolder/index.d.ts.map +1 -1
  62. package/dist/views/BrowseByFolder/index.js +219 -158
  63. package/dist/views/BrowseByFolder/index.js.map +1 -1
  64. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -1
  65. package/dist/views/CollectionFolder/ListSelection/index.js +25 -50
  66. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  67. package/dist/views/CollectionFolder/index.d.ts +1 -1
  68. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  69. package/dist/views/CollectionFolder/index.js +186 -153
  70. package/dist/views/CollectionFolder/index.js.map +1 -1
  71. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","formatFolderOrDocumentItem","React","useConfig","FolderProvider","useFolder","useTranslation","Button","ConfirmationModal","useDocumentDrawer","Drawer","DrawerActionHeader","DrawerContentContainer","ListCreateNewDocInFolderButton","LoadingOverlay","NoListResults","Translation","FolderBreadcrumbs","ColoredFolderIcon","ItemCardGrid","baseClass","baseModalSlug","confirmModalSlug","MoveItemsToFolderDrawer","props","_jsx","gutter","Header","slug","drawerSlug","LoadFolderData","config","routes","serverURL","subfolders","setSubfolders","useState","documents","setDocuments","breadcrumbs","setBreadcrumbs","hasLoaded","setHasLoaded","useEffect","onLoad","folderDataReq","fetch","api","folderCollectionSlug","fromFolderID","credentials","headers","status","folderDataRes","json","e","console","error","allowMultiSelection","folderCollectionSlugs","folderFieldName","folderID","Content","t0","$","fromFolderName","itemsToMove","onConfirm","skipConfirmModal","closeModal","openModal","t1","length","count","i18n","t","addItems","folderCollectionConfig","getSelectedItems","setFolderID","t2","collectionSlug","FolderDocumentDrawer","t3","closeDrawer","closeFolderDrawer","openDrawer","openFolderDrawer","getEntityConfig","t4","selected","lastCrumb","id","name","value","_folderOrDocumentTitle","getSelectedFolder","t5","t6","doc","collectionConfig","isUpload","Boolean","upload","relationTo","useAsTitle","admin","onCreateSuccess","onConfirmMove","t7","t8","t9","action","title","t10","undefined","t11","crumb","index","onClick","_jsxs","_Fragment","children","onCancel","onSave","saveLabel","DrawerHeading","className","map","buttonStyle","margin","label","labels","singular","initialData","result","redirectAfterCreate","disabledItemKeys","Set","_temp","items","selectedItemKeys","type","Actions","buttonLabel","toLowerCase","collectionSlugs","slugPrefix","Message","plural","body","ConfirmationMessage","toFolderName","confirmLabel","heading","modalSlug","itemKey","fromFolder","elements","1","_temp2","2","_temp3","i18nKey","variables","toFolder","_temp4","_temp5","_temp6","_temp7","children_1","children_0","children_4","children_3","children_2"],"sources":["../../../../../src/elements/FolderView/Drawers/MoveToFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug, Document } from 'payload'\nimport type {\n FolderBreadcrumb,\n FolderDocumentItemKey,\n FolderOrDocument,\n GetFolderDataResult,\n} from 'payload/shared'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatFolderOrDocumentItem } from 'payload/shared'\nimport React from 'react'\n\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { FolderProvider, useFolder } from '../../../../providers/Folders/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Button } from '../../../Button/index.js'\nimport { ConfirmationModal } from '../../../ConfirmationModal/index.js'\nimport { useDocumentDrawer } from '../../../DocumentDrawer/index.js'\nimport { Drawer } from '../../../Drawer/index.js'\nimport { DrawerActionHeader } from '../../../DrawerActionHeader/index.js'\nimport { DrawerContentContainer } from '../../../DrawerContentContainer/index.js'\nimport { ListCreateNewDocInFolderButton } from '../../../ListHeader/TitleActions/ListCreateNewDocInFolderButton.js'\nimport { LoadingOverlay } from '../../../Loading/index.js'\nimport { NoListResults } from '../../../NoListResults/index.js'\nimport { Translation } from '../../../Translation/index.js'\nimport { FolderBreadcrumbs } from '../../Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../ColoredFolderIcon/index.js'\nimport { ItemCardGrid } from '../../ItemCardGrid/index.js'\nimport './index.scss'\n\nconst baseClass = 'move-folder-drawer'\nconst baseModalSlug = 'move-folder-drawer'\nconst confirmModalSlug = `${baseModalSlug}-confirm-move`\n\ntype ActionProps =\n | {\n readonly action: 'moveItemsToFolder'\n }\n | {\n readonly action: 'moveItemToFolder'\n readonly title: string\n }\nexport type MoveToFolderDrawerProps = {\n readonly drawerSlug: string\n readonly folderCollectionSlug: string\n readonly folderFieldName: string\n readonly fromFolderID?: number | string\n readonly fromFolderName?: string\n readonly itemsToMove: FolderOrDocument[]\n /**\n * Callback function to be called when the user confirms the move\n *\n * @param folderID - The ID of the folder to move the items to\n */\n readonly onConfirm: (args: {\n id: null | number | string\n name: null | string\n }) => Promise<void> | void\n /**\n * Set to `true` to skip the confirmation modal\n * @default false\n */\n readonly skipConfirmModal?: boolean\n} & ActionProps\n\nexport function MoveItemsToFolderDrawer(props: MoveToFolderDrawerProps) {\n return (\n <Drawer gutter={false} Header={null} slug={props.drawerSlug}>\n <LoadFolderData {...props} />\n </Drawer>\n )\n}\n\nfunction LoadFolderData(props: MoveToFolderDrawerProps) {\n const {\n config: { routes, serverURL },\n } = useConfig()\n const [subfolders, setSubfolders] = React.useState<FolderOrDocument[]>([])\n const [documents, setDocuments] = React.useState<FolderOrDocument[]>([])\n const [breadcrumbs, setBreadcrumbs] = React.useState<FolderBreadcrumb[]>([])\n const [hasLoaded, setHasLoaded] = React.useState(false)\n\n React.useEffect(() => {\n const onLoad = async () => {\n // call some endpoint to load the data\n\n try {\n const folderDataReq = await fetch(\n `${serverURL}${routes.api}/${props.folderCollectionSlug}/populate-folder-data${props.fromFolderID ? `?folderID=${props.fromFolderID}` : ''}`,\n {\n credentials: 'include',\n headers: {\n 'content-type': 'application/json',\n },\n },\n )\n\n if (folderDataReq.status === 200) {\n const folderDataRes: GetFolderDataResult = await folderDataReq.json()\n setBreadcrumbs(folderDataRes?.breadcrumbs || [])\n setSubfolders(folderDataRes?.subfolders || [])\n setDocuments(folderDataRes?.documents || [])\n } else {\n setBreadcrumbs([])\n setSubfolders([])\n setDocuments([])\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e)\n }\n\n setHasLoaded(true)\n }\n\n if (!hasLoaded) {\n void onLoad()\n }\n }, [props.folderCollectionSlug, routes.api, serverURL, hasLoaded, props.fromFolderID])\n\n if (!hasLoaded) {\n return <LoadingOverlay />\n }\n\n return (\n <FolderProvider\n allowMultiSelection={false}\n breadcrumbs={breadcrumbs}\n documents={documents}\n folderCollectionSlugs={[]}\n folderFieldName={props.folderFieldName}\n folderID={props.fromFolderID}\n subfolders={subfolders}\n >\n <Content {...props} />\n </FolderProvider>\n )\n}\n\nfunction Content({\n drawerSlug,\n fromFolderName,\n itemsToMove,\n onConfirm,\n skipConfirmModal,\n ...props\n}: MoveToFolderDrawerProps) {\n const { closeModal, openModal } = useModal()\n const [count] = React.useState(() => itemsToMove.length)\n const { i18n, t } = useTranslation()\n const {\n addItems,\n breadcrumbs,\n folderCollectionConfig,\n folderCollectionSlug,\n folderFieldName,\n folderID,\n getSelectedItems,\n setFolderID,\n subfolders,\n } = useFolder()\n const [FolderDocumentDrawer, , { closeDrawer: closeFolderDrawer, openDrawer: openFolderDrawer }] =\n useDocumentDrawer({\n collectionSlug: folderCollectionSlug,\n })\n const { getEntityConfig } = useConfig()\n\n const getSelectedFolder = React.useCallback((): {\n id: null | number | string\n name: null | string\n } => {\n const selected = getSelectedItems()\n\n if (selected.length === 0) {\n const lastCrumb = breadcrumbs?.[breadcrumbs.length - 1]\n // use the breadcrumb\n return {\n id: lastCrumb?.id || null,\n name: lastCrumb?.name || null,\n }\n } else {\n // use the selected item\n return {\n id: selected[0].value.id,\n name: selected[0].value._folderOrDocumentTitle,\n }\n }\n }, [breadcrumbs, getSelectedItems])\n\n const onCreateSuccess = React.useCallback(\n ({ collectionSlug, doc }: { collectionSlug: CollectionSlug; doc: Document }) => {\n const collectionConfig = getEntityConfig({ collectionSlug })\n void addItems([\n formatFolderOrDocumentItem({\n folderFieldName,\n isUpload: Boolean(collectionConfig?.upload),\n relationTo: collectionSlug,\n useAsTitle: collectionConfig.admin.useAsTitle,\n value: doc,\n }),\n ])\n },\n [addItems, folderFieldName, getEntityConfig],\n )\n\n const onConfirmMove = React.useCallback(() => {\n if (typeof onConfirm === 'function') {\n void onConfirm(getSelectedFolder())\n }\n }, [getSelectedFolder, onConfirm])\n\n return (\n <>\n <DrawerActionHeader\n onCancel={() => {\n closeModal(drawerSlug)\n }}\n onSave={() => {\n if (skipConfirmModal) {\n onConfirmMove()\n } else {\n openModal(confirmModalSlug)\n }\n }}\n saveLabel={t('general:select')}\n title={\n <DrawerHeading\n action={props.action}\n count={count}\n fromFolderName={props.fromFolderID ? fromFolderName : undefined}\n title={props.action === 'moveItemToFolder' ? props.title : undefined}\n />\n }\n />\n\n <div className={`${baseClass}__breadcrumbs-section`}>\n <FolderBreadcrumbs\n breadcrumbs={[\n {\n id: null,\n name: (\n <span className={`${baseClass}__folder-breadcrumbs-root`}>\n <ColoredFolderIcon />\n {t('folder:folders')}\n </span>\n ),\n onClick: breadcrumbs.length\n ? () => {\n void setFolderID({ folderID: null })\n }\n : undefined,\n },\n ...breadcrumbs.map((crumb, index) => ({\n id: crumb.id,\n name: crumb.name,\n onClick:\n index !== breadcrumbs.length - 1\n ? () => {\n void setFolderID({ folderID: crumb.id })\n }\n : undefined,\n })),\n ]}\n />\n {subfolders.length > 0 && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__add-folder-button`}\n margin={false}\n onClick={() => {\n openFolderDrawer()\n }}\n >\n {t('fields:addLabel', {\n label: getTranslation(folderCollectionConfig.labels?.singular, i18n),\n })}\n </Button>\n <FolderDocumentDrawer\n initialData={{\n [folderFieldName]: folderID,\n }}\n onSave={(result) => {\n if (typeof onCreateSuccess === 'function') {\n void onCreateSuccess({\n collectionSlug: folderCollectionConfig.slug,\n doc: result.doc,\n })\n }\n closeFolderDrawer()\n }}\n redirectAfterCreate={false}\n />\n </>\n )}\n </div>\n\n <DrawerContentContainer className={`${baseClass}__body-section`}>\n {subfolders.length > 0 ? (\n <ItemCardGrid\n disabledItemKeys={new Set(itemsToMove.map(({ itemKey }) => itemKey))}\n items={subfolders}\n selectedItemKeys={\n new Set<FolderDocumentItemKey>([`${folderCollectionSlug}-${getSelectedFolder().id}`])\n }\n type=\"folder\"\n />\n ) : (\n <NoListResults\n Actions={[\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n collectionSlugs={[folderCollectionSlug]}\n key=\"create-folder\"\n onCreateSuccess={onCreateSuccess}\n slugPrefix=\"create-new-folder-from-drawer--no-results\"\n />,\n ]}\n Message={\n <p>\n {i18n.t('general:noResults', {\n label: `${getTranslation(folderCollectionConfig.labels?.plural, i18n)}`,\n })}\n </p>\n }\n />\n )}\n </DrawerContentContainer>\n\n {!skipConfirmModal && (\n <ConfirmationModal\n body={\n <ConfirmationMessage\n action={props.action}\n count={count}\n fromFolderName={fromFolderName}\n title={props.action === 'moveItemToFolder' ? props.title : undefined}\n toFolderName={getSelectedFolder().name}\n />\n }\n confirmingLabel={t('general:moving')}\n confirmLabel={t('general:move')}\n heading={t('general:confirmMove')}\n modalSlug={confirmModalSlug}\n onConfirm={onConfirmMove}\n />\n )}\n </>\n )\n}\n\nfunction DrawerHeading(\n props: { count?: number } & ActionProps & Pick<MoveToFolderDrawerProps, 'fromFolderName'>,\n): string {\n const { t } = useTranslation()\n\n switch (props.action) {\n case 'moveItemToFolder':\n // moving current folder from list view actions menu\n // or moving item from edit view\n if (props.fromFolderName) {\n // move from folder\n return t('folder:movingFromFolder', {\n fromFolder: props.fromFolderName,\n title: props.title,\n })\n } else {\n // move from root\n return t('folder:selectFolderForItem', {\n title: props.title,\n })\n }\n\n case 'moveItemsToFolder':\n if (props.fromFolderName) {\n // move from folder\n return t('folder:movingFromFolder', {\n fromFolder: props.fromFolderName,\n title: `${props.count} ${props.count > 1 ? t('general:items') : t('general:item')}`,\n })\n } else {\n // move from root\n return t('folder:selectFolderForItem', {\n title: `${props.count} ${props.count > 1 ? t('general:items') : t('general:item')}`,\n })\n }\n }\n}\n\nfunction ConfirmationMessage(\n props: { count?: number; toFolderName?: string } & ActionProps &\n Pick<MoveToFolderDrawerProps, 'fromFolderName'>,\n) {\n const { t } = useTranslation()\n\n switch (props.action) {\n case 'moveItemToFolder':\n // moving current folder from list view actions menu\n // or moving item from edit view\n if (props.toFolderName) {\n // move to destination\n // You are about to move {{title}} to {{toFolder}}. Are you sure?\n return (\n <Translation\n elements={{\n 1: ({ children }) => <strong>{children}</strong>,\n 2: ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"folder:moveItemToFolderConfirmation\"\n t={t}\n variables={{\n title: props.title,\n toFolder: props.toFolderName,\n }}\n />\n )\n } else {\n // move to root\n // You are about to move {{title}} to the root folder. Are you sure?\n return (\n <Translation\n elements={{\n 1: ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"folder:moveItemToRootConfirmation\"\n t={t}\n variables={{\n title: props.title,\n }}\n />\n )\n }\n\n case 'moveItemsToFolder':\n // moving many (documents/folders) from list view\n if (props.toFolderName) {\n // move to destination\n // You are about to move {{count}} {{label}} to {{toFolder}}. Are you sure?\n return (\n <Translation\n elements={{\n 1: ({ children }) => <strong>{children}</strong>,\n 2: ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"folder:moveItemsToFolderConfirmation\"\n t={t}\n variables={{\n count: props.count,\n label: props.count > 1 ? t('general:items') : t('general:item'),\n toFolder: props.toFolderName,\n }}\n />\n )\n } else {\n // move to root\n // You are about to move {{count}} {{label}} to the root folder. Are you sure?\n return (\n <Translation\n elements={{\n 1: ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"folder:moveItemsToRootConfirmation\"\n t={t}\n variables={{\n count: props.count,\n label: props.count > 1 ? t('general:items') : t('general:item'),\n }}\n />\n )\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","extractID","React","useAuth","FolderProvider","useFolder","useRouteCache","useServerFunctions","useTranslation","Button","ConfirmationModal","useDocumentDrawer","Drawer","DrawerActionHeader","DrawerContentContainer","ListCreateNewDocInFolderButton","LoadingOverlay","NoListResults","Translation","FolderBreadcrumbs","ColoredFolderIcon","baseClass","baseModalSlug","confirmModalSlug","MoveItemsToFolderDrawer","props","_jsx","gutter","Header","slug","drawerSlug","LoadFolderData","permissions","subfolders","setSubfolders","useState","documents","setDocuments","breadcrumbs","setBreadcrumbs","FolderResultsComponent","setFolderResultsComponent","hasLoaded","setHasLoaded","folderID","setFolderID","fromFolderID","hasLoadedRef","useRef","getFolderResultsComponentAndData","populateMoveToFolderDrawer","useCallback","folderIDToPopulate","result","activeCollectionSlugs","folderCollectionSlug","browseByFolder","displayAs","sort","e","current","useEffect","allCollectionFolderSlugs","allowCreateCollectionSlugs","collections","create","allowMultiSelection","folderFieldName","onItemClick","item","value","id","Content","t0","$","fromFolderName","itemsToMove","onConfirm","skipConfirmModal","clearRouteCache","closeModal","isModalOpen","openModal","t1","length","count","folderAddedToUnderlyingFolder","setFolderAddedToUnderlyingFolder","i18n","t","folderCollectionConfig","getSelectedItems","t2","collectionSlug","FolderDocumentDrawer","t3","closeDrawer","closeFolderDrawer","openDrawer","openFolderDrawer","t4","selected","lastCrumb","name","_folderOrDocumentTitle","getSelectedFolder","t5","t6","doc","folder","onCreateSuccess","onConfirmMove","t7","t8","t9","t10","t11","action","title","t12","undefined","t13","crumb","index","onClick","t14","Actions","buttonLabel","labels","singular","toLowerCase","collectionSlugs","slugPrefix","Message","children","label","plural","_jsxs","_Fragment","onCancel","onSave","saveLabel","DrawerHeading","className","map","buttonStyle","margin","initialData","redirectAfterCreate","body","ConfirmationMessage","toFolderName","confirmLabel","heading","modalSlug","fromFolder","elements","1","_temp","2","_temp2","i18nKey","variables","toFolder","_temp3","_temp4","_temp5","_temp6","children_1","children_0","children_4","children_3","children_2"],"sources":["../../../../../src/elements/FolderView/Drawers/MoveToFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug, Document } from 'payload'\nimport type { FolderBreadcrumb, FolderOrDocument } from 'payload/shared'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { extractID } from 'payload/shared'\nimport React from 'react'\n\nimport { useAuth } from '../../../../providers/Auth/index.js'\nimport { FolderProvider, useFolder } from '../../../../providers/Folders/index.js'\nimport { useRouteCache } from '../../../../providers/RouteCache/index.js'\nimport { useServerFunctions } from '../../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Button } from '../../../Button/index.js'\nimport { ConfirmationModal } from '../../../ConfirmationModal/index.js'\nimport { useDocumentDrawer } from '../../../DocumentDrawer/index.js'\nimport { Drawer } from '../../../Drawer/index.js'\nimport { DrawerActionHeader } from '../../../DrawerActionHeader/index.js'\nimport { DrawerContentContainer } from '../../../DrawerContentContainer/index.js'\nimport { ListCreateNewDocInFolderButton } from '../../../ListHeader/TitleActions/ListCreateNewDocInFolderButton.js'\nimport { LoadingOverlay } from '../../../Loading/index.js'\nimport { NoListResults } from '../../../NoListResults/index.js'\nimport { Translation } from '../../../Translation/index.js'\nimport { FolderBreadcrumbs } from '../../Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../ColoredFolderIcon/index.js'\nimport './index.scss'\n\nconst baseClass = 'move-folder-drawer'\nconst baseModalSlug = 'move-folder-drawer'\nconst confirmModalSlug = `${baseModalSlug}-confirm-move`\n\ntype ActionProps =\n | {\n readonly action: 'moveItemsToFolder'\n }\n | {\n readonly action: 'moveItemToFolder'\n readonly title: string\n }\nexport type MoveToFolderDrawerProps = {\n readonly drawerSlug: string\n readonly folderCollectionSlug: string\n readonly folderFieldName: string\n readonly fromFolderID?: number | string\n readonly fromFolderName?: string\n readonly itemsToMove: FolderOrDocument[]\n /**\n * Callback function to be called when the user confirms the move\n *\n * @param folderID - The ID of the folder to move the items to\n */\n readonly onConfirm: (args: {\n id: null | number | string\n name: null | string\n }) => Promise<void> | void\n readonly populateMoveToFolderDrawer?: (folderID: null | number | string) => Promise<void> | void\n /**\n * Set to `true` to skip the confirmation modal\n * @default false\n */\n readonly skipConfirmModal?: boolean\n} & ActionProps\n\nexport function MoveItemsToFolderDrawer(props: MoveToFolderDrawerProps) {\n return (\n <Drawer gutter={false} Header={null} slug={props.drawerSlug}>\n <LoadFolderData {...props} />\n </Drawer>\n )\n}\n\nfunction LoadFolderData(props: MoveToFolderDrawerProps) {\n const { permissions } = useAuth()\n const [subfolders, setSubfolders] = React.useState<FolderOrDocument[]>([])\n const [documents, setDocuments] = React.useState<FolderOrDocument[]>([])\n const [breadcrumbs, setBreadcrumbs] = React.useState<FolderBreadcrumb[]>([])\n const [FolderResultsComponent, setFolderResultsComponent] = React.useState<React.ReactNode>(null)\n const [hasLoaded, setHasLoaded] = React.useState(false)\n const [folderID, setFolderID] = React.useState<null | number | string>(props.fromFolderID || null)\n const hasLoadedRef = React.useRef(false)\n const { getFolderResultsComponentAndData } = useServerFunctions()\n\n const populateMoveToFolderDrawer = React.useCallback(\n async (folderIDToPopulate: null | number | string) => {\n try {\n const result = await getFolderResultsComponentAndData({\n activeCollectionSlugs: [props.folderCollectionSlug],\n browseByFolder: false,\n displayAs: 'grid',\n folderID: folderIDToPopulate,\n sort: '_folderOrDocumentTitle',\n })\n\n setBreadcrumbs(result.breadcrumbs || [])\n setSubfolders(result?.subfolders || [])\n setDocuments(result?.documents || [])\n setFolderResultsComponent(result.FolderResultsComponent || null)\n setFolderID(folderIDToPopulate)\n setHasLoaded(true)\n } catch (e) {\n setBreadcrumbs([])\n setSubfolders([])\n setDocuments([])\n }\n\n hasLoadedRef.current = true\n },\n [getFolderResultsComponentAndData, props.folderCollectionSlug],\n )\n\n React.useEffect(() => {\n if (!hasLoadedRef.current) {\n void populateMoveToFolderDrawer(props.fromFolderID)\n }\n }, [populateMoveToFolderDrawer, props.fromFolderID])\n\n if (!hasLoaded) {\n return <LoadingOverlay />\n }\n\n return (\n <FolderProvider\n allCollectionFolderSlugs={[props.folderCollectionSlug]}\n allowCreateCollectionSlugs={\n permissions.collections[props.folderCollectionSlug]?.create\n ? [props.folderCollectionSlug]\n : []\n }\n allowMultiSelection={false}\n breadcrumbs={breadcrumbs}\n documents={documents}\n folderFieldName={props.folderFieldName}\n folderID={folderID}\n FolderResultsComponent={FolderResultsComponent}\n key={folderID}\n onItemClick={async (item) => {\n await populateMoveToFolderDrawer(item.value.id)\n }}\n subfolders={subfolders}\n >\n <Content {...props} populateMoveToFolderDrawer={populateMoveToFolderDrawer} />\n </FolderProvider>\n )\n}\n\nfunction Content({\n drawerSlug,\n fromFolderID,\n fromFolderName,\n itemsToMove,\n onConfirm,\n populateMoveToFolderDrawer,\n skipConfirmModal,\n ...props\n}: MoveToFolderDrawerProps) {\n const { clearRouteCache } = useRouteCache()\n const { closeModal, isModalOpen, openModal } = useModal()\n const [count] = React.useState(() => itemsToMove.length)\n const [folderAddedToUnderlyingFolder, setFolderAddedToUnderlyingFolder] = React.useState(false)\n const { i18n, t } = useTranslation()\n const {\n breadcrumbs,\n folderCollectionConfig,\n folderCollectionSlug,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n getSelectedItems,\n subfolders,\n } = useFolder()\n const [FolderDocumentDrawer, , { closeDrawer: closeFolderDrawer, openDrawer: openFolderDrawer }] =\n useDocumentDrawer({\n collectionSlug: folderCollectionSlug,\n })\n\n const getSelectedFolder = React.useCallback((): {\n id: null | number | string\n name: null | string\n } => {\n const selected = getSelectedItems()\n\n if (selected.length === 0) {\n const lastCrumb = breadcrumbs?.[breadcrumbs.length - 1]\n // use the breadcrumb\n return {\n id: lastCrumb?.id || null,\n name: lastCrumb?.name || null,\n }\n } else {\n // use the selected item\n return {\n id: selected[0].value.id,\n name: selected[0].value._folderOrDocumentTitle,\n }\n }\n }, [breadcrumbs, getSelectedItems])\n\n const onCreateSuccess = React.useCallback(\n async ({ collectionSlug, doc }: { collectionSlug: CollectionSlug; doc: Document }) => {\n await populateMoveToFolderDrawer(folderID)\n if (\n collectionSlug === folderCollectionSlug &&\n ((doc?.folder && fromFolderID === extractID(doc?.folder)) ||\n (!fromFolderID && !doc?.folder))\n ) {\n // if the folder we created is in the same folder as the one we are moving from\n // set variable so we can clear the route cache when we close the drawer\n setFolderAddedToUnderlyingFolder(true)\n }\n },\n [populateMoveToFolderDrawer, folderID, fromFolderID, folderCollectionSlug],\n )\n\n const onConfirmMove = React.useCallback(() => {\n if (typeof onConfirm === 'function') {\n void onConfirm(getSelectedFolder())\n }\n }, [getSelectedFolder, onConfirm])\n\n React.useEffect(() => {\n if (!isModalOpen(drawerSlug) && folderAddedToUnderlyingFolder) {\n // if we added a folder to the underlying folder, clear the route cache\n // so that the folder view will be reloaded with the new folder\n setFolderAddedToUnderlyingFolder(false)\n clearRouteCache()\n }\n }, [drawerSlug, isModalOpen, clearRouteCache, folderAddedToUnderlyingFolder])\n\n return (\n <>\n <DrawerActionHeader\n onCancel={() => {\n closeModal(drawerSlug)\n }}\n onSave={() => {\n if (skipConfirmModal) {\n onConfirmMove()\n } else {\n openModal(confirmModalSlug)\n }\n }}\n saveLabel={t('general:select')}\n title={\n <DrawerHeading\n action={props.action}\n count={count}\n fromFolderName={fromFolderID ? fromFolderName : undefined}\n title={props.action === 'moveItemToFolder' ? props.title : undefined}\n />\n }\n />\n\n <div className={`${baseClass}__breadcrumbs-section`}>\n <FolderBreadcrumbs\n breadcrumbs={[\n {\n id: null,\n name: (\n <span className={`${baseClass}__folder-breadcrumbs-root`}>\n <ColoredFolderIcon />\n {t('folder:folders')}\n </span>\n ),\n onClick: breadcrumbs.length\n ? () => {\n void populateMoveToFolderDrawer(null)\n }\n : undefined,\n },\n ...breadcrumbs.map((crumb, index) => ({\n id: crumb.id,\n name: crumb.name,\n onClick:\n index !== breadcrumbs.length - 1\n ? () => {\n void populateMoveToFolderDrawer(crumb.id)\n }\n : undefined,\n })),\n ]}\n />\n {subfolders.length > 0 && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__add-folder-button`}\n margin={false}\n onClick={() => {\n openFolderDrawer()\n }}\n >\n {t('fields:addLabel', {\n label: getTranslation(folderCollectionConfig.labels?.singular, i18n),\n })}\n </Button>\n <FolderDocumentDrawer\n initialData={{\n [folderFieldName]: folderID,\n }}\n onSave={(result) => {\n void onCreateSuccess({\n collectionSlug: folderCollectionConfig.slug,\n doc: result.doc,\n })\n closeFolderDrawer()\n }}\n redirectAfterCreate={false}\n />\n </>\n )}\n </div>\n\n <DrawerContentContainer className={`${baseClass}__body-section`}>\n {subfolders.length > 0 ? (\n FolderResultsComponent\n ) : (\n <NoListResults\n Actions={[\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n collectionSlugs={[folderCollectionSlug]}\n key=\"create-folder\"\n onCreateSuccess={onCreateSuccess}\n slugPrefix=\"create-new-folder-from-drawer--no-results\"\n />,\n ]}\n Message={\n <p>\n {i18n.t('general:noResults', {\n label: `${getTranslation(folderCollectionConfig.labels?.plural, i18n)}`,\n })}\n </p>\n }\n />\n )}\n </DrawerContentContainer>\n\n {!skipConfirmModal && (\n <ConfirmationModal\n body={\n <ConfirmationMessage\n action={props.action}\n count={count}\n fromFolderName={fromFolderName}\n title={props.action === 'moveItemToFolder' ? props.title : undefined}\n toFolderName={getSelectedFolder().name}\n />\n }\n confirmingLabel={t('general:moving')}\n confirmLabel={t('general:move')}\n heading={t('general:confirmMove')}\n modalSlug={confirmModalSlug}\n onConfirm={onConfirmMove}\n />\n )}\n </>\n )\n}\n\nfunction DrawerHeading(\n props: { count?: number } & ActionProps & Pick<MoveToFolderDrawerProps, 'fromFolderName'>,\n): string {\n const { t } = useTranslation()\n\n switch (props.action) {\n case 'moveItemToFolder':\n // moving current folder from list view actions menu\n // or moving item from edit view\n if (props.fromFolderName) {\n // move from folder\n return t('folder:movingFromFolder', {\n fromFolder: props.fromFolderName,\n title: props.title,\n })\n } else {\n // move from root\n return t('folder:selectFolderForItem', {\n title: props.title,\n })\n }\n\n case 'moveItemsToFolder':\n if (props.fromFolderName) {\n // move from folder\n return t('folder:movingFromFolder', {\n fromFolder: props.fromFolderName,\n title: `${props.count} ${props.count > 1 ? t('general:items') : t('general:item')}`,\n })\n } else {\n // move from root\n return t('folder:selectFolderForItem', {\n title: `${props.count} ${props.count > 1 ? t('general:items') : t('general:item')}`,\n })\n }\n }\n}\n\nfunction ConfirmationMessage(\n props: { count?: number; toFolderName?: string } & ActionProps &\n Pick<MoveToFolderDrawerProps, 'fromFolderName'>,\n) {\n const { t } = useTranslation()\n\n switch (props.action) {\n case 'moveItemToFolder':\n // moving current folder from list view actions menu\n // or moving item from edit view\n if (props.toFolderName) {\n // move to destination\n // You are about to move {{title}} to {{toFolder}}. Are you sure?\n return (\n <Translation\n elements={{\n 1: ({ children }) => <strong>{children}</strong>,\n 2: ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"folder:moveItemToFolderConfirmation\"\n t={t}\n variables={{\n title: props.title,\n toFolder: props.toFolderName,\n }}\n />\n )\n } else {\n // move to root\n // You are about to move {{title}} to the root folder. Are you sure?\n return (\n <Translation\n elements={{\n 1: ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"folder:moveItemToRootConfirmation\"\n t={t}\n variables={{\n title: props.title,\n }}\n />\n )\n }\n\n case 'moveItemsToFolder':\n // moving many (documents/folders) from list view\n if (props.toFolderName) {\n // move to destination\n // You are about to move {{count}} {{label}} to {{toFolder}}. Are you sure?\n return (\n <Translation\n elements={{\n 1: ({ children }) => <strong>{children}</strong>,\n 2: ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"folder:moveItemsToFolderConfirmation\"\n t={t}\n variables={{\n count: props.count,\n label: props.count > 1 ? t('general:items') : t('general:item'),\n toFolder: props.toFolderName,\n }}\n />\n )\n } else {\n // move to root\n // You are about to move {{count}} {{label}} to the root folder. Are you sure?\n return (\n <Translation\n elements={{\n 1: ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"folder:moveItemsToRootConfirmation\"\n t={t}\n variables={{\n count: props.count,\n label: props.count > 1 ? t('general:items') : t('general:item'),\n }}\n />\n )\n }\n }\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAKA,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,EAAEC,SAAS,QAAQ;AAC1C,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,MAAM,QAAQ;AACvB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,8BAA8B,QAAQ;AAC/C,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,WAAW,QAAQ;AAC5B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,QAAQ;AAClC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAClB,MAAMC,aAAA,GAAgB;AACtB,MAAMC,gBAAA,GAAmB,GAAGD,aAAA,eAA4B;AAkCxD,OAAO,SAASE,wBAAwBC,KAA8B;EACpE,oBACEC,IAAA,CAACd,MAAA;IAAOe,MAAA,EAAQ;IAAOC,MAAA,EAAQ;IAAMC,IAAA,EAAMJ,KAAA,CAAMK,UAAU;cACzD,aAAAJ,IAAA,CAACK,cAAA;MAAgB,GAAGN;;;AAG1B;AAEA,SAASM,eAAeN,KAA8B;EACpD,MAAM;IAAEO;EAAW,CAAE,GAAG7B,OAAA;EACxB,MAAM,CAAC8B,UAAA,EAAYC,aAAA,CAAc,GAAGhC,KAAA,CAAMiC,QAAQ,CAAqB,EAAE;EACzE,MAAM,CAACC,SAAA,EAAWC,YAAA,CAAa,GAAGnC,KAAA,CAAMiC,QAAQ,CAAqB,EAAE;EACvE,MAAM,CAACG,WAAA,EAAaC,cAAA,CAAe,GAAGrC,KAAA,CAAMiC,QAAQ,CAAqB,EAAE;EAC3E,MAAM,CAACK,sBAAA,EAAwBC,yBAAA,CAA0B,GAAGvC,KAAA,CAAMiC,QAAQ,CAAkB;EAC5F,MAAM,CAACO,SAAA,EAAWC,YAAA,CAAa,GAAGzC,KAAA,CAAMiC,QAAQ,CAAC;EACjD,MAAM,CAACS,QAAA,EAAUC,WAAA,CAAY,GAAG3C,KAAA,CAAMiC,QAAQ,CAAyBV,KAAA,CAAMqB,YAAY,IAAI;EAC7F,MAAMC,YAAA,GAAe7C,KAAA,CAAM8C,MAAM,CAAC;EAClC,MAAM;IAAEC;EAAgC,CAAE,GAAG1C,kBAAA;EAE7C,MAAM2C,0BAAA,GAA6BhD,KAAA,CAAMiD,WAAW,CAClD,MAAOC,kBAAA;IACL,IAAI;MACF,MAAMC,MAAA,GAAS,MAAMJ,gCAAA,CAAiC;QACpDK,qBAAA,EAAuB,CAAC7B,KAAA,CAAM8B,oBAAoB,CAAC;QACnDC,cAAA,EAAgB;QAChBC,SAAA,EAAW;QACXb,QAAA,EAAUQ,kBAAA;QACVM,IAAA,EAAM;MACR;MAEAnB,cAAA,CAAec,MAAA,CAAOf,WAAW,IAAI,EAAE;MACvCJ,aAAA,CAAcmB,MAAA,EAAQpB,UAAA,IAAc,EAAE;MACtCI,YAAA,CAAagB,MAAA,EAAQjB,SAAA,IAAa,EAAE;MACpCK,yBAAA,CAA0BY,MAAA,CAAOb,sBAAsB,IAAI;MAC3DK,WAAA,CAAYO,kBAAA;MACZT,YAAA,CAAa;IACf,EAAE,OAAOgB,CAAA,EAAG;MACVpB,cAAA,CAAe,EAAE;MACjBL,aAAA,CAAc,EAAE;MAChBG,YAAA,CAAa,EAAE;IACjB;IAEAU,YAAA,CAAaa,OAAO,GAAG;EACzB,GACA,CAACX,gCAAA,EAAkCxB,KAAA,CAAM8B,oBAAoB,CAAC;EAGhErD,KAAA,CAAM2D,SAAS,CAAC;IACd,IAAI,CAACd,YAAA,CAAaa,OAAO,EAAE;MACzB,KAAKV,0BAAA,CAA2BzB,KAAA,CAAMqB,YAAY;IACpD;EACF,GAAG,CAACI,0BAAA,EAA4BzB,KAAA,CAAMqB,YAAY,CAAC;EAEnD,IAAI,CAACJ,SAAA,EAAW;IACd,oBAAOhB,IAAA,CAACV,cAAA;EACV;EAEA,oBACEU,IAAA,CAACtB,cAAA;IACC0D,wBAAA,EAA0B,CAACrC,KAAA,CAAM8B,oBAAoB,CAAC;IACtDQ,0BAAA,EACE/B,WAAA,CAAYgC,WAAW,CAACvC,KAAA,CAAM8B,oBAAoB,CAAC,EAAEU,MAAA,GACjD,CAACxC,KAAA,CAAM8B,oBAAoB,CAAC,GAC5B,EAAE;IAERW,mBAAA,EAAqB;IACrB5B,WAAA,EAAaA,WAAA;IACbF,SAAA,EAAWA,SAAA;IACX+B,eAAA,EAAiB1C,KAAA,CAAM0C,eAAe;IACtCvB,QAAA,EAAUA,QAAA;IACVJ,sBAAA,EAAwBA,sBAAA;IAExB4B,WAAA,EAAa,MAAOC,IAAA;MAClB,MAAMnB,0BAAA,CAA2BmB,IAAA,CAAKC,KAAK,CAACC,EAAE;IAChD;IACAtC,UAAA,EAAYA,UAAA;cAEZ,aAAAP,IAAA,CAAC8C,OAAA;MAAS,GAAG/C,KAAK;MAAEyB,0BAAA,EAA4BA;;KAN3CN,QAAA;AASX;AAEA,SAAA4B,QAAAC,EAAA;EAAA,MAAAC,CAAA,GAAA5E,EAAA;EAAA,IAAAgC,UAAA;EAAA,IAAAgB,YAAA;EAAA,IAAA6B,cAAA;EAAA,IAAAC,WAAA;EAAA,IAAAC,SAAA;EAAA,IAAA3B,0BAAA;EAAA,IAAAzB,KAAA;EAAA,IAAAqD,gBAAA;EAAA,IAAAJ,CAAA,QAAAD,EAAA;IAAiB;MAAA3C,UAAA;MAAAgB,YAAA;MAAA6B,cAAA;MAAAC,WAAA;MAAAC,SAAA;MAAA3B,0BAAA;MAAA4B,gBAAA;MAAA,GAAArD;IAAA,IAAAgD,EASS;IAAAC,CAAA,MAAAD,EAAA;IAAAC,CAAA,MAAA5C,UAAA;IAAA4C,CAAA,MAAA5B,YAAA;IAAA4B,CAAA,MAAAC,cAAA;IAAAD,CAAA,MAAAE,WAAA;IAAAF,CAAA,MAAAG,SAAA;IAAAH,CAAA,MAAAxB,0BAAA;IAAAwB,CAAA,MAAAjD,KAAA;IAAAiD,CAAA,MAAAI,gBAAA;EAAA;IAAAhD,UAAA,GAAA4C,CAAA;IAAA5B,YAAA,GAAA4B,CAAA;IAAAC,cAAA,GAAAD,CAAA;IAAAE,WAAA,GAAAF,CAAA;IAAAG,SAAA,GAAAH,CAAA;IAAAxB,0BAAA,GAAAwB,CAAA;IAAAjD,KAAA,GAAAiD,CAAA;IAAAI,gBAAA,GAAAJ,CAAA;EAAA;EACxB;IAAAK;EAAA,IAA4BzE,aAAA;EAC5B;IAAA0E,UAAA;IAAAC,WAAA;IAAAC;EAAA,IAA+CnF,QAAA;EAAA,IAAAoF,EAAA;EAAA,IAAAT,CAAA,QAAAE,WAAA;IAChBO,EAAA,GAAAA,CAAA,KAAMP,WAAA,CAAAQ,MAAA;IAAkBV,CAAA,MAAAE,WAAA;IAAAF,CAAA,OAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAvD,OAAAW,KAAA,IAAgBnF,KAAA,CAAAiC,QAAA,CAAegD,EAAwB;EACvD,OAAAG,6BAAA,EAAAC,gCAAA,IAA0ErF,KAAA,CAAAiC,QAAA,MAAe;EACzF;IAAAqD,IAAA;IAAAC;EAAA,IAAoBjF,cAAA;EACpB;IAAA8B,WAAA;IAAAoD,sBAAA;IAAAnC,oBAAA;IAAAY,eAAA;IAAAvB,QAAA;IAAAJ,sBAAA;IAAAmD,gBAAA;IAAA1D;EAAA,IASI5B,SAAA;EAAA,IAAAuF,EAAA;EAAA,IAAAlB,CAAA,SAAAnB,oBAAA;IAEgBqC,EAAA;MAAAC,cAAA,EACAtC;IAAA;IAClBmB,CAAA,OAAAnB,oBAAA;IAAAmB,CAAA,OAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAHF,OAAAoB,oBAAA,GAAAC,EAAA,IACEpF,iBAAA,CAAkBiF,EAElB;EAH6B;IAAAI,WAAA,EAAAC,iBAAA;IAAAC,UAAA,EAAAC;EAAA,IAAAJ,EAAgE;EAAA,IAAAK,EAAA;EAAA,IAAA1B,CAAA,SAAApC,WAAA,IAAAoC,CAAA,SAAAiB,gBAAA;IAKnDS,EAAA,GAAAA,CAAA;MAI1C,MAAAC,QAAA,GAAiBV,gBAAA;MAAA,IAEbU,QAAA,CAAAjB,MAAA,MAAoB;QACtB,MAAAkB,SAAA,GAAkBhE,WAAA,GAAcA,WAAA,CAAA8C,MAAA,IAAqB;QAAE;UAAAb,EAAA,EAGjD+B,SAAA,EAAA/B,EAAA,QAAiB;UAAAgC,IAAA,EACfD,SAAA,EAAAC,IAAA;QAAmB;MAAA;QAAA;UAAAhC,EAAA,EAKrB8B,QAAQ,IAAA/B,KAAA,CAAAC,EAAA;UAAAgC,IAAA,EACNF,QAAQ,IAAA/B,KAAA,CAAAkC;QAAA;MAAA;IAAA;IAGpB9B,CAAA,OAAApC,WAAA;IAAAoC,CAAA,OAAAiB,gBAAA;IAAAjB,CAAA,OAAA0B,EAAA;EAAA;IAAAA,EAAA,GAAA1B,CAAA;EAAA;EApBA,MAAA+B,iBAAA,GAA0BL,EAoBQ;EAAA,IAAAM,EAAA;EAAA,IAAAhC,CAAA,SAAAnB,oBAAA,IAAAmB,CAAA,SAAA9B,QAAA,IAAA8B,CAAA,SAAA5B,YAAA,IAAA4B,CAAA,SAAAxB,0BAAA;IAGhCwD,EAAA,SAAAC,EAAA;MAAO;QAAAd,cAAA;QAAAe;MAAA,IAAAD,EAA0E;MAAA,MACzEzD,0BAAA,CAA2BN,QAAA;MAAA,IAE/BiD,cAAA,KAAmBtC,oBAAA,KAClBqD,GAAC,EAAAC,MAAA,IAAe/D,YAAA,KAAiB7C,SAAA,CAAU2G,GAAA,EAAAC,MAAK,KAC9C,CAAC/D,YAAA,KAAiB8D,GAAA,EAAAC,MAAW;QAIhCtB,gCAAA,KAAiC;MAAA;IAAA;IAErCb,CAAA,OAAAnB,oBAAA;IAAAmB,CAAA,OAAA9B,QAAA;IAAA8B,CAAA,OAAA5B,YAAA;IAAA4B,CAAA,OAAAxB,0BAAA;IAAAwB,CAAA,OAAAgC,EAAA;EAAA;IAAAA,EAAA,GAAAhC,CAAA;EAAA;EAZF,MAAAoC,eAAA,GAAwBJ,EAaoD;EAAA,IAAAC,EAAA;EAAA,IAAAjC,CAAA,SAAA+B,iBAAA,IAAA/B,CAAA,SAAAG,SAAA;IAGpC8B,EAAA,GAAAA,CAAA;MAAA,IAClC,OAAO9B,SAAA,KAAc;QAClBA,SAAA,CAAU4B,iBAAA;MAAA;IAAA;IAEnB/B,CAAA,OAAA+B,iBAAA;IAAA/B,CAAA,OAAAG,SAAA;IAAAH,CAAA,OAAAiC,EAAA;EAAA;IAAAA,EAAA,GAAAjC,CAAA;EAAA;EAJA,MAAAqC,aAAA,GAAsBJ,EAIW;EAAA,IAAAK,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAvC,CAAA,SAAAK,eAAA,IAAAL,CAAA,SAAA5C,UAAA,IAAA4C,CAAA,SAAAY,6BAAA,IAAAZ,CAAA,SAAAO,WAAA;IAEjB+B,EAAA,GAAAA,CAAA;MAAA,IACV,CAAC/B,WAAA,CAAYnD,UAAA,KAAewD,6BAAA;QAG9BC,gCAAA,MAAiC;QACjCR,eAAA;MAAA;IAAA;IAEDkC,EAAA,IAACnF,UAAA,EAAYmD,WAAA,EAAaF,eAAA,EAAiBO,6BAAA;IAA8BZ,CAAA,OAAAK,eAAA;IAAAL,CAAA,OAAA5C,UAAA;IAAA4C,CAAA,OAAAY,6BAAA;IAAAZ,CAAA,OAAAO,WAAA;IAAAP,CAAA,OAAAsC,EAAA;IAAAtC,CAAA,OAAAuC,EAAA;EAAA;IAAAD,EAAA,GAAAtC,CAAA;IAAAuC,EAAA,GAAAvC,CAAA;EAAA;EAP5ExE,KAAA,CAAA2D,SAAA,CAAgBmD,EAOhB,EAAGC,EAAyE;EAAA,IAAAC,EAAA;EAAA,IAAAxC,CAAA,SAAAM,UAAA,IAAAN,CAAA,SAAA5C,UAAA;IAK5DoF,EAAA,GAAAA,CAAA;MACRlC,UAAA,CAAWlD,UAAA;IAAA;IACb4C,CAAA,OAAAM,UAAA;IAAAN,CAAA,OAAA5C,UAAA;IAAA4C,CAAA,OAAAwC,EAAA;EAAA;IAAAA,EAAA,GAAAxC,CAAA;EAAA;EAAA,IAAAyC,GAAA;EAAA,IAAAzC,CAAA,SAAAqC,aAAA,IAAArC,CAAA,SAAAQ,SAAA,IAAAR,CAAA,SAAAI,gBAAA;IACQqC,GAAA,GAAAA,CAAA;MAAA,IACFrC,gBAAA;QACFiC,aAAA;MAAA;QAEA7B,SAAA,CAAA3D,gBAAU;MAAA;IAAA;IAEdmD,CAAA,OAAAqC,aAAA;IAAArC,CAAA,OAAAQ,SAAA;IAAAR,CAAA,OAAAI,gBAAA;IAAAJ,CAAA,OAAAyC,GAAA;EAAA;IAAAA,GAAA,GAAAzC,CAAA;EAAA;EAAA,IAAA0C,GAAA;EAAA,IAAA1C,CAAA,SAAAoB,oBAAA,IAAApB,CAAA,SAAAlC,sBAAA,IAAAkC,CAAA,SAAApC,WAAA,IAAAoC,CAAA,SAAAuB,iBAAA,IAAAvB,CAAA,SAAAW,KAAA,IAAAX,CAAA,SAAAgB,sBAAA,IAAAhB,CAAA,SAAAnB,oBAAA,IAAAmB,CAAA,SAAAP,eAAA,IAAAO,CAAA,SAAA9B,QAAA,IAAA8B,CAAA,SAAA5B,YAAA,IAAA4B,CAAA,SAAAC,cAAA,IAAAD,CAAA,SAAA+B,iBAAA,IAAA/B,CAAA,SAAAc,IAAA,IAAAd,CAAA,SAAAqC,aAAA,IAAArC,CAAA,SAAAoC,eAAA,IAAApC,CAAA,SAAAyB,gBAAA,IAAAzB,CAAA,SAAAxB,0BAAA,IAAAwB,CAAA,SAAAjD,KAAA,CAAA4F,MAAA,IAAA3C,CAAA,SAAAjD,KAAA,CAAA6F,KAAA,IAAA5C,CAAA,SAAAI,gBAAA,IAAAJ,CAAA,SAAAzC,UAAA,CAAAmD,MAAA,IAAAV,CAAA,SAAAe,CAAA,IAAAf,CAAA,SAAAyC,GAAA,IAAAzC,CAAA,SAAAwC,EAAA;IAAA,IAAAK,GAAA;IAAA,IAAA7C,CAAA,SAAApC,WAAA,CAAA8C,MAAA,IAAAV,CAAA,SAAAxB,0BAAA;MAuBeqE,GAAA,GAAAjF,WAAA,CAAA8C,MAAA;QAEElC,0BAAA,KAA2B;MAAA,IAAAsE,SAElC;MAAA9C,CAAA,OAAApC,WAAA,CAAA8C,MAAA;MAAAV,CAAA,OAAAxB,0BAAA;MAAAwB,CAAA,OAAA6C,GAAA;IAAA;MAAAA,GAAA,GAAA7C,CAAA;IAAA;IAAA,IAAA+C,GAAA;IAAA,IAAA/C,CAAA,SAAApC,WAAA,CAAA8C,MAAA,IAAAV,CAAA,SAAAxB,0BAAA;MAEauE,GAAA,GAAAA,CAAAC,KAAA,EAAAC,KAAA;QAAApD,EAAA,EACbmD,KAAA,CAAAnD,EAAA;QAAAgC,IAAA,EACEmB,KAAA,CAAAnB,IAAA;QAAAqB,OAAA,EAEJD,KAAA,KAAUrF,WAAA,CAAA8C,MAAA,IAAqB;UAEpBlC,0BAAA,CAA2BwE,KAAA,CAAAnD,EAAQ;QAAA,IAAAiD;MAE1C;MACR9C,CAAA,OAAApC,WAAA,CAAA8C,MAAA;MAAAV,CAAA,OAAAxB,0BAAA;MAAAwB,CAAA,OAAA+C,GAAA;IAAA;MAAAA,GAAA,GAAA/C,CAAA;IAAA;IAAA,IAAAmD,GAAA;IAAA,IAAAnD,CAAA,SAAAlC,sBAAA,IAAAkC,CAAA,SAAAgB,sBAAA,IAAAhB,CAAA,SAAAnB,oBAAA,IAAAmB,CAAA,SAAAc,IAAA,IAAAd,CAAA,SAAAoC,eAAA,IAAApC,CAAA,SAAAzC,UAAA,CAAAmD,MAAA,IAAAV,CAAA,SAAAe,CAAA;MAmCHoC,GAAA,GAAA5F,UAAA,CAAAmD,MAAA,IAAoB,GACnB5C,sBAAA,GAEAd,IAAA,CAAAT,aAAA;QAAA6G,OAAA,GAEIpG,IAAA,CAAAX,8BAAA;UAAAgH,WAAA,EACe,GAAGtC,CAAA,CAAE,qBAAqBzF,cAAA,CAAe0F,sBAAA,CAAAsC,MAAA,EAAAC,QAAA,EAAyCzC,IAAA,EAAA0C,WAAA,CAAiB,GAAI;UAAAC,eAAA,GAClG5E,oBAAA;UAAAuD,eAAA;UAAAsB,UAAA,EAGP;QAAA,GAFP;QAAAC,OAAA,EAMN3G,IAAA,CAAC;UAAA4G,QAAA,EACE9C,IAAA,CAAAC,CAAA,CAAO;YAAA8C,KAAA,EACC,GAAGvI,cAAA,CAAe0F,sBAAA,CAAAsC,MAAA,EAAAQ,MAAA,EAAuChD,IAAA;UAAO,CACzE;QAAA,C;;;;;;;;;;;;;IArGZ4B,GAAA,GAAAqB,KAAA,CAAAC,SAAA;MAAAJ,QAAA,GACE5G,IAAA,CAAAb,kBAAA;QAAA8H,QAAA,EACYzB,EAEV;QAAA0B,MAAA,EACQzB,GAMR;QAAA0B,SAAA,EACWpD,CAAA,CAAE;QAAA6B,KAAA,EAEX5F,IAAA,CAAAoH,aAAA;UAAAzB,MAAA,EACU5F,KAAA,CAAA4F,MAAA;UAAAhC,KAAA;UAAAV,cAAA,EAEQ7B,YAAA,GAAe6B,cAAA,GAAA6C,SAAiB;UAAAF,KAAA,EACzC7F,KAAA,CAAA4F,MAAA,KAAiB,qBAAqB5F,KAAA,CAAA6F,KAAA,GAAAE;QAAc,C;UAKjEiB,KAAA,CAAC;QAAAM,SAAA,EAAe,GAAA1H,SAAA,uBAAmC;QAAAiH,QAAA,GACjD5G,IAAA,CAAAP,iBAAA;UAAAmB,WAAA;YAAAiC,EAAA;YAAAgC,IAAA,EAKQkC,KAAA,CAAC;cAAAM,SAAA,EAAgB,GAAA1H,SAAA,2BAAuC;cAAAiH,QAAA,GACtD5G,IAAA,CAAAN,iBAAA,IAAC,GACAqE,CAAA,CAAE;YAAA,C;qBAGE8B;UAIL,MAEHjF,WAAA,CAAA0G,GAAA,CAAgBvB,GASnB;QAAA,C,GAGHxF,UAAA,CAAAmD,MAAA,IAAoB,IACnBqD,KAAA,CAAAC,SAAA;UAAAJ,QAAA,GACE5G,IAAA,CAAAjB,MAAA;YAAAwI,WAAA,EACc;YAAAF,SAAA,EACD,GAAA1H,SAAA,qBAAiC;YAAA6H,MAAA;YAAAtB,OAAA,EAAAA,CAAA;cAG1CzB,gBAAA;YAAA;YAAAmC,QAAA,EAGD7C,CAAA,CAAE;cAAA8C,KAAA,EACMvI,cAAA,CAAe0F,sBAAA,CAAAsC,MAAA,EAAAC,QAAA,EAAyCzC,IAAA;YAAA,CACjE;UAAA,C,GAEF9D,IAAA,CAACoE,oBAAA;YAAAqD,WAAA;cAAA,CAEIhF,eAAA,GAAkBvB;YAAA;YAAAgG,MAAA,EAAAvF,MAAA;cAGdyD,eAAA;gBAAAjB,cAAA,EACaH,sBAAA,CAAA7D,IAAA;gBAAA+E,GAAA,EACXvD,MAAA,CAAAuD;cAAA,CACP;cACAX,iBAAA;YAAA;YAAAmD,mBAAA;UAAA,C;;UAQV1H,IAAA,CAAAZ,sBAAA;QAAAiI,SAAA,EAAmC,GAAA1H,SAAA,gBAA4B;QAAAiH,QAAA,EAC5DT;UAwBF,CAAC/C,gBAAA,IACApD,IAAA,CAAAhB,iBAAA;QAAA2I,IAAA,EAEI3H,IAAA,CAAA4H,mBAAA;UAAAjC,MAAA,EACU5F,KAAA,CAAA4F,MAAA;UAAAhC,KAAA;UAAAV,cAAA;UAAA2C,KAAA,EAGD7F,KAAA,CAAA4F,MAAA,KAAiB,qBAAqB5F,KAAA,CAAA6F,KAAA,GAAAE,SAAc;UAAA+B,YAAA,EAC7C9C,iBAAA,GAAAF;QAAA,C;yBAGDd,CAAA,CAAE;QAAA+D,YAAA,EACL/D,CAAA,CAAE;QAAAgE,OAAA,EACPhE,CAAA,CAAE;QAAAiE,SAAA,EAAAnI,gBAAA;QAAAsD,SAAA,EAEAkC;MAAA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA3HjBK,G;;AAkIJ,SAAA0B,cAAArH,KAAA;EAAA,MAAAiD,CAAA,GAAA5E,EAAA;EAGE;IAAA2F;EAAA,IAAcjF,cAAA;EAAA,QAENiB,KAAA,CAAA4F,MAAA;IAAA,KACD;MAAA;QAAA,IAGC5F,KAAA,CAAAkD,cAAA;UAAA,IAAAF,EAAA;UAAA,IAAAC,CAAA,QAAAjD,KAAA,CAAAkD,cAAA,IAAAD,CAAA,QAAAjD,KAAA,CAAA6F,KAAA,IAAA5C,CAAA,QAAAe,CAAA;YAEKhB,EAAA,GAAAgB,CAAA,CAAE;cAAAkE,UAAA,EACKlI,KAAA,CAAAkD,cAAA;cAAA2C,KAAA,EACL7F,KAAA,CAAA6F;YAAA,CACT;YAAA5C,CAAA,MAAAjD,KAAA,CAAAkD,cAAA;YAAAD,CAAA,MAAAjD,KAAA,CAAA6F,KAAA;YAAA5C,CAAA,MAAAe,CAAA;YAAAf,CAAA,MAAAD,EAAA;UAAA;YAAAA,EAAA,GAAAC,CAAA;UAAA;UAAA,OAHOD,EAGP;QAAA;UAAA,IAAAA,EAAA;UAAA,IAAAC,CAAA,QAAAjD,KAAA,CAAA6F,KAAA,IAAA5C,CAAA,QAAAe,CAAA;YAGOhB,EAAA,GAAAgB,CAAA,CAAE;cAAA6B,KAAA,EACA7F,KAAA,CAAA6F;YAAA,CACT;YAAA5C,CAAA,MAAAjD,KAAA,CAAA6F,KAAA;YAAA5C,CAAA,MAAAe,CAAA;YAAAf,CAAA,MAAAD,EAAA;UAAA;YAAAA,EAAA,GAAAC,CAAA;UAAA;UAAA,OAFOD,EAEP;QAAA;MAAA;IAAA,KAGC;MAAA;QAAA,IACChD,KAAA,CAAAkD,cAAA;UAIO,MAAAF,EAAA,MAAGhD,KAAA,CAAA4D,KAAA,IAAe5D,KAAA,CAAA4D,KAAA,IAAc,GAAII,CAAA,CAAE,mBAAmBA,CAAA,CAAE,iBAAiB;UAAA,IAAAN,EAAA;UAAA,IAAAT,CAAA,QAAAjD,KAAA,CAAAkD,cAAA,IAAAD,CAAA,QAAAe,CAAA,IAAAf,CAAA,QAAAD,EAAA;YAF9EU,EAAA,GAAAM,CAAA,CAAE;cAAAkE,UAAA,EACKlI,KAAA,CAAAkD,cAAA;cAAA2C,KAAA,EACL7C;YAA4E,CACrF;YAAAC,CAAA,MAAAjD,KAAA,CAAAkD,cAAA;YAAAD,CAAA,MAAAe,CAAA;YAAAf,CAAA,MAAAD,EAAA;YAAAC,CAAA,OAAAS,EAAA;UAAA;YAAAA,EAAA,GAAAT,CAAA;UAAA;UAAA,OAHOS,EAGP;QAAA;UAIS,MAAAV,EAAA,MAAGhD,KAAA,CAAA4D,KAAA,IAAe5D,KAAA,CAAA4D,KAAA,IAAc,GAAII,CAAA,CAAE,mBAAmBA,CAAA,CAAE,iBAAiB;UAAA,IAAAN,EAAA;UAAA,IAAAT,CAAA,SAAAe,CAAA,IAAAf,CAAA,SAAAD,EAAA;YAD9EU,EAAA,GAAAM,CAAA,CAAE;cAAA6B,KAAA,EACA7C;YAA4E,CACrF;YAAAC,CAAA,OAAAe,CAAA;YAAAf,CAAA,OAAAD,EAAA;YAAAC,CAAA,OAAAS,EAAA;UAAA;YAAAA,EAAA,GAAAT,CAAA;UAAA;UAAA,OAFOS,EAEP;QAAA;MAAA;EAAA;AAAA;AAKR,SAAAmE,oBAAA7H,KAAA;EAAA,MAAAiD,CAAA,GAAA5E,EAAA;EAIE;IAAA2F;EAAA,IAAcjF,cAAA;EAAA,QAENiB,KAAA,CAAA4F,MAAA;IAAA,KACD;MAAA;QAAA,IAGC5F,KAAA,CAAA8H,YAAA;UAAA,IAAA9E,EAAA;UAAA,IAAAC,CAAA,QAAAjD,KAAA,CAAA6F,KAAA,IAAA5C,CAAA,QAAAjD,KAAA,CAAA8H,YAAA,IAAA7E,CAAA,QAAAe,CAAA;YAIAhB,EAAA,GAAA/C,IAAA,CAAAR,WAAA;cAAA0I,QAAA;gBAAAC,CAAA,EAAAC,KAAA;gBAAAC,CAAA,EAAAC;cAAA;cAAAC,OAAA,EAKU;cAAAxE,CAAA;cAAAyE,SAAA;gBAAA5C,KAAA,EAGC7F,KAAA,CAAA6F,KAAA;gBAAA6C,QAAA,EACG1I,KAAA,CAAA8H;cAAA;YAAA,C;;;;;;;;iBATd9E,E;;;;YAiBAA,EAAA,GAAA/C,IAAA,CAAAR,WAAA;cAAA0I,QAAA;gBAAAC,CAAA,EAAAO;cAAA;cAAAH,OAAA,EAIU;cAAAxE,CAAA;cAAAyE,SAAA;gBAAA5C,KAAA,EAGC7F,KAAA,CAAA6F;cAAA;YAAA,C;;;;;;;iBAPX7C,E;;;SAaD;MAAA;QAAA,IAEChD,KAAA,CAAA8H,YAAA;UAAA,IAAA9E,EAAA;UAAA,IAAAC,CAAA,QAAAjD,KAAA,CAAA4D,KAAA,IAAAX,CAAA,QAAAjD,KAAA,CAAA8H,YAAA,IAAA7E,CAAA,QAAAe,CAAA;YAIAhB,EAAA,GAAA/C,IAAA,CAAAR,WAAA;cAAA0I,QAAA;gBAAAC,CAAA,EAAAQ,MAAA;gBAAAN,CAAA,EAAAO;cAAA;cAAAL,OAAA,EAKU;cAAAxE,CAAA;cAAAyE,SAAA;gBAAA7E,KAAA,EAGC5D,KAAA,CAAA4D,KAAA;gBAAAkD,KAAA,EACA9G,KAAA,CAAA4D,KAAA,IAAc,GAAII,CAAA,CAAE,mBAAmBA,CAAA,CAAE;gBAAA0E,QAAA,EACtC1I,KAAA,CAAA8H;cAAA;YAAA,C;;;;;;;;iBAVd9E,E;;;;YAkBAA,EAAA,GAAA/C,IAAA,CAAAR,WAAA;cAAA0I,QAAA;gBAAAC,CAAA,EAAAU;cAAA;cAAAN,OAAA,EAIU;cAAAxE,CAAA;cAAAyE,SAAA;gBAAA7E,KAAA,EAGC5D,KAAA,CAAA4D,KAAA;gBAAAkD,KAAA,EACA9G,KAAA,CAAA4D,KAAA,IAAc,GAAII,CAAA,CAAE,mBAAmBA,CAAA,CAAE;cAAA;YAAA,C;;;;;;;iBARpDhB,E;;;;;AApEV,SAAA8F,OAAA9F,EAAA;EAsEkB;IAAA6D,QAAA,EAAAkC;EAAA,IAAA/F,EAAY;EAAA,OAAK/C,IAAA,CAAC;IAAA4G,QAAA,EAAQA;EAAA,C;;AAtE5C,SAAAgC,OAAA7F,EAAA;EAqDkB;IAAA6D,QAAA,EAAAmC;EAAA,IAAAhG,EAAY;EAAA,OAAK/C,IAAA,CAAC;IAAA4G,QAAA,EAAQA;EAAA,C;;AArD5C,SAAA+B,OAAA5F,EAAA;EAoDkB;IAAA6D;EAAA,IAAA7D,EAAY;EAAA,OAAK/C,IAAA,CAAC;IAAA4G;EAAA,C;;AApDpC,SAAA8B,OAAA3F,EAAA;EAiCkB;IAAA6D,QAAA,EAAAoC;EAAA,IAAAjG,EAAY;EAAA,OAAK/C,IAAA,CAAC;IAAA4G,QAAA,EAAQA;EAAA,C;;AAjC5C,SAAA0B,OAAAvF,EAAA;EAiBkB;IAAA6D,QAAA,EAAAqC;EAAA,IAAAlG,EAAY;EAAA,OAAK/C,IAAA,CAAC;IAAA4G,QAAA,EAAQA;EAAA,C;;AAjB5C,SAAAwB,MAAArF,EAAA;EAgBkB;IAAA6D,QAAA,EAAAsC;EAAA,IAAAnG,EAAY;EAAA,OAAK/C,IAAA,CAAC;IAAA4G,QAAA,EAAQA;EAAA,C","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import type { FolderOrDocument } from 'payload/shared';
1
2
  import React from 'react';
2
3
  import './index.scss';
3
4
  type Props = {
@@ -17,5 +18,12 @@ type Props = {
17
18
  readonly type: 'file' | 'folder';
18
19
  };
19
20
  export declare function FolderFileCard({ id, type, className, disabled, isDeleting, isFocused, isSelected, itemKey, onClick, onKeyDown, PopupActions, previewUrl, selectedCount, title, }: Props): React.JSX.Element;
21
+ type ContextCardProps = {
22
+ readonly className?: string;
23
+ readonly index: number;
24
+ readonly item: FolderOrDocument;
25
+ readonly type: 'file' | 'folder';
26
+ };
27
+ export declare function ContextFolderFileCard({ type, className, index, item }: ContextCardProps): React.JSX.Element;
20
28
  export {};
21
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/FolderFileCard/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;CACjC,CAAA;AACD,wBAAgB,cAAc,CAAC,EAC7B,EAAE,EACF,IAAI,EACJ,SAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,SAAiB,EACjB,UAAkB,EAClB,OAAO,EACP,OAAO,EACP,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAiB,EACjB,KAAK,GACN,EAAE,KAAK,qBAkFP"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/FolderFileCard/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGtD,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;CACjC,CAAA;AACD,wBAAgB,cAAc,CAAC,EAC7B,EAAE,EACF,IAAI,EACJ,SAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,SAAiB,EACjB,UAAkB,EAClB,OAAO,EACP,OAAO,EACP,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAiB,EACjB,KAAK,GACN,EAAE,KAAK,qBAkFP;AAED,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;CACjC,CAAA;AACD,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,gBAAgB,qBA8BvF"}
@@ -1,10 +1,12 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
5
  import { useDroppable } from '@dnd-kit/core';
5
6
  import React from 'react';
6
7
  import { DocumentIcon } from '../../../icons/Document/index.js';
7
8
  import { ThreeDotsIcon } from '../../../icons/ThreeDots/index.js';
9
+ import { useFolder } from '../../../providers/Folders/index.js';
8
10
  import { Popup } from '../../Popup/index.js';
9
11
  import { Thumbnail } from '../../Thumbnail/index.js';
10
12
  import { ColoredFolderIcon } from '../ColoredFolderIcon/index.js';
@@ -91,4 +93,84 @@ export function FolderFileCard({
91
93
  })]
92
94
  }, itemKey);
93
95
  }
96
+ export function ContextFolderFileCard(t0) {
97
+ const $ = _c(19);
98
+ const {
99
+ type,
100
+ className,
101
+ index,
102
+ item
103
+ } = t0;
104
+ const {
105
+ focusedRowIndex,
106
+ isDragging,
107
+ itemKeysToMove,
108
+ onItemClick,
109
+ onItemKeyPress,
110
+ selectedItemKeys
111
+ } = useFolder();
112
+ let t1;
113
+ if ($[0] !== className || $[1] !== focusedRowIndex || $[2] !== index || $[3] !== isDragging || $[4] !== item || $[5] !== itemKeysToMove || $[6] !== onItemClick || $[7] !== onItemKeyPress || $[8] !== selectedItemKeys || $[9] !== type) {
114
+ const isSelected = selectedItemKeys.has(item.itemKey);
115
+ let t2;
116
+ if ($[11] !== index || $[12] !== item || $[13] !== onItemClick) {
117
+ t2 = event => {
118
+ onItemClick({
119
+ event,
120
+ index,
121
+ item
122
+ });
123
+ };
124
+ $[11] = index;
125
+ $[12] = item;
126
+ $[13] = onItemClick;
127
+ $[14] = t2;
128
+ } else {
129
+ t2 = $[14];
130
+ }
131
+ let t3;
132
+ if ($[15] !== index || $[16] !== item || $[17] !== onItemKeyPress) {
133
+ t3 = event_0 => {
134
+ onItemKeyPress({
135
+ event: event_0,
136
+ index,
137
+ item
138
+ });
139
+ };
140
+ $[15] = index;
141
+ $[16] = item;
142
+ $[17] = onItemKeyPress;
143
+ $[18] = t3;
144
+ } else {
145
+ t3 = $[18];
146
+ }
147
+ t1 = _jsx(FolderFileCard, {
148
+ className,
149
+ disabled: isDragging && isSelected || itemKeysToMove.has(item.itemKey),
150
+ id: item.value.id,
151
+ isFocused: focusedRowIndex === index,
152
+ isSelected,
153
+ itemKey: item.itemKey,
154
+ onClick: t2,
155
+ onKeyDown: t3,
156
+ previewUrl: item.value.url,
157
+ title: item.value._folderOrDocumentTitle,
158
+ type
159
+ });
160
+ $[0] = className;
161
+ $[1] = focusedRowIndex;
162
+ $[2] = index;
163
+ $[3] = isDragging;
164
+ $[4] = item;
165
+ $[5] = itemKeysToMove;
166
+ $[6] = onItemClick;
167
+ $[7] = onItemKeyPress;
168
+ $[8] = selectedItemKeys;
169
+ $[9] = type;
170
+ $[10] = t1;
171
+ } else {
172
+ t1 = $[10];
173
+ }
174
+ return t1;
175
+ }
94
176
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useDroppable","React","DocumentIcon","ThreeDotsIcon","Popup","Thumbnail","ColoredFolderIcon","DraggableWithClick","baseClass","FolderFileCard","id","type","className","disabled","isDeleting","isFocused","isSelected","itemKey","onClick","onKeyDown","PopupActions","previewUrl","selectedCount","title","disableDrop","isOver","setNodeRef","data","ref","useRef","useEffect","copyOfRef","current","focus","blur","_jsxs","filter","Boolean","join","_jsx","fileSrc","button","horizontalAlign","size","verticalAlign"],"sources":["../../../../src/elements/FolderView/FolderFileCard/index.tsx"],"sourcesContent":["'use client'\n\nimport { useDroppable } from '@dnd-kit/core'\nimport React from 'react'\n\nimport { DocumentIcon } from '../../../icons/Document/index.js'\nimport { ThreeDotsIcon } from '../../../icons/ThreeDots/index.js'\nimport { Popup } from '../../Popup/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport { ColoredFolderIcon } from '../ColoredFolderIcon/index.js'\nimport { DraggableWithClick } from '../DraggableWithClick/index.js'\nimport './index.scss'\n\nconst baseClass = 'folder-file-card'\n\ntype Props = {\n readonly className?: string\n readonly disabled?: boolean\n readonly id: number | string\n readonly isDeleting?: boolean\n readonly isFocused?: boolean\n readonly isSelected?: boolean\n readonly itemKey: string\n readonly onClick?: (e: React.MouseEvent) => void\n readonly onKeyDown?: (e: React.KeyboardEvent) => void\n readonly PopupActions?: React.ReactNode\n readonly previewUrl?: string\n readonly selectedCount?: number\n readonly title: string\n readonly type: 'file' | 'folder'\n}\nexport function FolderFileCard({\n id,\n type,\n className = '',\n disabled = false,\n isDeleting = false,\n isFocused = false,\n isSelected = false,\n itemKey,\n onClick,\n onKeyDown,\n PopupActions,\n previewUrl,\n selectedCount = 0,\n title,\n}: Props) {\n const disableDrop = !id || disabled || type !== 'folder'\n const { isOver, setNodeRef } = useDroppable({\n id: itemKey,\n data: {\n id,\n type,\n },\n disabled: disableDrop,\n })\n const ref = React.useRef(null)\n\n React.useEffect(() => {\n const copyOfRef = ref.current\n if (isFocused && ref.current) {\n ref.current.focus()\n } else if (!isFocused && ref.current) {\n ref.current.blur()\n }\n\n return () => {\n if (copyOfRef) {\n copyOfRef.blur()\n }\n }\n }, [isFocused])\n\n return (\n <div\n className={[\n baseClass,\n className,\n isSelected && `${baseClass}--selected`,\n disabled && `${baseClass}--disabled`,\n isDeleting && `${baseClass}--deleting`,\n isFocused && `${baseClass}--focused`,\n isOver && `${baseClass}--over`,\n `${baseClass}--${type}`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={itemKey}\n >\n {!disabled && (onClick || onKeyDown) && (\n <DraggableWithClick\n className={`${baseClass}__drag-handle`}\n id={itemKey}\n key={itemKey}\n onClick={onClick}\n onKeyDown={onKeyDown}\n ref={ref}\n />\n )}\n {!disableDrop ? <div className={`${baseClass}__drop-area`} ref={setNodeRef} /> : null}\n\n {type === 'file' ? (\n <div className={`${baseClass}__preview-area`}>\n {previewUrl ? <Thumbnail fileSrc={previewUrl} /> : <DocumentIcon />}\n </div>\n ) : null}\n\n <div className={`${baseClass}__titlebar-area`}>\n <div className={`${baseClass}__icon-wrap`}>\n {type === 'file' ? <DocumentIcon /> : <ColoredFolderIcon />}\n </div>\n <p className={`${baseClass}__name`} title={title}>\n <span>{title}</span>\n </p>\n {PopupActions ? (\n <Popup\n button={<ThreeDotsIcon />}\n disabled={selectedCount > 1 || (selectedCount === 1 && !isSelected)}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n {PopupActions}\n </Popup>\n ) : null}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useDroppable","React","DocumentIcon","ThreeDotsIcon","useFolder","Popup","Thumbnail","ColoredFolderIcon","DraggableWithClick","baseClass","FolderFileCard","id","type","className","disabled","isDeleting","isFocused","isSelected","itemKey","onClick","onKeyDown","PopupActions","previewUrl","selectedCount","title","disableDrop","isOver","setNodeRef","data","ref","useRef","useEffect","copyOfRef","current","focus","blur","_jsxs","filter","Boolean","join","_jsx","fileSrc","button","horizontalAlign","size","verticalAlign","ContextFolderFileCard","t0","$","index","item","focusedRowIndex","isDragging","itemKeysToMove","onItemClick","onItemKeyPress","selectedItemKeys","t1","has","t2","event","t3","event_0","value","url","_folderOrDocumentTitle"],"sources":["../../../../src/elements/FolderView/FolderFileCard/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FolderOrDocument } from 'payload/shared'\n\nimport { useDroppable } from '@dnd-kit/core'\nimport React from 'react'\n\nimport { DocumentIcon } from '../../../icons/Document/index.js'\nimport { ThreeDotsIcon } from '../../../icons/ThreeDots/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { Popup } from '../../Popup/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport { ColoredFolderIcon } from '../ColoredFolderIcon/index.js'\nimport { DraggableWithClick } from '../DraggableWithClick/index.js'\nimport './index.scss'\n\nconst baseClass = 'folder-file-card'\n\ntype Props = {\n readonly className?: string\n readonly disabled?: boolean\n readonly id: number | string\n readonly isDeleting?: boolean\n readonly isFocused?: boolean\n readonly isSelected?: boolean\n readonly itemKey: string\n readonly onClick?: (e: React.MouseEvent) => void\n readonly onKeyDown?: (e: React.KeyboardEvent) => void\n readonly PopupActions?: React.ReactNode\n readonly previewUrl?: string\n readonly selectedCount?: number\n readonly title: string\n readonly type: 'file' | 'folder'\n}\nexport function FolderFileCard({\n id,\n type,\n className = '',\n disabled = false,\n isDeleting = false,\n isFocused = false,\n isSelected = false,\n itemKey,\n onClick,\n onKeyDown,\n PopupActions,\n previewUrl,\n selectedCount = 0,\n title,\n}: Props) {\n const disableDrop = !id || disabled || type !== 'folder'\n const { isOver, setNodeRef } = useDroppable({\n id: itemKey,\n data: {\n id,\n type,\n },\n disabled: disableDrop,\n })\n const ref = React.useRef(null)\n\n React.useEffect(() => {\n const copyOfRef = ref.current\n if (isFocused && ref.current) {\n ref.current.focus()\n } else if (!isFocused && ref.current) {\n ref.current.blur()\n }\n\n return () => {\n if (copyOfRef) {\n copyOfRef.blur()\n }\n }\n }, [isFocused])\n\n return (\n <div\n className={[\n baseClass,\n className,\n isSelected && `${baseClass}--selected`,\n disabled && `${baseClass}--disabled`,\n isDeleting && `${baseClass}--deleting`,\n isFocused && `${baseClass}--focused`,\n isOver && `${baseClass}--over`,\n `${baseClass}--${type}`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={itemKey}\n >\n {!disabled && (onClick || onKeyDown) && (\n <DraggableWithClick\n className={`${baseClass}__drag-handle`}\n id={itemKey}\n key={itemKey}\n onClick={onClick}\n onKeyDown={onKeyDown}\n ref={ref}\n />\n )}\n {!disableDrop ? <div className={`${baseClass}__drop-area`} ref={setNodeRef} /> : null}\n\n {type === 'file' ? (\n <div className={`${baseClass}__preview-area`}>\n {previewUrl ? <Thumbnail fileSrc={previewUrl} /> : <DocumentIcon />}\n </div>\n ) : null}\n\n <div className={`${baseClass}__titlebar-area`}>\n <div className={`${baseClass}__icon-wrap`}>\n {type === 'file' ? <DocumentIcon /> : <ColoredFolderIcon />}\n </div>\n <p className={`${baseClass}__name`} title={title}>\n <span>{title}</span>\n </p>\n {PopupActions ? (\n <Popup\n button={<ThreeDotsIcon />}\n disabled={selectedCount > 1 || (selectedCount === 1 && !isSelected)}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n {PopupActions}\n </Popup>\n ) : null}\n </div>\n </div>\n )\n}\n\ntype ContextCardProps = {\n readonly className?: string\n readonly index: number // todo: possibly remove\n readonly item: FolderOrDocument\n readonly type: 'file' | 'folder'\n}\nexport function ContextFolderFileCard({ type, className, index, item }: ContextCardProps) {\n const {\n focusedRowIndex,\n isDragging,\n itemKeysToMove,\n onItemClick,\n onItemKeyPress,\n selectedItemKeys,\n } = useFolder()\n const isSelected = selectedItemKeys.has(item.itemKey)\n\n return (\n <FolderFileCard\n className={className}\n disabled={(isDragging && isSelected) || itemKeysToMove.has(item.itemKey)}\n id={item.value.id}\n isFocused={focusedRowIndex === index}\n isSelected={isSelected}\n itemKey={item.itemKey}\n onClick={(event) => {\n void onItemClick({ event, index, item })\n }}\n onKeyDown={(event) => {\n void onItemKeyPress({ event, index, item })\n }}\n previewUrl={item.value.url}\n title={item.value._folderOrDocumentTitle}\n type={type}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,29 +1,8 @@
1
- import type { I18nClient } from '@payloadcms/translations';
2
- import type { FolderDocumentItemKey, FolderOrDocument } from 'payload/shared';
3
1
  import React from 'react';
4
- import type { FormatDateArgs } from '../../../utilities/formatDocTitle/formatDateTitle.js';
5
2
  import './index.scss';
6
3
  type Props = {
7
- dateFormat: FormatDateArgs['pattern'];
8
- disabledItems?: Set<FolderDocumentItemKey>;
9
- documents: FolderOrDocument[];
10
- focusedRowIndex: number;
11
- i18n: I18nClient;
12
- isMovingItems: boolean;
13
- onRowClick: (args: {
14
- event: React.MouseEvent<Element>;
15
- index: number;
16
- item: FolderOrDocument;
17
- }) => void;
18
- onRowPress: (args: {
19
- event: React.KeyboardEvent<Element>;
20
- index: number;
21
- item: FolderOrDocument;
22
- }) => void;
23
- selectedItems: Set<FolderDocumentItemKey>;
24
4
  showRelationCell?: boolean;
25
- subfolders: FolderOrDocument[];
26
5
  };
27
- export declare function FolderFileTable({ dateFormat, disabledItems, documents, focusedRowIndex, i18n, isMovingItems, onRowClick, onRowPress, selectedItems, showRelationCell, subfolders, }: Props): React.JSX.Element;
6
+ export declare function FolderFileTable({ showRelationCell }: Props): React.JSX.Element;
28
7
  export {};
29
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/FolderFileTable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAI7E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAS1F,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACrC,aAAa,CAAC,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAC1C,SAAS,EAAE,gBAAgB,EAAE,CAAA;IAC7B,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,CAAC,IAAI,EAAE;QACjB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAChC,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,gBAAgB,CAAA;KACvB,KAAK,IAAI,CAAA;IACV,UAAU,EAAE,CAAC,IAAI,EAAE;QACjB,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACnC,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,gBAAgB,CAAA;KACvB,KAAK,IAAI,CAAA;IACV,aAAa,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAA;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAC/B,CAAA;AAED,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,aAAyB,EACzB,SAAS,EACT,eAAe,EACf,IAAI,EACJ,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,EACb,gBAAuB,EACvB,UAAU,GACX,EAAE,KAAK,qBA0KP"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/FolderView/FolderFileTable/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,wBAAgB,eAAe,CAAC,EAAE,gBAAuB,EAAE,EAAE,KAAK,qBAyLjE"}