@payloadcms/ui 3.0.0-beta.94 → 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 (219) 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/Config/createClientConfig/index.d.ts.map +1 -1
  198. package/dist/providers/Config/createClientConfig/index.js +15 -0
  199. package/dist/providers/Config/createClientConfig/index.js.map +1 -1
  200. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  201. package/dist/providers/DocumentInfo/index.js +12 -4
  202. package/dist/providers/DocumentInfo/index.js.map +1 -1
  203. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  204. package/dist/providers/ListQuery/index.js +6 -2
  205. package/dist/providers/ListQuery/index.js.map +1 -1
  206. package/dist/providers/Locale/index.d.ts.map +1 -1
  207. package/dist/providers/Locale/index.js.map +1 -1
  208. package/dist/providers/Preferences/index.d.ts.map +1 -1
  209. package/dist/providers/Preferences/index.js +3 -1
  210. package/dist/providers/Preferences/index.js.map +1 -1
  211. package/dist/styles.css +1 -1
  212. package/dist/utilities/buildFormState.d.ts.map +1 -1
  213. package/dist/utilities/buildFormState.js +6 -2
  214. package/dist/utilities/buildFormState.js.map +1 -1
  215. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  216. package/dist/utilities/reduceFieldsToValuesWithValidation.js +6 -2
  217. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  218. package/package.json +8 -8
  219. /package/dist/exports/client/{DatePicker-E6IJFDN2.js.map → DatePicker-OLRZVTAD.js.map} +0 -0
