@payloadcms/ui 3.55.0-canary.3 → 3.55.0-internal.b47bfce
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/BulkUpload/EditForm/index.js +18 -4
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +74 -173
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +67 -155
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/Collapsible/index.js +7 -15
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +8 -44
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +89 -97
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +2 -22
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +47 -83
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +27 -55
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +2 -10
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +47 -99
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.scss +1 -1
- package/dist/elements/Drawer/index.js +23 -57
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +3 -21
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +149 -225
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +19 -27
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +12 -23
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +10 -20
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +18 -24
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +19 -32
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeaderTabs/DefaultListPill.js +15 -8
- package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -1
- package/dist/elements/ListSelection/index.js +11 -27
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +68 -139
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +2 -11
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +46 -102
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +23 -36
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +22 -11
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +41 -139
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
- package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +39 -40
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +20 -12
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +21 -30
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +9 -37
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +35 -37
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +12 -27
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +35 -75
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +17 -26
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js +51 -127
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Upload/index.js +2 -10
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +31 -44
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-MIIBUJZ4.js → CodeEditor-O6BWJHD2.js} +2 -2
- package/dist/exports/client/{DatePicker-NMDEHPWL.js → DatePicker-F432AIH3.js} +2 -2
- package/dist/exports/client/{chunk-7RGKTZG2.js → chunk-AZDI6MW4.js} +1 -1
- package/dist/exports/client/{chunk-7RGKTZG2.js.map → chunk-AZDI6MW4.js.map} +1 -1
- package/dist/exports/client/{chunk-Z6O2JA43.js → chunk-FXAFULZQ.js} +6 -6
- package/dist/exports/client/{chunk-Z6O2JA43.js.map → chunk-FXAFULZQ.js.map} +3 -3
- package/dist/exports/client/index.d.ts +4 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +12 -12
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts +2 -3
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +13 -23
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +273 -477
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +2 -19
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/FieldError/index.js +30 -29
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +12 -64
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +45 -103
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +29 -44
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.d.ts +1 -3
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +18 -31
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +2 -11
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +2 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +185 -225
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +79 -127
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +245 -237
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +2 -10
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +30 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +82 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -0
- package/dist/forms/useField/index.d.ts +5 -0
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +74 -45
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/hooks/useIntersect.js +35 -53
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +36 -44
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +4 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +13 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/traverseForLocalizedFields.d.ts +3 -0
- package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -0
- package/dist/utilities/traverseForLocalizedFields.js +40 -0
- package/dist/utilities/traverseForLocalizedFields.js.map +1 -0
- package/dist/views/BrowseByFolder/index.js +37 -55
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +13 -40
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +93 -105
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/package.json +7 -7
- /package/dist/exports/client/{CodeEditor-MIIBUJZ4.js.map → CodeEditor-O6BWJHD2.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-NMDEHPWL.js.map → DatePicker-F432AIH3.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
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","browseByFolder","collectionsToDisplay","folderCollectionSlug","displayAs","folderAssignedCollections","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","folderType","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","className","onCancel","onSave","saveLabel","DrawerHeading","map","_Fragment","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 folderAssignedCollections: CollectionSlug[]\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 browseByFolder: false,\n collectionsToDisplay: [props.folderCollectionSlug],\n displayAs: 'grid',\n // todo: should be able to pass undefined, empty array or null and get all folders. Need to look at API for this in the server function\n folderAssignedCollections: props.folderAssignedCollections,\n folderID: folderIDToPopulate,\n sort: 'name',\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.folderAssignedCollections, 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 folderType,\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 <div className={baseClass}>\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 folderType,\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 folderAssignedCollections={props.folderAssignedCollections}\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 </div>\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","browseByFolder","collectionsToDisplay","folderCollectionSlug","displayAs","folderAssignedCollections","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","folderType","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","undefined","t12","crumb","index","onClick","_jsxs","className","children","onCancel","onSave","saveLabel","title","DrawerHeading","action","map","_Fragment","buttonStyle","margin","label","labels","singular","initialData","redirectAfterCreate","Actions","buttonLabel","toLowerCase","collectionSlugs","slugPrefix","Message","plural","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 folderAssignedCollections: CollectionSlug[]\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 browseByFolder: false,\n collectionsToDisplay: [props.folderCollectionSlug],\n displayAs: 'grid',\n // todo: should be able to pass undefined, empty array or null and get all folders. Need to look at API for this in the server function\n folderAssignedCollections: props.folderAssignedCollections,\n folderID: folderIDToPopulate,\n sort: 'name',\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.folderAssignedCollections, 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 folderType,\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 <div className={baseClass}>\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 folderType,\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 folderAssignedCollections={props.folderAssignedCollections}\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 </div>\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":[]}
|
|
@@ -127,7 +127,7 @@ function AssignedCollections({
|
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
129
|
export function ContextFolderFileCard(t0) {
|
|
130
|
-
const $ = _c(
|
|
130
|
+
const $ = _c(18);
|
|
131
131
|
const {
|
|
132
132
|
type,
|
|
133
133
|
className,
|
|
@@ -146,55 +146,47 @@ export function ContextFolderFileCard(t0) {
|
|
|
146
146
|
const isSelected = selectedItemKeys.has(item.itemKey);
|
|
147
147
|
const isDisabled = checkIfItemIsDisabled(item);
|
|
148
148
|
let t2;
|
|
149
|
-
if ($[10] !== item
|
|
150
|
-
t2 =
|
|
151
|
-
$[10] = item.value.folderType;
|
|
152
|
-
$[11] = t2;
|
|
153
|
-
} else {
|
|
154
|
-
t2 = $[11];
|
|
155
|
-
}
|
|
156
|
-
let t3;
|
|
157
|
-
if ($[12] !== index || $[13] !== item || $[14] !== onItemClick) {
|
|
158
|
-
t3 = event => {
|
|
149
|
+
if ($[10] !== index || $[11] !== item || $[12] !== onItemClick) {
|
|
150
|
+
t2 = event => {
|
|
159
151
|
onItemClick({
|
|
160
152
|
event,
|
|
161
153
|
index,
|
|
162
154
|
item
|
|
163
155
|
});
|
|
164
156
|
};
|
|
165
|
-
$[
|
|
166
|
-
$[
|
|
167
|
-
$[
|
|
168
|
-
$[
|
|
157
|
+
$[10] = index;
|
|
158
|
+
$[11] = item;
|
|
159
|
+
$[12] = onItemClick;
|
|
160
|
+
$[13] = t2;
|
|
169
161
|
} else {
|
|
170
|
-
|
|
162
|
+
t2 = $[13];
|
|
171
163
|
}
|
|
172
|
-
let
|
|
173
|
-
if ($[
|
|
174
|
-
|
|
164
|
+
let t3;
|
|
165
|
+
if ($[14] !== index || $[15] !== item || $[16] !== onItemKeyPress) {
|
|
166
|
+
t3 = event_0 => {
|
|
175
167
|
onItemKeyPress({
|
|
176
168
|
event: event_0,
|
|
177
169
|
index,
|
|
178
170
|
item
|
|
179
171
|
});
|
|
180
172
|
};
|
|
181
|
-
$[
|
|
182
|
-
$[
|
|
183
|
-
$[
|
|
184
|
-
$[
|
|
173
|
+
$[14] = index;
|
|
174
|
+
$[15] = item;
|
|
175
|
+
$[16] = onItemKeyPress;
|
|
176
|
+
$[17] = t3;
|
|
185
177
|
} else {
|
|
186
|
-
|
|
178
|
+
t3 = $[17];
|
|
187
179
|
}
|
|
188
180
|
t1 = _jsx(FolderFileCard, {
|
|
189
181
|
className,
|
|
190
182
|
disabled: isDisabled,
|
|
191
|
-
folderType:
|
|
183
|
+
folderType: item.value.folderType || [],
|
|
192
184
|
id: item.value.id,
|
|
193
185
|
isFocused: focusedRowIndex === index,
|
|
194
186
|
isSelected,
|
|
195
187
|
itemKey: item.itemKey,
|
|
196
|
-
onClick:
|
|
197
|
-
onKeyDown:
|
|
188
|
+
onClick: t2,
|
|
189
|
+
onKeyDown: t3,
|
|
198
190
|
previewUrl: item.value.url,
|
|
199
191
|
title: item.value._folderOrDocumentTitle,
|
|
200
192
|
type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useDroppable","getTranslation","React","DocumentIcon","ThreeDotsIcon","useConfig","useFolder","useTranslation","Popup","Thumbnail","ColoredFolderIcon","DraggableWithClick","baseClass","FolderFileCard","id","type","className","disabled","folderType","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","length","AssignedCollections","button","horizontalAlign","size","verticalAlign","config","i18n","collectionsDisplayText","useMemo","reduce","acc","collection","collectionConfig","collections","find","slug","labels","plural","map","label","index","ContextFolderFileCard","t0","$","item","checkIfItemIsDisabled","focusedRowIndex","onItemClick","onItemKeyPress","selectedItemKeys","t1","has","isDisabled","t2","value","t3","event","t4","event_0","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 { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { DocumentIcon } from '../../../icons/Document/index.js'\nimport { ThreeDotsIcon } from '../../../icons/ThreeDots/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useTranslation } from '../../../providers/Translation/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 folderType?: string[]\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 folderType,\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 folderType,\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 <DraggableWithClick\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 disabled={disabled || (!onClick && !onKeyDown)}\n key={itemKey}\n onClick={onClick}\n onKeyDown={onKeyDown}\n ref={ref}\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 <div className={`${baseClass}__titlebar-labels`}>\n <p className={`${baseClass}__name`} title={title}>\n <span>{title}</span>\n </p>\n {folderType && folderType.length > 0 ? (\n <AssignedCollections folderType={folderType} />\n ) : null}\n </div>\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 </DraggableWithClick>\n )\n}\n\nfunction AssignedCollections({ folderType }: { folderType: string[] }) {\n const { config } = useConfig()\n const { i18n } = useTranslation()\n\n const collectionsDisplayText = React.useMemo(() => {\n return folderType.reduce((acc, collection) => {\n const collectionConfig = config.collections?.find((c) => c.slug === collection)\n if (collectionConfig) {\n return [...acc, getTranslation(collectionConfig.labels.plural, i18n)]\n }\n return acc\n }, [])\n }, [folderType, config.collections, i18n])\n\n return (\n <p className={`${baseClass}__assigned-collections`}>\n {collectionsDisplayText.map((label, index) => (\n <span key={label}>\n {label}\n {index < folderType.length - 1 ? ', ' : ''}\n </span>\n ))}\n </p>\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 { checkIfItemIsDisabled, focusedRowIndex, onItemClick, onItemKeyPress, selectedItemKeys } =\n useFolder()\n const isSelected = selectedItemKeys.has(item.itemKey)\n const isDisabled = checkIfItemIsDisabled(item)\n\n return (\n <FolderFileCard\n className={className}\n disabled={isDisabled}\n folderType={item.value.folderType || []}\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":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,YAAY,QAAQ;AAC7B,SAASC,aAAa,QAAQ;AAC9B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,KAAK,QAAQ;AACtB,SAASC,SAAS,QAAQ;AAC1B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAmBlB,OAAO,SAASC,eAAe;EAC7BC,EAAE;EACFC,IAAI;EACJC,SAAA,GAAY,EAAE;EACdC,QAAA,GAAW,KAAK;EAChBC,UAAU;EACVC,UAAA,GAAa,KAAK;EAClBC,SAAA,GAAY,KAAK;EACjBC,UAAA,GAAa,KAAK;EAClBC,OAAO;EACPC,OAAO;EACPC,SAAS;EACTC,YAAY;EACZC,UAAU;EACVC,aAAA,GAAgB,CAAC;EACjBC;AAAK,CACC;EACN,MAAMC,WAAA,GAAc,CAACf,EAAA,IAAMG,QAAA,IAAYF,IAAA,KAAS;EAChD,MAAM;IAAEe,MAAM;IAAEC;EAAU,CAAE,GAAG/B,YAAA,CAAa;IAC1Cc,EAAA,EAAIQ,OAAA;IACJU,IAAA,EAAM;MACJlB,EAAA;MACAC,IAAA;MACAG;IACF;IACAD,QAAA,EAAUY;EACZ;EACA,MAAMI,GAAA,GAAM/B,KAAA,CAAMgC,MAAM,CAAC;EAEzBhC,KAAA,CAAMiC,SAAS,CAAC;IACd,MAAMC,SAAA,GAAYH,GAAA,CAAII,OAAO;IAC7B,IAAIjB,SAAA,IAAaa,GAAA,CAAII,OAAO,EAAE;MAC5BJ,GAAA,CAAII,OAAO,CAACC,KAAK;IACnB,OAAO,IAAI,CAAClB,SAAA,IAAaa,GAAA,CAAII,OAAO,EAAE;MACpCJ,GAAA,CAAII,OAAO,CAACE,IAAI;IAClB;IAEA,OAAO;MACL,IAAIH,SAAA,EAAW;QACbA,SAAA,CAAUG,IAAI;MAChB;IACF;EACF,GAAG,CAACnB,SAAA,CAAU;EAEd,oBACEoB,KAAA,CAAC7B,kBAAA;IACCK,SAAA,EAAW,CACTJ,SAAA,EACAI,SAAA,EACAK,UAAA,IAAc,GAAGT,SAAA,YAAqB,EACtCK,QAAA,IAAY,GAAGL,SAAA,YAAqB,EACpCO,UAAA,IAAc,GAAGP,SAAA,YAAqB,EACtCQ,SAAA,IAAa,GAAGR,SAAA,WAAoB,EACpCkB,MAAA,IAAU,GAAGlB,SAAA,QAAiB,EAC9B,GAAGA,SAAA,KAAcG,IAAA,EAAM,CACxB,CACE0B,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;IACR1B,QAAA,EAAUA,QAAA,IAAa,CAACM,OAAA,IAAW,CAACC,SAAA;IAEpCD,OAAA,EAASA,OAAA;IACTC,SAAA,EAAWA,SAAA;IACXS,GAAA,EAAKA,GAAA;eAEJ,CAACJ,WAAA,gBAAce,IAAA,CAAC;MAAI5B,SAAA,EAAW,GAAGJ,SAAA,aAAsB;MAAEqB,GAAA,EAAKF;SAAiB,MAEhFhB,IAAA,KAAS,sBACR6B,IAAA,CAAC;MAAI5B,SAAA,EAAW,GAAGJ,SAAA,gBAAyB;gBACzCc,UAAA,gBAAakB,IAAA,CAACnC,SAAA;QAAUoC,OAAA,EAASnB;wBAAiBkB,IAAA,CAACzC,YAAA;SAEpD,M,aAEJqC,KAAA,CAAC;MAAIxB,SAAA,EAAW,GAAGJ,SAAA,iBAA0B;8BAC3CgC,IAAA,CAAC;QAAI5B,SAAA,EAAW,GAAGJ,SAAA,aAAsB;kBACtCG,IAAA,KAAS,sBAAS6B,IAAA,CAACzC,YAAA,qBAAkByC,IAAA,CAAClC,iBAAA;uBAEzC8B,KAAA,CAAC;QAAIxB,SAAA,EAAW,GAAGJ,SAAA,mBAA4B;gCAC7CgC,IAAA,CAAC;UAAE5B,SAAA,EAAW,GAAGJ,SAAA,QAAiB;UAAEgB,KAAA,EAAOA,KAAA;oBACzC,aAAAgB,IAAA,CAAC;sBAAMhB;;YAERV,UAAA,IAAcA,UAAA,CAAW4B,MAAM,GAAG,iBACjCF,IAAA,CAACG,mBAAA;UAAoB7B,UAAA,EAAYA;aAC/B;UAELO,YAAA,gBACCmB,IAAA,CAACpC,KAAA;QACCwC,MAAA,eAAQJ,IAAA,CAACxC,aAAA;QACTa,QAAA,EAAUU,aAAA,GAAgB,KAAMA,aAAA,KAAkB,KAAK,CAACN,UAAA;QACxD4B,eAAA,EAAgB;QAChBC,IAAA,EAAK;QACLC,aAAA,EAAc;kBAEb1B;WAED;;KAnCDH,OAAA;AAuCX;AAEA,SAASyB,oBAAoB;EAAE7B;AAAU,CAA4B;EACnE,MAAM;IAAEkC;EAAM,CAAE,GAAG/C,SAAA;EACnB,MAAM;IAAEgD;EAAI,CAAE,GAAG9C,cAAA;EAEjB,MAAM+C,sBAAA,GAAyBpD,KAAA,CAAMqD,OAAO,CAAC;IAC3C,OAAOrC,UAAA,CAAWsC,MAAM,CAAC,CAACC,GAAA,EAAKC,UAAA;MAC7B,MAAMC,gBAAA,GAAmBP,MAAA,CAAOQ,WAAW,EAAEC,IAAA,CAAM/D,CAAA,IAAMA,CAAA,CAAEgE,IAAI,KAAKJ,UAAA;MACpE,IAAIC,gBAAA,EAAkB;QACpB,OAAO,C,GAAIF,GAAA,EAAKxD,cAAA,CAAe0D,gBAAA,CAAiBI,MAAM,CAACC,MAAM,EAAEX,IAAA,EAAM;MACvE;MACA,OAAOI,GAAA;IACT,GAAG,EAAE;EACP,GAAG,CAACvC,UAAA,EAAYkC,MAAA,CAAOQ,WAAW,EAAEP,IAAA,CAAK;EAEzC,oBACET,IAAA,CAAC;IAAE5B,SAAA,EAAW,GAAGJ,SAAA,wBAAiC;cAC/C0C,sBAAA,CAAuBW,GAAG,CAAC,CAACC,KAAA,EAAOC,KAAA,kBAClC3B,KAAA,CAAC;iBACE0B,KAAA,EACAC,KAAA,GAAQjD,UAAA,CAAW4B,MAAM,GAAG,IAAI,OAAO;OAF/BoB,KAAA;;AAOnB;AAQA,OAAO,SAAAE,sBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAvE,EAAA;EAA+B;IAAAgB,IAAA;IAAAC,SAAA;IAAAmD,KAAA;IAAAI;EAAA,IAAAF,EAAkD;EACtF;IAAAG,qBAAA;IAAAC,eAAA;IAAAC,WAAA;IAAAC,cAAA;IAAAC;EAAA,IACEtE,SAAA;EAAA,IAAAuE,EAAA;EAAA,IAAAP,CAAA,QAAAE,qBAAA,IAAAF,CAAA,QAAAtD,SAAA,IAAAsD,CAAA,QAAAG,eAAA,IAAAH,CAAA,QAAAH,KAAA,IAAAG,CAAA,QAAAC,IAAA,IAAAD,CAAA,QAAAI,WAAA,IAAAJ,CAAA,QAAAK,cAAA,IAAAL,CAAA,QAAAM,gBAAA,IAAAN,CAAA,QAAAvD,IAAA;IACF,MAAAM,UAAA,GAAmBuD,gBAAA,CAAAE,GAAA,CAAqBP,IAAA,CAAAjD,OAAY;IACpD,MAAAyD,UAAA,GAAmBP,qBAAA,CAAsBD,IAAA;IAAA,IAAAS,EAAA;IAAA,IAAAV,CAAA,SAAAC,IAAA,CAAAU,KAAA,CAAA/D,UAAA;MAMzB8D,EAAA,GAAAT,IAAA,CAAAU,KAAA,CAAA/D,UAAA,MAA2B;MAAAoD,CAAA,OAAAC,IAAA,CAAAU,KAAA,CAAA/D,UAAA;MAAAoD,CAAA,OAAAU,EAAA;IAAA;MAAAA,EAAA,GAAAV,CAAA;IAAA;IAAA,IAAAY,EAAA;IAAA,IAAAZ,CAAA,SAAAH,KAAA,IAAAG,CAAA,SAAAC,IAAA,IAAAD,CAAA,SAAAI,WAAA;MAK9BQ,EAAA,GAAAC,KAAA;QACFT,WAAA;UAAAS,KAAA;UAAAhB,KAAA;UAAAI;QAAA,CAAiC;MAAA;MACxCD,CAAA,OAAAH,KAAA;MAAAG,CAAA,OAAAC,IAAA;MAAAD,CAAA,OAAAI,WAAA;MAAAJ,CAAA,OAAAY,EAAA;IAAA;MAAAA,EAAA,GAAAZ,CAAA;IAAA;IAAA,IAAAc,EAAA;IAAA,IAAAd,CAAA,SAAAH,KAAA,IAAAG,CAAA,SAAAC,IAAA,IAAAD,CAAA,SAAAK,cAAA;MACWS,EAAA,GAAAC,OAAA;QACJV,cAAA;UAAAQ,KAAA,EAAiBA,OAAA;UAAAhB,KAAA;UAAAI;QAAA,CAAmB;MAAA;MAC3CD,CAAA,OAAAH,KAAA;MAAAG,CAAA,OAAAC,IAAA;MAAAD,CAAA,OAAAK,cAAA;MAAAL,CAAA,OAAAc,EAAA;IAAA;MAAAA,EAAA,GAAAd,CAAA;IAAA;IAbFO,EAAA,GAAAjC,IAAA,CAAA/B,cAAA;MAAAG,SAAA;MAAAC,QAAA,EAEY8D,UAAA;MAAA7D,UAAA,EACE8D,EAA2B;MAAAlE,EAAA,EACnCyD,IAAA,CAAAU,KAAA,CAAAnE,EAAA;MAAAM,SAAA,EACOqD,eAAA,KAAoBN,KAAA;MAAA9C,UAAA;MAAAC,OAAA,EAEtBiD,IAAA,CAAAjD,OAAA;MAAAC,OAAA,EACA2D,EAET;MAAA1D,SAAA,EACW4D,EAEX;MAAA1D,UAAA,EACY6C,IAAA,CAAAU,KAAA,CAAAK,GAAA;MAAA1D,KAAA,EACL2C,IAAA,CAAAU,KAAA,CAAAM,sBAAA;MAAAxE;IAAA,C;;;;;;;;;;;;;;SAfT8D,E","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useDroppable","getTranslation","React","DocumentIcon","ThreeDotsIcon","useConfig","useFolder","useTranslation","Popup","Thumbnail","ColoredFolderIcon","DraggableWithClick","baseClass","FolderFileCard","id","type","className","disabled","folderType","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","length","AssignedCollections","button","horizontalAlign","size","verticalAlign","config","i18n","collectionsDisplayText","useMemo","reduce","acc","collection","collectionConfig","collections","find","slug","labels","plural","map","label","index","ContextFolderFileCard","t0","$","item","checkIfItemIsDisabled","focusedRowIndex","onItemClick","onItemKeyPress","selectedItemKeys","t1","has","isDisabled","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 { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { DocumentIcon } from '../../../icons/Document/index.js'\nimport { ThreeDotsIcon } from '../../../icons/ThreeDots/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useTranslation } from '../../../providers/Translation/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 folderType?: string[]\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 folderType,\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 folderType,\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 <DraggableWithClick\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 disabled={disabled || (!onClick && !onKeyDown)}\n key={itemKey}\n onClick={onClick}\n onKeyDown={onKeyDown}\n ref={ref}\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 <div className={`${baseClass}__titlebar-labels`}>\n <p className={`${baseClass}__name`} title={title}>\n <span>{title}</span>\n </p>\n {folderType && folderType.length > 0 ? (\n <AssignedCollections folderType={folderType} />\n ) : null}\n </div>\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 </DraggableWithClick>\n )\n}\n\nfunction AssignedCollections({ folderType }: { folderType: string[] }) {\n const { config } = useConfig()\n const { i18n } = useTranslation()\n\n const collectionsDisplayText = React.useMemo(() => {\n return folderType.reduce((acc, collection) => {\n const collectionConfig = config.collections?.find((c) => c.slug === collection)\n if (collectionConfig) {\n return [...acc, getTranslation(collectionConfig.labels.plural, i18n)]\n }\n return acc\n }, [])\n }, [folderType, config.collections, i18n])\n\n return (\n <p className={`${baseClass}__assigned-collections`}>\n {collectionsDisplayText.map((label, index) => (\n <span key={label}>\n {label}\n {index < folderType.length - 1 ? ', ' : ''}\n </span>\n ))}\n </p>\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 { checkIfItemIsDisabled, focusedRowIndex, onItemClick, onItemKeyPress, selectedItemKeys } =\n useFolder()\n const isSelected = selectedItemKeys.has(item.itemKey)\n const isDisabled = checkIfItemIsDisabled(item)\n\n return (\n <FolderFileCard\n className={className}\n disabled={isDisabled}\n folderType={item.value.folderType || []}\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":[]}
|
|
@@ -163,7 +163,7 @@ function _temp(t0) {
|
|
|
163
163
|
return dispatch;
|
|
164
164
|
}
|
|
165
165
|
export const MoveDocToFolderButton = t0 => {
|
|
166
|
-
const $ = _c(
|
|
166
|
+
const $ = _c(22);
|
|
167
167
|
const {
|
|
168
168
|
buttonProps,
|
|
169
169
|
className,
|
|
@@ -197,32 +197,21 @@ export const MoveDocToFolderButton = t0 => {
|
|
|
197
197
|
slug: modalSlug,
|
|
198
198
|
depth: drawerDepth
|
|
199
199
|
});
|
|
200
|
+
const titleToRender = docTitle || getTranslation(getEntityConfig({
|
|
201
|
+
collectionSlug
|
|
202
|
+
}).labels.singular, i18n);
|
|
200
203
|
let t2;
|
|
201
|
-
if ($[20] !==
|
|
202
|
-
t2 =
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
$[20] = collectionSlug;
|
|
206
|
-
$[21] = docTitle;
|
|
207
|
-
$[22] = getEntityConfig;
|
|
208
|
-
$[23] = i18n;
|
|
209
|
-
$[24] = t2;
|
|
204
|
+
if ($[20] !== className) {
|
|
205
|
+
t2 = [baseClass, className].filter(Boolean);
|
|
206
|
+
$[20] = className;
|
|
207
|
+
$[21] = t2;
|
|
210
208
|
} else {
|
|
211
|
-
t2 = $[
|
|
212
|
-
}
|
|
213
|
-
const titleToRender = t2;
|
|
214
|
-
let t3;
|
|
215
|
-
if ($[25] !== className) {
|
|
216
|
-
t3 = [baseClass, className].filter(Boolean);
|
|
217
|
-
$[25] = className;
|
|
218
|
-
$[26] = t3;
|
|
219
|
-
} else {
|
|
220
|
-
t3 = $[26];
|
|
209
|
+
t2 = $[21];
|
|
221
210
|
}
|
|
222
211
|
t1 = _jsxs(_Fragment, {
|
|
223
212
|
children: [_jsx(Button, {
|
|
224
213
|
buttonStyle: "subtle",
|
|
225
|
-
className:
|
|
214
|
+
className: t2.join(" "),
|
|
226
215
|
icon: _jsx(FolderIcon, {}),
|
|
227
216
|
iconPosition: "left",
|
|
228
217
|
onClick: () => {
|
|
@@ -261,8 +250,8 @@ export const MoveDocToFolderButton = t0 => {
|
|
|
261
250
|
title: titleToRender
|
|
262
251
|
}));
|
|
263
252
|
}
|
|
264
|
-
} catch (
|
|
265
|
-
const _ =
|
|
253
|
+
} catch (t3) {
|
|
254
|
+
const _ = t3;
|
|
266
255
|
}
|
|
267
256
|
}
|
|
268
257
|
closeModal(drawerSlug);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","React","useId","toast","useForm","useFormFields","FolderIcon","useConfig","useDocumentInfo","useTranslation","Button","formatDrawerSlug","useDrawerDepth","MoveItemsToFolderDrawer","baseClass","MoveDocToFolder","t0","$","buttonProps","className","t1","folderCollectionSlug","folderFieldName","undefined","t","dispatchField","_temp","t2","t3","fields","currentParentFolder","fromFolderID","value","id","collectionSlug","initialData","title","setModified","fromFolderName","setFromFolderName","useState","config","modalID","t4","t5","routes","api","fetchFolderLabel","response","fetch","folderData","json","name","useEffect","t6","t7","t8","id_0","type","path","t9","_jsx","MoveDocToFolderButton","docData","docID","docTitle","modalSlug","onConfirm","skipConfirmModal","dispatch","getEntityConfig","i18n","closeModal","openModal","drawerDepth","drawerSlug","slug","depth","labels","singular","titleToRender","filter","Boolean","_jsxs","_Fragment","children","buttonStyle","join","icon","iconPosition","onClick","action","folderAssignedCollections","itemsToMove","itemKey","relationTo","args","success","folderName","_"],"sources":["../../../../src/elements/FolderView/MoveDocToFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug } from 'payload'\nimport type { FolderOrDocument } from 'payload/shared'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useId } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props as ButtonProps } from '../../Button/types.js'\n\nimport { useForm, useFormFields } from '../../../forms/Form/context.js'\nimport { FolderIcon } from '../../../icons/Folder/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { formatDrawerSlug, useDrawerDepth } from '../../Drawer/index.js'\nimport './index.scss'\nimport { MoveItemsToFolderDrawer } from '../Drawers/MoveToFolder/index.js'\n\nconst baseClass = 'move-doc-to-folder'\n\n/**\n * This is the button shown on the edit document view. It uses the more generic `MoveDocToFolderButton` component.\n */\nexport function MoveDocToFolder({\n buttonProps,\n className = '',\n folderCollectionSlug,\n folderFieldName,\n}: {\n readonly buttonProps?: Partial<ButtonProps>\n readonly className?: string\n readonly folderCollectionSlug: string\n readonly folderFieldName: string\n}) {\n const { t } = useTranslation()\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n const currentParentFolder = useFormFields(\n ([fields]) => (fields && fields?.[folderFieldName]) || null,\n )\n const fromFolderID = currentParentFolder?.value\n const { id, collectionSlug, initialData, title } = useDocumentInfo()\n const { setModified } = useForm()\n const [fromFolderName, setFromFolderName] = React.useState(() => `${t('general:loading')}...`)\n\n const { config } = useConfig()\n const modalID = useId()\n\n React.useEffect(() => {\n async function fetchFolderLabel() {\n if (fromFolderID && (typeof fromFolderID === 'string' || typeof fromFolderID === 'number')) {\n const response = await fetch(`${config.routes.api}/${folderCollectionSlug}/${fromFolderID}`)\n const folderData = await response.json()\n setFromFolderName(folderData?.name || t('folder:noFolder'))\n } else {\n setFromFolderName(t('folder:noFolder'))\n }\n }\n\n void fetchFolderLabel()\n }, [folderCollectionSlug, config.routes.api, fromFolderID, t])\n\n return (\n <MoveDocToFolderButton\n buttonProps={buttonProps}\n className={className}\n collectionSlug={collectionSlug}\n docData={initialData as FolderOrDocument['value']}\n docID={id}\n docTitle={title}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={fromFolderID as number | string}\n fromFolderName={fromFolderName}\n modalSlug={`move-to-folder-${modalID}`}\n onConfirm={({ id }) => {\n if (currentParentFolder.value !== id) {\n dispatchField({\n type: 'UPDATE',\n path: folderFieldName,\n value: id,\n })\n setModified(true)\n }\n }}\n skipConfirmModal={!currentParentFolder?.value}\n />\n )\n}\n\ntype MoveDocToFolderButtonProps = {\n readonly buttonProps?: Partial<ButtonProps>\n readonly className?: string\n readonly collectionSlug: string\n readonly docData: FolderOrDocument['value']\n readonly docID: number | string\n readonly docTitle?: string\n readonly folderCollectionSlug: string\n readonly folderFieldName: string\n readonly fromFolderID?: number | string\n readonly fromFolderName: string\n readonly modalSlug: string\n readonly onConfirm?: (args: { id: number | string; name: string }) => Promise<void> | void\n readonly skipConfirmModal?: boolean\n}\n\n/**\n * This is a more generic button that can be used in other contexts, such as table cells and the edit view.\n */\nexport const MoveDocToFolderButton = ({\n buttonProps,\n className,\n collectionSlug,\n docData,\n docID,\n docTitle,\n folderCollectionSlug,\n folderFieldName,\n fromFolderID,\n fromFolderName,\n modalSlug,\n onConfirm,\n skipConfirmModal,\n}: MoveDocToFolderButtonProps) => {\n const { getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const { closeModal, openModal } = useModal()\n const drawerDepth = useDrawerDepth()\n const drawerSlug = formatDrawerSlug({ slug: modalSlug, depth: drawerDepth })\n\n const titleToRender =\n docTitle || getTranslation(getEntityConfig({ collectionSlug }).labels.singular, i18n)\n\n return (\n <>\n <Button\n buttonStyle=\"subtle\"\n className={[baseClass, className].filter(Boolean).join(' ')}\n icon={<FolderIcon />}\n iconPosition=\"left\"\n onClick={() => {\n openModal(drawerSlug)\n }}\n {...buttonProps}\n >\n {fromFolderName}\n </Button>\n\n <MoveItemsToFolderDrawer\n action=\"moveItemToFolder\"\n drawerSlug={drawerSlug}\n //todo this should inherit\n folderAssignedCollections={[collectionSlug]}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={fromFolderID}\n fromFolderName={fromFolderName}\n itemsToMove={[\n {\n itemKey: `${collectionSlug}-${docID}`,\n relationTo: collectionSlug,\n value: { ...docData, id: docID },\n },\n ]}\n onConfirm={async (args) => {\n if (fromFolderID !== args.id && typeof onConfirm === 'function') {\n try {\n await onConfirm(args)\n\n if (args.id) {\n // moved to folder\n toast.success(\n t('folder:itemHasBeenMoved', {\n folderName: `\"${args.name}\"`,\n title: titleToRender,\n }),\n )\n } else {\n // moved to root\n toast.success(\n t('folder:itemHasBeenMovedToRoot', {\n title: titleToRender,\n }),\n )\n }\n } catch (_) {\n // todo: add error toast?\n }\n }\n\n closeModal(drawerSlug)\n }}\n skipConfirmModal={skipConfirmModal}\n title={titleToRender}\n />\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","React","useId","toast","useForm","useFormFields","FolderIcon","useConfig","useDocumentInfo","useTranslation","Button","formatDrawerSlug","useDrawerDepth","MoveItemsToFolderDrawer","baseClass","MoveDocToFolder","t0","$","buttonProps","className","t1","folderCollectionSlug","folderFieldName","undefined","t","dispatchField","_temp","t2","t3","fields","currentParentFolder","fromFolderID","value","id","collectionSlug","initialData","title","setModified","fromFolderName","setFromFolderName","useState","config","modalID","t4","t5","routes","api","fetchFolderLabel","response","fetch","folderData","json","name","useEffect","t6","t7","t8","id_0","type","path","t9","_jsx","MoveDocToFolderButton","docData","docID","docTitle","modalSlug","onConfirm","skipConfirmModal","dispatch","getEntityConfig","i18n","closeModal","openModal","drawerDepth","drawerSlug","slug","depth","titleToRender","labels","singular","filter","Boolean","_jsxs","_Fragment","children","buttonStyle","join","icon","iconPosition","onClick","action","folderAssignedCollections","itemsToMove","itemKey","relationTo","args","success","folderName","_"],"sources":["../../../../src/elements/FolderView/MoveDocToFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug } from 'payload'\nimport type { FolderOrDocument } from 'payload/shared'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useId } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props as ButtonProps } from '../../Button/types.js'\n\nimport { useForm, useFormFields } from '../../../forms/Form/context.js'\nimport { FolderIcon } from '../../../icons/Folder/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { formatDrawerSlug, useDrawerDepth } from '../../Drawer/index.js'\nimport './index.scss'\nimport { MoveItemsToFolderDrawer } from '../Drawers/MoveToFolder/index.js'\n\nconst baseClass = 'move-doc-to-folder'\n\n/**\n * This is the button shown on the edit document view. It uses the more generic `MoveDocToFolderButton` component.\n */\nexport function MoveDocToFolder({\n buttonProps,\n className = '',\n folderCollectionSlug,\n folderFieldName,\n}: {\n readonly buttonProps?: Partial<ButtonProps>\n readonly className?: string\n readonly folderCollectionSlug: string\n readonly folderFieldName: string\n}) {\n const { t } = useTranslation()\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n const currentParentFolder = useFormFields(\n ([fields]) => (fields && fields?.[folderFieldName]) || null,\n )\n const fromFolderID = currentParentFolder?.value\n const { id, collectionSlug, initialData, title } = useDocumentInfo()\n const { setModified } = useForm()\n const [fromFolderName, setFromFolderName] = React.useState(() => `${t('general:loading')}...`)\n\n const { config } = useConfig()\n const modalID = useId()\n\n React.useEffect(() => {\n async function fetchFolderLabel() {\n if (fromFolderID && (typeof fromFolderID === 'string' || typeof fromFolderID === 'number')) {\n const response = await fetch(`${config.routes.api}/${folderCollectionSlug}/${fromFolderID}`)\n const folderData = await response.json()\n setFromFolderName(folderData?.name || t('folder:noFolder'))\n } else {\n setFromFolderName(t('folder:noFolder'))\n }\n }\n\n void fetchFolderLabel()\n }, [folderCollectionSlug, config.routes.api, fromFolderID, t])\n\n return (\n <MoveDocToFolderButton\n buttonProps={buttonProps}\n className={className}\n collectionSlug={collectionSlug}\n docData={initialData as FolderOrDocument['value']}\n docID={id}\n docTitle={title}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={fromFolderID as number | string}\n fromFolderName={fromFolderName}\n modalSlug={`move-to-folder-${modalID}`}\n onConfirm={({ id }) => {\n if (currentParentFolder.value !== id) {\n dispatchField({\n type: 'UPDATE',\n path: folderFieldName,\n value: id,\n })\n setModified(true)\n }\n }}\n skipConfirmModal={!currentParentFolder?.value}\n />\n )\n}\n\ntype MoveDocToFolderButtonProps = {\n readonly buttonProps?: Partial<ButtonProps>\n readonly className?: string\n readonly collectionSlug: string\n readonly docData: FolderOrDocument['value']\n readonly docID: number | string\n readonly docTitle?: string\n readonly folderCollectionSlug: string\n readonly folderFieldName: string\n readonly fromFolderID?: number | string\n readonly fromFolderName: string\n readonly modalSlug: string\n readonly onConfirm?: (args: { id: number | string; name: string }) => Promise<void> | void\n readonly skipConfirmModal?: boolean\n}\n\n/**\n * This is a more generic button that can be used in other contexts, such as table cells and the edit view.\n */\nexport const MoveDocToFolderButton = ({\n buttonProps,\n className,\n collectionSlug,\n docData,\n docID,\n docTitle,\n folderCollectionSlug,\n folderFieldName,\n fromFolderID,\n fromFolderName,\n modalSlug,\n onConfirm,\n skipConfirmModal,\n}: MoveDocToFolderButtonProps) => {\n const { getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const { closeModal, openModal } = useModal()\n const drawerDepth = useDrawerDepth()\n const drawerSlug = formatDrawerSlug({ slug: modalSlug, depth: drawerDepth })\n\n const titleToRender =\n docTitle || getTranslation(getEntityConfig({ collectionSlug }).labels.singular, i18n)\n\n return (\n <>\n <Button\n buttonStyle=\"subtle\"\n className={[baseClass, className].filter(Boolean).join(' ')}\n icon={<FolderIcon />}\n iconPosition=\"left\"\n onClick={() => {\n openModal(drawerSlug)\n }}\n {...buttonProps}\n >\n {fromFolderName}\n </Button>\n\n <MoveItemsToFolderDrawer\n action=\"moveItemToFolder\"\n drawerSlug={drawerSlug}\n //todo this should inherit\n folderAssignedCollections={[collectionSlug]}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={fromFolderID}\n fromFolderName={fromFolderName}\n itemsToMove={[\n {\n itemKey: `${collectionSlug}-${docID}`,\n relationTo: collectionSlug,\n value: { ...docData, id: docID },\n },\n ]}\n onConfirm={async (args) => {\n if (fromFolderID !== args.id && typeof onConfirm === 'function') {\n try {\n await onConfirm(args)\n\n if (args.id) {\n // moved to folder\n toast.success(\n t('folder:itemHasBeenMoved', {\n folderName: `\"${args.name}\"`,\n title: titleToRender,\n }),\n )\n } else {\n // moved to root\n toast.success(\n t('folder:itemHasBeenMovedToRoot', {\n title: titleToRender,\n }),\n )\n }\n } catch (_) {\n // todo: add error toast?\n }\n }\n\n closeModal(drawerSlug)\n }}\n skipConfirmModal={skipConfirmModal}\n title={titleToRender}\n />\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,33 +6,23 @@ import { Modal } from '@faceless-ui/modal';
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { useEditDepth } from '../../providers/EditDepth/index.js';
|
|
8
8
|
export function FullscreenModal(props) {
|
|
9
|
-
const $ = _c(
|
|
9
|
+
const $ = _c(3);
|
|
10
10
|
const currentDepth = useEditDepth();
|
|
11
11
|
let t0;
|
|
12
|
-
if ($[0] !== props
|
|
13
|
-
t0 =
|
|
14
|
-
$[0] = props.style;
|
|
15
|
-
$[1] = t0;
|
|
16
|
-
} else {
|
|
17
|
-
t0 = $[1];
|
|
18
|
-
}
|
|
19
|
-
const t1 = `calc(100 + ${currentDepth || 0} + 1)`;
|
|
20
|
-
let t2;
|
|
21
|
-
if ($[2] !== props || $[3] !== t0 || $[4] !== t1) {
|
|
22
|
-
t2 = _jsx(Modal, {
|
|
12
|
+
if ($[0] !== currentDepth || $[1] !== props) {
|
|
13
|
+
t0 = _jsx(Modal, {
|
|
23
14
|
...props,
|
|
24
15
|
style: {
|
|
25
|
-
...
|
|
26
|
-
zIndex:
|
|
16
|
+
...(props.style || {}),
|
|
17
|
+
zIndex: `calc(100 + ${currentDepth || 0} + 1)`
|
|
27
18
|
}
|
|
28
19
|
});
|
|
29
|
-
$[
|
|
30
|
-
$[
|
|
31
|
-
$[
|
|
32
|
-
$[5] = t2;
|
|
20
|
+
$[0] = currentDepth;
|
|
21
|
+
$[1] = props;
|
|
22
|
+
$[2] = t0;
|
|
33
23
|
} else {
|
|
34
|
-
|
|
24
|
+
t0 = $[2];
|
|
35
25
|
}
|
|
36
|
-
return
|
|
26
|
+
return t0;
|
|
37
27
|
}
|
|
38
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","Modal","React","useEditDepth","FullscreenModal","props","$","currentDepth","t0","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","Modal","React","useEditDepth","FullscreenModal","props","$","currentDepth","t0","_jsx","style","zIndex"],"sources":["../../../src/elements/FullscreenModal/index.tsx"],"sourcesContent":["'use client'\nimport type { Modal as ModalType } from '@faceless-ui/modal'\n\nimport { Modal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\n\nexport function FullscreenModal(props: Parameters<typeof ModalType>[0]) {\n const currentDepth = useEditDepth()\n\n return (\n <Modal\n {...props}\n style={{\n ...(props.style || {}),\n zIndex: `calc(100 + ${currentDepth || 0} + 1)`,\n }}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,KAAK,QAAQ;AACtB,OAAOC,KAAA,MAAW;AAElB,SAASC,YAAY,QAAQ;AAE7B,OAAO,SAAAC,gBAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EACL,MAAAO,YAAA,GAAqBJ,YAAA;EAAA,IAAAK,EAAA;EAAA,IAAAF,CAAA,QAAAC,YAAA,IAAAD,CAAA,QAAAD,KAAA;IAGnBG,EAAA,GAAAC,IAAA,CAAAR,KAAA;MAAA,GACMI,KAAK;MAAAK,KAAA;QAAA,IAEHL,KAAA,CAAAK,KAAA,MAAiB;QAAAC,MAAA,EACb,cAAcJ,YAAA,KAAgB;MAAQ;IAAA,C;;;;;;;SAJlDC,E","ignoreList":[]}
|
|
@@ -183,9 +183,8 @@ export const useListDrawer = t0 => {
|
|
|
183
183
|
}
|
|
184
184
|
const openDrawer = t9;
|
|
185
185
|
let t10;
|
|
186
|
-
let t11;
|
|
187
186
|
if ($[21] !== closeDrawer || $[22] !== collectionSlugs || $[23] !== drawerSlug || $[24] !== filterOptions || $[25] !== selectedCollection || $[26] !== uploads) {
|
|
188
|
-
|
|
187
|
+
t10 = props => _createElement(ListDrawer, {
|
|
189
188
|
...props,
|
|
190
189
|
closeDrawer,
|
|
191
190
|
collectionSlugs,
|
|
@@ -201,30 +200,26 @@ export const useListDrawer = t0 => {
|
|
|
201
200
|
$[24] = filterOptions;
|
|
202
201
|
$[25] = selectedCollection;
|
|
203
202
|
$[26] = uploads;
|
|
204
|
-
$[27] =
|
|
203
|
+
$[27] = t10;
|
|
205
204
|
} else {
|
|
206
|
-
|
|
205
|
+
t10 = $[27];
|
|
207
206
|
}
|
|
208
|
-
t10 = t11;
|
|
209
207
|
const MemoizedDrawer = t10;
|
|
210
|
-
let
|
|
211
|
-
let t13;
|
|
208
|
+
let t11;
|
|
212
209
|
if ($[28] !== drawerSlug) {
|
|
213
|
-
|
|
210
|
+
t11 = props_0 => _jsx(ListDrawerToggler, {
|
|
214
211
|
...props_0,
|
|
215
212
|
drawerSlug
|
|
216
213
|
});
|
|
217
214
|
$[28] = drawerSlug;
|
|
218
|
-
$[29] =
|
|
215
|
+
$[29] = t11;
|
|
219
216
|
} else {
|
|
220
|
-
|
|
217
|
+
t11 = $[29];
|
|
221
218
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
let t14;
|
|
225
|
-
let t15;
|
|
219
|
+
const MemoizedDrawerToggler = t11;
|
|
220
|
+
let t12;
|
|
226
221
|
if ($[30] !== closeDrawer || $[31] !== collectionSlugs || $[32] !== drawerDepth || $[33] !== drawerSlug || $[34] !== isOpen || $[35] !== openDrawer || $[36] !== toggleDrawer) {
|
|
227
|
-
|
|
222
|
+
t12 = {
|
|
228
223
|
closeDrawer,
|
|
229
224
|
collectionSlugs,
|
|
230
225
|
drawerDepth,
|
|
@@ -241,23 +236,22 @@ export const useListDrawer = t0 => {
|
|
|
241
236
|
$[34] = isOpen;
|
|
242
237
|
$[35] = openDrawer;
|
|
243
238
|
$[36] = toggleDrawer;
|
|
244
|
-
$[37] =
|
|
239
|
+
$[37] = t12;
|
|
245
240
|
} else {
|
|
246
|
-
|
|
241
|
+
t12 = $[37];
|
|
247
242
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
let t16;
|
|
243
|
+
const MemoizedDrawerState = t12;
|
|
244
|
+
let t13;
|
|
251
245
|
if ($[38] !== MemoizedDrawer || $[39] !== MemoizedDrawerState || $[40] !== MemoizedDrawerToggler) {
|
|
252
|
-
|
|
246
|
+
t13 = [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState];
|
|
253
247
|
$[38] = MemoizedDrawer;
|
|
254
248
|
$[39] = MemoizedDrawerState;
|
|
255
249
|
$[40] = MemoizedDrawerToggler;
|
|
256
|
-
$[41] =
|
|
250
|
+
$[41] = t13;
|
|
257
251
|
} else {
|
|
258
|
-
|
|
252
|
+
t13 = $[41];
|
|
259
253
|
}
|
|
260
|
-
return
|
|
254
|
+
return t13;
|
|
261
255
|
};
|
|
262
256
|
function _temp(t0) {
|
|
263
257
|
const {
|