@payloadcms/ui 4.0.0-beta.5 → 4.0.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/css/utilities.css +1 -0
  2. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  3. package/dist/elements/AddNewRelation/index.js +4 -0
  4. package/dist/elements/AddNewRelation/index.js.map +1 -1
  5. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  6. package/dist/elements/AppHeader/index.js +2 -0
  7. package/dist/elements/AppHeader/index.js.map +1 -1
  8. package/dist/elements/Collapsible/index.css +1 -1
  9. package/dist/elements/ColumnSelection/Popup.css +2 -2
  10. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  11. package/dist/elements/DocumentDrawer/DrawerContent.js +15 -9
  12. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  14. package/dist/elements/DocumentHeader/Tabs/index.js +10 -8
  15. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  16. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  17. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -12
  18. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  19. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  20. package/dist/elements/FileDetails/StaticFileDetails/index.js +63 -33
  21. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  22. package/dist/elements/FileManager/index.d.ts.map +1 -1
  23. package/dist/elements/FileManager/index.js +18 -11
  24. package/dist/elements/FileManager/index.js.map +1 -1
  25. package/dist/elements/FilterTrigger/index.d.ts.map +1 -1
  26. package/dist/elements/FilterTrigger/index.js +80 -44
  27. package/dist/elements/FilterTrigger/index.js.map +1 -1
  28. package/dist/elements/ListControls/index.css +1 -0
  29. package/dist/elements/ListControls/index.d.ts.map +1 -1
  30. package/dist/elements/ListControls/index.js +7 -4
  31. package/dist/elements/ListControls/index.js.map +1 -1
  32. package/dist/elements/ListControls/types.d.ts +1 -0
  33. package/dist/elements/ListControls/types.d.ts.map +1 -1
  34. package/dist/elements/ListControls/types.js.map +1 -1
  35. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  36. package/dist/elements/ListDrawer/DrawerContent.js +18 -12
  37. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  38. package/dist/elements/LivePreview/Toolbar/index.d.ts.map +1 -1
  39. package/dist/elements/LivePreview/Toolbar/index.js +13 -7
  40. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  41. package/dist/elements/Nav/NavSidebarToggle/index.d.ts.map +1 -1
  42. package/dist/elements/Nav/NavSidebarToggle/index.js +26 -37
  43. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  44. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  45. package/dist/elements/Nav/SidebarTabs/index.client.js +9 -2
  46. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  47. package/dist/elements/Nav/SidebarTabs/index.css +1 -1
  48. package/dist/elements/Nav/context.d.ts +1 -0
  49. package/dist/elements/Nav/context.d.ts.map +1 -1
  50. package/dist/elements/Nav/context.js +2 -0
  51. package/dist/elements/Nav/context.js.map +1 -1
  52. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
  53. package/dist/elements/Nav/getNavPrefs.js +7 -2
  54. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  55. package/dist/elements/Nav/index.css +11 -0
  56. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  57. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  58. package/dist/elements/PreviewButton/index.js +4 -0
  59. package/dist/elements/PreviewButton/index.js.map +1 -1
  60. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  61. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +1 -0
  62. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  63. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  64. package/dist/elements/ReactSelect/index.css +4 -2
  65. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  66. package/dist/elements/ReactSelect/index.js +8 -3
  67. package/dist/elements/ReactSelect/index.js.map +1 -1
  68. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  69. package/dist/elements/SchedulePublishButton/index.js +4 -0
  70. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  71. package/dist/elements/Search/SearchInput/index.css +32 -3
  72. package/dist/elements/SegmentedControl/index.css +1 -1
  73. package/dist/elements/SidebarToggle/index.css +1 -1
  74. package/dist/elements/SortColumn/index.css +49 -5
  75. package/dist/elements/SortRow/index.css +1 -3
  76. package/dist/elements/SortRow/index.d.ts.map +1 -1
  77. package/dist/elements/SortRow/index.js +16 -10
  78. package/dist/elements/SortRow/index.js.map +1 -1
  79. package/dist/elements/StepNav/index.d.ts.map +1 -1
  80. package/dist/elements/StepNav/index.js +4 -1
  81. package/dist/elements/StepNav/index.js.map +1 -1
  82. package/dist/elements/Tabs/index.css +1 -1
  83. package/dist/elements/TimezonePicker/index.css +6 -5
  84. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  85. package/dist/elements/TimezonePicker/index.js +80 -43
  86. package/dist/elements/TimezonePicker/index.js.map +1 -1
  87. package/dist/elements/Upload/index.js +2 -0
  88. package/dist/elements/Upload/index.js.map +1 -1
  89. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -1
  90. package/dist/elements/UploadDropzoneContent/index.js +1 -0
  91. package/dist/elements/UploadDropzoneContent/index.js.map +1 -1
  92. package/dist/elements/UserMenu/index.css +1 -1
  93. package/dist/exports/client/{DatePicker-AZBZPMY6.js → DatePicker-DJN2NVQC.js} +2 -2
  94. package/dist/exports/client/chunk-GQEFXRCN.js +29 -0
  95. package/dist/exports/client/{chunk-ZP2PB6M4.js.map → chunk-GQEFXRCN.js.map} +4 -4
  96. package/dist/exports/client/index.js +27 -27
  97. package/dist/exports/client/index.js.map +4 -4
  98. package/dist/fields/Blocks/SectionTitle/index.css +21 -2
  99. package/dist/fields/DateTime/index.js +1 -1
  100. package/dist/fields/DateTime/index.js.map +1 -1
  101. package/dist/fields/Upload/Input.d.ts.map +1 -1
  102. package/dist/fields/Upload/Input.js +1 -0
  103. package/dist/fields/Upload/Input.js.map +1 -1
  104. package/dist/fields/Upload/RelationshipContent/index.css +1 -1
  105. package/dist/forms/Form/index.d.ts.map +1 -1
  106. package/dist/forms/Form/index.js +9 -7
  107. package/dist/forms/Form/index.js.map +1 -1
  108. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  109. package/dist/providers/ListQuery/index.js +17 -1
  110. package/dist/providers/ListQuery/index.js.map +1 -1
  111. package/dist/styles.css +2 -1
  112. package/dist/views/List/index.client.d.ts.map +1 -1
  113. package/dist/views/List/index.client.js +15 -9
  114. package/dist/views/List/index.client.js.map +1 -1
  115. package/dist/views/Version/Default/index.d.ts.map +1 -1
  116. package/dist/views/Version/Default/index.js +6 -9
  117. package/dist/views/Version/Default/index.js.map +1 -1
  118. package/dist/views/Version/Default/types.d.ts +0 -1
  119. package/dist/views/Version/Default/types.d.ts.map +1 -1
  120. package/dist/views/Version/Default/types.js.map +1 -1
  121. package/dist/views/Version/Restore/index.css +0 -11
  122. package/dist/views/Version/Restore/index.d.ts +0 -1
  123. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  124. package/dist/views/Version/Restore/index.js +87 -115
  125. package/dist/views/Version/Restore/index.js.map +1 -1
  126. package/dist/views/Version/index.d.ts.map +1 -1
  127. package/dist/views/Version/index.js +1 -2
  128. package/dist/views/Version/index.js.map +1 -1
  129. package/package.json +4 -4
  130. package/dist/exports/client/chunk-ZP2PB6M4.js +0 -29
  131. /package/dist/exports/client/{DatePicker-AZBZPMY6.js.map → DatePicker-DJN2NVQC.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","isImage","React","useCallback","useEffect","useRef","useState","FieldError","fieldBaseClass","TextInput","useForm","useFormProcessing","useField","useDocumentInfo","EditDepthProvider","useTranslation","UploadControlsProvider","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","getEditorFileSrc","pasteURLDrawerSlug","UploadFromURLModal","usePasteFromClipboard","useUploadFromUrl","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","name","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","openModal","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","_jsxs","className","children","Fragment","_jsx","buttonStyle","margin","onClick","size","map","_temp","Upload","props","resetUploadEdits","updateUploadEdits","uploadEdits","UploadComponent","collectionSlug","initialState","onChange","uploadConfig","UploadControls","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileUrl","setModified","data","docPermissions","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","inputRef","handleFileChange","file","isNewFile","File","URL","createObjectURL","renameFile","fileToChange","newName","newFile","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileFetchedFromUrl","fileUrl","handleUrlSubmit","isValidUrl","setFileUrl","onFileFetched","handlePasteFromClipboard","handleFileRemoval","onEditsSave","args","startsWith","revokeObjectURL","canRemoveUpload","update","hasVariants","variants","hasImageAdjustments","Boolean","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","handleControlFileUrl","handleControlFile","drawers","fileName","hasSelectedFile","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","slug","title","label","doc","pasteURL","filter","message","customUploadActions","handleRemove","hasImageSizes","hideRemoveFile","hideFileInputOnCreate","current","click","accept","hidden","ref","icon","tooltip","round","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { isImage } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { TextInput } from '../../fields/Text/Input.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider, useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport './index.css'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { getEditorFileSrc } from './getEditorFileSrc.js'\nimport { pasteURLDrawerSlug, UploadFromURLModal } from './UploadFromURLModal/index.js'\nimport { usePasteFromClipboard } from './usePasteFromClipboard.js'\nimport { useUploadFromUrl } from './useUploadFromUrl.js'\n\nexport { pasteURLDrawerSlug }\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n if (value && (!value.name || value.name === '')) {\n return 'A file name is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n const { openModal } = useModal()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__previewSizes`}\n margin={false}\n onClick={() => {\n openModal(sizePreviewSlug)\n }}\n size=\"medium\"\n >\n {t('upload:previewSizes')}\n </Button>\n )}\n {enableAdjustments && (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__edit`}\n margin={false}\n onClick={() => {\n openModal(editDrawerSlug)\n }}\n size=\"medium\"\n >\n {t('upload:editImage')}\n </Button>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: Omit<SanitizedCollectionConfig['upload'], 'uploadInstructions'>\n readonly UploadControls?: React.ReactNode\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n return (\n <UploadControlsProvider>\n <UploadComponent\n {...props}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={uploadEdits}\n />\n </UploadControlsProvider>\n )\n}\n\ntype UploadComponentProps = {\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadEdits?: UploadEdits\n} & UploadProps\n\nconst UploadComponent: React.FC<UploadComponentProps> = (props) => {\n const {\n collectionSlug,\n customActions,\n initialState,\n onChange,\n resetUploadEdits,\n updateUploadEdits,\n uploadConfig,\n UploadControls,\n uploadEdits,\n } = props\n\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileUrl,\n } = useUploadControls()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { data, docPermissions } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n\n setValue(file)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n\n if (typeof onChange === 'function') {\n onChange(file)\n }\n },\n [onChange, setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange({ file: renameFile(value, updatedFileName), isNewFile: false })\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange({ file: fileToUpload })\n },\n [handleFileChange],\n )\n\n const handleFileFetchedFromUrl = useCallback(\n (file: File) => handleFileChange({ file }),\n [handleFileChange],\n )\n\n const { fileUrl, handleUrlSubmit, isValidUrl, setFileUrl } = useUploadFromUrl({\n collectionSlug,\n onFileFetched: handleFileFetchedFromUrl,\n uploadConfig,\n })\n\n const handlePasteFromClipboard = usePasteFromClipboard({\n handleFileSelection,\n handleUrlSubmit,\n setFileUrl,\n uploadConfig,\n })\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setFileUrl,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n return () => {\n if (fileSrc?.startsWith('blob:')) {\n URL.revokeObjectURL(fileSrc)\n }\n }\n }, [fileSrc])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload = docPermissions?.update\n\n const hasVariants = uploadConfig?.variants?.length > 0\n const hasImageAdjustments = Boolean(uploadConfig?.hasImageAdjustments)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasVariants || hasImageAdjustments || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit, setFileUrl])\n\n useEffect(() => {\n const handleControlFile = () => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }\n\n void handleControlFile()\n }, [uploadControlFile, handleFileChange])\n\n const drawers = (\n <React.Fragment>\n {(value || data?.filename) && (\n <EditDepthProvider>\n <EditUpload\n fileName={value?.name || data?.filename}\n fileSrc={getEditorFileSrc({ data, fileSrc, hasSelectedFile: Boolean(value) })}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || data?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || data?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </EditDepthProvider>\n )}\n {data && hasVariants && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: data.filename })}\n >\n <PreviewSizes doc={data} imageCacheTag={imageCacheTag} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n {uploadConfig?.pasteURL !== false && (\n <UploadFromURLModal\n fileUrl={fileUrl}\n handleUrlSubmit={handleUrlSubmit}\n isValidUrl={isValidUrl}\n setFileUrl={setFileUrl}\n />\n )}\n </React.Fragment>\n )\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {data && data.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={data}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasVariants}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !data?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"medium\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__pasteFromClipboard`}\n icon=\"clipboard\"\n onClick={handlePasteFromClipboard}\n size=\"medium\"\n tooltip={t('upload:pasteURL')}\n />\n\n {UploadControls ? UploadControls : null}\n </div>\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n <TextInput\n label={t('upload:fileName')}\n onChange={handleFileNameChange}\n path=\"filename\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasVariants && data?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n </React.Fragment>\n )}\n </div>\n )}\n {drawers}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","isImage","React","useCallback","useEffect","useRef","useState","FieldError","fieldBaseClass","TextInput","useForm","useFormProcessing","useField","useDocumentInfo","EditDepthProvider","useTranslation","UploadControlsProvider","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","getEditorFileSrc","pasteURLDrawerSlug","UploadFromURLModal","usePasteFromClipboard","useUploadFromUrl","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","name","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","openModal","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","_jsxs","className","children","Fragment","_jsx","buttonStyle","margin","onClick","size","map","_temp","Upload","props","resetUploadEdits","updateUploadEdits","uploadEdits","UploadComponent","collectionSlug","initialState","onChange","uploadConfig","UploadControls","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileUrl","setModified","data","docPermissions","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","inputRef","handleFileChange","file","isNewFile","File","URL","createObjectURL","renameFile","fileToChange","newName","newFile","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileFetchedFromUrl","fileUrl","handleUrlSubmit","isValidUrl","setFileUrl","onFileFetched","handlePasteFromClipboard","handleFileRemoval","onEditsSave","args","startsWith","revokeObjectURL","canRemoveUpload","update","hasVariants","variants","hasImageAdjustments","Boolean","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","handleControlFileUrl","handleControlFile","drawers","fileName","hasSelectedFile","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","slug","title","label","doc","pasteURL","filter","message","customUploadActions","handleRemove","hasImageSizes","hideRemoveFile","hideFileInputOnCreate","current","click","accept","hidden","ref","icon","tooltip","round","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { isImage } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { TextInput } from '../../fields/Text/Input.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider, useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport './index.css'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { getEditorFileSrc } from './getEditorFileSrc.js'\nimport { pasteURLDrawerSlug, UploadFromURLModal } from './UploadFromURLModal/index.js'\nimport { usePasteFromClipboard } from './usePasteFromClipboard.js'\nimport { useUploadFromUrl } from './useUploadFromUrl.js'\n\nexport { pasteURLDrawerSlug }\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n if (value && (!value.name || value.name === '')) {\n return 'A file name is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n const { openModal } = useModal()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__previewSizes`}\n margin={false}\n onClick={() => {\n openModal(sizePreviewSlug)\n }}\n size=\"medium\"\n >\n {t('upload:previewSizes')}\n </Button>\n )}\n {enableAdjustments && (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__edit`}\n margin={false}\n onClick={() => {\n openModal(editDrawerSlug)\n }}\n size=\"medium\"\n >\n {t('upload:editImage')}\n </Button>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: Omit<SanitizedCollectionConfig['upload'], 'uploadInstructions'>\n readonly UploadControls?: React.ReactNode\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n return (\n <UploadControlsProvider>\n <UploadComponent\n {...props}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={uploadEdits}\n />\n </UploadControlsProvider>\n )\n}\n\ntype UploadComponentProps = {\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadEdits?: UploadEdits\n} & UploadProps\n\nconst UploadComponent: React.FC<UploadComponentProps> = (props) => {\n const {\n collectionSlug,\n customActions,\n initialState,\n onChange,\n resetUploadEdits,\n updateUploadEdits,\n uploadConfig,\n UploadControls,\n uploadEdits,\n } = props\n\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileUrl,\n } = useUploadControls()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { data, docPermissions } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n\n setValue(file)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n\n if (typeof onChange === 'function') {\n onChange(file)\n }\n },\n [onChange, setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange({ file: renameFile(value, updatedFileName), isNewFile: false })\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange({ file: fileToUpload })\n },\n [handleFileChange],\n )\n\n const handleFileFetchedFromUrl = useCallback(\n (file: File) => handleFileChange({ file }),\n [handleFileChange],\n )\n\n const { fileUrl, handleUrlSubmit, isValidUrl, setFileUrl } = useUploadFromUrl({\n collectionSlug,\n onFileFetched: handleFileFetchedFromUrl,\n uploadConfig,\n })\n\n const handlePasteFromClipboard = usePasteFromClipboard({\n handleFileSelection,\n handleUrlSubmit,\n setFileUrl,\n uploadConfig,\n })\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setFileUrl,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n return () => {\n if (fileSrc?.startsWith('blob:')) {\n URL.revokeObjectURL(fileSrc)\n }\n }\n }, [fileSrc])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload = docPermissions?.update\n\n const hasVariants = uploadConfig?.variants?.length > 0\n const hasImageAdjustments = Boolean(uploadConfig?.hasImageAdjustments)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasVariants || hasImageAdjustments || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit, setFileUrl])\n\n useEffect(() => {\n const handleControlFile = () => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }\n\n void handleControlFile()\n }, [uploadControlFile, handleFileChange])\n\n const drawers = (\n <React.Fragment>\n {(value || data?.filename) && (\n <EditDepthProvider>\n <EditUpload\n fileName={value?.name || data?.filename}\n fileSrc={getEditorFileSrc({ data, fileSrc, hasSelectedFile: Boolean(value) })}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || data?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || data?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </EditDepthProvider>\n )}\n {data && hasVariants && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: data.filename })}\n >\n <PreviewSizes doc={data} imageCacheTag={imageCacheTag} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n {uploadConfig?.pasteURL !== false && (\n <UploadFromURLModal\n fileUrl={fileUrl}\n handleUrlSubmit={handleUrlSubmit}\n isValidUrl={isValidUrl}\n setFileUrl={setFileUrl}\n />\n )}\n </React.Fragment>\n )\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {data && data.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={data}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasVariants}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !data?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"medium\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n aria-label={t('upload:pasteURL')}\n buttonStyle=\"pill\"\n className={`${baseClass}__pasteFromClipboard`}\n icon=\"clipboard\"\n onClick={handlePasteFromClipboard}\n size=\"medium\"\n tooltip={t('upload:pasteURL')}\n />\n\n {UploadControls ? UploadControls : null}\n </div>\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n <TextInput\n label={t('upload:fileName')}\n onChange={handleFileNameChange}\n path=\"filename\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasVariants && data?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n </React.Fragment>\n )}\n </div>\n )}\n {drawers}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UploadDropzoneContent/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,0HAA0H;IAC1H,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxC,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAA;IACzC,yGAAyG;IACzG,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,eAAe,EACf,SAAS,EACT,aAAa,EACb,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,EAAE,0BAA0B,qBA0C5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UploadDropzoneContent/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,0HAA0H;IAC1H,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxC,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAA;IACzC,yGAAyG;IACzG,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,eAAe,EACf,SAAS,EACT,aAAa,EACb,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,EAAE,0BAA0B,qBA2C5B"}