@@ -42,13 +42,17 @@ export const DefaultSaveDraftButton = () => {
42
42
  const operation = useOperation();
43
43
  const forceDisable = operation === 'update' && !modified;
44
44
  const saveDraft = useCallback(async () => {
45
- if (forceDisable) return;
45
+ if (forceDisable) {
46
+ return;
47
+ }
46
48
  const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`;
47
49
  let action;
48
50
  let method = 'POST';
49
51
  if (collectionSlug) {
50
52
  action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`;
51
- if (id) method = 'PATCH';
53
+ if (id) {
54
+ method = 'PATCH';
55
+ }
52
56
  }
53
57
  if (globalSlug) {
54
58
  action = `${serverURL}${api}/globals/${globalSlug}${search}`;
@@ -93,9 +97,11 @@ export const DefaultSaveDraftButton = () => {
93
97
  export const SaveDraftButton = ({
94
98
  CustomComponent
95
99
  }) => {
96
- if (CustomComponent) return /*#__PURE__*/_jsx(RenderComponent, {
97
- mappedComponent: CustomComponent
98
- });
100
+ if (CustomComponent) {
101
+ return /*#__PURE__*/_jsx(RenderComponent, {
102
+ mappedComponent: CustomComponent
103
+ });
104
+ }
99
105
  return /*#__PURE__*/_jsx(DefaultSaveDraftButton, {});
100
106
  };
101
107
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useRef","useForm","useFormModified","FormSubmit","useHotkey","RenderComponent","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","baseClass","DefaultSaveDraftButton","config","routes","api","serverURL","id","collectionSlug","globalSlug","modified","code","locale","ref","editDepth","t","submit","operation","forceDisable","saveDraft","search","action","method","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","current","click","_jsx","buttonId","buttonStyle","className","disabled","onClick","size","type","SaveDraftButton","CustomComponent","mappedComponent"],"sources":["../../../src/elements/SaveDraftButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { MappedComponent } from 'payload'\n\nimport React, { useCallback, useRef } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'save-draft'\n\nexport const DefaultSaveDraftButton: React.FC = () => {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const modified = useFormModified()\n const { code: locale } = useLocale()\n const ref = useRef<HTMLButtonElement>(null)\n const editDepth = useEditDepth()\n const { t } = useTranslation()\n const { submit } = useForm()\n const operation = useOperation()\n\n const forceDisable = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (forceDisable) return\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) method = 'PATCH'\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, locale, id, forceDisable])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n if (forceDisable) {\n // absorb the event\n }\n\n e.preventDefault()\n e.stopPropagation()\n if (ref?.current) {\n ref.current.click()\n }\n })\n\n return (\n <FormSubmit\n buttonId=\"action-save-draft\"\n buttonStyle=\"secondary\"\n className={baseClass}\n disabled={forceDisable}\n onClick={() => {\n return void saveDraft()\n }}\n ref={ref}\n size=\"medium\"\n type=\"button\"\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\ntype Props = {\n CustomComponent?: MappedComponent\n}\n\nexport const SaveDraftButton: React.FC<Props> = ({ CustomComponent }) => {\n if (CustomComponent) return <RenderComponent mappedComponent={CustomComponent} />\n return <DefaultSaveDraftButton />\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useRef","useForm","useFormModified","FormSubmit","useHotkey","RenderComponent","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","baseClass","DefaultSaveDraftButton","config","routes","api","serverURL","id","collectionSlug","globalSlug","modified","code","locale","ref","editDepth","t","submit","operation","forceDisable","saveDraft","search","action","method","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","current","click","_jsx","buttonId","buttonStyle","className","disabled","onClick","size","type","SaveDraftButton","CustomComponent","mappedComponent"],"sources":["../../../src/elements/SaveDraftButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { MappedComponent } from 'payload'\n\nimport React, { useCallback, useRef } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'save-draft'\n\nexport const DefaultSaveDraftButton: React.FC = () => {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const modified = useFormModified()\n const { code: locale } = useLocale()\n const ref = useRef<HTMLButtonElement>(null)\n const editDepth = useEditDepth()\n const { t } = useTranslation()\n const { submit } = useForm()\n const operation = useOperation()\n\n const forceDisable = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (forceDisable) {\n return\n }\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, locale, id, forceDisable])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n if (forceDisable) {\n // absorb the event\n }\n\n e.preventDefault()\n e.stopPropagation()\n if (ref?.current) {\n ref.current.click()\n }\n })\n\n return (\n <FormSubmit\n buttonId=\"action-save-draft\"\n buttonStyle=\"secondary\"\n className={baseClass}\n disabled={forceDisable}\n onClick={() => {\n return void saveDraft()\n }}\n ref={ref}\n size=\"medium\"\n type=\"button\"\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\ntype Props = {\n CustomComponent?: MappedComponent\n}\n\nexport const SaveDraftButton: React.FC<Props> = ({ CustomComponent }) => {\n if (CustomComponent) {\n return <RenderComponent mappedComponent={CustomComponent} />\n }\n return <DefaultSaveDraftButton />\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchFilter/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAEhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,aAAa,CAAC,EAAE,QAAQ,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGtC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiCpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchFilter/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAEhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,aAAa,CAAC,EAAE,QAAQ,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGtC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAmCpD,CAAA"}
@@ -17,7 +17,9 @@ export const SearchFilter = props => {
17
17
  const debouncedSearch = useDebounce(value, 300);
18
18
  useEffect(() => {
19
19
  if (debouncedSearch !== previousSearch.current) {
20
- if (handleChange) handleChange(debouncedSearch);
20
+ if (handleChange) {
21
+ handleChange(debouncedSearch);
22
+ }
21
23
  previousSearch.current = debouncedSearch;
22
24
  }
23
25
  }, [debouncedSearch, previousSearch, handleChange]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useRef","useDebounce","baseClass","SearchFilter","props","handleChange","initialParams","label","setValue","value","previousSearch","search","debouncedSearch","current","_jsx","className","id","onChange","e","target","placeholder","type"],"sources":["../../../src/elements/SearchFilter/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef } from 'react'\n\nexport type SearchFilterProps = {\n fieldName?: string\n handleChange?: (search: string) => void\n initialParams?: ParsedQs\n label: string\n setValue?: (arg: string) => void\n value?: string\n}\n\nimport type { ParsedQs } from 'qs-esm'\n\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport './index.scss'\n\nconst baseClass = 'search-filter'\n\nexport const SearchFilter: React.FC<SearchFilterProps> = (props) => {\n const { handleChange, initialParams, label, setValue, value } = props\n\n const previousSearch = useRef(\n typeof initialParams?.search === 'string' ? initialParams?.search : '',\n )\n\n const debouncedSearch = useDebounce(value, 300)\n\n useEffect(() => {\n if (debouncedSearch !== previousSearch.current) {\n if (handleChange) handleChange(debouncedSearch)\n\n previousSearch.current = debouncedSearch\n }\n }, [debouncedSearch, previousSearch, handleChange])\n\n // Cleans up the search input when the component is unmounted\n useEffect(() => () => setValue(''), [])\n\n return (\n <div className={baseClass}>\n <input\n aria-label={label}\n className={`${baseClass}__input`}\n id=\"search-filter-input\"\n onChange={(e) => setValue(e.target.value)}\n placeholder={label}\n type=\"text\"\n value={value || ''}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,QAAQ;AAazC,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IAAEC,YAAY;IAAEC,aAAa;IAAEC,KAAK;IAAEC,QAAQ;IAAEC;EAAK,CAAE,GAAGL,KAAA;EAEhE,MAAMM,cAAA,GAAiBV,MAAA,CACrB,OAAOM,aAAA,EAAeK,MAAA,KAAW,WAAWL,aAAA,EAAeK,MAAA,GAAS;EAGtE,MAAMC,eAAA,GAAkBX,WAAA,CAAYQ,KAAA,EAAO;EAE3CV,SAAA,CAAU;IACR,IAAIa,eAAA,KAAoBF,cAAA,CAAeG,OAAO,EAAE;MAC9C,IAAIR,YAAA,EAAcA,YAAA,CAAaO,eAAA;MAE/BF,cAAA,CAAeG,OAAO,GAAGD,eAAA;IAC3B;EACF,GAAG,CAACA,eAAA,EAAiBF,cAAA,EAAgBL,YAAA,CAAa;EAElD;EACAN,SAAA,CAAU,MAAM,MAAMS,QAAA,CAAS,KAAK,EAAE;EAEtC,oBACEM,IAAA,CAAC;IAAIC,SAAA,EAAWb,SAAA;cACd,aAAAY,IAAA,CAAC;MACC,cAAYP,KAAA;MACZQ,SAAA,EAAW,GAAGb,SAAA,SAAkB;MAChCc,EAAA,EAAG;MACHC,QAAA,EAAWC,CAAA,IAAMV,QAAA,CAASU,CAAA,CAAEC,MAAM,CAACV,KAAK;MACxCW,WAAA,EAAab,KAAA;MACbc,IAAA,EAAK;MACLZ,KAAA,EAAOA,KAAA,IAAS;;;AAIxB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useRef","useDebounce","baseClass","SearchFilter","props","handleChange","initialParams","label","setValue","value","previousSearch","search","debouncedSearch","current","_jsx","className","id","onChange","e","target","placeholder","type"],"sources":["../../../src/elements/SearchFilter/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef } from 'react'\n\nexport type SearchFilterProps = {\n fieldName?: string\n handleChange?: (search: string) => void\n initialParams?: ParsedQs\n label: string\n setValue?: (arg: string) => void\n value?: string\n}\n\nimport type { ParsedQs } from 'qs-esm'\n\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport './index.scss'\n\nconst baseClass = 'search-filter'\n\nexport const SearchFilter: React.FC<SearchFilterProps> = (props) => {\n const { handleChange, initialParams, label, setValue, value } = props\n\n const previousSearch = useRef(\n typeof initialParams?.search === 'string' ? initialParams?.search : '',\n )\n\n const debouncedSearch = useDebounce(value, 300)\n\n useEffect(() => {\n if (debouncedSearch !== previousSearch.current) {\n if (handleChange) {\n handleChange(debouncedSearch)\n }\n\n previousSearch.current = debouncedSearch\n }\n }, [debouncedSearch, previousSearch, handleChange])\n\n // Cleans up the search input when the component is unmounted\n useEffect(() => () => setValue(''), [])\n\n return (\n <div className={baseClass}>\n <input\n aria-label={label}\n className={`${baseClass}__input`}\n id=\"search-filter-input\"\n onChange={(e) => setValue(e.target.value)}\n placeholder={label}\n type=\"text\"\n value={value || ''}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,QAAQ;AAazC,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IAAEC,YAAY;IAAEC,aAAa;IAAEC,KAAK;IAAEC,QAAQ;IAAEC;EAAK,CAAE,GAAGL,KAAA;EAEhE,MAAMM,cAAA,GAAiBV,MAAA,CACrB,OAAOM,aAAA,EAAeK,MAAA,KAAW,WAAWL,aAAA,EAAeK,MAAA,GAAS;EAGtE,MAAMC,eAAA,GAAkBX,WAAA,CAAYQ,KAAA,EAAO;EAE3CV,SAAA,CAAU;IACR,IAAIa,eAAA,KAAoBF,cAAA,CAAeG,OAAO,EAAE;MAC9C,IAAIR,YAAA,EAAc;QAChBA,YAAA,CAAaO,eAAA;MACf;MAEAF,cAAA,CAAeG,OAAO,GAAGD,eAAA;IAC3B;EACF,GAAG,CAACA,eAAA,EAAiBF,cAAA,EAAgBL,YAAA,CAAa;EAElD;EACAN,SAAA,CAAU,MAAM,MAAMS,QAAA,CAAS,KAAK,EAAE;EAEtC,oBACEM,IAAA,CAAC;IAAIC,SAAA,EAAWb,SAAA;cACd,aAAAY,IAAA,CAAC;MACC,cAAYP,KAAA;MACZQ,SAAA,EAAW,GAAGb,SAAA,SAAkB;MAChCc,EAAA,EAAG;MACHC,QAAA,EAAWC,CAAA,IAAMV,QAAA,CAASU,CAAA,CAAEC,MAAM,CAACV,KAAK;MACxCW,WAAA,EAAab,KAAA;MACbc,IAAA,EAAK;MACLZ,KAAA,EAAOA,KAAA,IAAS;;;AAIxB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ShimmerEffect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqBtD,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA2B9D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ShimmerEffect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqBtD,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA6B9D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useDelay","ShimmerEffect","animationDelay","height","width","_jsx","className","style","StaggeredShimmers","t0","$","count","renderDelay","t1","shimmerDelay","t2","shimmerItemClassName","undefined","shimmerDelayToPass","hasDelayed","t3","children","Array","map","_","i"],"sources":["../../../src/elements/ShimmerEffect/index.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nimport { useDelay } from '../../hooks/useDelay.js'\nimport './index.scss'\n\nexport type ShimmerEffectProps = {\n readonly animationDelay?: string\n readonly height?: number | string\n readonly width?: number | string\n}\n\nexport const ShimmerEffect: React.FC<ShimmerEffectProps> = ({\n animationDelay = '0ms',\n height = '60px',\n width = '100%',\n}) => {\n return (\n <div\n className=\"shimmer-effect\"\n style={{\n height: typeof height === 'number' ? `${height}px` : height,\n width: typeof width === 'number' ? `${width}px` : width,\n }}\n >\n <div\n className=\"shimmer-effect__shine\"\n style={{\n animationDelay,\n }}\n />\n </div>\n )\n}\n\nexport type StaggeredShimmersProps = {\n className?: string\n count: number\n height?: number | string\n renderDelay?: number\n shimmerDelay?: number | string\n shimmerItemClassName?: string\n width?: number | string\n}\n\nexport const StaggeredShimmers: React.FC<StaggeredShimmersProps> = ({\n className,\n count,\n height,\n renderDelay = 500,\n shimmerDelay = 25,\n shimmerItemClassName,\n width,\n}) => {\n const shimmerDelayToPass = typeof shimmerDelay === 'number' ? `${shimmerDelay}ms` : shimmerDelay\n const [hasDelayed] = useDelay(renderDelay, true)\n\n if (!hasDelayed) return null\n\n return (\n <div className={className}>\n {[...Array(count)].map((_, i) => (\n <div className={shimmerItemClassName} key={i}>\n <ShimmerEffect\n animationDelay={`calc(${i} * ${shimmerDelayToPass})`}\n height={height}\n width={width}\n />\n </div>\n ))}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,YAAYC,KAAA,MAAW;AAEvB,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAQP,OAAO,MAAMC,aAAA,GAA8CA,CAAC;EAC1DC,cAAA,GAAiB,KAAK;EACtBC,MAAA,GAAS,MAAM;EACfC,KAAA,GAAQ;AAAM,CACf;EACC,oBACEC,IAAA,CAAC;IACCC,SAAA,EAAU;IACVC,KAAA,EAAO;MACLJ,MAAA,EAAQ,OAAOA,MAAA,KAAW,WAAW,GAAGA,MAAA,IAAU,GAAGA,MAAA;MACrDC,KAAA,EAAO,OAAOA,KAAA,KAAU,WAAW,GAAGA,KAAA,IAAS,GAAGA;IACpD;cAEA,aAAAC,IAAA,CAAC;MACCC,SAAA,EAAU;MACVC,KAAA,EAAO;QACLL;MACF;;;AAIR;AAYA,OAAO,MAAMM,iBAAA,GAAsDC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAQ,SAAA;IAAAK,KAAA;IAAAR,MAAA;IAAAS,WAAA,EAAAC,EAAA;IAAAC,YAAA,EAAAC,EAAA;IAAAC,oBAAA;IAAAZ;EAAA,IAAAK,EAQnE;EAJC,MAAAG,WAAA,GAAAC,EAAiB,KAAAI,SAAA,SAAjBJ,EAAiB;EACjB,MAAAC,YAAA,GAAAC,EAAiB,KAAAE,SAAA,QAAjBF,EAAiB;EAIjB,MAAAG,kBAAA,GAA2B,OAAOJ,YAAA,KAAiB,WAAW,GAAGA,YAAA,IAAgB,GAAGA,YAAA;EACpF,OAAAK,UAAA,IAAqBnB,QAAA,CAASY,WAAA,MAAa;EAAA,KAEtCO,UAAA;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAV,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAM,oBAAA,IAAAN,CAAA,QAAAQ,kBAAA,IAAAR,CAAA,QAAAP,MAAA,IAAAO,CAAA,QAAAN,KAAA,IAAAM,CAAA,QAAAJ,SAAA;IAGHc,EAAA,GAAAf,IAAA,CAAC;MAAAC,SAAA;MAAAe,QAAA,EACE,IAAIC,KAAA,CAAMX,KAAA,GAAAY,GAAA,EAAAC,CAAA,EAAAC,CAAA,KACTpB,IAAA,CAAC;QAAAC,SAAA,EAAeU,oBAAA;QAAAK,QAAA,EACdhB,IAAA,CAAAJ,aAAA;UAAAC,cAAA,EACkB,QAAQuB,CAAA,MAAOP,kBAAA,GAAqB;UAAAf,MAAA;UAAAC;QAAA,C;SAFbqB,CAAA;IAAA,C;;;;;;;;;;;SAF/CL,E;CAYJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useDelay","ShimmerEffect","animationDelay","height","width","_jsx","className","style","StaggeredShimmers","t0","$","count","renderDelay","t1","shimmerDelay","t2","shimmerItemClassName","undefined","shimmerDelayToPass","hasDelayed","t3","children","Array","map","_","i"],"sources":["../../../src/elements/ShimmerEffect/index.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nimport { useDelay } from '../../hooks/useDelay.js'\nimport './index.scss'\n\nexport type ShimmerEffectProps = {\n readonly animationDelay?: string\n readonly height?: number | string\n readonly width?: number | string\n}\n\nexport const ShimmerEffect: React.FC<ShimmerEffectProps> = ({\n animationDelay = '0ms',\n height = '60px',\n width = '100%',\n}) => {\n return (\n <div\n className=\"shimmer-effect\"\n style={{\n height: typeof height === 'number' ? `${height}px` : height,\n width: typeof width === 'number' ? `${width}px` : width,\n }}\n >\n <div\n className=\"shimmer-effect__shine\"\n style={{\n animationDelay,\n }}\n />\n </div>\n )\n}\n\nexport type StaggeredShimmersProps = {\n className?: string\n count: number\n height?: number | string\n renderDelay?: number\n shimmerDelay?: number | string\n shimmerItemClassName?: string\n width?: number | string\n}\n\nexport const StaggeredShimmers: React.FC<StaggeredShimmersProps> = ({\n className,\n count,\n height,\n renderDelay = 500,\n shimmerDelay = 25,\n shimmerItemClassName,\n width,\n}) => {\n const shimmerDelayToPass = typeof shimmerDelay === 'number' ? `${shimmerDelay}ms` : shimmerDelay\n const [hasDelayed] = useDelay(renderDelay, true)\n\n if (!hasDelayed) {\n return null\n }\n\n return (\n <div className={className}>\n {[...Array(count)].map((_, i) => (\n <div className={shimmerItemClassName} key={i}>\n <ShimmerEffect\n animationDelay={`calc(${i} * ${shimmerDelayToPass})`}\n height={height}\n width={width}\n />\n </div>\n ))}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,YAAYC,KAAA,MAAW;AAEvB,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAQP,OAAO,MAAMC,aAAA,GAA8CA,CAAC;EAC1DC,cAAA,GAAiB,KAAK;EACtBC,MAAA,GAAS,MAAM;EACfC,KAAA,GAAQ;AAAM,CACf;EACC,oBACEC,IAAA,CAAC;IACCC,SAAA,EAAU;IACVC,KAAA,EAAO;MACLJ,MAAA,EAAQ,OAAOA,MAAA,KAAW,WAAW,GAAGA,MAAA,IAAU,GAAGA,MAAA;MACrDC,KAAA,EAAO,OAAOA,KAAA,KAAU,WAAW,GAAGA,KAAA,IAAS,GAAGA;IACpD;cAEA,aAAAC,IAAA,CAAC;MACCC,SAAA,EAAU;MACVC,KAAA,EAAO;QACLL;MACF;;;AAIR;AAYA,OAAO,MAAMM,iBAAA,GAAsDC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAQ,SAAA;IAAAK,KAAA;IAAAR,MAAA;IAAAS,WAAA,EAAAC,EAAA;IAAAC,YAAA,EAAAC,EAAA;IAAAC,oBAAA;IAAAZ;EAAA,IAAAK,EAQnE;EAJC,MAAAG,WAAA,GAAAC,EAAiB,KAAAI,SAAA,SAAjBJ,EAAiB;EACjB,MAAAC,YAAA,GAAAC,EAAiB,KAAAE,SAAA,QAAjBF,EAAiB;EAIjB,MAAAG,kBAAA,GAA2B,OAAOJ,YAAA,KAAiB,WAAW,GAAGA,YAAA,IAAgB,GAAGA,YAAA;EACpF,OAAAK,UAAA,IAAqBnB,QAAA,CAASY,WAAA,MAAa;EAAA,KAEtCO,UAAA;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAV,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAM,oBAAA,IAAAN,CAAA,QAAAQ,kBAAA,IAAAR,CAAA,QAAAP,MAAA,IAAAO,CAAA,QAAAN,KAAA,IAAAM,CAAA,QAAAJ,SAAA;IAKHc,EAAA,GAAAf,IAAA,CAAC;MAAAC,SAAA;MAAAe,QAAA,EACE,IAAIC,KAAA,CAAMX,KAAA,GAAAY,GAAA,EAAAC,CAAA,EAAAC,CAAA,KACTpB,IAAA,CAAC;QAAAC,SAAA,EAAeU,oBAAA;QAAAK,QAAA,EACdhB,IAAA,CAAAJ,aAAA;UAAAC,cAAA,EACkB,QAAQuB,CAAA,MAAOP,kBAAA,GAAqB;UAAAf,MAAA;UAAAC;QAAA,C;SAFbqB,CAAA;IAAA,C;;;;;;;;;;;SAF/CL,E;CAYJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SortColumn/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGxC,OAAO,KAAsB,MAAM,OAAO,CAAA;AAM1C,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAID,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAyDhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SortColumn/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGxC,OAAO,KAAsB,MAAM,OAAO,CAAA;AAM1C,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAID,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6DhD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","ChevronIcon","useListQuery","useSearchParams","useTranslation","baseClass","SortColumn","props","$","name","Label","disable","t0","label","undefined","searchParams","refineListData","t","sort","desc","asc","ascClasses","push","descClasses","t1","newSort","setSort","t2","_jsxs","className","children","_jsx","direction","filter","Boolean","join","onClick","type"],"sources":["../../../src/elements/SortColumn/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldBase } from 'payload'\n\n// TODO: abstract the `next/navigation` dependency out from this component\nimport React, { useCallback } from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nexport type SortColumnProps = {\n Label: React.ReactNode\n disable?: boolean\n label?: FieldBase['label']\n name: string\n}\n\nconst baseClass = 'sort-column'\n\nexport const SortColumn: React.FC<SortColumnProps> = (props) => {\n const { name, Label, disable = false, label } = props\n const { searchParams } = useSearchParams()\n const { refineListData } = useListQuery()\n const { t } = useTranslation()\n\n const { sort } = searchParams\n\n const desc = `-${name}`\n const asc = name\n\n const ascClasses = [`${baseClass}__asc`]\n if (sort === asc) ascClasses.push(`${baseClass}--active`)\n\n const descClasses = [`${baseClass}__desc`]\n if (sort === desc) descClasses.push(`${baseClass}--active`)\n\n const setSort = useCallback(\n async (newSort: string) => {\n await refineListData({\n sort: newSort,\n })\n },\n [refineListData],\n )\n\n return (\n <div className={baseClass}>\n <span className={`${baseClass}__label`}>{Label}</span>\n {!disable && (\n <div className={`${baseClass}__buttons`}>\n <button\n aria-label={t('general:sortByLabelDirection', {\n direction: t('general:ascending'),\n label,\n })}\n className={[...ascClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void setSort(asc)}\n type=\"button\"\n >\n <ChevronIcon direction=\"up\" />\n </button>\n <button\n aria-label={t('general:sortByLabelDirection', {\n direction: t('general:descending'),\n label,\n })}\n className={[...descClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void setSort(desc)}\n type=\"button\"\n >\n <ChevronIcon />\n </button>\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","ChevronIcon","useListQuery","useSearchParams","useTranslation","baseClass","SortColumn","props","$","name","Label","disable","t0","label","undefined","searchParams","refineListData","t","sort","desc","asc","ascClasses","push","descClasses","t1","newSort","setSort","t2","_jsxs","className","children","_jsx","direction","filter","Boolean","join","onClick","type"],"sources":["../../../src/elements/SortColumn/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldBase } from 'payload'\n\n// TODO: abstract the `next/navigation` dependency out from this component\nimport React, { useCallback } from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nexport type SortColumnProps = {\n Label: React.ReactNode\n disable?: boolean\n label?: FieldBase['label']\n name: string\n}\n\nconst baseClass = 'sort-column'\n\nexport const SortColumn: React.FC<SortColumnProps> = (props) => {\n const { name, Label, disable = false, label } = props\n const { searchParams } = useSearchParams()\n const { refineListData } = useListQuery()\n const { t } = useTranslation()\n\n const { sort } = searchParams\n\n const desc = `-${name}`\n const asc = name\n\n const ascClasses = [`${baseClass}__asc`]\n if (sort === asc) {\n ascClasses.push(`${baseClass}--active`)\n }\n\n const descClasses = [`${baseClass}__desc`]\n if (sort === desc) {\n descClasses.push(`${baseClass}--active`)\n }\n\n const setSort = useCallback(\n async (newSort: string) => {\n await refineListData({\n sort: newSort,\n })\n },\n [refineListData],\n )\n\n return (\n <div className={baseClass}>\n <span className={`${baseClass}__label`}>{Label}</span>\n {!disable && (\n <div className={`${baseClass}__buttons`}>\n <button\n aria-label={t('general:sortByLabelDirection', {\n direction: t('general:ascending'),\n label,\n })}\n className={[...ascClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void setSort(asc)}\n type=\"button\"\n >\n <ChevronIcon direction=\"up\" />\n </button>\n <button\n aria-label={t('general:sortByLabelDirection', {\n direction: t('general:descending'),\n label,\n })}\n className={[...descClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void setSort(desc)}\n type=\"button\"\n >\n <ChevronIcon />\n </button>\n </div>\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/SortComplex/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAQtE,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,yBAAyB,CAAA;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAOD,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0ElD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SortComplex/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAQtE,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,yBAAyB,CAAA;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAOD,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4ElD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","usePathname","useRouter","sortableFieldTypes","fieldAffectsData","qs","React","useEffect","useState","useSearchParams","useTranslation","ReactSelect","baseClass","SortComplex","props","$","collection","handleChange","modifySearchQuery","t0","undefined","router","pathname","searchParams","i18n","t","sortOptions","setSortOptions","t1","fields","reduce","field","indexOf","type","label","name","value","sortFields","sortField","setSortField","t2","initialSort","sortOrder","setSortOrder","t3","newSortValue","sort","search","stringify","addQueryPrefix","replace","t4","t5","t6","t7","t8","incomingSort","_jsx","className","children","Fragment","_jsxs","onChange","options"],"sources":["../../../src/elements/SortComplex/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject, SanitizedCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport { sortableFieldTypes } from 'payload'\nimport { fieldAffectsData } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useEffect, useState } from 'react'\n\nexport type SortComplexProps = {\n collection: SanitizedCollectionConfig\n handleChange?: (sort: string) => void\n modifySearchQuery?: boolean\n sort?: string\n}\n\nimport type { Option } from '../ReactSelect/index.js'\n\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'sort-complex'\n\nexport const SortComplex: React.FC<SortComplexProps> = (props) => {\n const { collection, handleChange, modifySearchQuery = true } = props\n\n const router = useRouter()\n const pathname = usePathname()\n const { searchParams } = useSearchParams()\n const { i18n, t } = useTranslation()\n const [sortOptions, setSortOptions] = useState<OptionObject[]>()\n\n const [sortFields] = useState(() =>\n collection.fields.reduce((fields, field) => {\n if (fieldAffectsData(field) && sortableFieldTypes.indexOf(field.type) > -1) {\n return [\n ...fields,\n { label: getTranslation(field.label || field.name, i18n), value: field.name },\n ]\n }\n return fields\n }, []),\n )\n\n const [sortField, setSortField] = useState(sortFields[0])\n const [initialSort] = useState<Option>(() => ({ label: t('general:descending'), value: '-' }))\n const [sortOrder, setSortOrder] = useState(initialSort)\n\n useEffect(() => {\n if (sortField?.value) {\n const newSortValue = `${sortOrder.value}${sortField.value}`\n\n if (handleChange) handleChange(newSortValue)\n\n if (searchParams.sort !== newSortValue && modifySearchQuery) {\n const search = qs.stringify(\n {\n ...searchParams,\n sort: newSortValue,\n },\n { addQueryPrefix: true },\n )\n\n router.replace(`${pathname}${search}`)\n }\n }\n }, [pathname, router, searchParams, sortField, sortOrder, modifySearchQuery, handleChange])\n\n useEffect(() => {\n setSortOptions([\n { label: t('general:ascending'), value: '' },\n { label: t('general:descending'), value: '-' },\n ])\n }, [i18n, t])\n\n return (\n <div className={baseClass}>\n <React.Fragment>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__select`}>\n <div className={`${baseClass}__label`}>{t('general:columnToSort')}</div>\n <ReactSelect onChange={setSortField} options={sortFields} value={sortField} />\n </div>\n <div className={`${baseClass}__select`}>\n <div className={`${baseClass}__label`}>{t('general:order')}</div>\n <ReactSelect\n onChange={(incomingSort: Option) => {\n setSortOrder(incomingSort || initialSort)\n }}\n options={sortOptions}\n value={sortOrder}\n />\n </div>\n </div>\n </React.Fragment>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","usePathname","useRouter","sortableFieldTypes","fieldAffectsData","qs","React","useEffect","useState","useSearchParams","useTranslation","ReactSelect","baseClass","SortComplex","props","$","collection","handleChange","modifySearchQuery","t0","undefined","router","pathname","searchParams","i18n","t","sortOptions","setSortOptions","t1","fields","reduce","field","indexOf","type","label","name","value","sortFields","sortField","setSortField","t2","initialSort","sortOrder","setSortOrder","t3","newSortValue","sort","search","stringify","addQueryPrefix","replace","t4","t5","t6","t7","t8","incomingSort","_jsx","className","children","Fragment","_jsxs","onChange","options"],"sources":["../../../src/elements/SortComplex/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject, SanitizedCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport { sortableFieldTypes } from 'payload'\nimport { fieldAffectsData } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useEffect, useState } from 'react'\n\nexport type SortComplexProps = {\n collection: SanitizedCollectionConfig\n handleChange?: (sort: string) => void\n modifySearchQuery?: boolean\n sort?: string\n}\n\nimport type { Option } from '../ReactSelect/index.js'\n\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'sort-complex'\n\nexport const SortComplex: React.FC<SortComplexProps> = (props) => {\n const { collection, handleChange, modifySearchQuery = true } = props\n\n const router = useRouter()\n const pathname = usePathname()\n const { searchParams } = useSearchParams()\n const { i18n, t } = useTranslation()\n const [sortOptions, setSortOptions] = useState<OptionObject[]>()\n\n const [sortFields] = useState(() =>\n collection.fields.reduce((fields, field) => {\n if (fieldAffectsData(field) && sortableFieldTypes.indexOf(field.type) > -1) {\n return [\n ...fields,\n { label: getTranslation(field.label || field.name, i18n), value: field.name },\n ]\n }\n return fields\n }, []),\n )\n\n const [sortField, setSortField] = useState(sortFields[0])\n const [initialSort] = useState<Option>(() => ({ label: t('general:descending'), value: '-' }))\n const [sortOrder, setSortOrder] = useState(initialSort)\n\n useEffect(() => {\n if (sortField?.value) {\n const newSortValue = `${sortOrder.value}${sortField.value}`\n\n if (handleChange) {\n handleChange(newSortValue)\n }\n\n if (searchParams.sort !== newSortValue && modifySearchQuery) {\n const search = qs.stringify(\n {\n ...searchParams,\n sort: newSortValue,\n },\n { addQueryPrefix: true },\n )\n\n router.replace(`${pathname}${search}`)\n }\n }\n }, [pathname, router, searchParams, sortField, sortOrder, modifySearchQuery, handleChange])\n\n useEffect(() => {\n setSortOptions([\n { label: t('general:ascending'), value: '' },\n { label: t('general:descending'), value: '-' },\n ])\n }, [i18n, t])\n\n return (\n <div className={baseClass}>\n <React.Fragment>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__select`}>\n <div className={`${baseClass}__label`}>{t('general:columnToSort')}</div>\n <ReactSelect onChange={setSortField} options={sortFields} value={sortField} />\n </div>\n <div className={`${baseClass}__select`}>\n <div className={`${baseClass}__label`}>{t('general:order')}</div>\n <ReactSelect\n onChange={(incomingSort: Option) => {\n setSortOrder(incomingSort || initialSort)\n }}\n options={sortOptions}\n value={sortOrder}\n />\n </div>\n </div>\n </React.Fragment>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,21 +3,21 @@
3
3
  .file {
4
4
  display: flex;
5
5
  flex-wrap: nowrap;
6
- margin: base(-0.25) 0;
7
6
 
8
7
  &__thumbnail {
9
8
  display: inline-block;
10
- max-width: base(3);
11
- height: base(3);
9
+ max-width: calc(var(--base) * 2);
10
+ height: calc(var(--base) * 2);
11
+ border-radius: var(--style-radius-s);
12
12
  }
13
13
 
14
14
  &__filename {
15
15
  align-self: center;
16
16
  [dir='ltr'] & {
17
- margin-left: base(1);
17
+ margin-left: var(--base);
18
18
  }
19
19
  [dir='rtl'] & {
20
- margin-right: base(1);
20
+ margin-right: var(--base);
21
21
  }
22
22
  }
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EAE1B,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EA2InD,CAAA"}
1
+ {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EAE1B,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EAiJnD,CAAA"}
@@ -37,9 +37,15 @@ export const buildColumnState = args => {
37
37
  sortedFieldMap = sortedFieldMap.sort((a, b) => {
38
38
  const aIndex = sortTo.findIndex(column => 'name' in a && column.accessor === a.name);
39
39
  const bIndex = sortTo.findIndex(column => 'name' in b && column.accessor === b.name);
40
- if (aIndex === -1 && bIndex === -1) return 0;
41
- if (aIndex === -1) return 1;
42
- if (bIndex === -1) return -1;
40
+ if (aIndex === -1 && bIndex === -1) {
41
+ return 0;
42
+ }
43
+ if (aIndex === -1) {
44
+ return 1;
45
+ }
46
+ if (bIndex === -1) {
47
+ return -1;
48
+ }
43
49
  return aIndex - bIndex;
44
50
  });
45
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildColumnState.js","names":["React","FieldLabel","flattenFieldMap","SelectAll","SelectRow","SortColumn","DefaultCell","buildColumnState","args","cellProps","columnPreferences","columns","enableRowSelections","fields","useAsTitle","sortedFieldMap","idFieldIndex","findIndex","field","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","columnPreference","find","preference","active","Array","isArray","length","includes","push","isFirstActiveColumn","CustomLabelToRender","admin","components","Label","undefined","_jsx","label","unstyled","fieldAffectsDataSubFields","type","Heading","disable","_isPresentational","link","Cell","Component","RenderedComponent"],"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["'use client'\nimport type {\n CellComponentProps,\n ClientField,\n SanitizedCollectionConfig,\n StaticLabel,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { SelectAll } from '../SelectAll/index.js'\nimport { SelectRow } from '../SelectRow/index.js'\nimport { SortColumn } from '../SortColumn/index.js'\nimport { DefaultCell } from '../Table/DefaultCell/index.js'\n\ntype Args = {\n cellProps: Partial<CellComponentProps>[]\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n enableRowSelections: boolean\n fields: ClientField[]\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const buildColumnState = (args: Args): Column[] => {\n const { cellProps, columnPreferences, columns, enableRowSelections, fields, useAsTitle } = args\n\n let sortedFieldMap = flattenFieldMap(fields)\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap.findIndex((field) => 'name' in field && field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortedFieldMap.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap.reduce((acc, field, index) => {\n const columnPreference = columnPreferences?.find(\n (preference) => 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find((column) => 'name' in field && column.accessor === field.name)?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const isFirstActiveColumn = activeColumnsIndices[0] === index\n\n const CustomLabelToRender =\n field &&\n 'admin' in field &&\n 'components' in field.admin &&\n 'Label' in field.admin.components &&\n field.admin.components.Label !== undefined // let it return `null`\n ? field.admin.components.Label\n : undefined\n\n const Label = (\n <FieldLabel\n Label={CustomLabelToRender}\n field={field}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n unstyled\n />\n )\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={fieldAffectsDataSubFields || field?._isPresentational || undefined}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n Label,\n accessor: 'name' in field ? field.name : undefined,\n active,\n cellProps: {\n field: {\n ...(field || ({} as ClientField)),\n ...(cellProps?.[index]?.field || ({} as ClientField)),\n } as ClientField,\n ...cellProps?.[index],\n link: isFirstActiveColumn,\n },\n components: {\n Cell: field.admin?.components?.Cell || {\n type: 'client',\n Component: DefaultCell,\n RenderedComponent: null,\n },\n Heading,\n },\n }\n\n acc.push(column)\n }\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted.unshift({\n Label: null,\n accessor: '_select',\n active: true,\n components: {\n Cell: {\n type: 'client',\n Component: null,\n RenderedComponent: <SelectRow />,\n },\n Heading: <SelectAll />,\n },\n })\n }\n\n return sorted\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildColumnState.js","names":["React","FieldLabel","flattenFieldMap","SelectAll","SelectRow","SortColumn","DefaultCell","buildColumnState","args","cellProps","columnPreferences","columns","enableRowSelections","fields","useAsTitle","sortedFieldMap","idFieldIndex","findIndex","field","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","columnPreference","find","preference","active","Array","isArray","length","includes","push","isFirstActiveColumn","CustomLabelToRender","admin","components","Label","undefined","_jsx","label","unstyled","fieldAffectsDataSubFields","type","Heading","disable","_isPresentational","link","Cell","Component","RenderedComponent"],"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["'use client'\nimport type {\n CellComponentProps,\n ClientField,\n SanitizedCollectionConfig,\n StaticLabel,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { SelectAll } from '../SelectAll/index.js'\nimport { SelectRow } from '../SelectRow/index.js'\nimport { SortColumn } from '../SortColumn/index.js'\nimport { DefaultCell } from '../Table/DefaultCell/index.js'\n\ntype Args = {\n cellProps: Partial<CellComponentProps>[]\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n enableRowSelections: boolean\n fields: ClientField[]\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const buildColumnState = (args: Args): Column[] => {\n const { cellProps, columnPreferences, columns, enableRowSelections, fields, useAsTitle } = args\n\n let sortedFieldMap = flattenFieldMap(fields)\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap.findIndex((field) => 'name' in field && field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortedFieldMap.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n if (aIndex === -1 && bIndex === -1) {\n return 0\n }\n if (aIndex === -1) {\n return 1\n }\n if (bIndex === -1) {\n return -1\n }\n return aIndex - bIndex\n })\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap.reduce((acc, field, index) => {\n const columnPreference = columnPreferences?.find(\n (preference) => 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find((column) => 'name' in field && column.accessor === field.name)?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const isFirstActiveColumn = activeColumnsIndices[0] === index\n\n const CustomLabelToRender =\n field &&\n 'admin' in field &&\n 'components' in field.admin &&\n 'Label' in field.admin.components &&\n field.admin.components.Label !== undefined // let it return `null`\n ? field.admin.components.Label\n : undefined\n\n const Label = (\n <FieldLabel\n Label={CustomLabelToRender}\n field={field}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n unstyled\n />\n )\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={fieldAffectsDataSubFields || field?._isPresentational || undefined}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n Label,\n accessor: 'name' in field ? field.name : undefined,\n active,\n cellProps: {\n field: {\n ...(field || ({} as ClientField)),\n ...(cellProps?.[index]?.field || ({} as ClientField)),\n } as ClientField,\n ...cellProps?.[index],\n link: isFirstActiveColumn,\n },\n components: {\n Cell: field.admin?.components?.Cell || {\n type: 'client',\n Component: DefaultCell,\n RenderedComponent: null,\n },\n Heading,\n },\n }\n\n acc.push(column)\n }\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted.unshift({\n Label: null,\n accessor: '_select',\n active: true,\n components: {\n Cell: {\n type: 'client',\n Component: null,\n RenderedComponent: <SelectRow />,\n },\n Heading: <SelectAll />,\n },\n })\n }\n\n return sorted\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAA6B,MAAM,SAAS,CAAA;AAE5E,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAQ/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAClE,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC7C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC;AAED,eAAO,MAAM,kBAAkB,8BAAoD,CAAA;AAEnF,eAAO,MAAM,eAAe,QAAO,aAA+C,CAAA;AAElF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,iBAAiB,CAAA;CAC3B,CAAA;AAED,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IAClD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8KhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAA6B,MAAM,SAAS,CAAA;AAE5E,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAQ/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAClE,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC7C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC;AAED,eAAO,MAAM,kBAAkB,8BAAoD,CAAA;AAEnF,eAAO,MAAM,eAAe,QAAO,aAA+C,CAAA;AAElF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,iBAAiB,CAAA;CAC3B,CAAA;AAED,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IAClD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgLhD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","createContext","useCallback","useContext","useState","useConfig","usePreferences","buildColumnState","filterFields","getInitialColumns","TableColumnContext","useTableColumns","TableColumnsProvider","t0","$","cellProps","children","collectionSlug","enableRowSelections","t1","listPreferences","preferenceKey","undefined","config","t2","collections","t3","t4","collectionConfig","slug","find","collectionConfig_0","admin","fields","defaultColumns","useAsTitle","prevCollection","useRef","getPreference","setPreference","t5","initialColumns","t6","columnPreferences","columns","tableColumns","setTableColumns","t7","newColumns","map","accessor","active","updateColumnPreferences","reassignLinkColumn","_temp","t8","args","fromIndex","toIndex","withMovedColumn","columnToMove","splice","newColumns_1","moveColumn","t9","column","toggledColumns","col_0","col","field","name","newColumns_2","toggleColumn","t10","activeColumnAccessors","activeColumns","col_1","includes","newColumns_3","setActiveColumns","t11","sync","collectionHasChanged","current","currentPreferences","t12","useEffect","t13","_jsx","Provider","value","columns_0","foundFirstActive","newColumns_0","linkColumn","link"],"sources":["../../../src/elements/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext, useState } from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { buildColumnState } from './buildColumnState.js'\nimport { filterFields } from './filterFields.js'\nimport { getInitialColumns } from './getInitialColumns.js'\n\nexport interface ITableColumns {\n columns: Column[]\n moveColumn: (args: { fromIndex: number; toIndex: number }) => void\n setActiveColumns: (columns: string[]) => void\n toggleColumn: (column: string) => void\n}\n\nexport const TableColumnContext = createContext<ITableColumns>({} as ITableColumns)\n\nexport const useTableColumns = (): ITableColumns => useContext(TableColumnContext)\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n}\n\ntype Props = {\n readonly cellProps?: Partial<CellComponentProps>[]\n readonly children: React.ReactNode\n readonly collectionSlug: string\n readonly enableRowSelections?: boolean\n readonly listPreferences?: ListPreferences\n readonly preferenceKey: string\n}\n\nexport const TableColumnsProvider: React.FC<Props> = ({\n cellProps,\n children,\n collectionSlug,\n enableRowSelections = false,\n listPreferences,\n preferenceKey,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n\n const collectionConfig = collections.find(\n (collectionConfig) => collectionConfig.slug === collectionSlug,\n )\n\n const {\n admin: { defaultColumns, useAsTitle },\n fields,\n } = collectionConfig\n\n const prevCollection = React.useRef<SanitizedCollectionConfig['slug']>(collectionSlug)\n const { getPreference, setPreference } = usePreferences()\n\n const [initialColumns] = useState<ColumnPreferences>(() =>\n getInitialColumns(filterFields(fields), useAsTitle, defaultColumns),\n )\n\n const [tableColumns, setTableColumns] = React.useState(() =>\n buildColumnState({\n cellProps,\n columnPreferences: listPreferences?.columns,\n columns: initialColumns,\n enableRowSelections,\n fields,\n useAsTitle,\n }),\n )\n\n const updateColumnPreferences = React.useCallback(\n (newColumns: Column[]) => {\n const columns = newColumns.map((c) => ({\n accessor: c?.accessor,\n active: c?.active,\n }))\n\n void setPreference(preferenceKey, { columns }, true)\n },\n [preferenceKey, setPreference],\n )\n\n const reassignLinkColumn = (columns: Column[]): Column[] => {\n let foundFirstActive = false\n const newColumns = columns.map((col) => {\n const linkColumn = col.active && !foundFirstActive && col.accessor !== '_select'\n if (linkColumn) foundFirstActive = true\n\n return {\n ...col,\n cellProps: {\n ...col.cellProps,\n link: linkColumn,\n },\n }\n })\n\n return newColumns\n }\n\n const moveColumn = useCallback(\n (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n\n const withMovedColumn = [...tableColumns]\n const [columnToMove] = withMovedColumn.splice(fromIndex, 1)\n withMovedColumn.splice(toIndex, 0, columnToMove)\n\n const newColumns = reassignLinkColumn(withMovedColumn)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const toggleColumn = useCallback(\n (column: string) => {\n const toggledColumns = tableColumns.map((col) => {\n return {\n ...col,\n active:\n col?.cellProps?.field &&\n 'name' in col.cellProps.field &&\n col?.cellProps?.field?.name === column\n ? !col.active\n : col.active,\n }\n })\n\n const newColumns = reassignLinkColumn(toggledColumns)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const setActiveColumns = React.useCallback(\n (activeColumnAccessors) => {\n const activeColumns = tableColumns.map((col) => {\n return {\n ...col,\n active: activeColumnAccessors.includes(col.accessor),\n }\n })\n\n const newColumns = reassignLinkColumn(activeColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n // //////////////////////////////////////////////\n // Get preferences on collection change (drawers)\n // //////////////////////////////////////////////\n\n React.useEffect(() => {\n const sync = async () => {\n const collectionHasChanged = prevCollection.current !== collectionSlug\n\n if (collectionHasChanged || !listPreferences) {\n const currentPreferences = await getPreference<{\n columns: ColumnPreferences\n }>(preferenceKey)\n prevCollection.current = collectionSlug\n\n if (currentPreferences?.columns) {\n setTableColumns(\n buildColumnState({\n cellProps,\n columnPreferences: currentPreferences?.columns,\n columns: initialColumns,\n enableRowSelections: true,\n fields,\n useAsTitle,\n }),\n )\n }\n }\n }\n\n void sync()\n }, [\n preferenceKey,\n getPreference,\n collectionSlug,\n fields,\n cellProps,\n defaultColumns,\n useAsTitle,\n listPreferences,\n initialColumns,\n ])\n\n return (\n <TableColumnContext.Provider\n value={{\n columns: tableColumns,\n moveColumn,\n setActiveColumns,\n toggleColumn,\n }}\n >\n {children}\n </TableColumnContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","createContext","useCallback","useContext","useState","useConfig","usePreferences","buildColumnState","filterFields","getInitialColumns","TableColumnContext","useTableColumns","TableColumnsProvider","t0","$","cellProps","children","collectionSlug","enableRowSelections","t1","listPreferences","preferenceKey","undefined","config","t2","collections","t3","t4","collectionConfig","slug","find","collectionConfig_0","admin","fields","defaultColumns","useAsTitle","prevCollection","useRef","getPreference","setPreference","t5","initialColumns","t6","columnPreferences","columns","tableColumns","setTableColumns","t7","newColumns","map","accessor","active","updateColumnPreferences","reassignLinkColumn","_temp","t8","args","fromIndex","toIndex","withMovedColumn","columnToMove","splice","newColumns_1","moveColumn","t9","column","toggledColumns","col_0","col","field","name","newColumns_2","toggleColumn","t10","activeColumnAccessors","activeColumns","col_1","includes","newColumns_3","setActiveColumns","t11","sync","collectionHasChanged","current","currentPreferences","t12","useEffect","t13","_jsx","Provider","value","columns_0","foundFirstActive","newColumns_0","linkColumn","link"],"sources":["../../../src/elements/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext, useState } from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { buildColumnState } from './buildColumnState.js'\nimport { filterFields } from './filterFields.js'\nimport { getInitialColumns } from './getInitialColumns.js'\n\nexport interface ITableColumns {\n columns: Column[]\n moveColumn: (args: { fromIndex: number; toIndex: number }) => void\n setActiveColumns: (columns: string[]) => void\n toggleColumn: (column: string) => void\n}\n\nexport const TableColumnContext = createContext<ITableColumns>({} as ITableColumns)\n\nexport const useTableColumns = (): ITableColumns => useContext(TableColumnContext)\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n}\n\ntype Props = {\n readonly cellProps?: Partial<CellComponentProps>[]\n readonly children: React.ReactNode\n readonly collectionSlug: string\n readonly enableRowSelections?: boolean\n readonly listPreferences?: ListPreferences\n readonly preferenceKey: string\n}\n\nexport const TableColumnsProvider: React.FC<Props> = ({\n cellProps,\n children,\n collectionSlug,\n enableRowSelections = false,\n listPreferences,\n preferenceKey,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n\n const collectionConfig = collections.find(\n (collectionConfig) => collectionConfig.slug === collectionSlug,\n )\n\n const {\n admin: { defaultColumns, useAsTitle },\n fields,\n } = collectionConfig\n\n const prevCollection = React.useRef<SanitizedCollectionConfig['slug']>(collectionSlug)\n const { getPreference, setPreference } = usePreferences()\n\n const [initialColumns] = useState<ColumnPreferences>(() =>\n getInitialColumns(filterFields(fields), useAsTitle, defaultColumns),\n )\n\n const [tableColumns, setTableColumns] = React.useState(() =>\n buildColumnState({\n cellProps,\n columnPreferences: listPreferences?.columns,\n columns: initialColumns,\n enableRowSelections,\n fields,\n useAsTitle,\n }),\n )\n\n const updateColumnPreferences = React.useCallback(\n (newColumns: Column[]) => {\n const columns = newColumns.map((c) => ({\n accessor: c?.accessor,\n active: c?.active,\n }))\n\n void setPreference(preferenceKey, { columns }, true)\n },\n [preferenceKey, setPreference],\n )\n\n const reassignLinkColumn = (columns: Column[]): Column[] => {\n let foundFirstActive = false\n const newColumns = columns.map((col) => {\n const linkColumn = col.active && !foundFirstActive && col.accessor !== '_select'\n if (linkColumn) {\n foundFirstActive = true\n }\n\n return {\n ...col,\n cellProps: {\n ...col.cellProps,\n link: linkColumn,\n },\n }\n })\n\n return newColumns\n }\n\n const moveColumn = useCallback(\n (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n\n const withMovedColumn = [...tableColumns]\n const [columnToMove] = withMovedColumn.splice(fromIndex, 1)\n withMovedColumn.splice(toIndex, 0, columnToMove)\n\n const newColumns = reassignLinkColumn(withMovedColumn)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const toggleColumn = useCallback(\n (column: string) => {\n const toggledColumns = tableColumns.map((col) => {\n return {\n ...col,\n active:\n col?.cellProps?.field &&\n 'name' in col.cellProps.field &&\n col?.cellProps?.field?.name === column\n ? !col.active\n : col.active,\n }\n })\n\n const newColumns = reassignLinkColumn(toggledColumns)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const setActiveColumns = React.useCallback(\n (activeColumnAccessors) => {\n const activeColumns = tableColumns.map((col) => {\n return {\n ...col,\n active: activeColumnAccessors.includes(col.accessor),\n }\n })\n\n const newColumns = reassignLinkColumn(activeColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n // //////////////////////////////////////////////\n // Get preferences on collection change (drawers)\n // //////////////////////////////////////////////\n\n React.useEffect(() => {\n const sync = async () => {\n const collectionHasChanged = prevCollection.current !== collectionSlug\n\n if (collectionHasChanged || !listPreferences) {\n const currentPreferences = await getPreference<{\n columns: ColumnPreferences\n }>(preferenceKey)\n prevCollection.current = collectionSlug\n\n if (currentPreferences?.columns) {\n setTableColumns(\n buildColumnState({\n cellProps,\n columnPreferences: currentPreferences?.columns,\n columns: initialColumns,\n enableRowSelections: true,\n fields,\n useAsTitle,\n }),\n )\n }\n }\n }\n\n void sync()\n }, [\n preferenceKey,\n getPreference,\n collectionSlug,\n fields,\n cellProps,\n defaultColumns,\n useAsTitle,\n listPreferences,\n initialColumns,\n ])\n\n return (\n <TableColumnContext.Provider\n value={{\n columns: tableColumns,\n moveColumn,\n setActiveColumns,\n toggleColumn,\n }}\n >\n {children}\n </TableColumnContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tooltip/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAGxC,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACjD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8EnC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tooltip/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAGxC,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACjD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkFnC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useEffect","useIntersect","Tooltip","props","$","alignCaret","t0","boundingRef","children","className","delay","t1","show","t2","staticPositioning","t3","undefined","showFromProps","setShow","useState","position","setPosition","getTitleAttribute","_temp","t4","current","t5","root","rootMargin","threshold","ref","intersectionEntry","t6","t7","timerId","clearTimeout","t8","t9","isIntersecting","t10","t11","t12","t13","t14","filter","Boolean","_jsxs","Fragment","_jsx","join","style","opacity","title","content"],"sources":["../../../src/elements/Tooltip/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.scss'\n\nexport type Props = {\n alignCaret?: 'center' | 'left' | 'right'\n boundingRef?: React.RefObject<HTMLElement | null>\n children: React.ReactNode\n className?: string\n delay?: number\n show?: boolean\n /**\n * If the tooltip position should not change depending on if the toolbar is outside the boundingRef. @default false\n */\n staticPositioning?: boolean\n}\n\nexport const Tooltip: React.FC<Props> = (props) => {\n const {\n alignCaret = 'center',\n boundingRef,\n children,\n className,\n delay = 350,\n show: showFromProps = true,\n staticPositioning = false,\n } = props\n\n const [show, setShow] = React.useState(showFromProps)\n const [position, setPosition] = React.useState<'bottom' | 'top'>('top')\n\n const getTitleAttribute = (content) => (typeof content === 'string' ? content : '')\n\n const [ref, intersectionEntry] = useIntersect(\n {\n root: boundingRef?.current || null,\n rootMargin: '-145px 0px 0px 100px',\n threshold: 0,\n },\n staticPositioning,\n )\n\n useEffect(() => {\n let timerId: NodeJS.Timeout\n\n // do not use the delay on transition-out\n if (delay && showFromProps) {\n timerId = setTimeout(() => {\n setShow(showFromProps)\n }, delay)\n } else {\n setShow(showFromProps)\n }\n\n return () => {\n if (timerId) clearTimeout(timerId)\n }\n }, [showFromProps, delay])\n\n useEffect(() => {\n if (staticPositioning) return\n setPosition(intersectionEntry?.isIntersecting ? 'top' : 'bottom')\n }, [intersectionEntry, staticPositioning])\n\n // The first aside is always on top. The purpose of that is that it can reliably be used for the interaction observer (as it's not moving around), to calculate the position of the actual tooltip.\n return (\n <React.Fragment>\n {!staticPositioning && (\n <aside\n aria-hidden=\"true\"\n className={['tooltip', className, `tooltip--caret-${alignCaret}`, 'tooltip--position-top']\n .filter(Boolean)\n .join(' ')}\n ref={ref}\n style={{ opacity: '0' }}\n >\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n )}\n <aside\n className={[\n 'tooltip',\n className,\n show && 'tooltip--show',\n `tooltip--caret-${alignCaret}`,\n `tooltip--position-${position}`,\n ]\n .filter(Boolean)\n .join(' ')}\n title={getTitleAttribute(children)}\n >\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useEffect","useIntersect","Tooltip","props","$","alignCaret","t0","boundingRef","children","className","delay","t1","show","t2","staticPositioning","t3","undefined","showFromProps","setShow","useState","position","setPosition","getTitleAttribute","_temp","t4","current","t5","root","rootMargin","threshold","ref","intersectionEntry","t6","t7","timerId","clearTimeout","t8","t9","isIntersecting","t10","t11","t12","t13","t14","filter","Boolean","_jsxs","Fragment","_jsx","join","style","opacity","title","content"],"sources":["../../../src/elements/Tooltip/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.scss'\n\nexport type Props = {\n alignCaret?: 'center' | 'left' | 'right'\n boundingRef?: React.RefObject<HTMLElement | null>\n children: React.ReactNode\n className?: string\n delay?: number\n show?: boolean\n /**\n * If the tooltip position should not change depending on if the toolbar is outside the boundingRef. @default false\n */\n staticPositioning?: boolean\n}\n\nexport const Tooltip: React.FC<Props> = (props) => {\n const {\n alignCaret = 'center',\n boundingRef,\n children,\n className,\n delay = 350,\n show: showFromProps = true,\n staticPositioning = false,\n } = props\n\n const [show, setShow] = React.useState(showFromProps)\n const [position, setPosition] = React.useState<'bottom' | 'top'>('top')\n\n const getTitleAttribute = (content) => (typeof content === 'string' ? content : '')\n\n const [ref, intersectionEntry] = useIntersect(\n {\n root: boundingRef?.current || null,\n rootMargin: '-145px 0px 0px 100px',\n threshold: 0,\n },\n staticPositioning,\n )\n\n useEffect(() => {\n let timerId: NodeJS.Timeout\n\n // do not use the delay on transition-out\n if (delay && showFromProps) {\n timerId = setTimeout(() => {\n setShow(showFromProps)\n }, delay)\n } else {\n setShow(showFromProps)\n }\n\n return () => {\n if (timerId) {\n clearTimeout(timerId)\n }\n }\n }, [showFromProps, delay])\n\n useEffect(() => {\n if (staticPositioning) {\n return\n }\n setPosition(intersectionEntry?.isIntersecting ? 'top' : 'bottom')\n }, [intersectionEntry, staticPositioning])\n\n // The first aside is always on top. The purpose of that is that it can reliably be used for the interaction observer (as it's not moving around), to calculate the position of the actual tooltip.\n return (\n <React.Fragment>\n {!staticPositioning && (\n <aside\n aria-hidden=\"true\"\n className={['tooltip', className, `tooltip--caret-${alignCaret}`, 'tooltip--position-top']\n .filter(Boolean)\n .join(' ')}\n ref={ref}\n style={{ opacity: '0' }}\n >\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n )}\n <aside\n className={[\n 'tooltip',\n className,\n show && 'tooltip--show',\n `tooltip--caret-${alignCaret}`,\n `tooltip--position-${position}`,\n ]\n .filter(Boolean)\n .join(' ')}\n title={getTitleAttribute(children)}\n >\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAGhF,OAAO,KAAmD,MAAM,OAAO,CAAA;AAiBvE,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBA8BnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAqSxC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAGhF,OAAO,KAAmD,MAAM,OAAO,CAAA;AAiBvE,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBAgCnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAwSxC,CAAA"}
@@ -229,38 +229,43 @@ export const Upload = props => {
229
229
  children: [!value && !showUrlInput && /*#__PURE__*/_jsx(Dropzone, {
230
230
  onChange: handleFileSelection,
231
231
  children: /*#__PURE__*/_jsxs("div", {
232
- className: `${baseClass}__dropzoneButtons`,
233
- children: [/*#__PURE__*/_jsx(Button, {
234
- buttonStyle: "icon-label",
235
- icon: "plus",
236
- iconPosition: "left",
237
- onClick: () => {
238
- if (inputRef.current) {
239
- inputRef.current.click();
240
- }
241
- },
242
- size: "small",
243
- children: t('upload:selectFile')
244
- }), /*#__PURE__*/_jsx("input", {
245
- "aria-hidden": "true",
246
- className: `${baseClass}__hidden-input`,
247
- hidden: true,
248
- onChange: e_1 => {
249
- if (e_1.target.files && e_1.target.files.length > 0) {
250
- handleFileSelection(e_1.target.files);
251
- }
252
- },
253
- ref: inputRef,
254
- type: "file"
255
- }), /*#__PURE__*/_jsx(Button, {
256
- buttonStyle: "icon-label",
257
- icon: "link",
258
- iconPosition: "left",
259
- onClick: () => {
260
- setShowUrlInput(true);
261
- },
262
- size: "small",
263
- children: t('upload:pasteURL')
232
+ className: `${baseClass}__dropzoneContent`,
233
+ children: [/*#__PURE__*/_jsxs("div", {
234
+ className: `${baseClass}__dropzoneButtons`,
235
+ children: [/*#__PURE__*/_jsx(Button, {
236
+ buttonStyle: "pill",
237
+ onClick: () => {
238
+ if (inputRef.current) {
239
+ inputRef.current.click();
240
+ }
241
+ },
242
+ size: "small",
243
+ children: t('upload:selectFile')
244
+ }), /*#__PURE__*/_jsx("input", {
245
+ "aria-hidden": "true",
246
+ className: `${baseClass}__hidden-input`,
247
+ hidden: true,
248
+ onChange: e_1 => {
249
+ if (e_1.target.files && e_1.target.files.length > 0) {
250
+ handleFileSelection(e_1.target.files);
251
+ }
252
+ },
253
+ ref: inputRef,
254
+ type: "file"
255
+ }), /*#__PURE__*/_jsx("span", {
256
+ className: `${baseClass}__orText`,
257
+ children: t('general:or')
258
+ }), /*#__PURE__*/_jsx(Button, {
259
+ buttonStyle: "pill",
260
+ onClick: () => {
261
+ setShowUrlInput(true);
262
+ },
263
+ size: "small",
264
+ children: t('upload:pasteURL')
265
+ })]
266
+ }), /*#__PURE__*/_jsxs("p", {
267
+ className: `${baseClass}__dragAndDropText`,
268
+ children: [t('general:or'), " ", t('upload:dragAndDrop')]
264
269
  })]
265
270
  })
266
271
  }), showUrlInput && /*#__PURE__*/_jsxs(React.Fragment, {