@payloadcms/ui 3.0.0-beta.95 → 3.0.0-beta.96

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 (216) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +6 -2
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/Banner/index.d.ts.map +1 -1
  5. package/dist/elements/Banner/index.js +6 -2
  6. package/dist/elements/Banner/index.js.map +1 -1
  7. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  8. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  9. package/dist/elements/BulkUpload/ActionsBar/index.scss +4 -4
  10. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -0
  11. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  12. package/dist/elements/BulkUpload/AddFilesView/index.scss +1 -1
  13. package/dist/elements/BulkUpload/EditForm/index.js +6 -2
  14. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/FileSidebar/index.scss +8 -10
  16. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  17. package/dist/elements/BulkUpload/FormsManager/index.js +3 -1
  18. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  20. package/dist/elements/BulkUpload/index.js.map +1 -1
  21. package/dist/elements/Button/index.d.ts.map +1 -1
  22. package/dist/elements/Button/index.js +23 -15
  23. package/dist/elements/Button/index.js.map +1 -1
  24. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  25. package/dist/elements/Collapsible/index.js.map +1 -1
  26. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  27. package/dist/elements/ColumnSelector/index.js.map +1 -1
  28. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  29. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  30. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  31. package/dist/elements/DraggableSortable/index.js.map +1 -1
  32. package/dist/elements/Drawer/index.d.ts.map +1 -1
  33. package/dist/elements/Drawer/index.js.map +1 -1
  34. package/dist/elements/Dropzone/index.scss +1 -1
  35. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  36. package/dist/elements/EditUpload/index.js +23 -11
  37. package/dist/elements/EditUpload/index.js.map +1 -1
  38. package/dist/elements/ErrorPill/index.d.ts.map +1 -1
  39. package/dist/elements/ErrorPill/index.js +3 -1
  40. package/dist/elements/ErrorPill/index.js.map +1 -1
  41. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  42. package/dist/elements/FieldSelect/index.js +3 -1
  43. package/dist/elements/FieldSelect/index.js.map +1 -1
  44. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  45. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  46. package/dist/elements/ListDrawer/index.scss +1 -1
  47. package/dist/elements/Pagination/index.d.ts.map +1 -1
  48. package/dist/elements/Pagination/index.js +19 -9
  49. package/dist/elements/Pagination/index.js.map +1 -1
  50. package/dist/elements/PerPage/index.d.ts.map +1 -1
  51. package/dist/elements/PerPage/index.js.map +1 -1
  52. package/dist/elements/Pill/index.d.ts.map +1 -1
  53. package/dist/elements/Pill/index.js +11 -5
  54. package/dist/elements/Pill/index.js.map +1 -1
  55. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  56. package/dist/elements/Popup/PopupTrigger/index.js +3 -1
  57. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  58. package/dist/elements/Popup/index.d.ts.map +1 -1
  59. package/dist/elements/Popup/index.js +3 -1
  60. package/dist/elements/Popup/index.js.map +1 -1
  61. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  62. package/dist/elements/PreviewButton/usePreviewURL.js +18 -6
  63. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  64. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  65. package/dist/elements/PreviewSizes/index.js +15 -5
  66. package/dist/elements/PreviewSizes/index.js.map +1 -1
  67. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  68. package/dist/elements/PublishButton/index.js +5 -3
  69. package/dist/elements/PublishButton/index.js.map +1 -1
  70. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  71. package/dist/elements/ReactSelect/DropdownIndicator/index.js +3 -1
  72. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  73. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  74. package/dist/elements/ReactSelect/index.js +3 -1
  75. package/dist/elements/ReactSelect/index.js.map +1 -1
  76. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  77. package/dist/elements/SaveButton/index.js +5 -3
  78. package/dist/elements/SaveButton/index.js.map +1 -1
  79. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  80. package/dist/elements/SaveDraftButton/index.js +11 -5
  81. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  82. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  83. package/dist/elements/SearchFilter/index.js +3 -1
  84. package/dist/elements/SearchFilter/index.js.map +1 -1
  85. package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
  86. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  87. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  88. package/dist/elements/SortColumn/index.js.map +1 -1
  89. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  90. package/dist/elements/SortComplex/index.js.map +1 -1
  91. package/dist/elements/Table/DefaultCell/fields/File/index.scss +5 -5
  92. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  93. package/dist/elements/TableColumns/buildColumnState.js +9 -3
  94. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  95. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  96. package/dist/elements/TableColumns/index.js.map +1 -1
  97. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  98. package/dist/elements/Tooltip/index.js.map +1 -1
  99. package/dist/elements/Upload/index.d.ts.map +1 -1
  100. package/dist/elements/Upload/index.js +37 -32
  101. package/dist/elements/Upload/index.js.map +1 -1
  102. package/dist/elements/Upload/index.scss +27 -1
  103. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  104. package/dist/elements/WhereBuilder/reduceClientFields.js +3 -1
  105. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  106. package/dist/exports/client/{CodeEditor-P66JEENA.js → CodeEditor-CHKRX3U2.js} +4 -4
  107. package/dist/exports/client/{CodeEditor-P66JEENA.js.map → CodeEditor-CHKRX3U2.js.map} +4 -4
  108. package/dist/exports/client/{DatePicker-E6IJFDN2.js → DatePicker-OLRZVTAD.js} +2 -2
  109. package/dist/exports/client/{chunk-XKP472RX.js → chunk-BGA6EPOL.js} +1 -1
  110. package/dist/exports/client/{chunk-XKP472RX.js.map → chunk-BGA6EPOL.js.map} +2 -2
  111. package/dist/exports/client/{chunk-OBXEO4WP.js → chunk-JINNHJP7.js} +1 -1
  112. package/dist/exports/client/{chunk-OBXEO4WP.js.map → chunk-JINNHJP7.js.map} +2 -2
  113. package/dist/exports/client/index.js +19 -19
  114. package/dist/exports/client/index.js.map +3 -3
  115. package/dist/exports/shared/index.js.map +2 -2
  116. package/dist/fields/Array/index.d.ts.map +1 -1
  117. package/dist/fields/Array/index.js.map +1 -1
  118. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  119. package/dist/fields/Blocks/BlocksDrawer/index.js +3 -1
  120. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  121. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  122. package/dist/fields/Checkbox/index.js.map +1 -1
  123. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  124. package/dist/fields/Collapsible/index.js.map +1 -1
  125. package/dist/fields/DateTime/index.d.ts.map +1 -1
  126. package/dist/fields/DateTime/index.js.map +1 -1
  127. package/dist/fields/JSON/index.d.ts.map +1 -1
  128. package/dist/fields/JSON/index.js +16 -8
  129. package/dist/fields/JSON/index.js.map +1 -1
  130. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  131. package/dist/fields/RadioGroup/index.js.map +1 -1
  132. package/dist/fields/Relationship/index.d.ts.map +1 -1
  133. package/dist/fields/Relationship/index.js +9 -3
  134. package/dist/fields/Relationship/index.js.map +1 -1
  135. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  136. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  137. package/dist/fields/Select/index.d.ts.map +1 -1
  138. package/dist/fields/Select/index.js +8 -6
  139. package/dist/fields/Select/index.js.map +1 -1
  140. package/dist/fields/Text/index.d.ts.map +1 -1
  141. package/dist/fields/Text/index.js.map +1 -1
  142. package/dist/fields/Textarea/index.d.ts.map +1 -1
  143. package/dist/fields/Textarea/index.js.map +1 -1
  144. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  145. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  146. package/dist/fields/Upload/HasOne/index.scss +0 -1
  147. package/dist/fields/Upload/Input.d.ts.map +1 -1
  148. package/dist/fields/Upload/Input.js +575 -268
  149. package/dist/fields/Upload/Input.js.map +1 -1
  150. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
  151. package/dist/fields/Upload/RelationshipContent/index.js +9 -4
  152. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  153. package/dist/fields/Upload/RelationshipContent/index.scss +6 -3
  154. package/dist/fields/Upload/UploadCard/index.scss +3 -3
  155. package/dist/fields/Upload/index.d.ts.map +1 -1
  156. package/dist/fields/Upload/index.js +4 -3
  157. package/dist/fields/Upload/index.js.map +1 -1
  158. package/dist/fields/Upload/index.scss +8 -6
  159. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  160. package/dist/forms/Form/fieldReducer.js +6 -2
  161. package/dist/forms/Form/fieldReducer.js.map +1 -1
  162. package/dist/forms/Form/index.d.ts.map +1 -1
  163. package/dist/forms/Form/index.js +18 -6
  164. package/dist/forms/Form/index.js.map +1 -1
  165. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  166. package/dist/forms/Form/mergeServerFormState.js +3 -1
  167. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  168. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  169. package/dist/forms/Form/rowHelpers.js +9 -3
  170. package/dist/forms/Form/rowHelpers.js.map +1 -1
  171. package/dist/forms/Form/rows.d.ts.map +1 -1
  172. package/dist/forms/Form/rows.js +3 -1
  173. package/dist/forms/Form/rows.js.map +1 -1
  174. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  175. package/dist/forms/NullifyField/index.js.map +1 -1
  176. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  177. package/dist/forms/RenderFields/RenderField.js +3 -1
  178. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  179. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  180. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +6 -2
  181. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  182. package/dist/graphics/Account/index.d.ts.map +1 -1
  183. package/dist/graphics/Account/index.js.map +1 -1
  184. package/dist/hooks/useHotkey.d.ts.map +1 -1
  185. package/dist/hooks/useHotkey.js.map +1 -1
  186. package/dist/hooks/useIntersect.d.ts.map +1 -1
  187. package/dist/hooks/useIntersect.js.map +1 -1
  188. package/dist/providers/Auth/index.d.ts.map +1 -1
  189. package/dist/providers/Auth/index.js +6 -2
  190. package/dist/providers/Auth/index.js.map +1 -1
  191. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  192. package/dist/providers/Config/createClientConfig/collections.js +3 -1
  193. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  194. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -1
  195. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +3 -1
  196. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
  197. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  198. package/dist/providers/DocumentInfo/index.js +12 -4
  199. package/dist/providers/DocumentInfo/index.js.map +1 -1
  200. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  201. package/dist/providers/ListQuery/index.js +6 -2
  202. package/dist/providers/ListQuery/index.js.map +1 -1
  203. package/dist/providers/Locale/index.d.ts.map +1 -1
  204. package/dist/providers/Locale/index.js.map +1 -1
  205. package/dist/providers/Preferences/index.d.ts.map +1 -1
  206. package/dist/providers/Preferences/index.js +3 -1
  207. package/dist/providers/Preferences/index.js.map +1 -1
  208. package/dist/styles.css +1 -1
  209. package/dist/utilities/buildFormState.d.ts.map +1 -1
  210. package/dist/utilities/buildFormState.js +6 -2
  211. package/dist/utilities/buildFormState.js.map +1 -1
  212. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  213. package/dist/utilities/reduceFieldsToValuesWithValidation.js +6 -2
  214. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  215. package/package.json +8 -8
  216. /package/dist/exports/client/{DatePicker-E6IJFDN2.js.map → DatePicker-OLRZVTAD.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","React","forwardRef","useRef","useState","ReactCrop","editDrawerSlug","PlusIcon","useTranslation","Button","baseClass","Input","props","ref","name","onChange","value","_jsxs","className","_jsx","e","target","type","defaultCrop","height","unit","width","x","y","EditUpload","fileName","fileSrc","imageCacheTag","initialCrop","initialFocalPoint","onSave","showCrop","showFocalPoint","closeModal","t","crop","setCrop","defaultFocalPosition","focalPosition","setFocalPosition","checkBounds","setCheckBounds","uncroppedPixelHeight","setUncroppedPixelHeight","uncroppedPixelWidth","setUncroppedPixelWidth","focalWrapRef","undefined","imageRef","cropRef","heightInputRef","widthInputRef","imageLoaded","setImageLoaded","onImageLoad","currentTarget","naturalHeight","naturalWidth","fineTuneCrop","dimension","intValue","parseInt","percentage","fineTuneFocalPosition","coordinate","prevPosition","saveEdits","focalPoint","heightInPixels","Number","current","widthInPixels","onDragEnd","useCallback","centerFocalPoint","containerRect","getBoundingClientRect","boundsRect","xCenter","left","yCenter","top","fileSrcToUse","title","buttonStyle","onClick","disabled","style","aspectRatio","_","c","onComplete","renderSelectionAddon","alt","onLoad","src","DraggableElement","boundsRef","containerRef","initialPosition","toFixed","children","position","setPosition","isDragging","setIsDragging","dragRef","getCoordinates","mouseXArg","mouseYArg","recenter","mouseX","mouseY","xOutOfBounds","right","yOutOfBounds","bottom","handleMouseDown","event","preventDefault","handleMouseMove","clientX","clientY","onDrop","useEffect","filter","Boolean","join","onMouseMove","onMouseDown","onMouseUp"],"sources":["../../../src/elements/EditUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { forwardRef, useRef, useState } from 'react'\nimport ReactCrop from 'react-image-crop'\nimport 'react-image-crop/dist/ReactCrop.css'\n\nimport { editDrawerSlug } from '../../elements/Upload/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-upload'\n\ntype Props = {\n name: string\n onChange: (value: string) => void\n value: string\n}\n\nconst Input = forwardRef<HTMLInputElement, Props>((props, ref) => {\n const { name, onChange, value } = props\n\n return (\n <div className={`${baseClass}__input`}>\n {name}\n <input\n name={name}\n onChange={(e) => onChange(e.target.value)}\n ref={ref}\n type=\"number\"\n value={value}\n />\n </div>\n )\n})\n\ntype FocalPosition = {\n x: number\n y: number\n}\n\nexport type EditUploadProps = {\n fileName: string\n fileSrc: string\n imageCacheTag?: string\n initialCrop?: UploadEdits['crop']\n initialFocalPoint?: FocalPosition\n onSave?: (uploadEdits: UploadEdits) => void\n showCrop?: boolean\n showFocalPoint?: boolean\n}\n\nconst defaultCrop: UploadEdits['crop'] = {\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n}\n\nexport const EditUpload: React.FC<EditUploadProps> = ({\n fileName,\n fileSrc,\n imageCacheTag,\n initialCrop,\n initialFocalPoint,\n onSave,\n showCrop,\n showFocalPoint,\n}) => {\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const [crop, setCrop] = useState<UploadEdits['crop']>(() => ({\n ...defaultCrop,\n ...(initialCrop || {}),\n }))\n\n const defaultFocalPosition: FocalPosition = {\n x: 50,\n y: 50,\n }\n\n const [focalPosition, setFocalPosition] = useState<FocalPosition>(() => ({\n ...defaultFocalPosition,\n ...initialFocalPoint,\n }))\n\n const [checkBounds, setCheckBounds] = useState<boolean>(false)\n const [uncroppedPixelHeight, setUncroppedPixelHeight] = useState<number>(0)\n const [uncroppedPixelWidth, setUncroppedPixelWidth] = useState<number>(0)\n\n const focalWrapRef = useRef<HTMLDivElement | undefined>(undefined)\n const imageRef = useRef<HTMLImageElement | undefined>(undefined)\n const cropRef = useRef<HTMLDivElement | undefined>(undefined)\n\n const heightInputRef = useRef<HTMLInputElement | null>(null)\n const widthInputRef = useRef<HTMLInputElement | null>(null)\n\n const [imageLoaded, setImageLoaded] = useState<boolean>(false)\n\n const onImageLoad = (e) => {\n // set the default image height/width on load\n setUncroppedPixelHeight(e.currentTarget.naturalHeight)\n setUncroppedPixelWidth(e.currentTarget.naturalWidth)\n setImageLoaded(true)\n }\n\n const fineTuneCrop = ({ dimension, value }: { dimension: 'height' | 'width'; value: string }) => {\n const intValue = parseInt(value)\n if (dimension === 'width' && intValue >= uncroppedPixelWidth) return null\n if (dimension === 'height' && intValue >= uncroppedPixelHeight) return null\n\n const percentage =\n 100 * (intValue / (dimension === 'width' ? uncroppedPixelWidth : uncroppedPixelHeight))\n\n if (percentage === 100 || percentage === 0) return null\n\n setCrop({\n ...crop,\n [dimension]: percentage,\n })\n }\n\n const fineTuneFocalPosition = ({\n coordinate,\n value,\n }: {\n coordinate: 'x' | 'y'\n value: string\n }) => {\n const intValue = parseInt(value)\n if (intValue >= 0 && intValue <= 100) {\n setFocalPosition((prevPosition) => ({ ...prevPosition, [coordinate]: intValue }))\n }\n }\n\n const saveEdits = () => {\n if (typeof onSave === 'function')\n onSave({\n crop: crop ? crop : undefined,\n focalPoint: focalPosition,\n heightInPixels: Number(heightInputRef?.current?.value ?? uncroppedPixelHeight),\n widthInPixels: Number(widthInputRef?.current?.value ?? uncroppedPixelWidth),\n })\n closeModal(editDrawerSlug)\n }\n\n const onDragEnd = React.useCallback(({ x, y }) => {\n setFocalPosition({ x, y })\n setCheckBounds(false)\n }, [])\n\n const centerFocalPoint = () => {\n const containerRect = focalWrapRef.current.getBoundingClientRect()\n const boundsRect = showCrop\n ? cropRef.current.getBoundingClientRect()\n : imageRef.current.getBoundingClientRect()\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n setFocalPosition({ x: xCenter, y: yCenter })\n }\n\n const fileSrcToUse = imageCacheTag ? `${fileSrc}?${imageCacheTag}` : fileSrc\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n <h2 title={`${t('general:editing')} ${fileName}`}>\n {t('general:editing')} {fileName}\n </h2>\n <div className={`${baseClass}__actions`}>\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__cancel`}\n onClick={() => closeModal(editDrawerSlug)}\n >\n {t('general:cancel')}\n </Button>\n <Button\n aria-label={t('general:applyChanges')}\n buttonStyle=\"primary\"\n className={`${baseClass}__save`}\n disabled={!imageLoaded}\n onClick={saveEdits}\n >\n {t('general:applyChanges')}\n </Button>\n </div>\n </div>\n <div className={`${baseClass}__toolWrap`}>\n <div className={`${baseClass}__crop`}>\n <div\n className={`${baseClass}__focal-wrapper`}\n ref={focalWrapRef}\n style={{\n aspectRatio: `${uncroppedPixelWidth / uncroppedPixelHeight}`,\n }}\n >\n {showCrop ? (\n <ReactCrop\n className={`${baseClass}__reactCrop`}\n crop={crop}\n onChange={(_, c) => setCrop(c)}\n onComplete={() => setCheckBounds(true)}\n renderSelectionAddon={() => {\n return <div className={`${baseClass}__crop-window`} ref={cropRef} />\n }}\n >\n <img\n alt={t('upload:setCropArea')}\n onLoad={onImageLoad}\n ref={imageRef}\n src={fileSrcToUse}\n />\n </ReactCrop>\n ) : (\n <img\n alt={t('upload:setFocalPoint')}\n onLoad={onImageLoad}\n ref={imageRef}\n src={fileSrcToUse}\n />\n )}\n {showFocalPoint && (\n <DraggableElement\n boundsRef={showCrop ? cropRef : imageRef}\n checkBounds={showCrop ? checkBounds : false}\n className={`${baseClass}__focalPoint`}\n containerRef={focalWrapRef}\n initialPosition={focalPosition}\n onDragEnd={onDragEnd}\n setCheckBounds={showCrop ? setCheckBounds : false}\n >\n <PlusIcon />\n </DraggableElement>\n )}\n </div>\n </div>\n {(showCrop || showFocalPoint) && (\n <div className={`${baseClass}__sidebar`}>\n {showCrop && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:crop')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={() =>\n setCrop({\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n })\n }\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:cropToolDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name={`${t('upload:width')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'width', value })}\n ref={widthInputRef}\n value={((crop.width / 100) * uncroppedPixelWidth).toFixed(0)}\n />\n <Input\n name={`${t('upload:height')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'height', value })}\n ref={heightInputRef}\n value={((crop.height / 100) * uncroppedPixelHeight).toFixed(0)}\n />\n </div>\n </div>\n )}\n\n {showFocalPoint && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:focalPoint')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={centerFocalPoint}\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:focalPointDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name=\"X %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'x', value })}\n value={focalPosition.x.toFixed(0)}\n />\n <Input\n name=\"Y %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'y', value })}\n value={focalPosition.y.toFixed(0)}\n />\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n )\n}\n\nconst DraggableElement = ({\n boundsRef,\n checkBounds,\n children,\n className,\n containerRef,\n initialPosition = { x: 50, y: 50 },\n onDragEnd,\n setCheckBounds,\n}) => {\n const [position, setPosition] = useState({ x: initialPosition.x, y: initialPosition.y })\n const [isDragging, setIsDragging] = useState(false)\n const dragRef = useRef<HTMLButtonElement | undefined>(undefined)\n\n const getCoordinates = React.useCallback(\n (mouseXArg?: number, mouseYArg?: number, recenter?: boolean) => {\n const containerRect = containerRef.current.getBoundingClientRect()\n const boundsRect = boundsRef.current.getBoundingClientRect()\n const mouseX = mouseXArg ?? boundsRect.left\n const mouseY = mouseYArg ?? boundsRect.top\n\n const xOutOfBounds = mouseX < boundsRect.left || mouseX > boundsRect.right\n const yOutOfBounds = mouseY < boundsRect.top || mouseY > boundsRect.bottom\n\n let x = ((mouseX - containerRect.left) / containerRect.width) * 100\n let y = ((mouseY - containerRect.top) / containerRect.height) * 100\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n if (xOutOfBounds || yOutOfBounds) {\n setIsDragging(false)\n if (mouseX < boundsRect.left) {\n x = ((boundsRect.left - containerRect.left) / containerRect.width) * 100\n } else if (mouseX > boundsRect.right) {\n x =\n ((containerRect.width - (containerRect.right - boundsRect.right)) /\n containerRect.width) *\n 100\n }\n\n if (mouseY < boundsRect.top) {\n y = ((boundsRect.top - containerRect.top) / containerRect.height) * 100\n } else if (mouseY > boundsRect.bottom) {\n y =\n ((containerRect.height - (containerRect.bottom - boundsRect.bottom)) /\n containerRect.height) *\n 100\n }\n\n if (recenter) {\n x = xOutOfBounds ? xCenter : x\n y = yOutOfBounds ? yCenter : y\n }\n }\n\n return { x, y }\n },\n [boundsRef, containerRef],\n )\n\n const handleMouseDown = (event) => {\n event.preventDefault()\n setIsDragging(true)\n }\n\n const handleMouseMove = (event) => {\n if (!isDragging) return null\n const { x, y } = getCoordinates(event.clientX, event.clientY)\n\n setPosition({ x, y })\n }\n\n const onDrop = () => {\n setIsDragging(false)\n onDragEnd(position)\n }\n\n React.useEffect(() => {\n if (isDragging || !dragRef.current) return\n if (checkBounds) {\n const { height, left, top, width } = dragRef.current.getBoundingClientRect()\n const { x, y } = getCoordinates(left + width / 2, top + height / 2, true)\n onDragEnd({ x, y })\n setPosition({ x, y })\n setCheckBounds(false)\n return\n }\n }, [getCoordinates, isDragging, checkBounds, setCheckBounds, position.x, position.y, onDragEnd])\n\n React.useEffect(() => {\n setPosition({ x: initialPosition.x, y: initialPosition.y })\n }, [initialPosition.x, initialPosition.y])\n\n return (\n <div\n className={[\n `${baseClass}__draggable-container`,\n isDragging && `${baseClass}__draggable-container--dragging`,\n ]\n .filter(Boolean)\n .join(' ')}\n onMouseMove={handleMouseMove}\n >\n <button\n className={[`${baseClass}__draggable`, className].filter(Boolean).join(' ')}\n onMouseDown={handleMouseDown}\n onMouseUp={onDrop}\n ref={dragRef}\n style={{ left: `${position.x}%`, top: `${position.y}%` }}\n type=\"button\"\n >\n {children}\n </button>\n <div />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","React","forwardRef","useRef","useState","ReactCrop","editDrawerSlug","PlusIcon","useTranslation","Button","baseClass","Input","props","ref","name","onChange","value","_jsxs","className","_jsx","e","target","type","defaultCrop","height","unit","width","x","y","EditUpload","fileName","fileSrc","imageCacheTag","initialCrop","initialFocalPoint","onSave","showCrop","showFocalPoint","closeModal","t","crop","setCrop","defaultFocalPosition","focalPosition","setFocalPosition","checkBounds","setCheckBounds","uncroppedPixelHeight","setUncroppedPixelHeight","uncroppedPixelWidth","setUncroppedPixelWidth","focalWrapRef","undefined","imageRef","cropRef","heightInputRef","widthInputRef","imageLoaded","setImageLoaded","onImageLoad","currentTarget","naturalHeight","naturalWidth","fineTuneCrop","dimension","intValue","parseInt","percentage","fineTuneFocalPosition","coordinate","prevPosition","saveEdits","focalPoint","heightInPixels","Number","current","widthInPixels","onDragEnd","useCallback","centerFocalPoint","containerRect","getBoundingClientRect","boundsRect","xCenter","left","yCenter","top","fileSrcToUse","title","buttonStyle","onClick","disabled","style","aspectRatio","_","c","onComplete","renderSelectionAddon","alt","onLoad","src","DraggableElement","boundsRef","containerRef","initialPosition","toFixed","children","position","setPosition","isDragging","setIsDragging","dragRef","getCoordinates","mouseXArg","mouseYArg","recenter","mouseX","mouseY","xOutOfBounds","right","yOutOfBounds","bottom","handleMouseDown","event","preventDefault","handleMouseMove","clientX","clientY","onDrop","useEffect","filter","Boolean","join","onMouseMove","onMouseDown","onMouseUp"],"sources":["../../../src/elements/EditUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { forwardRef, useRef, useState } from 'react'\nimport ReactCrop from 'react-image-crop'\nimport 'react-image-crop/dist/ReactCrop.css'\n\nimport { editDrawerSlug } from '../../elements/Upload/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-upload'\n\ntype Props = {\n name: string\n onChange: (value: string) => void\n value: string\n}\n\nconst Input = forwardRef<HTMLInputElement, Props>((props, ref) => {\n const { name, onChange, value } = props\n\n return (\n <div className={`${baseClass}__input`}>\n {name}\n <input\n name={name}\n onChange={(e) => onChange(e.target.value)}\n ref={ref}\n type=\"number\"\n value={value}\n />\n </div>\n )\n})\n\ntype FocalPosition = {\n x: number\n y: number\n}\n\nexport type EditUploadProps = {\n fileName: string\n fileSrc: string\n imageCacheTag?: string\n initialCrop?: UploadEdits['crop']\n initialFocalPoint?: FocalPosition\n onSave?: (uploadEdits: UploadEdits) => void\n showCrop?: boolean\n showFocalPoint?: boolean\n}\n\nconst defaultCrop: UploadEdits['crop'] = {\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n}\n\nexport const EditUpload: React.FC<EditUploadProps> = ({\n fileName,\n fileSrc,\n imageCacheTag,\n initialCrop,\n initialFocalPoint,\n onSave,\n showCrop,\n showFocalPoint,\n}) => {\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const [crop, setCrop] = useState<UploadEdits['crop']>(() => ({\n ...defaultCrop,\n ...(initialCrop || {}),\n }))\n\n const defaultFocalPosition: FocalPosition = {\n x: 50,\n y: 50,\n }\n\n const [focalPosition, setFocalPosition] = useState<FocalPosition>(() => ({\n ...defaultFocalPosition,\n ...initialFocalPoint,\n }))\n\n const [checkBounds, setCheckBounds] = useState<boolean>(false)\n const [uncroppedPixelHeight, setUncroppedPixelHeight] = useState<number>(0)\n const [uncroppedPixelWidth, setUncroppedPixelWidth] = useState<number>(0)\n\n const focalWrapRef = useRef<HTMLDivElement | undefined>(undefined)\n const imageRef = useRef<HTMLImageElement | undefined>(undefined)\n const cropRef = useRef<HTMLDivElement | undefined>(undefined)\n\n const heightInputRef = useRef<HTMLInputElement | null>(null)\n const widthInputRef = useRef<HTMLInputElement | null>(null)\n\n const [imageLoaded, setImageLoaded] = useState<boolean>(false)\n\n const onImageLoad = (e) => {\n // set the default image height/width on load\n setUncroppedPixelHeight(e.currentTarget.naturalHeight)\n setUncroppedPixelWidth(e.currentTarget.naturalWidth)\n setImageLoaded(true)\n }\n\n const fineTuneCrop = ({ dimension, value }: { dimension: 'height' | 'width'; value: string }) => {\n const intValue = parseInt(value)\n if (dimension === 'width' && intValue >= uncroppedPixelWidth) {\n return null\n }\n if (dimension === 'height' && intValue >= uncroppedPixelHeight) {\n return null\n }\n\n const percentage =\n 100 * (intValue / (dimension === 'width' ? uncroppedPixelWidth : uncroppedPixelHeight))\n\n if (percentage === 100 || percentage === 0) {\n return null\n }\n\n setCrop({\n ...crop,\n [dimension]: percentage,\n })\n }\n\n const fineTuneFocalPosition = ({\n coordinate,\n value,\n }: {\n coordinate: 'x' | 'y'\n value: string\n }) => {\n const intValue = parseInt(value)\n if (intValue >= 0 && intValue <= 100) {\n setFocalPosition((prevPosition) => ({ ...prevPosition, [coordinate]: intValue }))\n }\n }\n\n const saveEdits = () => {\n if (typeof onSave === 'function') {\n onSave({\n crop: crop ? crop : undefined,\n focalPoint: focalPosition,\n heightInPixels: Number(heightInputRef?.current?.value ?? uncroppedPixelHeight),\n widthInPixels: Number(widthInputRef?.current?.value ?? uncroppedPixelWidth),\n })\n }\n closeModal(editDrawerSlug)\n }\n\n const onDragEnd = React.useCallback(({ x, y }) => {\n setFocalPosition({ x, y })\n setCheckBounds(false)\n }, [])\n\n const centerFocalPoint = () => {\n const containerRect = focalWrapRef.current.getBoundingClientRect()\n const boundsRect = showCrop\n ? cropRef.current.getBoundingClientRect()\n : imageRef.current.getBoundingClientRect()\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n setFocalPosition({ x: xCenter, y: yCenter })\n }\n\n const fileSrcToUse = imageCacheTag ? `${fileSrc}?${imageCacheTag}` : fileSrc\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n <h2 title={`${t('general:editing')} ${fileName}`}>\n {t('general:editing')} {fileName}\n </h2>\n <div className={`${baseClass}__actions`}>\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__cancel`}\n onClick={() => closeModal(editDrawerSlug)}\n >\n {t('general:cancel')}\n </Button>\n <Button\n aria-label={t('general:applyChanges')}\n buttonStyle=\"primary\"\n className={`${baseClass}__save`}\n disabled={!imageLoaded}\n onClick={saveEdits}\n >\n {t('general:applyChanges')}\n </Button>\n </div>\n </div>\n <div className={`${baseClass}__toolWrap`}>\n <div className={`${baseClass}__crop`}>\n <div\n className={`${baseClass}__focal-wrapper`}\n ref={focalWrapRef}\n style={{\n aspectRatio: `${uncroppedPixelWidth / uncroppedPixelHeight}`,\n }}\n >\n {showCrop ? (\n <ReactCrop\n className={`${baseClass}__reactCrop`}\n crop={crop}\n onChange={(_, c) => setCrop(c)}\n onComplete={() => setCheckBounds(true)}\n renderSelectionAddon={() => {\n return <div className={`${baseClass}__crop-window`} ref={cropRef} />\n }}\n >\n <img\n alt={t('upload:setCropArea')}\n onLoad={onImageLoad}\n ref={imageRef}\n src={fileSrcToUse}\n />\n </ReactCrop>\n ) : (\n <img\n alt={t('upload:setFocalPoint')}\n onLoad={onImageLoad}\n ref={imageRef}\n src={fileSrcToUse}\n />\n )}\n {showFocalPoint && (\n <DraggableElement\n boundsRef={showCrop ? cropRef : imageRef}\n checkBounds={showCrop ? checkBounds : false}\n className={`${baseClass}__focalPoint`}\n containerRef={focalWrapRef}\n initialPosition={focalPosition}\n onDragEnd={onDragEnd}\n setCheckBounds={showCrop ? setCheckBounds : false}\n >\n <PlusIcon />\n </DraggableElement>\n )}\n </div>\n </div>\n {(showCrop || showFocalPoint) && (\n <div className={`${baseClass}__sidebar`}>\n {showCrop && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:crop')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={() =>\n setCrop({\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n })\n }\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:cropToolDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name={`${t('upload:width')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'width', value })}\n ref={widthInputRef}\n value={((crop.width / 100) * uncroppedPixelWidth).toFixed(0)}\n />\n <Input\n name={`${t('upload:height')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'height', value })}\n ref={heightInputRef}\n value={((crop.height / 100) * uncroppedPixelHeight).toFixed(0)}\n />\n </div>\n </div>\n )}\n\n {showFocalPoint && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:focalPoint')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={centerFocalPoint}\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:focalPointDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name=\"X %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'x', value })}\n value={focalPosition.x.toFixed(0)}\n />\n <Input\n name=\"Y %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'y', value })}\n value={focalPosition.y.toFixed(0)}\n />\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n )\n}\n\nconst DraggableElement = ({\n boundsRef,\n checkBounds,\n children,\n className,\n containerRef,\n initialPosition = { x: 50, y: 50 },\n onDragEnd,\n setCheckBounds,\n}) => {\n const [position, setPosition] = useState({ x: initialPosition.x, y: initialPosition.y })\n const [isDragging, setIsDragging] = useState(false)\n const dragRef = useRef<HTMLButtonElement | undefined>(undefined)\n\n const getCoordinates = React.useCallback(\n (mouseXArg?: number, mouseYArg?: number, recenter?: boolean) => {\n const containerRect = containerRef.current.getBoundingClientRect()\n const boundsRect = boundsRef.current.getBoundingClientRect()\n const mouseX = mouseXArg ?? boundsRect.left\n const mouseY = mouseYArg ?? boundsRect.top\n\n const xOutOfBounds = mouseX < boundsRect.left || mouseX > boundsRect.right\n const yOutOfBounds = mouseY < boundsRect.top || mouseY > boundsRect.bottom\n\n let x = ((mouseX - containerRect.left) / containerRect.width) * 100\n let y = ((mouseY - containerRect.top) / containerRect.height) * 100\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n if (xOutOfBounds || yOutOfBounds) {\n setIsDragging(false)\n if (mouseX < boundsRect.left) {\n x = ((boundsRect.left - containerRect.left) / containerRect.width) * 100\n } else if (mouseX > boundsRect.right) {\n x =\n ((containerRect.width - (containerRect.right - boundsRect.right)) /\n containerRect.width) *\n 100\n }\n\n if (mouseY < boundsRect.top) {\n y = ((boundsRect.top - containerRect.top) / containerRect.height) * 100\n } else if (mouseY > boundsRect.bottom) {\n y =\n ((containerRect.height - (containerRect.bottom - boundsRect.bottom)) /\n containerRect.height) *\n 100\n }\n\n if (recenter) {\n x = xOutOfBounds ? xCenter : x\n y = yOutOfBounds ? yCenter : y\n }\n }\n\n return { x, y }\n },\n [boundsRef, containerRef],\n )\n\n const handleMouseDown = (event) => {\n event.preventDefault()\n setIsDragging(true)\n }\n\n const handleMouseMove = (event) => {\n if (!isDragging) {\n return null\n }\n const { x, y } = getCoordinates(event.clientX, event.clientY)\n\n setPosition({ x, y })\n }\n\n const onDrop = () => {\n setIsDragging(false)\n onDragEnd(position)\n }\n\n React.useEffect(() => {\n if (isDragging || !dragRef.current) {\n return\n }\n if (checkBounds) {\n const { height, left, top, width } = dragRef.current.getBoundingClientRect()\n const { x, y } = getCoordinates(left + width / 2, top + height / 2, true)\n onDragEnd({ x, y })\n setPosition({ x, y })\n setCheckBounds(false)\n return\n }\n }, [getCoordinates, isDragging, checkBounds, setCheckBounds, position.x, position.y, onDragEnd])\n\n React.useEffect(() => {\n setPosition({ x: initialPosition.x, y: initialPosition.y })\n }, [initialPosition.x, initialPosition.y])\n\n return (\n <div\n className={[\n `${baseClass}__draggable-container`,\n isDragging && `${baseClass}__draggable-container--dragging`,\n ]\n .filter(Boolean)\n .join(' ')}\n onMouseMove={handleMouseMove}\n >\n <button\n className={[`${baseClass}__draggable`, className].filter(Boolean).join(' ')}\n onMouseDown={handleMouseDown}\n onMouseUp={onDrop}\n ref={dragRef}\n style={{ left: `${position.x}%`, top: `${position.y}%` }}\n type=\"button\"\n >\n {children}\n </button>\n <div />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ErrorPill/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAkB9C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ErrorPill/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAoB9C,CAAA"}
@@ -13,7 +13,9 @@ export const ErrorPill = props => {
13
13
  } = props;
14
14
  const lessThan3Chars = !withMessage && count < 99;
15
15
  const classes = [baseClass, lessThan3Chars && `${baseClass}--fixed-width`, className && className].filter(Boolean).join(' ');
16
- if (count === 0) return null;
16
+ if (count === 0) {
17
+ return null;
18
+ }
17
19
  return /*#__PURE__*/_jsx("div", {
18
20
  className: classes,
19
21
  children: /*#__PURE__*/_jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","baseClass","ErrorPill","props","className","count","i18n","withMessage","lessThan3Chars","classes","filter","Boolean","join","_jsx","_jsxs","t"],"sources":["../../../src/elements/ErrorPill/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\n\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'error-pill'\n\nexport type ErrorPillProps = {\n className?: string\n count: number\n i18n: I18nClient\n withMessage?: boolean\n}\n\nexport const ErrorPill: React.FC<ErrorPillProps> = (props) => {\n const { className, count, i18n, withMessage } = props\n const lessThan3Chars = !withMessage && count < 99\n\n const classes = [baseClass, lessThan3Chars && `${baseClass}--fixed-width`, className && className]\n .filter(Boolean)\n .join(' ')\n\n if (count === 0) return null\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__content`}>\n <span className={`${baseClass}__count`}>{count}</span>\n {withMessage && ` ${count > 1 ? i18n.t('general:errors') : i18n.t('general:error')}`}\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AASlB,OAAO,MAAMC,SAAA,GAAuCC,KAAA;EAClD,MAAM;IAAEC,SAAS;IAAEC,KAAK;IAAEC,IAAI;IAAEC;EAAW,CAAE,GAAGJ,KAAA;EAChD,MAAMK,cAAA,GAAiB,CAACD,WAAA,IAAeF,KAAA,GAAQ;EAE/C,MAAMI,OAAA,GAAU,CAACR,SAAA,EAAWO,cAAA,IAAkB,GAAGP,SAAA,eAAwB,EAAEG,SAAA,IAAaA,SAAA,CAAU,CAC/FM,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;EAER,IAAIP,KAAA,KAAU,GAAG,OAAO;EAExB,oBACEQ,IAAA,CAAC;IAAIT,SAAA,EAAWK,OAAA;cACd,aAAAK,KAAA,CAAC;MAAIV,SAAA,EAAW,GAAGH,SAAA,WAAoB;8BACrCY,IAAA,CAAC;QAAKT,SAAA,EAAW,GAAGH,SAAA,SAAkB;kBAAGI;UACxCE,WAAA,IAAe,IAAIF,KAAA,GAAQ,IAAIC,IAAA,CAAKS,CAAC,CAAC,oBAAoBT,IAAA,CAAKS,CAAC,CAAC,kBAAkB;;;AAI5F","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","baseClass","ErrorPill","props","className","count","i18n","withMessage","lessThan3Chars","classes","filter","Boolean","join","_jsx","_jsxs","t"],"sources":["../../../src/elements/ErrorPill/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\n\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'error-pill'\n\nexport type ErrorPillProps = {\n className?: string\n count: number\n i18n: I18nClient\n withMessage?: boolean\n}\n\nexport const ErrorPill: React.FC<ErrorPillProps> = (props) => {\n const { className, count, i18n, withMessage } = props\n const lessThan3Chars = !withMessage && count < 99\n\n const classes = [baseClass, lessThan3Chars && `${baseClass}--fixed-width`, className && className]\n .filter(Boolean)\n .join(' ')\n\n if (count === 0) {\n return null\n }\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__content`}>\n <span className={`${baseClass}__count`}>{count}</span>\n {withMessage && ` ${count > 1 ? i18n.t('general:errors') : i18n.t('general:error')}`}\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AASlB,OAAO,MAAMC,SAAA,GAAuCC,KAAA;EAClD,MAAM;IAAEC,SAAS;IAAEC,KAAK;IAAEC,IAAI;IAAEC;EAAW,CAAE,GAAGJ,KAAA;EAChD,MAAMK,cAAA,GAAiB,CAACD,WAAA,IAAeF,KAAA,GAAQ;EAE/C,MAAMI,OAAA,GAAU,CAACR,SAAA,EAAWO,cAAA,IAAkB,GAAGP,SAAA,eAAwB,EAAEG,SAAA,IAAaA,SAAA,CAAU,CAC/FM,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;EAER,IAAIP,KAAA,KAAU,GAAG;IACf,OAAO;EACT;EAEA,oBACEQ,IAAA,CAAC;IAAIT,SAAA,EAAWK,OAAA;cACd,aAAAK,KAAA,CAAC;MAAIV,SAAA,EAAW,GAAGH,SAAA,WAAoB;8BACrCY,IAAA,CAAC;QAAKT,SAAA,EAAW,GAAGH,SAAA,SAAkB;kBAAGI;UACxCE,WAAA,IAAe,IAAIF,KAAA,GAAQ,IAAIC,IAAA,CAAKS,CAAC,CAAC,oBAAoBT,IAAA,CAAKS,CAAC,CAAC,kBAAkB;;;AAI5F","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAmB,MAAM,SAAS,CAAA;AAG1E,OAAO,KAAK,EAAE,EAAY,KAAK,GAAG,EAAY,MAAM,OAAO,CAAA;AAQ3D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;CACxD,CAAA;AAED,eAAO,MAAM,YAAY,oCAItB;IACD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAA;CAC9B,KAAG,GAAG,CAAC,OA6CP,CAAA;AAqED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgDlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAmB,MAAM,SAAS,CAAA;AAG1E,OAAO,KAAK,EAAE,EAAY,KAAK,GAAG,EAAY,MAAM,OAAO,CAAA;AAQ3D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;CACxD,CAAA;AAED,eAAO,MAAM,YAAY,oCAItB;IACD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAA;CAC9B,KAAG,GAAG,CAAC,OA+CP,CAAA;AAqED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgDlD,CAAA"}
@@ -31,7 +31,9 @@ export const combineLabel = ({
31
31
  Component: null,
32
32
  RenderedComponent: customLabel
33
33
  };
34
- if (!LabelToRender) return null;
34
+ if (!LabelToRender) {
35
+ return null;
36
+ }
35
37
  return /*#__PURE__*/_jsxs(Fragment, {
36
38
  children: [prefix && /*#__PURE__*/_jsxs(Fragment, {
37
39
  children: [/*#__PURE__*/_jsx("span", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","React","Fragment","useState","FieldLabel","useForm","createNestedClientFieldPath","RenderComponent","useTranslation","ReactSelect","baseClass","combineLabel","customLabel","field","prefix","CustomLabelToRender","admin","components","Label","undefined","DefaultLabelToRender","label","type","Component","props","LabelToRender","RenderedComponent","_jsxs","_jsx","style","display","mappedComponent","reduceFields","fields","labelPrefix","path","reduce","fieldsToUse","disableBulkEdit","unique","hidden","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","t0","$","setSelected","t","t1","options","dispatchFields","getFields","t2","selected","activeFields","map","t3","Object","keys","length","forEach","find","handleChange","className","children","getOptionValue","_temp","isMulti","onChange","option","String"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPath, MappedComponent } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields } from 'payload/shared'\nimport React, { Fragment, type JSX, useState } from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly setSelected: (fields: FieldWithPath[]) => void\n}\n\nexport const combineLabel = ({\n customLabel,\n field,\n prefix,\n}: {\n customLabel?: string\n field?: ClientField\n prefix?: JSX.Element | string\n}): JSX.Element => {\n const CustomLabelToRender: MappedComponent =\n field?.admin?.components &&\n 'Label' in field.admin.components &&\n field?.admin?.components?.Label !== undefined\n ? field.admin.components.Label\n : null\n\n const DefaultLabelToRender: MappedComponent =\n field && 'label' in field && field.label\n ? {\n type: 'client',\n Component: FieldLabel,\n props: {\n Label:\n field.admin?.components && 'Label' in field.admin.components\n ? field.admin?.components?.Label\n : null,\n label: field.label,\n },\n }\n : null\n\n const LabelToRender: MappedComponent = CustomLabelToRender ||\n DefaultLabelToRender || {\n type: 'client',\n Component: null,\n RenderedComponent: customLabel,\n }\n\n if (!LabelToRender) return null\n\n return (\n <Fragment>\n {prefix && (\n <Fragment>\n <span style={{ display: 'inline-block' }}>{prefix}</span>\n {' > '}\n </Fragment>\n )}\n <span style={{ display: 'inline-block' }}>\n <RenderComponent mappedComponent={LabelToRender} />\n </span>\n </Fragment>\n )\n}\n\nconst reduceFields = ({\n fields,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n labelPrefix?: JSX.Element | string\n path?: string\n}): { Label: JSX.Element; value: FieldWithPath }[] => {\n if (!fields) {\n return []\n }\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons\n if (\n fieldAffectsData(field) &&\n (field.admin.disableBulkEdit ||\n field.unique ||\n field.admin.hidden ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFields({\n fields: field.fields,\n labelPrefix: combineLabel({ field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFields({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineLabel({ field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, setSelected }) => {\n const { t } = useTranslation()\n const [options] = useState(() => reduceFields({ fields }))\n\n const { dispatchFields, getFields } = useForm()\n\n const handleChange = (selected) => {\n const activeFields = getFields()\n if (selected === null) {\n setSelected([])\n } else {\n setSelected(selected.map(({ value }) => value))\n }\n\n // remove deselected values from form state\n if (selected === null || Object.keys(activeFields || []).length > selected.length) {\n Object.keys(activeFields).forEach((path) => {\n if (\n selected === null ||\n !selected.find((field) => {\n return field.value.path === path\n })\n ) {\n dispatchFields({\n type: 'REMOVE',\n path,\n })\n }\n })\n }\n }\n\n return (\n <div className={baseClass}>\n <FieldLabel field={null} label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={handleChange}\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","React","Fragment","useState","FieldLabel","useForm","createNestedClientFieldPath","RenderComponent","useTranslation","ReactSelect","baseClass","combineLabel","customLabel","field","prefix","CustomLabelToRender","admin","components","Label","undefined","DefaultLabelToRender","label","type","Component","props","LabelToRender","RenderedComponent","_jsxs","_jsx","style","display","mappedComponent","reduceFields","fields","labelPrefix","path","reduce","fieldsToUse","disableBulkEdit","unique","hidden","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","t0","$","setSelected","t","t1","options","dispatchFields","getFields","t2","selected","activeFields","map","t3","Object","keys","length","forEach","find","handleChange","className","children","getOptionValue","_temp","isMulti","onChange","option","String"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPath, MappedComponent } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields } from 'payload/shared'\nimport React, { Fragment, type JSX, useState } from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly setSelected: (fields: FieldWithPath[]) => void\n}\n\nexport const combineLabel = ({\n customLabel,\n field,\n prefix,\n}: {\n customLabel?: string\n field?: ClientField\n prefix?: JSX.Element | string\n}): JSX.Element => {\n const CustomLabelToRender: MappedComponent =\n field?.admin?.components &&\n 'Label' in field.admin.components &&\n field?.admin?.components?.Label !== undefined\n ? field.admin.components.Label\n : null\n\n const DefaultLabelToRender: MappedComponent =\n field && 'label' in field && field.label\n ? {\n type: 'client',\n Component: FieldLabel,\n props: {\n Label:\n field.admin?.components && 'Label' in field.admin.components\n ? field.admin?.components?.Label\n : null,\n label: field.label,\n },\n }\n : null\n\n const LabelToRender: MappedComponent = CustomLabelToRender ||\n DefaultLabelToRender || {\n type: 'client',\n Component: null,\n RenderedComponent: customLabel,\n }\n\n if (!LabelToRender) {\n return null\n }\n\n return (\n <Fragment>\n {prefix && (\n <Fragment>\n <span style={{ display: 'inline-block' }}>{prefix}</span>\n {' > '}\n </Fragment>\n )}\n <span style={{ display: 'inline-block' }}>\n <RenderComponent mappedComponent={LabelToRender} />\n </span>\n </Fragment>\n )\n}\n\nconst reduceFields = ({\n fields,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n labelPrefix?: JSX.Element | string\n path?: string\n}): { Label: JSX.Element; value: FieldWithPath }[] => {\n if (!fields) {\n return []\n }\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons\n if (\n fieldAffectsData(field) &&\n (field.admin.disableBulkEdit ||\n field.unique ||\n field.admin.hidden ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFields({\n fields: field.fields,\n labelPrefix: combineLabel({ field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFields({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineLabel({ field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, setSelected }) => {\n const { t } = useTranslation()\n const [options] = useState(() => reduceFields({ fields }))\n\n const { dispatchFields, getFields } = useForm()\n\n const handleChange = (selected) => {\n const activeFields = getFields()\n if (selected === null) {\n setSelected([])\n } else {\n setSelected(selected.map(({ value }) => value))\n }\n\n // remove deselected values from form state\n if (selected === null || Object.keys(activeFields || []).length > selected.length) {\n Object.keys(activeFields).forEach((path) => {\n if (\n selected === null ||\n !selected.find((field) => {\n return field.value.path === path\n })\n ) {\n dispatchFields({\n type: 'REMOVE',\n path,\n })\n }\n })\n }\n }\n\n return (\n <div className={baseClass}>\n <FieldLabel field={null} label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={handleChange}\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAqCjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4RvD,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAqCjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsSvD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useReducer","useState","SelectMany","FieldLabel","usePayloadAPI","XIcon","useAuth","RenderComponent","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","t0","$","collectionSlugs","customHeader","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","selectedCollection","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","config","t1","collections","routes","t2","serverURL","api","t3","t4","t5","slug","includes","filter","enabledCollectionConfigs","find","slug_0","selectedCollectionConfig","setSelectedCollectionConfig","List","admin","components","views","list","Component","label","labels","singular","value","undefined","selectedOption","setSelectedOption","t6","_temp","t7","selectedConfig","t8","slug_1","preferenceKey","t9","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t10","documentDrawerSlug","t11","t12","Array","isArray","t13","slug_2","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","_temp2","initialParams","depth","t14","t15","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","t16","slug_3","t17","versions","listSearchableFields","useAsTitle","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","t18","t19","newPreferences","t20","t21","doc","docID","id","onCreateNew","Symbol","for","_jsx","plural","t22","t23","className","children","t24","t25","description","Description","t26","t27","rowColl","rowData","Header","_jsxs","onClick","type","field","onChange","options","coll","collectionConfig","disableBulkDelete","disableBulkEdit","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","mappedComponent","onSave","state"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const List = selectedCollectionConfig?.admin?.components.views.list.Component\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {\n initialParams: {\n depth: 0,\n },\n })\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n depth?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {\n depth: 0,\n }\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {(selectedCollectionConfig?.admin?.description ||\n selectedCollectionConfig?.admin?.components?.Description) && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription\n Description={selectedCollectionConfig.admin?.components?.Description}\n description={selectedCollectionConfig.admin?.description}\n />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel field={null} label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n beforeActions={\n enableRowSelections ? [<SelectMany key=\"select-many\" onClick={onBulkSelect} />] : undefined\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n disableBulkDelete\n disableBulkEdit\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n enableRowSelections={enableRowSelections}\n preferenceKey={preferenceKey}\n >\n <RenderComponent mappedComponent={List} />\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useReducer","useState","SelectMany","FieldLabel","usePayloadAPI","XIcon","useAuth","RenderComponent","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","t0","$","collectionSlugs","customHeader","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","selectedCollection","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","config","t1","collections","routes","t2","serverURL","api","t3","t4","t5","slug","includes","filter","enabledCollectionConfigs","find","slug_0","selectedCollectionConfig","setSelectedCollectionConfig","List","admin","components","views","list","Component","label","labels","singular","value","undefined","selectedOption","setSelectedOption","t6","_temp","t7","selectedConfig","t8","slug_1","preferenceKey","t9","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t10","documentDrawerSlug","t11","t12","Array","isArray","t13","slug_2","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","_temp2","initialParams","depth","t14","t15","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","t16","slug_3","t17","versions","listSearchableFields","useAsTitle","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","t18","t19","newPreferences","t20","t21","doc","docID","id","onCreateNew","Symbol","for","_jsx","plural","t22","t23","className","children","t24","t25","description","Description","t26","t27","rowColl","rowData","Header","_jsxs","onClick","type","field","onChange","options","coll","collectionConfig","disableBulkDelete","disableBulkEdit","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","mappedComponent","onSave","state"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const List = selectedCollectionConfig?.admin?.components.views.list.Component\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {\n initialParams: {\n depth: 0,\n },\n })\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n depth?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {\n depth: 0,\n }\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) {\n params.page = page\n }\n if (sort) {\n params.sort = sort\n }\n if (cacheBust) {\n params.cacheBust = cacheBust\n }\n if (copyOfWhere) {\n params.where = copyOfWhere\n }\n if (versions?.drafts) {\n params.draft = 'true'\n }\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {(selectedCollectionConfig?.admin?.description ||\n selectedCollectionConfig?.admin?.components?.Description) && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription\n Description={selectedCollectionConfig.admin?.components?.Description}\n description={selectedCollectionConfig.admin?.description}\n />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel field={null} label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n beforeActions={\n enableRowSelections ? [<SelectMany key=\"select-many\" onClick={onBulkSelect} />] : undefined\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n disableBulkDelete\n disableBulkEdit\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n enableRowSelections={enableRowSelections}\n preferenceKey={preferenceKey}\n >\n <RenderComponent mappedComponent={List} />\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -50,7 +50,7 @@
50
50
  &:focus-within:not(:focus-visible) {
51
51
  outline: none;
52
52
  }
53
-
53
+
54
54
  &:focus-visible {
55
55
  outline: var(--accessibility-outline);
56
56
  outline-offset: var(--accessibility-outline-offset);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Pagination/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAUrB,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,IAAI,GACZ;IACE,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;QAC5B,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KACpC,CAAA;IACD,IAAI,EAAE,gBAAgB,GAAG,MAAM,GAAG,WAAW,CAAA;CAC9C,GACD,MAAM,CAAA;AAEV,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8FhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Pagination/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAUrB,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,IAAI,GACZ;IACE,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;QAC5B,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KACpC,CAAA;IACD,IAAI,EAAE,gBAAgB,GAAG,MAAM,GAAG,WAAW,CAAA;CAC9C,GACD,MAAM,CAAA;AAEV,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAwGhD,CAAA"}
@@ -23,9 +23,13 @@ export const Pagination = props => {
23
23
  prevPage = null,
24
24
  totalPages = null
25
25
  } = props;
26
- if (!totalPages || totalPages <= 1) return null;
26
+ if (!totalPages || totalPages <= 1) {
27
+ return null;
28
+ }
27
29
  const updatePage = page => {
28
- if (typeof onChange === 'function') onChange(page);
30
+ if (typeof onChange === 'function') {
31
+ onChange(page);
32
+ }
29
33
  };
30
34
  // Create array of integers for each page
31
35
  const pages = Array.from({
@@ -34,14 +38,18 @@ export const Pagination = props => {
34
38
  // Assign indices for start and end of the range of pages that should be shown in paginator
35
39
  let rangeStartIndex = currentPage - 1 - numberOfNeighbors;
36
40
  // Sanitize rangeStartIndex in case it is less than zero for safe split
37
- if (rangeStartIndex <= 0) rangeStartIndex = 0;
41
+ if (rangeStartIndex <= 0) {
42
+ rangeStartIndex = 0;
43
+ }
38
44
  const rangeEndIndex = currentPage - 1 + numberOfNeighbors + 1;
39
45
  // Slice out the range of pages that we want to render
40
46
  const nodes = pages.slice(rangeStartIndex, rangeEndIndex);
41
47
  // Add prev separator if necessary
42
- if (currentPage - numberOfNeighbors - 1 >= 2) nodes.unshift({
43
- type: 'Separator'
44
- });
48
+ if (currentPage - numberOfNeighbors - 1 >= 2) {
49
+ nodes.unshift({
50
+ type: 'Separator'
51
+ });
52
+ }
45
53
  // Add first page if necessary
46
54
  if (currentPage > numberOfNeighbors + 1) {
47
55
  nodes.unshift({
@@ -54,9 +62,11 @@ export const Pagination = props => {
54
62
  });
55
63
  }
56
64
  // Add next separator if necessary
57
- if (currentPage + numberOfNeighbors + 1 < totalPages) nodes.push({
58
- type: 'Separator'
59
- });
65
+ if (currentPage + numberOfNeighbors + 1 < totalPages) {
66
+ nodes.push({
67
+ type: 'Separator'
68
+ });
69
+ }
60
70
  // Add last page if necessary
61
71
  if (rangeEndIndex < totalPages) {
62
72
  nodes.push({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","ClickableArrow","Page","Separator","nodeTypes","baseClass","Pagination","props","hasNextPage","hasPrevPage","nextPage","numberOfNeighbors","onChange","page","currentPage","prevPage","totalPages","updatePage","pages","Array","from","length","_","index","rangeStartIndex","rangeEndIndex","nodes","slice","unshift","type","isFirstPage","push","isLastPage","direction","isDisabled","_jsx","className","map","node","i","isCurrent","NodeType"],"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport { Page } from './Page/index.js'\nimport { Separator } from './Separator/index.js'\nimport './index.scss'\n\nconst nodeTypes = {\n ClickableArrow,\n Page,\n Separator,\n}\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n totalPages?: number\n}\n\nexport type Node =\n | {\n props?: {\n direction?: 'left' | 'right'\n isDisabled?: boolean\n isFirstPage?: boolean\n isLastPage?: boolean\n page?: number\n updatePage: (page?: number) => void\n }\n type: 'ClickableArrow' | 'Page' | 'Separator'\n }\n | number\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n numberOfNeighbors = 1,\n onChange,\n page: currentPage,\n prevPage = null,\n totalPages = null,\n } = props\n\n if (!totalPages || totalPages <= 1) return null\n\n const updatePage = (page) => {\n if (typeof onChange === 'function') onChange(page)\n }\n\n // Create array of integers for each page\n const pages = Array.from({ length: totalPages }, (_, index) => index + 1)\n\n // Assign indices for start and end of the range of pages that should be shown in paginator\n let rangeStartIndex = currentPage - 1 - numberOfNeighbors\n\n // Sanitize rangeStartIndex in case it is less than zero for safe split\n if (rangeStartIndex <= 0) rangeStartIndex = 0\n\n const rangeEndIndex = currentPage - 1 + numberOfNeighbors + 1\n\n // Slice out the range of pages that we want to render\n const nodes: Node[] = pages.slice(rangeStartIndex, rangeEndIndex)\n\n // Add prev separator if necessary\n if (currentPage - numberOfNeighbors - 1 >= 2) nodes.unshift({ type: 'Separator' })\n // Add first page if necessary\n if (currentPage > numberOfNeighbors + 1) {\n nodes.unshift({\n type: 'Page',\n props: {\n isFirstPage: true,\n page: 1,\n updatePage,\n },\n })\n }\n\n // Add next separator if necessary\n if (currentPage + numberOfNeighbors + 1 < totalPages) nodes.push({ type: 'Separator' })\n // Add last page if necessary\n if (rangeEndIndex < totalPages) {\n nodes.push({\n type: 'Page',\n props: {\n isLastPage: true,\n page: totalPages,\n updatePage,\n },\n })\n }\n\n // Add prev and next arrows based on necessity\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'right',\n isDisabled: !hasNextPage,\n updatePage: () => updatePage(nextPage),\n },\n })\n\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'left',\n isDisabled: !hasPrevPage,\n updatePage: () => updatePage(prevPage),\n },\n })\n\n return (\n <div className={baseClass}>\n {nodes.map((node, i) => {\n if (typeof node === 'number') {\n return (\n <Page isCurrent={currentPage === node} key={i} page={node} updatePage={updatePage} />\n )\n }\n\n const NodeType = nodeTypes[node.type]\n\n return <NodeType key={i} {...node.props} />\n })}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","ClickableArrow","Page","Separator","nodeTypes","baseClass","Pagination","props","hasNextPage","hasPrevPage","nextPage","numberOfNeighbors","onChange","page","currentPage","prevPage","totalPages","updatePage","pages","Array","from","length","_","index","rangeStartIndex","rangeEndIndex","nodes","slice","unshift","type","isFirstPage","push","isLastPage","direction","isDisabled","_jsx","className","map","node","i","isCurrent","NodeType"],"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport { Page } from './Page/index.js'\nimport { Separator } from './Separator/index.js'\nimport './index.scss'\n\nconst nodeTypes = {\n ClickableArrow,\n Page,\n Separator,\n}\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n totalPages?: number\n}\n\nexport type Node =\n | {\n props?: {\n direction?: 'left' | 'right'\n isDisabled?: boolean\n isFirstPage?: boolean\n isLastPage?: boolean\n page?: number\n updatePage: (page?: number) => void\n }\n type: 'ClickableArrow' | 'Page' | 'Separator'\n }\n | number\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n numberOfNeighbors = 1,\n onChange,\n page: currentPage,\n prevPage = null,\n totalPages = null,\n } = props\n\n if (!totalPages || totalPages <= 1) {\n return null\n }\n\n const updatePage = (page) => {\n if (typeof onChange === 'function') {\n onChange(page)\n }\n }\n\n // Create array of integers for each page\n const pages = Array.from({ length: totalPages }, (_, index) => index + 1)\n\n // Assign indices for start and end of the range of pages that should be shown in paginator\n let rangeStartIndex = currentPage - 1 - numberOfNeighbors\n\n // Sanitize rangeStartIndex in case it is less than zero for safe split\n if (rangeStartIndex <= 0) {\n rangeStartIndex = 0\n }\n\n const rangeEndIndex = currentPage - 1 + numberOfNeighbors + 1\n\n // Slice out the range of pages that we want to render\n const nodes: Node[] = pages.slice(rangeStartIndex, rangeEndIndex)\n\n // Add prev separator if necessary\n if (currentPage - numberOfNeighbors - 1 >= 2) {\n nodes.unshift({ type: 'Separator' })\n }\n // Add first page if necessary\n if (currentPage > numberOfNeighbors + 1) {\n nodes.unshift({\n type: 'Page',\n props: {\n isFirstPage: true,\n page: 1,\n updatePage,\n },\n })\n }\n\n // Add next separator if necessary\n if (currentPage + numberOfNeighbors + 1 < totalPages) {\n nodes.push({ type: 'Separator' })\n }\n // Add last page if necessary\n if (rangeEndIndex < totalPages) {\n nodes.push({\n type: 'Page',\n props: {\n isLastPage: true,\n page: totalPages,\n updatePage,\n },\n })\n }\n\n // Add prev and next arrows based on necessity\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'right',\n isDisabled: !hasNextPage,\n updatePage: () => updatePage(nextPage),\n },\n })\n\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'left',\n isDisabled: !hasPrevPage,\n updatePage: () => updatePage(prevPage),\n },\n })\n\n return (\n <div className={baseClass}>\n {nodes.map((node, i) => {\n if (typeof node === 'number') {\n return (\n <Page isCurrent={currentPage === node} key={i} page={node} updatePage={updatePage} />\n )\n }\n\n const NodeType = nodeTypes[node.type]\n\n return <NodeType key={i} {...node.props} />\n })}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PerPage/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAoD1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PerPage/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAsD1C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","collectionDefaults","isNumber","React","ChevronIcon","useTranslation","Popup","PopupList","baseClass","defaultLimits","admin","pagination","limits","PerPage","t0","$","defaultLimit","t1","handleChange","limit","t2","undefined","t","limitToUse","t3","t4","t5","close","_jsx","ButtonGroup","children","map","limitNumber","i","_jsxs","Button","className","filter","Boolean","join","onClick","direction","button","render"],"sources":["../../../src/elements/PerPage/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { collectionDefaults, isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'per-page'\n\nconst defaultLimits = collectionDefaults.admin.pagination.limits\n\nexport type PerPageProps = {\n defaultLimit?: number\n handleChange?: (limit: number) => void\n limit: number\n limits: number[]\n resetPage?: boolean\n}\n\nexport const PerPage: React.FC<PerPageProps> = ({\n defaultLimit = 10,\n handleChange,\n limit,\n limits = defaultLimits,\n}) => {\n const { t } = useTranslation()\n\n const limitToUse = isNumber(limit) ? limit : defaultLimit\n\n return (\n <div className={baseClass}>\n <Popup\n button={\n <div className={`${baseClass}__base-button`}>\n <span>{t('general:perPage', { limit: limitToUse })}</span>\n &nbsp;\n <ChevronIcon className={`${baseClass}__icon`} />\n </div>\n }\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {limits.map((limitNumber, i) => (\n <PopupList.Button\n className={[\n `${baseClass}__button`,\n limitNumber === limitToUse && `${baseClass}__button-active`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={i}\n onClick={() => {\n close()\n if (handleChange) handleChange(limitNumber)\n }}\n >\n {limitNumber === limitToUse && (\n <div className={`${baseClass}__chevron`}>\n <ChevronIcon direction=\"right\" />\n </div>\n )}\n &nbsp;\n <span>{limitNumber}</span>\n </PopupList.Button>\n ))}\n </PopupList.ButtonGroup>\n )}\n size=\"small\"\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA;AACA,SAASC,kBAAkB,EAAEC,QAAQ,QAAQ;AAC7C,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,KAAK,EAAEC,SAAS,QAAQ;AACjC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,aAAA,GAAgBR,kBAAA,CAAmBS,KAAK,CAACC,UAAU,CAACC,MAAM;AAUhE,OAAO,MAAMC,OAAA,GAAkCC,EAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAAC;IAAAgB,YAAA,EAAAC,EAAA;IAAAC,YAAA;IAAAC,KAAA;IAAAP,MAAA,EAAAQ;EAAA,IAAAN,EAK/C;EAJC,MAAAE,YAAA,GAAAC,EAAiB,KAAAI,SAAA,QAAjBJ,EAAiB;EAGjB,MAAAL,MAAA,GAAAQ,EAAsB,KAAAC,SAAA,GAAAZ,aAAA,GAAtBW,EAAsB;EAEtB;IAAAE;EAAA,IAAcjB,cAAA;EAEd,MAAAkB,UAAA,GAAmBrB,QAAA,CAASiB,KAAA,IAASA,KAAA,GAAQH,YAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAT,CAAA,QAAAQ,UAAA,IAAAR,CAAA,QAAAO,CAAA,IAAAP,CAAA,QAAAH,MAAA,IAAAG,CAAA,QAAAG,YAAA;IAAA,IAAAO,EAAA;IAAA,IAAAV,CAAA,QAAAH,MAAA,IAAAG,CAAA,QAAAQ,UAAA,IAAAR,CAAA,QAAAG,YAAA;MAa/BO,EAAA,GAAAC,EAAA;QAAC;UAAAC;QAAA,IAAAD,EAAS;QAAA,OAChBE,IAAA,CAAArB,SAAA,CAAAsB,WAAA;UAAAC,QAAA,EACGlB,MAAA,CAAAmB,GAAA,EAAAC,WAAA,EAAAC,CAAA,KACCC,KAAA,CAAA3B,SAAA,CAAA4B,MAAA;YAAAC,SAAA,EACa,CACT,GAAA5B,SAAA,UAAsB,EACtBwB,WAAA,KAAgBT,UAAA,IAAc,GAAAf,SAAA,iBAA6B,EAAA6B,MAAA,CAAAC,OAEnD,EAAAC,IAAA,CACF;YAAAC,OAAA,EAAAA,CAAA;cAGNb,KAAA;cAAA,IACIT,YAAA;gBAAcA,YAAA,CAAac,WAAA;cAAA;YAAA;YAAAF,QAAA,GAGhCE,WAAA,KAAgBT,UAAA,IACfK,IAAA,CAAC;cAAAQ,SAAA,EAAe,GAAA5B,SAAA,WAAuB;cAAAsB,QAAA,EACrCF,IAAA,CAAAxB,WAAA;gBAAAqC,SAAA,EAAuB;cAAA,C;gBAEzB,QAEFb,IAAA,CAAC;cAAAE,QAAA,EAAME;YAAA,C;aAZFC,CAAA;QAAA,C;;;;;;;;;IApBjBT,EAAA,GAAAI,IAAA,CAAC;MAAAQ,SAAA,EAAA5B,SAAA;MAAAsB,QAAA,EACCF,IAAA,CAAAtB,KAAA;QAAAoC,MAAA,EAEIR,KAAA,CAAC;UAAAE,SAAA,EAAe,GAAA5B,SAAA,eAA2B;UAAAsB,QAAA,GACzCF,IAAA,CAAC;YAAAE,QAAA,EAAMR,CAAA,CAAE;cAAAH,KAAA,EAA4BI;YAAA,CAAW;UAAA,C,GAAU,QAE1DK,IAAA,CAAAxB,WAAA;YAAAgC,SAAA,EAAwB,GAAA5B,SAAA;UAAoB,C;;yBAGhC;QAAAmC,MAAA,EACRlB,E;cA2BH;MAAA,C;;;;;;;;;;SArCTD,E;CAyCJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","collectionDefaults","isNumber","React","ChevronIcon","useTranslation","Popup","PopupList","baseClass","defaultLimits","admin","pagination","limits","PerPage","t0","$","defaultLimit","t1","handleChange","limit","t2","undefined","t","limitToUse","t3","t4","t5","close","_jsx","ButtonGroup","children","map","limitNumber","i","_jsxs","Button","className","filter","Boolean","join","onClick","direction","button","render"],"sources":["../../../src/elements/PerPage/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { collectionDefaults, isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'per-page'\n\nconst defaultLimits = collectionDefaults.admin.pagination.limits\n\nexport type PerPageProps = {\n defaultLimit?: number\n handleChange?: (limit: number) => void\n limit: number\n limits: number[]\n resetPage?: boolean\n}\n\nexport const PerPage: React.FC<PerPageProps> = ({\n defaultLimit = 10,\n handleChange,\n limit,\n limits = defaultLimits,\n}) => {\n const { t } = useTranslation()\n\n const limitToUse = isNumber(limit) ? limit : defaultLimit\n\n return (\n <div className={baseClass}>\n <Popup\n button={\n <div className={`${baseClass}__base-button`}>\n <span>{t('general:perPage', { limit: limitToUse })}</span>\n &nbsp;\n <ChevronIcon className={`${baseClass}__icon`} />\n </div>\n }\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {limits.map((limitNumber, i) => (\n <PopupList.Button\n className={[\n `${baseClass}__button`,\n limitNumber === limitToUse && `${baseClass}__button-active`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={i}\n onClick={() => {\n close()\n if (handleChange) {\n handleChange(limitNumber)\n }\n }}\n >\n {limitNumber === limitToUse && (\n <div className={`${baseClass}__chevron`}>\n <ChevronIcon direction=\"right\" />\n </div>\n )}\n &nbsp;\n <span>{limitNumber}</span>\n </PopupList.Button>\n ))}\n </PopupList.ButtonGroup>\n )}\n size=\"small\"\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA;AACA,SAASC,kBAAkB,EAAEC,QAAQ,QAAQ;AAC7C,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,KAAK,EAAEC,SAAS,QAAQ;AACjC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,aAAA,GAAgBR,kBAAA,CAAmBS,KAAK,CAACC,UAAU,CAACC,MAAM;AAUhE,OAAO,MAAMC,OAAA,GAAkCC,EAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAAC;IAAAgB,YAAA,EAAAC,EAAA;IAAAC,YAAA;IAAAC,KAAA;IAAAP,MAAA,EAAAQ;EAAA,IAAAN,EAK/C;EAJC,MAAAE,YAAA,GAAAC,EAAiB,KAAAI,SAAA,QAAjBJ,EAAiB;EAGjB,MAAAL,MAAA,GAAAQ,EAAsB,KAAAC,SAAA,GAAAZ,aAAA,GAAtBW,EAAsB;EAEtB;IAAAE;EAAA,IAAcjB,cAAA;EAEd,MAAAkB,UAAA,GAAmBrB,QAAA,CAASiB,KAAA,IAASA,KAAA,GAAQH,YAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAT,CAAA,QAAAQ,UAAA,IAAAR,CAAA,QAAAO,CAAA,IAAAP,CAAA,QAAAH,MAAA,IAAAG,CAAA,QAAAG,YAAA;IAAA,IAAAO,EAAA;IAAA,IAAAV,CAAA,QAAAH,MAAA,IAAAG,CAAA,QAAAQ,UAAA,IAAAR,CAAA,QAAAG,YAAA;MAa/BO,EAAA,GAAAC,EAAA;QAAC;UAAAC;QAAA,IAAAD,EAAS;QAAA,OAChBE,IAAA,CAAArB,SAAA,CAAAsB,WAAA;UAAAC,QAAA,EACGlB,MAAA,CAAAmB,GAAA,EAAAC,WAAA,EAAAC,CAAA,KACCC,KAAA,CAAA3B,SAAA,CAAA4B,MAAA;YAAAC,SAAA,EACa,CACT,GAAA5B,SAAA,UAAsB,EACtBwB,WAAA,KAAgBT,UAAA,IAAc,GAAAf,SAAA,iBAA6B,EAAA6B,MAAA,CAAAC,OAEnD,EAAAC,IAAA,CACF;YAAAC,OAAA,EAAAA,CAAA;cAGNb,KAAA;cAAA,IACIT,YAAA;gBACFA,YAAA,CAAac,WAAA;cAAA;YAAA;YAAAF,QAAA,GAIhBE,WAAA,KAAgBT,UAAA,IACfK,IAAA,CAAC;cAAAQ,SAAA,EAAe,GAAA5B,SAAA,WAAuB;cAAAsB,QAAA,EACrCF,IAAA,CAAAxB,WAAA;gBAAAqC,SAAA,EAAuB;cAAA,C;gBAEzB,QAEFb,IAAA,CAAC;cAAAE,QAAA,EAAME;YAAA,C;aAdFC,CAAA;QAAA,C;;;;;;;;;IApBjBT,EAAA,GAAAI,IAAA,CAAC;MAAAQ,SAAA,EAAA5B,SAAA;MAAAsB,QAAA,EACCF,IAAA,CAAAtB,KAAA;QAAAoC,MAAA,EAEIR,KAAA,CAAC;UAAAE,SAAA,EAAe,GAAA5B,SAAA,eAA2B;UAAAsB,QAAA,GACzCF,IAAA,CAAC;YAAAE,QAAA,EAAMR,CAAA,CAAE;cAAAH,KAAA,EAA4BI;YAAA,CAAW;UAAA,C,GAAU,QAE1DK,IAAA,CAAAxB,WAAA;YAAAgC,SAAA,EAAwB,GAAA5B,SAAA;UAAoB,C;;yBAGhC;QAAAmC,MAAA,EACRlB,E;cA6BH;MAAA,C;;;;;;;;;;SAvCTD,E;CA2CJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Pill/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,OAAO,CAAA;AAIxD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE;QACb,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;KACpC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;IACvF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAGD,OAAO,cAAc,CAAA;AAkFrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAKpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Pill/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,OAAO,CAAA;AAIxD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE;QACb,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;KACpC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;IACvF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAGD,OAAO,cAAc,CAAA;AAsFrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAOpC,CAAA"}
@@ -87,8 +87,12 @@ const StaticPill = props => {
87
87
  } = props;
88
88
  const classes = [baseClass, `${baseClass}--style-${pillStyle}`, className && className, to && `${baseClass}--has-link`, (to || onClick) && `${baseClass}--has-action`, icon && `${baseClass}--has-icon`, icon && `${baseClass}--align-icon-${alignIcon}`, draggable && `${baseClass}--draggable`, rounded && `${baseClass}--rounded`].filter(Boolean).join(' ');
89
89
  let Element = 'div';
90
- if (onClick && !to) Element = 'button';
91
- if (to) Element = Link;
90
+ if (onClick && !to) {
91
+ Element = 'button';
92
+ }
93
+ if (to) {
94
+ Element = Link;
95
+ }
92
96
  return /*#__PURE__*/_jsxs(Element, {
93
97
  ...elementProps,
94
98
  "aria-checked": ariaChecked,
@@ -112,9 +116,11 @@ export const Pill = props => {
112
116
  const {
113
117
  draggable
114
118
  } = props;
115
- if (draggable) return /*#__PURE__*/_jsx(DraggablePill, {
116
- ...props
117
- });
119
+ if (draggable) {
120
+ return /*#__PURE__*/_jsx(DraggablePill, {
121
+ ...props
122
+ });
123
+ }
118
124
  return /*#__PURE__*/_jsx(StaticPill, {
119
125
  ...props
120
126
  });