@@ -46,6 +46,7 @@ export function UploadDropzoneContent({
46
46
  className: `${baseClass}__or-text`,
47
47
  children: t('general:or')
48
48
  }), /*#__PURE__*/_jsx(Button, {
49
+ "aria-label": pasteTooltip,
49
50
  buttonStyle: "secondary",
50
51
  className: [`${baseClass}__pasteFromClipboard`, pasteButtonClassName].filter(Boolean).join(' '),
51
52
  icon: "clipboard",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useTranslation","Button","baseClass","UploadDropzoneContent","acceptMimeTypes","className","extraControls","multiple","onFilesSelected","onPasteFromClipboard","pasteButtonClassName","pasteTooltip","t","inputRef","useRef","_jsxs","filter","Boolean","join","_jsx","buttonStyle","onClick","current","click","size","accept","hidden","onChange","e","target","files","length","ref","type","icon","tooltip"],"sources":["../../../src/elements/UploadDropzoneContent/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.css'\n\nconst baseClass = 'upload-dropzone-content'\n\nexport type UploadDropzoneContentProps = {\n readonly acceptMimeTypes?: string\n readonly className?: string\n /** Extra controls rendered alongside the select/paste buttons, e.g. the single-upload field's custom `UploadControls`. */\n readonly extraControls?: React.ReactNode\n /** Allows selecting more than one file at once, used by the bulk upload drawer. */\n readonly multiple?: boolean\n readonly onFilesSelected: (files: FileList) => void\n readonly onPasteFromClipboard: () => void\n /** Additional className kept on the paste button for callers with existing selectors depending on it. */\n readonly pasteButtonClassName?: string\n readonly pasteTooltip: string\n}\n\nexport function UploadDropzoneContent({\n acceptMimeTypes,\n className,\n extraControls,\n multiple,\n onFilesSelected,\n onPasteFromClipboard,\n pasteButtonClassName,\n pasteTooltip,\n}: UploadDropzoneContentProps) {\n const { t } = useTranslation()\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__buttons`}>\n <Button buttonStyle=\"secondary\" onClick={() => inputRef.current?.click()} size=\"medium\">\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n multiple={multiple}\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n onFilesSelected(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n <span className={`${baseClass}__or-text`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"secondary\"\n className={[`${baseClass}__pasteFromClipboard`, pasteButtonClassName]\n .filter(Boolean)\n .join(' ')}\n icon=\"clipboard\"\n onClick={onPasteFromClipboard}\n size=\"medium\"\n tooltip={pasteTooltip}\n />\n {extraControls}\n </div>\n <p className={`${baseClass}__drag-text`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAgBlB,OAAO,SAASC,sBAAsB;EACpCC,eAAe;EACfC,SAAS;EACTC,aAAa;EACbC,QAAQ;EACRC,eAAe;EACfC,oBAAoB;EACpBC,oBAAoB;EACpBC;AAAY,CACe;EAC3B,MAAM;IAAEC;EAAC,CAAE,GAAGZ,cAAA;EACd,MAAMa,QAAA,GAAWd,KAAA,CAAMe,MAAM,CAAmB;EAEhD,oBACEC,KAAA,CAAC;IAAIV,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACW,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;4BAC1DH,KAAA,CAAC;MAAIV,SAAA,EAAW,GAAGH,SAAA,WAAoB;8BACrCiB,IAAA,CAAClB,MAAA;QAAOmB,WAAA,EAAY;QAAYC,OAAA,EAASA,CAAA,KAAMR,QAAA,CAASS,OAAO,EAAEC,KAAA;QAASC,IAAA,EAAK;kBAC5EZ,CAAA,CAAE;uBAELO,IAAA,CAAC;QACCM,MAAA,EAAQrB,eAAA;QACR,eAAY;QACZC,SAAA,EAAW,GAAGH,SAAA,gBAAyB;QACvCwB,MAAM;QACNnB,QAAA,EAAUA,QAAA;QACVoB,QAAA,EAAWC,CAAA;UACT,IAAIA,CAAA,CAAEC,MAAM,CAACC,KAAK,IAAIF,CAAA,CAAEC,MAAM,CAACC,KAAK,CAACC,MAAM,GAAG,GAAG;YAC/CvB,eAAA,CAAgBoB,CAAA,CAAEC,MAAM,CAACC,KAAK;UAChC;QACF;QACAE,GAAA,EAAKnB,QAAA;QACLoB,IAAA,EAAK;uBAEPd,IAAA,CAAC;QAAKd,SAAA,EAAW,GAAGH,SAAA,WAAoB;kBAAGU,CAAA,CAAE;uBAC7CO,IAAA,CAAClB,MAAA;QACCmB,WAAA,EAAY;QACZf,SAAA,EAAW,CAAC,GAAGH,SAAA,sBAA+B,EAAEQ,oBAAA,CAAqB,CAClEM,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;QACRgB,IAAA,EAAK;QACLb,OAAA,EAASZ,oBAAA;QACTe,IAAA,EAAK;QACLW,OAAA,EAASxB;UAEVL,aAAA;qBAEHS,KAAA,CAAC;MAAEV,SAAA,EAAW,GAAGH,SAAA,aAAsB;iBACpCU,CAAA,CAAE,eAAc,KAAEA,CAAA,CAAE;;;AAI7B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useTranslation","Button","baseClass","UploadDropzoneContent","acceptMimeTypes","className","extraControls","multiple","onFilesSelected","onPasteFromClipboard","pasteButtonClassName","pasteTooltip","t","inputRef","useRef","_jsxs","filter","Boolean","join","_jsx","buttonStyle","onClick","current","click","size","accept","hidden","onChange","e","target","files","length","ref","type","icon","tooltip"],"sources":["../../../src/elements/UploadDropzoneContent/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.css'\n\nconst baseClass = 'upload-dropzone-content'\n\nexport type UploadDropzoneContentProps = {\n readonly acceptMimeTypes?: string\n readonly className?: string\n /** Extra controls rendered alongside the select/paste buttons, e.g. the single-upload field's custom `UploadControls`. */\n readonly extraControls?: React.ReactNode\n /** Allows selecting more than one file at once, used by the bulk upload drawer. */\n readonly multiple?: boolean\n readonly onFilesSelected: (files: FileList) => void\n readonly onPasteFromClipboard: () => void\n /** Additional className kept on the paste button for callers with existing selectors depending on it. */\n readonly pasteButtonClassName?: string\n readonly pasteTooltip: string\n}\n\nexport function UploadDropzoneContent({\n acceptMimeTypes,\n className,\n extraControls,\n multiple,\n onFilesSelected,\n onPasteFromClipboard,\n pasteButtonClassName,\n pasteTooltip,\n}: UploadDropzoneContentProps) {\n const { t } = useTranslation()\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__buttons`}>\n <Button buttonStyle=\"secondary\" onClick={() => inputRef.current?.click()} size=\"medium\">\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n multiple={multiple}\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n onFilesSelected(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n <span className={`${baseClass}__or-text`}>{t('general:or')}</span>\n <Button\n aria-label={pasteTooltip}\n buttonStyle=\"secondary\"\n className={[`${baseClass}__pasteFromClipboard`, pasteButtonClassName]\n .filter(Boolean)\n .join(' ')}\n icon=\"clipboard\"\n onClick={onPasteFromClipboard}\n size=\"medium\"\n tooltip={pasteTooltip}\n />\n {extraControls}\n </div>\n <p className={`${baseClass}__drag-text`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAgBlB,OAAO,SAASC,sBAAsB;EACpCC,eAAe;EACfC,SAAS;EACTC,aAAa;EACbC,QAAQ;EACRC,eAAe;EACfC,oBAAoB;EACpBC,oBAAoB;EACpBC;AAAY,CACe;EAC3B,MAAM;IAAEC;EAAC,CAAE,GAAGZ,cAAA;EACd,MAAMa,QAAA,GAAWd,KAAA,CAAMe,MAAM,CAAmB;EAEhD,oBACEC,KAAA,CAAC;IAAIV,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACW,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;4BAC1DH,KAAA,CAAC;MAAIV,SAAA,EAAW,GAAGH,SAAA,WAAoB;8BACrCiB,IAAA,CAAClB,MAAA;QAAOmB,WAAA,EAAY;QAAYC,OAAA,EAASA,CAAA,KAAMR,QAAA,CAASS,OAAO,EAAEC,KAAA;QAASC,IAAA,EAAK;kBAC5EZ,CAAA,CAAE;uBAELO,IAAA,CAAC;QACCM,MAAA,EAAQrB,eAAA;QACR,eAAY;QACZC,SAAA,EAAW,GAAGH,SAAA,gBAAyB;QACvCwB,MAAM;QACNnB,QAAA,EAAUA,QAAA;QACVoB,QAAA,EAAWC,CAAA;UACT,IAAIA,CAAA,CAAEC,MAAM,CAACC,KAAK,IAAIF,CAAA,CAAEC,MAAM,CAACC,KAAK,CAACC,MAAM,GAAG,GAAG;YAC/CvB,eAAA,CAAgBoB,CAAA,CAAEC,MAAM,CAACC,KAAK;UAChC;QACF;QACAE,GAAA,EAAKnB,QAAA;QACLoB,IAAA,EAAK;uBAEPd,IAAA,CAAC;QAAKd,SAAA,EAAW,GAAGH,SAAA,WAAoB;kBAAGU,CAAA,CAAE;uBAC7CO,IAAA,CAAClB,MAAA;QACC,cAAYU,YAAA;QACZS,WAAA,EAAY;QACZf,SAAA,EAAW,CAAC,GAAGH,SAAA,sBAA+B,EAAEQ,oBAAA,CAAqB,CAClEM,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;QACRgB,IAAA,EAAK;QACLb,OAAA,EAASZ,oBAAA;QACTe,IAAA,EAAK;QACLW,OAAA,EAASxB;UAEVL,aAAA;qBAEHS,KAAA,CAAC;MAAEV,SAAA,EAAW,GAAGH,SAAA,aAAsB;iBACpCU,CAAA,CAAE,eAAc,KAAEA,CAAA,CAAE;;;AAI7B","ignoreList":[]}
@@ -94,7 +94,7 @@
94
94
 
95
95
  .user-menu__submenu-header-row:focus-visible {
96
96
  outline: var(--accessibility-outline);
97
- outline-offset: -1px;
97
+ outline-offset: var(--accessibility-outline-inset);
98
98
  }
99
99
 
100
100
  .user-menu__submenu-header-row:hover {
@@ -10,5 +10,5 @@ function require(m) {
10
10
  }
11
11
  // Workaround end
12
12
 
13
- import{ca as a}from"./chunk-ZP2PB6M4.js";import"./chunk-SMBFG6XU.js";export{a as default};
14
- //# sourceMappingURL=DatePicker-AZBZPMY6.js.map
13
+ import{ca as a}from"./chunk-GQEFXRCN.js";import"./chunk-SMBFG6XU.js";export{a as default};
14
+ //# sourceMappingURL=DatePicker-DJN2NVQC.js.map