@payloadcms/ui 3.56.0-internal.72f4fd2 → 3.56.0
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 +4 -18
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +173 -74
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +155 -67
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/Collapsible/index.js +15 -7
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +44 -8
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +97 -89
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +22 -2
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +47 -32
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +83 -47
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +55 -27
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +10 -2
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +99 -47
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +57 -23
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +21 -3
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +31 -24
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +225 -149
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +27 -19
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +23 -12
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +20 -10
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +24 -18
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +32 -19
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListSelection/index.js +27 -11
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +146 -65
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +11 -2
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +102 -46
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +36 -23
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +139 -41
- 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 +40 -39
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +12 -20
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +30 -21
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +37 -9
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +37 -35
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +27 -12
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +75 -35
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +26 -17
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js +127 -51
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Upload/index.js +10 -2
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +44 -31
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-RHQXPDK5.js → CodeEditor-4J4OH4TD.js} +2 -2
- package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-NMDEHPWL.js} +2 -2
- package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-7RGKTZG2.js} +1 -1
- package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-7RGKTZG2.js.map} +1 -1
- package/dist/exports/client/chunk-HBCG32CP.js +26 -0
- package/dist/exports/client/{chunk-FKP64OEZ.js.map → chunk-HBCG32CP.js.map} +4 -4
- package/dist/exports/client/index.d.ts +4 -5
- 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 +0 -1
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +0 -1
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts +3 -2
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +23 -13
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +477 -273
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +19 -2
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/FieldError/index.js +29 -30
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +64 -12
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +1 -1
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +8 -0
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +103 -45
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +44 -29
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.d.ts +3 -1
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +31 -18
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +11 -2
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +1 -2
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +225 -185
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +127 -79
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/Form/createNestedClientFieldPath.js +1 -1
- package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +8 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +237 -245
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/context.d.ts +29 -0
- package/dist/forms/RenderFields/context.d.ts.map +1 -1
- package/dist/forms/RenderFields/context.js +30 -2
- package/dist/forms/RenderFields/context.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +10 -2
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/useField/index.d.ts +0 -5
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +45 -74
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/hooks/useIntersect.js +53 -35
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +44 -36
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/providers/Config/index.d.ts +17 -2
- package/dist/providers/Config/index.d.ts.map +1 -1
- package/dist/providers/Config/index.js +57 -20
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/Folders/index.d.ts.map +1 -1
- package/dist/providers/Folders/index.js +24 -13
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +1 -4
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +0 -13
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +2 -1
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/reduceFieldsToOptions.d.ts +1 -1
- package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToOptions.js +7 -12
- package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +55 -37
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +40 -13
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +105 -93
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/package.json +8 -8
- package/dist/exports/client/chunk-FKP64OEZ.js +0 -26
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +0 -35
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +0 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +0 -83
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +0 -1
- /package/dist/exports/client/{CodeEditor-RHQXPDK5.js.map → CodeEditor-4J4OH4TD.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-F432AIH3.js.map → DatePicker-NMDEHPWL.js.map} +0 -0
|
@@ -127,7 +127,7 @@ function AssignedCollections({
|
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
129
|
export function ContextFolderFileCard(t0) {
|
|
130
|
-
const $ = _c(
|
|
130
|
+
const $ = _c(20);
|
|
131
131
|
const {
|
|
132
132
|
type,
|
|
133
133
|
className,
|
|
@@ -146,47 +146,55 @@ 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] !==
|
|
150
|
-
t2 =
|
|
149
|
+
if ($[10] !== item.value.folderType) {
|
|
150
|
+
t2 = item.value.folderType || [];
|
|
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 => {
|
|
151
159
|
onItemClick({
|
|
152
160
|
event,
|
|
153
161
|
index,
|
|
154
162
|
item
|
|
155
163
|
});
|
|
156
164
|
};
|
|
157
|
-
$[
|
|
158
|
-
$[
|
|
159
|
-
$[
|
|
160
|
-
$[
|
|
165
|
+
$[12] = index;
|
|
166
|
+
$[13] = item;
|
|
167
|
+
$[14] = onItemClick;
|
|
168
|
+
$[15] = t3;
|
|
161
169
|
} else {
|
|
162
|
-
|
|
170
|
+
t3 = $[15];
|
|
163
171
|
}
|
|
164
|
-
let
|
|
165
|
-
if ($[
|
|
166
|
-
|
|
172
|
+
let t4;
|
|
173
|
+
if ($[16] !== index || $[17] !== item || $[18] !== onItemKeyPress) {
|
|
174
|
+
t4 = event_0 => {
|
|
167
175
|
onItemKeyPress({
|
|
168
176
|
event: event_0,
|
|
169
177
|
index,
|
|
170
178
|
item
|
|
171
179
|
});
|
|
172
180
|
};
|
|
173
|
-
$[
|
|
174
|
-
$[
|
|
175
|
-
$[
|
|
176
|
-
$[
|
|
181
|
+
$[16] = index;
|
|
182
|
+
$[17] = item;
|
|
183
|
+
$[18] = onItemKeyPress;
|
|
184
|
+
$[19] = t4;
|
|
177
185
|
} else {
|
|
178
|
-
|
|
186
|
+
t4 = $[19];
|
|
179
187
|
}
|
|
180
188
|
t1 = _jsx(FolderFileCard, {
|
|
181
189
|
className,
|
|
182
190
|
disabled: isDisabled,
|
|
183
|
-
folderType:
|
|
191
|
+
folderType: t2,
|
|
184
192
|
id: item.value.id,
|
|
185
193
|
isFocused: focusedRowIndex === index,
|
|
186
194
|
isSelected,
|
|
187
195
|
itemKey: item.itemKey,
|
|
188
|
-
onClick:
|
|
189
|
-
onKeyDown:
|
|
196
|
+
onClick: t3,
|
|
197
|
+
onKeyDown: t4,
|
|
190
198
|
previewUrl: item.value.url,
|
|
191
199
|
title: item.value._folderOrDocumentTitle,
|
|
192
200
|
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","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":[]}
|
|
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":"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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(27);
|
|
167
167
|
const {
|
|
168
168
|
buttonProps,
|
|
169
169
|
className,
|
|
@@ -197,21 +197,32 @@ 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);
|
|
203
200
|
let t2;
|
|
204
|
-
if ($[20] !==
|
|
205
|
-
t2 =
|
|
206
|
-
|
|
207
|
-
|
|
201
|
+
if ($[20] !== collectionSlug || $[21] !== docTitle || $[22] !== getEntityConfig || $[23] !== i18n) {
|
|
202
|
+
t2 = docTitle || getTranslation(getEntityConfig({
|
|
203
|
+
collectionSlug
|
|
204
|
+
}).labels.singular, i18n);
|
|
205
|
+
$[20] = collectionSlug;
|
|
206
|
+
$[21] = docTitle;
|
|
207
|
+
$[22] = getEntityConfig;
|
|
208
|
+
$[23] = i18n;
|
|
209
|
+
$[24] = t2;
|
|
208
210
|
} else {
|
|
209
|
-
t2 = $[
|
|
211
|
+
t2 = $[24];
|
|
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];
|
|
210
221
|
}
|
|
211
222
|
t1 = _jsxs(_Fragment, {
|
|
212
223
|
children: [_jsx(Button, {
|
|
213
224
|
buttonStyle: "subtle",
|
|
214
|
-
className:
|
|
225
|
+
className: t3.join(" "),
|
|
215
226
|
icon: _jsx(FolderIcon, {}),
|
|
216
227
|
iconPosition: "left",
|
|
217
228
|
onClick: () => {
|
|
@@ -250,8 +261,8 @@ export const MoveDocToFolderButton = t0 => {
|
|
|
250
261
|
title: titleToRender
|
|
251
262
|
}));
|
|
252
263
|
}
|
|
253
|
-
} catch (
|
|
254
|
-
const _ =
|
|
264
|
+
} catch (t4) {
|
|
265
|
+
const _ = t4;
|
|
255
266
|
}
|
|
256
267
|
}
|
|
257
268
|
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","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":[]}
|
|
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":[]}
|
|
@@ -6,23 +6,33 @@ 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(6);
|
|
10
10
|
const currentDepth = useEditDepth();
|
|
11
11
|
let t0;
|
|
12
|
-
if ($[0] !==
|
|
13
|
-
t0 =
|
|
12
|
+
if ($[0] !== props.style) {
|
|
13
|
+
t0 = props.style || {};
|
|
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, {
|
|
14
23
|
...props,
|
|
15
24
|
style: {
|
|
16
|
-
...
|
|
17
|
-
zIndex:
|
|
25
|
+
...t0,
|
|
26
|
+
zIndex: t1
|
|
18
27
|
}
|
|
19
28
|
});
|
|
20
|
-
$[
|
|
21
|
-
$[
|
|
22
|
-
$[
|
|
29
|
+
$[2] = props;
|
|
30
|
+
$[3] = t0;
|
|
31
|
+
$[4] = t1;
|
|
32
|
+
$[5] = t2;
|
|
23
33
|
} else {
|
|
24
|
-
|
|
34
|
+
t2 = $[5];
|
|
25
35
|
}
|
|
26
|
-
return
|
|
36
|
+
return t2;
|
|
27
37
|
}
|
|
28
38
|
//# 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","style","t1","t2","_jsx","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,QAAAD,KAAA,CAAAI,KAAA;IAMXD,EAAA,GAAAH,KAAA,CAAAI,KAAA,MAAiB;IAAAH,CAAA,MAAAD,KAAA,CAAAI,KAAA;IAAAH,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EACb,MAAAI,EAAA,iBAAcH,YAAA,KAAgB,OAAQ;EAAA,IAAAI,EAAA;EAAA,IAAAL,CAAA,QAAAD,KAAA,IAAAC,CAAA,QAAAE,EAAA,IAAAF,CAAA,QAAAI,EAAA;IAJlDC,EAAA,GAAAC,IAAA,CAAAX,KAAA;MAAA,GACMI,KAAK;MAAAI,KAAA;QAAA,GAEHD,EAAiB;QAAAK,MAAA,EACbH;MAAsC;IAAA,C;;;;;;;;SAJlDC,E","ignoreList":[]}
|
|
@@ -183,8 +183,9 @@ export const useListDrawer = t0 => {
|
|
|
183
183
|
}
|
|
184
184
|
const openDrawer = t9;
|
|
185
185
|
let t10;
|
|
186
|
+
let t11;
|
|
186
187
|
if ($[21] !== closeDrawer || $[22] !== collectionSlugs || $[23] !== drawerSlug || $[24] !== filterOptions || $[25] !== selectedCollection || $[26] !== uploads) {
|
|
187
|
-
|
|
188
|
+
t11 = props => _createElement(ListDrawer, {
|
|
188
189
|
...props,
|
|
189
190
|
closeDrawer,
|
|
190
191
|
collectionSlugs,
|
|
@@ -200,26 +201,30 @@ export const useListDrawer = t0 => {
|
|
|
200
201
|
$[24] = filterOptions;
|
|
201
202
|
$[25] = selectedCollection;
|
|
202
203
|
$[26] = uploads;
|
|
203
|
-
$[27] =
|
|
204
|
+
$[27] = t11;
|
|
204
205
|
} else {
|
|
205
|
-
|
|
206
|
+
t11 = $[27];
|
|
206
207
|
}
|
|
208
|
+
t10 = t11;
|
|
207
209
|
const MemoizedDrawer = t10;
|
|
208
|
-
let
|
|
210
|
+
let t12;
|
|
211
|
+
let t13;
|
|
209
212
|
if ($[28] !== drawerSlug) {
|
|
210
|
-
|
|
213
|
+
t13 = props_0 => _jsx(ListDrawerToggler, {
|
|
211
214
|
...props_0,
|
|
212
215
|
drawerSlug
|
|
213
216
|
});
|
|
214
217
|
$[28] = drawerSlug;
|
|
215
|
-
$[29] =
|
|
218
|
+
$[29] = t13;
|
|
216
219
|
} else {
|
|
217
|
-
|
|
220
|
+
t13 = $[29];
|
|
218
221
|
}
|
|
219
|
-
|
|
220
|
-
|
|
222
|
+
t12 = t13;
|
|
223
|
+
const MemoizedDrawerToggler = t12;
|
|
224
|
+
let t14;
|
|
225
|
+
let t15;
|
|
221
226
|
if ($[30] !== closeDrawer || $[31] !== collectionSlugs || $[32] !== drawerDepth || $[33] !== drawerSlug || $[34] !== isOpen || $[35] !== openDrawer || $[36] !== toggleDrawer) {
|
|
222
|
-
|
|
227
|
+
t15 = {
|
|
223
228
|
closeDrawer,
|
|
224
229
|
collectionSlugs,
|
|
225
230
|
drawerDepth,
|
|
@@ -236,22 +241,23 @@ export const useListDrawer = t0 => {
|
|
|
236
241
|
$[34] = isOpen;
|
|
237
242
|
$[35] = openDrawer;
|
|
238
243
|
$[36] = toggleDrawer;
|
|
239
|
-
$[37] =
|
|
244
|
+
$[37] = t15;
|
|
240
245
|
} else {
|
|
241
|
-
|
|
246
|
+
t15 = $[37];
|
|
242
247
|
}
|
|
243
|
-
|
|
244
|
-
|
|
248
|
+
t14 = t15;
|
|
249
|
+
const MemoizedDrawerState = t14;
|
|
250
|
+
let t16;
|
|
245
251
|
if ($[38] !== MemoizedDrawer || $[39] !== MemoizedDrawerState || $[40] !== MemoizedDrawerToggler) {
|
|
246
|
-
|
|
252
|
+
t16 = [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState];
|
|
247
253
|
$[38] = MemoizedDrawer;
|
|
248
254
|
$[39] = MemoizedDrawerState;
|
|
249
255
|
$[40] = MemoizedDrawerToggler;
|
|
250
|
-
$[41] =
|
|
256
|
+
$[41] = t16;
|
|
251
257
|
} else {
|
|
252
|
-
|
|
258
|
+
t16 = $[41];
|
|
253
259
|
}
|
|
254
|
-
return
|
|
260
|
+
return t16;
|
|
255
261
|
};
|
|
256
262
|
function _temp(t0) {
|
|
257
263
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","onClick","rest","_jsx","filter","Boolean","join","slug","ListDrawer","props","gutter","Header","useListDrawer","t0","$","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","config","t1","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","t2","t3","t4","t5","t6","length","filteredCollectionSlugs","t7","upload","map","_temp","toggleDrawer","t8","closeDrawer","t9","openDrawer","t10","_createElement","key","MemoizedDrawer","t11","props_0","MemoizedDrawerToggler","t12","isDrawerOpen","MemoizedDrawerState","t13"],"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\n\nexport const baseClass = 'list-drawer'\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n onClick,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n onClick={onClick}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer className={baseClass} gutter={false} Header={null} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\n/**\n * Returns an array containing the ListDrawer component, the ListDrawerToggler component, and an object with state and methods for controlling the drawer.\n * @example\n * import { useListDrawer } from '@payloadcms/ui'\n *\n * // inside a React component\n * const [ListDrawer, ListDrawerToggler, { closeDrawer, openDrawer }] = useListDrawer({\n * collectionSlugs: ['users'],\n * selectedCollection: 'users',\n * })\n *\n * // inside the return statement\n * return (\n * <>\n * <ListDrawer />\n * <ListDrawerToggler onClick={openDrawer}>Open List Drawer</ListDrawerToggler>\n * </>\n * )\n */\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n collectionSlugs,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n setCollectionSlugs,\n toggleDrawer,\n }),\n [\n drawerDepth,\n drawerSlug,\n isOpen,\n toggleDrawer,\n closeDrawer,\n openDrawer,\n setCollectionSlugs,\n collectionSlugs,\n ],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","onClick","rest","_jsx","filter","Boolean","join","slug","ListDrawer","props","gutter","Header","useListDrawer","t0","$","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","config","t1","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","t2","t3","t4","t5","t6","length","filteredCollectionSlugs","t7","upload","map","_temp","toggleDrawer","t8","closeDrawer","t9","openDrawer","t10","t11","_createElement","key","MemoizedDrawer","t12","t13","props_0","MemoizedDrawerToggler","t14","t15","isDrawerOpen","MemoizedDrawerState","t16"],"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\n\nexport const baseClass = 'list-drawer'\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n onClick,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n onClick={onClick}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer className={baseClass} gutter={false} Header={null} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\n/**\n * Returns an array containing the ListDrawer component, the ListDrawerToggler component, and an object with state and methods for controlling the drawer.\n * @example\n * import { useListDrawer } from '@payloadcms/ui'\n *\n * // inside a React component\n * const [ListDrawer, ListDrawerToggler, { closeDrawer, openDrawer }] = useListDrawer({\n * collectionSlugs: ['users'],\n * selectedCollection: 'users',\n * })\n *\n * // inside the return statement\n * return (\n * <>\n * <ListDrawer />\n * <ListDrawerToggler onClick={openDrawer}>Open List Drawer</ListDrawerToggler>\n * </>\n * )\n */\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n collectionSlugs,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n setCollectionSlugs,\n toggleDrawer,\n }),\n [\n drawerDepth,\n drawerSlug,\n isOpen,\n toggleDrawer,\n closeDrawer,\n openDrawer,\n setCollectionSlugs,\n collectionSlugs,\n ],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ import { DocumentDrawer, useDocumentDrawer } from '../../DocumentDrawer/index.js
|
|
|
13
13
|
import { Popup, PopupList } from '../../Popup/index.js';
|
|
14
14
|
const baseClass = 'create-new-doc-in-folder';
|
|
15
15
|
export function ListCreateNewDocInFolderButton(t0) {
|
|
16
|
-
const $ = _c(
|
|
16
|
+
const $ = _c(29);
|
|
17
17
|
const {
|
|
18
18
|
buttonLabel,
|
|
19
19
|
collectionSlugs,
|
|
@@ -80,6 +80,36 @@ export function ListCreateNewDocInFolderButton(t0) {
|
|
|
80
80
|
}
|
|
81
81
|
let t4;
|
|
82
82
|
if ($[5] !== FolderDocumentDrawer || $[6] !== buttonLabel || $[7] !== closeFolderDrawer || $[8] !== closeModal || $[9] !== collectionSlugs || $[10] !== createCollectionSlug || $[11] !== enabledCollections || $[12] !== folderAssignedCollections || $[13] !== folderCollectionConfig.slug || $[14] !== folderFieldName || $[15] !== folderID || $[16] !== i18n || $[17] !== newDocInFolderDrawerSlug || $[18] !== onCreateSuccess || $[19] !== openFolderDrawer || $[20] !== openModal) {
|
|
83
|
+
let t5;
|
|
84
|
+
if ($[22] !== closeModal || $[23] !== createCollectionSlug || $[24] !== folderFieldName || $[25] !== folderID || $[26] !== newDocInFolderDrawerSlug || $[27] !== onCreateSuccess) {
|
|
85
|
+
t5 = createCollectionSlug && _jsx(DocumentDrawer, {
|
|
86
|
+
collectionSlug: createCollectionSlug,
|
|
87
|
+
drawerSlug: newDocInFolderDrawerSlug,
|
|
88
|
+
initialData: {
|
|
89
|
+
[folderFieldName]: folderID
|
|
90
|
+
},
|
|
91
|
+
onSave: async t6 => {
|
|
92
|
+
const {
|
|
93
|
+
doc
|
|
94
|
+
} = t6;
|
|
95
|
+
await onCreateSuccess({
|
|
96
|
+
collectionSlug: createCollectionSlug,
|
|
97
|
+
doc
|
|
98
|
+
});
|
|
99
|
+
closeModal(newDocInFolderDrawerSlug);
|
|
100
|
+
},
|
|
101
|
+
redirectAfterCreate: false
|
|
102
|
+
});
|
|
103
|
+
$[22] = closeModal;
|
|
104
|
+
$[23] = createCollectionSlug;
|
|
105
|
+
$[24] = folderFieldName;
|
|
106
|
+
$[25] = folderID;
|
|
107
|
+
$[26] = newDocInFolderDrawerSlug;
|
|
108
|
+
$[27] = onCreateSuccess;
|
|
109
|
+
$[28] = t5;
|
|
110
|
+
} else {
|
|
111
|
+
t5 = $[28];
|
|
112
|
+
}
|
|
83
113
|
t4 = _jsxs(React.Fragment, {
|
|
84
114
|
children: [enabledCollections.length === 1 ? _jsx(Button, {
|
|
85
115
|
buttonStyle: "pill",
|
|
@@ -119,24 +149,7 @@ export function ListCreateNewDocInFolderButton(t0) {
|
|
|
119
149
|
children: getTranslation(collection.labels.singular, i18n)
|
|
120
150
|
}, index))
|
|
121
151
|
})
|
|
122
|
-
}),
|
|
123
|
-
collectionSlug: createCollectionSlug,
|
|
124
|
-
drawerSlug: newDocInFolderDrawerSlug,
|
|
125
|
-
initialData: {
|
|
126
|
-
[folderFieldName]: folderID
|
|
127
|
-
},
|
|
128
|
-
onSave: async t5 => {
|
|
129
|
-
const {
|
|
130
|
-
doc
|
|
131
|
-
} = t5;
|
|
132
|
-
await onCreateSuccess({
|
|
133
|
-
collectionSlug: createCollectionSlug,
|
|
134
|
-
doc
|
|
135
|
-
});
|
|
136
|
-
closeModal(newDocInFolderDrawerSlug);
|
|
137
|
-
},
|
|
138
|
-
redirectAfterCreate: false
|
|
139
|
-
}), collectionSlugs.includes(folderCollectionConfig.slug) && _jsx(FolderDocumentDrawer, {
|
|
152
|
+
}), t5, collectionSlugs.includes(folderCollectionConfig.slug) && _jsx(FolderDocumentDrawer, {
|
|
140
153
|
initialData: {
|
|
141
154
|
[folderFieldName]: folderID,
|
|
142
155
|
folderType: createCollectionSlug ? folderAssignedCollections || [createCollectionSlug] : folderAssignedCollections
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListCreateNewDocInFolderButton.js","names":["c","_c","useModal","getTranslation","React","useConfig","useFolder","useTranslation","Button","DocumentDrawer","useDocumentDrawer","Popup","PopupList","baseClass","ListCreateNewDocInFolderButton","t0","$","buttonLabel","collectionSlugs","folderAssignedCollections","onCreateSuccess","slugPrefix","newDocInFolderDrawerSlug","i18n","closeModal","openModal","config","folderCollectionConfig","folderCollectionSlug","folderFieldName","folderID","t1","collectionSlug","FolderDocumentDrawer","t2","closeDrawer","closeFolderDrawer","openDrawer","openFolderDrawer","createCollectionSlug","setCreateCollectionSlug","useState","t3","reduce","acc","collectionConfig","collections","find","t4","slug","push","enabledCollections","length","_jsxs","Fragment","children","_jsx","buttonStyle","className","el","onClick","size","button","icon","ButtonGroup","map","collection","index","labels","singular","drawerSlug","initialData","onSave","t5","doc","redirectAfterCreate","includes","folderType","result"],"sources":["../../../../src/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, CollectionSlug } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DocumentDrawer, useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../../Popup/index.js'\n\nconst baseClass = 'create-new-doc-in-folder'\n\nexport function ListCreateNewDocInFolderButton({\n buttonLabel,\n collectionSlugs,\n folderAssignedCollections,\n onCreateSuccess,\n slugPrefix,\n}: {\n buttonLabel: string\n collectionSlugs: CollectionSlug[]\n folderAssignedCollections: CollectionSlug[]\n onCreateSuccess: (args: {\n collectionSlug: CollectionSlug\n doc: Record<string, unknown>\n }) => Promise<void> | void\n slugPrefix: string\n}) {\n const newDocInFolderDrawerSlug = `${slugPrefix}-new-doc-in-folder-drawer`\n const { i18n } = useTranslation()\n const { closeModal, openModal } = useModal()\n const { config } = useConfig()\n const { folderCollectionConfig, folderCollectionSlug, folderFieldName, folderID } = useFolder()\n const [FolderDocumentDrawer, , { closeDrawer: closeFolderDrawer, openDrawer: openFolderDrawer }] =\n useDocumentDrawer({\n collectionSlug: folderCollectionSlug,\n })\n const [createCollectionSlug, setCreateCollectionSlug] = React.useState<string | undefined>()\n const [enabledCollections] = React.useState<ClientCollectionConfig[]>(() =>\n collectionSlugs.reduce((acc, collectionSlug) => {\n const collectionConfig = config.collections.find(({ slug }) => slug === collectionSlug)\n if (collectionConfig) {\n acc.push(collectionConfig)\n }\n return acc\n }, []),\n )\n\n if (enabledCollections.length === 0) {\n return null\n }\n\n return (\n <React.Fragment>\n {enabledCollections.length === 1 ? (\n // If there is only 1 option, do not render a popup\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__button`}\n el=\"div\"\n onClick={() => {\n if (enabledCollections[0].slug === folderCollectionConfig.slug) {\n openFolderDrawer()\n } else {\n setCreateCollectionSlug(enabledCollections[0].slug)\n openModal(newDocInFolderDrawerSlug)\n }\n }}\n size=\"small\"\n >\n {buttonLabel}\n </Button>\n ) : (\n <Popup\n button={\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__popup-button`}\n el=\"div\"\n icon=\"chevron\"\n size=\"small\"\n >\n {buttonLabel}\n </Button>\n }\n buttonType=\"default\"\n className={`${baseClass}__action-popup`}\n >\n <PopupList.ButtonGroup>\n {enabledCollections.map((collection, index) => {\n return (\n <PopupList.Button\n key={index}\n onClick={() => {\n if (collection.slug === folderCollectionConfig.slug) {\n openFolderDrawer()\n } else {\n setCreateCollectionSlug(collection.slug)\n openModal(newDocInFolderDrawerSlug)\n }\n }}\n >\n {getTranslation(collection.labels.singular, i18n)}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n\n {createCollectionSlug && (\n <DocumentDrawer\n collectionSlug={createCollectionSlug}\n drawerSlug={newDocInFolderDrawerSlug}\n initialData={{\n [folderFieldName]: folderID,\n }}\n onSave={async ({ doc }) => {\n await onCreateSuccess({\n collectionSlug: createCollectionSlug,\n doc,\n })\n closeModal(newDocInFolderDrawerSlug)\n }}\n redirectAfterCreate={false}\n />\n )}\n\n {collectionSlugs.includes(folderCollectionConfig.slug) && (\n <FolderDocumentDrawer\n initialData={{\n [folderFieldName]: folderID,\n folderType: createCollectionSlug\n ? folderAssignedCollections || [createCollectionSlug]\n : folderAssignedCollections,\n }}\n onSave={async (result) => {\n await onCreateSuccess({\n collectionSlug: folderCollectionConfig.slug,\n doc: result.doc,\n })\n closeFolderDrawer()\n }}\n redirectAfterCreate={false}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ListCreateNewDocInFolderButton.js","names":["c","_c","useModal","getTranslation","React","useConfig","useFolder","useTranslation","Button","DocumentDrawer","useDocumentDrawer","Popup","PopupList","baseClass","ListCreateNewDocInFolderButton","t0","$","buttonLabel","collectionSlugs","folderAssignedCollections","onCreateSuccess","slugPrefix","newDocInFolderDrawerSlug","i18n","closeModal","openModal","config","folderCollectionConfig","folderCollectionSlug","folderFieldName","folderID","t1","collectionSlug","FolderDocumentDrawer","t2","closeDrawer","closeFolderDrawer","openDrawer","openFolderDrawer","createCollectionSlug","setCreateCollectionSlug","useState","t3","reduce","acc","collectionConfig","collections","find","t4","slug","push","enabledCollections","length","t5","_jsx","drawerSlug","initialData","onSave","t6","doc","redirectAfterCreate","_jsxs","Fragment","children","buttonStyle","className","el","onClick","size","button","icon","ButtonGroup","map","collection","index","labels","singular","includes","folderType","result"],"sources":["../../../../src/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, CollectionSlug } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DocumentDrawer, useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../../Popup/index.js'\n\nconst baseClass = 'create-new-doc-in-folder'\n\nexport function ListCreateNewDocInFolderButton({\n buttonLabel,\n collectionSlugs,\n folderAssignedCollections,\n onCreateSuccess,\n slugPrefix,\n}: {\n buttonLabel: string\n collectionSlugs: CollectionSlug[]\n folderAssignedCollections: CollectionSlug[]\n onCreateSuccess: (args: {\n collectionSlug: CollectionSlug\n doc: Record<string, unknown>\n }) => Promise<void> | void\n slugPrefix: string\n}) {\n const newDocInFolderDrawerSlug = `${slugPrefix}-new-doc-in-folder-drawer`\n const { i18n } = useTranslation()\n const { closeModal, openModal } = useModal()\n const { config } = useConfig()\n const { folderCollectionConfig, folderCollectionSlug, folderFieldName, folderID } = useFolder()\n const [FolderDocumentDrawer, , { closeDrawer: closeFolderDrawer, openDrawer: openFolderDrawer }] =\n useDocumentDrawer({\n collectionSlug: folderCollectionSlug,\n })\n const [createCollectionSlug, setCreateCollectionSlug] = React.useState<string | undefined>()\n const [enabledCollections] = React.useState<ClientCollectionConfig[]>(() =>\n collectionSlugs.reduce((acc, collectionSlug) => {\n const collectionConfig = config.collections.find(({ slug }) => slug === collectionSlug)\n if (collectionConfig) {\n acc.push(collectionConfig)\n }\n return acc\n }, []),\n )\n\n if (enabledCollections.length === 0) {\n return null\n }\n\n return (\n <React.Fragment>\n {enabledCollections.length === 1 ? (\n // If there is only 1 option, do not render a popup\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__button`}\n el=\"div\"\n onClick={() => {\n if (enabledCollections[0].slug === folderCollectionConfig.slug) {\n openFolderDrawer()\n } else {\n setCreateCollectionSlug(enabledCollections[0].slug)\n openModal(newDocInFolderDrawerSlug)\n }\n }}\n size=\"small\"\n >\n {buttonLabel}\n </Button>\n ) : (\n <Popup\n button={\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__popup-button`}\n el=\"div\"\n icon=\"chevron\"\n size=\"small\"\n >\n {buttonLabel}\n </Button>\n }\n buttonType=\"default\"\n className={`${baseClass}__action-popup`}\n >\n <PopupList.ButtonGroup>\n {enabledCollections.map((collection, index) => {\n return (\n <PopupList.Button\n key={index}\n onClick={() => {\n if (collection.slug === folderCollectionConfig.slug) {\n openFolderDrawer()\n } else {\n setCreateCollectionSlug(collection.slug)\n openModal(newDocInFolderDrawerSlug)\n }\n }}\n >\n {getTranslation(collection.labels.singular, i18n)}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n\n {createCollectionSlug && (\n <DocumentDrawer\n collectionSlug={createCollectionSlug}\n drawerSlug={newDocInFolderDrawerSlug}\n initialData={{\n [folderFieldName]: folderID,\n }}\n onSave={async ({ doc }) => {\n await onCreateSuccess({\n collectionSlug: createCollectionSlug,\n doc,\n })\n closeModal(newDocInFolderDrawerSlug)\n }}\n redirectAfterCreate={false}\n />\n )}\n\n {collectionSlugs.includes(folderCollectionConfig.slug) && (\n <FolderDocumentDrawer\n initialData={{\n [folderFieldName]: folderID,\n folderType: createCollectionSlug\n ? folderAssignedCollections || [createCollectionSlug]\n : folderAssignedCollections,\n }}\n onSave={async (result) => {\n await onCreateSuccess({\n collectionSlug: folderCollectionConfig.slug,\n doc: result.doc,\n })\n closeFolderDrawer()\n }}\n redirectAfterCreate={false}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|