@payloadcms/ui 3.25.0-canary.46647b4 → 3.25.0-canary.4880129

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 (135) hide show
  1. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +10 -30
  3. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  4. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  5. package/dist/elements/DeleteMany/index.js +2 -2
  6. package/dist/elements/DeleteMany/index.js.map +1 -1
  7. package/dist/elements/DeleteMany/index.scss +16 -0
  8. package/dist/elements/EditMany/index.d.ts.map +1 -1
  9. package/dist/elements/EditMany/index.js +22 -14
  10. package/dist/elements/EditMany/index.js.map +1 -1
  11. package/dist/elements/EditMany/index.scss +5 -19
  12. package/dist/elements/Link/index.d.ts +9 -1
  13. package/dist/elements/Link/index.d.ts.map +1 -1
  14. package/dist/elements/Link/index.js +6 -0
  15. package/dist/elements/Link/index.js.map +1 -1
  16. package/dist/elements/ListControls/index.d.ts +8 -0
  17. package/dist/elements/ListControls/index.d.ts.map +1 -1
  18. package/dist/elements/ListControls/index.js +4 -20
  19. package/dist/elements/ListControls/index.js.map +1 -1
  20. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  21. package/dist/elements/ListDrawer/DrawerContent.js +2 -1
  22. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  23. package/dist/elements/ListDrawer/Provider.d.ts +7 -1
  24. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  25. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  26. package/dist/elements/ListSelection/index.d.ts +4 -0
  27. package/dist/elements/ListSelection/index.d.ts.map +1 -1
  28. package/dist/elements/ListSelection/index.js +44 -23
  29. package/dist/elements/ListSelection/index.js.map +1 -1
  30. package/dist/elements/ListSelection/index.scss +4 -0
  31. package/dist/elements/Localizer/index.d.ts.map +1 -1
  32. package/dist/elements/Localizer/index.js +36 -24
  33. package/dist/elements/Localizer/index.js.map +1 -1
  34. package/dist/elements/PublishButton/index.js +1 -0
  35. package/dist/elements/PublishButton/index.js.map +1 -1
  36. package/dist/elements/PublishMany/index.d.ts +1 -0
  37. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  38. package/dist/elements/PublishMany/index.js +3 -2
  39. package/dist/elements/PublishMany/index.js.map +1 -1
  40. package/dist/elements/PublishMany/index.scss +21 -0
  41. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  42. package/dist/elements/RelationshipTable/index.js +11 -15
  43. package/dist/elements/RelationshipTable/index.js.map +1 -1
  44. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  45. package/dist/elements/TableColumns/RenderDefaultCell/index.js +1 -0
  46. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
  47. package/dist/elements/TableColumns/buildColumnState.d.ts +3 -3
  48. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  49. package/dist/elements/TableColumns/buildColumnState.js +5 -6
  50. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  51. package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts +3 -3
  52. package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -1
  53. package/dist/elements/TableColumns/buildPolymorphicColumnState.js +5 -6
  54. package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +1 -1
  55. package/dist/elements/TableColumns/context.d.ts +4 -0
  56. package/dist/elements/TableColumns/context.d.ts.map +1 -0
  57. package/dist/elements/TableColumns/context.js +4 -0
  58. package/dist/elements/TableColumns/context.js.map +1 -0
  59. package/dist/elements/TableColumns/getInitialColumns.d.ts +2 -2
  60. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  61. package/dist/elements/TableColumns/getInitialColumns.js +1 -2
  62. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  63. package/dist/elements/TableColumns/index.d.ts +3 -31
  64. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  65. package/dist/elements/TableColumns/index.js +53 -164
  66. package/dist/elements/TableColumns/index.js.map +1 -1
  67. package/dist/elements/TableColumns/types.d.ts +52 -0
  68. package/dist/elements/TableColumns/types.d.ts.map +1 -0
  69. package/dist/elements/TableColumns/types.js +2 -0
  70. package/dist/elements/TableColumns/types.js.map +1 -0
  71. package/dist/elements/UnpublishMany/index.d.ts +1 -0
  72. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  73. package/dist/elements/UnpublishMany/index.js +3 -2
  74. package/dist/elements/UnpublishMany/index.js.map +1 -1
  75. package/dist/elements/UnpublishMany/index.scss +21 -0
  76. package/dist/elements/WhereBuilder/Condition/index.d.ts +2 -5
  77. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  78. package/dist/elements/WhereBuilder/Condition/index.js +7 -7
  79. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  80. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  81. package/dist/elements/WhereBuilder/field-types.js +9 -5
  82. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  83. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  84. package/dist/elements/WhereBuilder/index.js +19 -24
  85. package/dist/elements/WhereBuilder/index.js.map +1 -1
  86. package/dist/elements/WhereBuilder/types.d.ts +6 -2
  87. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  88. package/dist/elements/WhereBuilder/types.js.map +1 -1
  89. package/dist/exports/client/{CodeEditor-G3Y4UHC4.js → CodeEditor-L6GW2VQ6.js} +2 -2
  90. package/dist/exports/client/{chunk-4L367VSB.js → chunk-ZZDNSFEW.js} +2 -2
  91. package/dist/exports/client/{chunk-4L367VSB.js.map → chunk-ZZDNSFEW.js.map} +2 -2
  92. package/dist/exports/client/index.js +11 -11
  93. package/dist/exports/client/index.js.map +4 -4
  94. package/dist/exports/shared/index.js +2 -2
  95. package/dist/exports/shared/index.js.map +2 -2
  96. package/dist/fields/JSON/index.d.ts.map +1 -1
  97. package/dist/fields/JSON/index.js +16 -12
  98. package/dist/fields/JSON/index.js.map +1 -1
  99. package/dist/fields/Upload/Input.js +13 -13
  100. package/dist/fields/Upload/Input.js.map +1 -1
  101. package/dist/forms/Form/context.d.ts +3 -3
  102. package/dist/forms/Form/context.js +3 -3
  103. package/dist/forms/Form/context.js.map +1 -1
  104. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  105. package/dist/forms/Form/fieldReducer.js +30 -14
  106. package/dist/forms/Form/fieldReducer.js.map +1 -1
  107. package/dist/forms/useField/index.d.ts +1 -1
  108. package/dist/forms/useField/index.js +1 -1
  109. package/dist/forms/useField/index.js.map +1 -1
  110. package/dist/providers/ListQuery/context.d.ts +4 -0
  111. package/dist/providers/ListQuery/context.d.ts.map +1 -0
  112. package/dist/providers/ListQuery/context.js +4 -0
  113. package/dist/providers/ListQuery/context.js.map +1 -0
  114. package/dist/providers/ListQuery/index.d.ts +2 -27
  115. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  116. package/dist/providers/ListQuery/index.js +63 -31
  117. package/dist/providers/ListQuery/index.js.map +1 -1
  118. package/dist/providers/ListQuery/types.d.ts +33 -0
  119. package/dist/providers/ListQuery/types.d.ts.map +1 -0
  120. package/dist/providers/ListQuery/types.js +2 -0
  121. package/dist/providers/ListQuery/types.js.map +1 -0
  122. package/dist/styles.css +1 -1
  123. package/dist/utilities/renderTable.d.ts +3 -4
  124. package/dist/utilities/renderTable.d.ts.map +1 -1
  125. package/dist/utilities/renderTable.js +2 -2
  126. package/dist/utilities/renderTable.js.map +1 -1
  127. package/dist/views/List/ListHeader/index.d.ts +2 -0
  128. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  129. package/dist/views/List/ListHeader/index.js +5 -0
  130. package/dist/views/List/ListHeader/index.js.map +1 -1
  131. package/dist/views/List/index.d.ts.map +1 -1
  132. package/dist/views/List/index.js +8 -26
  133. package/dist/views/List/index.js.map +1 -1
  134. package/package.json +5 -5
  135. /package/dist/exports/client/{CodeEditor-G3Y4UHC4.js.map → CodeEditor-L6GW2VQ6.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","hoistQueryParamsToAnd","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((selectedCollectionFromProps: string) => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: selectedCollectionFromProps })?.labels,\n value: selectedCollectionFromProps,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(selectedCollectionFromProps)\n }, [selectedCollectionFromProps])\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n allowCreate,\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","hoistQueryParamsToAnd","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((selectedCollectionFromProps: string) => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: selectedCollectionFromProps })?.labels,\n value: selectedCollectionFromProps,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(selectedCollectionFromProps)\n }, [selectedCollectionFromProps])\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n allowCreate,\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n allowCreate,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n doc,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { CollectionSlug, ListQuery } from 'payload';
1
+ import type { CollectionSlug, Data, ListQuery } from 'payload';
2
2
  import type { useSelection } from '../../providers/Selection/index.js';
3
3
  import type { UseDocumentDrawer } from '../DocumentDrawer/types.js';
4
4
  import type { Option } from '../ReactSelect/index.js';
@@ -12,6 +12,12 @@ export type ListDrawerContextProps = {
12
12
  readonly onQueryChange?: (query: ListQuery) => void;
13
13
  readonly onSelect?: (args: {
14
14
  collectionSlug: CollectionSlug;
15
+ doc: Data;
16
+ /**
17
+ * @deprecated
18
+ * The `docID` property is deprecated and will be removed in the next major version of Payload.
19
+ * Use `doc.id` instead.
20
+ */
15
21
  docID: string;
16
22
  }) => void;
17
23
  readonly selectedOption?: Option<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,cAAc,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACrF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;CAC9D,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,iBAAiB,gDAA6C,CAAA;AAE3E,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,sBAAsB,CAO3B,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,qBAQvC,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAI9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,cAAc,CAAA;QAC9B,GAAG,EAAE,IAAI,CAAA;QACT;;;;WAIG;QACH,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;CAC9D,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,iBAAiB,gDAA6C,CAAA;AAE3E,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,sBAAsB,CAO3B,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,qBAQvC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","names":["createContext","useContext","ListDrawerContext","ListDrawerContextProvider","children","rest","_jsx","Provider","value","isInDrawer","Boolean","drawerSlug","useListDrawerContext","context","Error"],"sources":["../../../src/elements/ListDrawer/Provider.tsx"],"sourcesContent":["import type { CollectionSlug, ListQuery } from 'payload'\n\nimport { createContext, useContext } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\nimport type { UseDocumentDrawer } from '../DocumentDrawer/types.js'\nimport type { Option } from '../ReactSelect/index.js'\n\nexport type ListDrawerContextProps = {\n readonly allowCreate?: boolean\n readonly createNewDrawerSlug?: string\n readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n readonly drawerSlug?: string\n readonly enabledCollections?: CollectionSlug[]\n readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void\n readonly onQueryChange?: (query: ListQuery) => void\n readonly onSelect?: (args: { collectionSlug: CollectionSlug; docID: string }) => void\n readonly selectedOption?: Option<string>\n readonly setSelectedOption?: (option: Option<string>) => void\n}\n\nexport type ListDrawerContextType = {\n isInDrawer: boolean\n} & ListDrawerContextProps\n\nexport const ListDrawerContext = createContext({} as ListDrawerContextType)\n\nexport const ListDrawerContextProvider: React.FC<\n {\n children: React.ReactNode\n } & ListDrawerContextProps\n> = ({ children, ...rest }) => {\n return (\n <ListDrawerContext.Provider value={{ isInDrawer: Boolean(rest.drawerSlug), ...rest }}>\n {children}\n </ListDrawerContext.Provider>\n )\n}\n\nexport const useListDrawerContext = (): ListDrawerContextType => {\n const context = useContext(ListDrawerContext)\n\n if (!context) {\n throw new Error('useListDrawerContext must be used within a ListDrawerContextProvider')\n }\n\n return context\n}\n"],"mappings":";AAEA,SAASA,aAAa,EAAEC,UAAU,QAAQ;AAuB1C,OAAO,MAAMC,iBAAA,gBAAoBF,aAAA,CAAc,CAAC;AAEhD,OAAO,MAAMG,yBAAA,GAITA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAA,CAAM;EACxB,oBACEC,IAAA,CAACJ,iBAAA,CAAkBK,QAAQ;IAACC,KAAA,EAAO;MAAEC,UAAA,EAAYC,OAAA,CAAQL,IAAA,CAAKM,UAAU;MAAG,GAAGN;IAAK;cAChFD;;AAGP;AAEA,OAAO,MAAMQ,oBAAA,GAAuBA,CAAA;EAClC,MAAMC,OAAA,GAAUZ,UAAA,CAAWC,iBAAA;EAE3B,IAAI,CAACW,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,OAAOD,OAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"Provider.js","names":["createContext","useContext","ListDrawerContext","ListDrawerContextProvider","children","rest","_jsx","Provider","value","isInDrawer","Boolean","drawerSlug","useListDrawerContext","context","Error"],"sources":["../../../src/elements/ListDrawer/Provider.tsx"],"sourcesContent":["import type { CollectionSlug, Data, ListQuery } from 'payload'\n\nimport { createContext, useContext } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\nimport type { UseDocumentDrawer } from '../DocumentDrawer/types.js'\nimport type { Option } from '../ReactSelect/index.js'\n\nexport type ListDrawerContextProps = {\n readonly allowCreate?: boolean\n readonly createNewDrawerSlug?: string\n readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n readonly drawerSlug?: string\n readonly enabledCollections?: CollectionSlug[]\n readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void\n readonly onQueryChange?: (query: ListQuery) => void\n readonly onSelect?: (args: {\n collectionSlug: CollectionSlug\n doc: Data\n /**\n * @deprecated\n * The `docID` property is deprecated and will be removed in the next major version of Payload.\n * Use `doc.id` instead.\n */\n docID: string\n }) => void\n readonly selectedOption?: Option<string>\n readonly setSelectedOption?: (option: Option<string>) => void\n}\n\nexport type ListDrawerContextType = {\n isInDrawer: boolean\n} & ListDrawerContextProps\n\nexport const ListDrawerContext = createContext({} as ListDrawerContextType)\n\nexport const ListDrawerContextProvider: React.FC<\n {\n children: React.ReactNode\n } & ListDrawerContextProps\n> = ({ children, ...rest }) => {\n return (\n <ListDrawerContext.Provider value={{ isInDrawer: Boolean(rest.drawerSlug), ...rest }}>\n {children}\n </ListDrawerContext.Provider>\n )\n}\n\nexport const useListDrawerContext = (): ListDrawerContextType => {\n const context = useContext(ListDrawerContext)\n\n if (!context) {\n throw new Error('useListDrawerContext must be used within a ListDrawerContextProvider')\n }\n\n return context\n}\n"],"mappings":";AAEA,SAASA,aAAa,EAAEC,UAAU,QAAQ;AAgC1C,OAAO,MAAMC,iBAAA,gBAAoBF,aAAA,CAAc,CAAC;AAEhD,OAAO,MAAMG,yBAAA,GAITA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAA,CAAM;EACxB,oBACEC,IAAA,CAACJ,iBAAA,CAAkBK,QAAQ;IAACC,KAAA,EAAO;MAAEC,UAAA,EAAYC,OAAA,CAAQL,IAAA,CAAKM,UAAU;MAAG,GAAGN;IAAK;cAChFD;;AAGP;AAEA,OAAO,MAAMQ,oBAAA,GAAuBA,CAAA;EAClC,MAAMC,OAAA,GAAUZ,UAAA,CAAWC,iBAAA;EAE3B,IAAI,CAACW,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,OAAOD,OAAA;AACT","ignoreList":[]}
@@ -1,6 +1,10 @@
1
+ import type { ClientCollectionConfig } from 'payload';
1
2
  import React from 'react';
2
3
  import './index.scss';
3
4
  export type ListSelectionProps = {
5
+ collectionConfig?: ClientCollectionConfig;
6
+ disableBulkDelete?: boolean;
7
+ disableBulkEdit?: boolean;
4
8
  label: string;
5
9
  };
6
10
  export declare const ListSelection: React.FC<ListSelectionProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2BtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsCtD,CAAA"}
@@ -5,11 +5,18 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import React, { Fragment } from 'react';
6
6
  import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
7
7
  import { useTranslation } from '../../providers/Translation/index.js';
8
+ import { DeleteMany } from '../DeleteMany/index.js';
9
+ import { EditMany } from '../EditMany/index.js';
10
+ import { PublishMany } from '../PublishMany/index.js';
11
+ import { UnpublishMany } from '../UnpublishMany/index.js';
8
12
  import './index.scss';
9
13
  const baseClass = 'list-selection';
10
14
  export const ListSelection = t0 => {
11
- const $ = _c(7);
15
+ const $ = _c(10);
12
16
  const {
17
+ collectionConfig,
18
+ disableBulkDelete,
19
+ disableBulkEdit,
13
20
  label
14
21
  } = t0;
15
22
  const {
@@ -25,39 +32,53 @@ export const ListSelection = t0 => {
25
32
  return null;
26
33
  }
27
34
  let t1;
28
- if ($[0] !== count || $[1] !== label || $[2] !== selectAll || $[3] !== t || $[4] !== toggleAll || $[5] !== totalDocs) {
35
+ if ($[0] !== collectionConfig || $[1] !== count || $[2] !== disableBulkDelete || $[3] !== disableBulkEdit || $[4] !== label || $[5] !== selectAll || $[6] !== t || $[7] !== toggleAll || $[8] !== totalDocs) {
29
36
  t1 = _jsxs("div", {
30
37
  className: baseClass,
31
38
  children: [_jsx("span", {
32
39
  children: t("general:selectedCount", {
40
+ count,
41
+ label: ""
42
+ })
43
+ }), selectAll !== SelectAllStatus.AllAvailable && count < totalDocs && _jsx("button", {
44
+ "aria-label": t("general:selectAll", {
33
45
  count,
34
46
  label
47
+ }),
48
+ className: `${baseClass}__button`,
49
+ id: "select-all-across-pages",
50
+ onClick: () => toggleAll(true),
51
+ type: "button",
52
+ children: t("general:selectAll", {
53
+ count: totalDocs,
54
+ label: ""
35
55
  })
36
- }), selectAll !== SelectAllStatus.AllAvailable && _jsxs(Fragment, {
37
- children: [" ", "\u2014", _jsx("button", {
38
- "aria-label": t("general:selectAll", {
39
- count,
40
- label
41
- }),
42
- className: `${baseClass}__button`,
43
- onClick: () => toggleAll(true),
44
- type: "button",
45
- children: t("general:selectAll", {
46
- count: totalDocs,
47
- label
48
- })
56
+ }), !disableBulkEdit && !disableBulkDelete && _jsx("span", {
57
+ children: "\u2014"
58
+ }), !disableBulkEdit && _jsxs(Fragment, {
59
+ children: [_jsx(EditMany, {
60
+ collection: collectionConfig
61
+ }), _jsx(PublishMany, {
62
+ collection: collectionConfig
63
+ }), _jsx(UnpublishMany, {
64
+ collection: collectionConfig
49
65
  })]
66
+ }), !disableBulkDelete && _jsx(DeleteMany, {
67
+ collection: collectionConfig
50
68
  })]
51
69
  });
52
- $[0] = count;
53
- $[1] = label;
54
- $[2] = selectAll;
55
- $[3] = t;
56
- $[4] = toggleAll;
57
- $[5] = totalDocs;
58
- $[6] = t1;
70
+ $[0] = collectionConfig;
71
+ $[1] = count;
72
+ $[2] = disableBulkDelete;
73
+ $[3] = disableBulkEdit;
74
+ $[4] = label;
75
+ $[5] = selectAll;
76
+ $[6] = t;
77
+ $[7] = toggleAll;
78
+ $[8] = totalDocs;
79
+ $[9] = t1;
59
80
  } else {
60
- t1 = $[6];
81
+ t1 = $[9];
61
82
  }
62
83
  return t1;
63
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","Fragment","SelectAllStatus","useSelection","useTranslation","baseClass","ListSelection","t0","$","label","count","selectAll","toggleAll","totalDocs","t","t1","_jsxs","className","children","_jsx","AllAvailable","onClick","type"],"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\nexport type ListSelectionProps = {\n label: string\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({ label }) => {\n const { count, selectAll, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n if (count === 0) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <span>{t('general:selectedCount', { count, label })}</span>\n {selectAll !== SelectAllStatus.AllAvailable && (\n <Fragment>\n {' '}\n &mdash;\n <button\n aria-label={t('general:selectAll', { count, label })}\n className={`${baseClass}__button`}\n onClick={() => toggleAll(true)}\n type=\"button\"\n >\n {t('general:selectAll', { count: totalDocs, label })}\n </button>\n </Fragment>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAMlB,OAAO,MAAMC,aAAA,GAA8CC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAS;EACnE;IAAAG,KAAA;IAAAC,SAAA;IAAAC,SAAA;IAAAC;EAAA,IAAmDV,YAAA;EACnD;IAAAW;EAAA,IAAcV,cAAA;EAAA,IAEVM,KAAA,MAAU;IAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAP,CAAA,QAAAE,KAAA,IAAAF,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAM,CAAA,IAAAN,CAAA,QAAAI,SAAA,IAAAJ,CAAA,QAAAK,SAAA;IAKZE,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAAZ,SAAA;MAAAa,QAAA,GACCC,IAAA,CAAC;QAAAD,QAAA,EAAMJ,CAAA,CAAE;UAAAJ,KAAA;UAAAD;QAAA,CAAwC;MAAA,C,GAChDE,SAAA,KAAAT,eAAA,CAAAkB,YAA0C,IACzCJ,KAAA,CAAAf,QAAA;QAAAiB,QAAA,GACG,KAAI,UAELC,IAAA,CAAC;UAAA,cACaL,CAAA,CAAE;YAAAJ,KAAA;YAAAD;UAAA,CAAoC;UAAAQ,SAAA,EACvC,GAAAZ,SAAA,UAAsB;UAAAgB,OAAA,EAAAA,CAAA,KAClBT,SAAA,KAAU;UAAAU,IAAA,EACpB;UAAAJ,QAAA,EAEJJ,CAAA,CAAE;YAAAJ,KAAA,EAA8BG,SAAA;YAAAJ;UAAA,CAAiB;QAAA,C;;;;;;;;;;;;;SAZ1DM,E;CAkBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Fragment","SelectAllStatus","useSelection","useTranslation","DeleteMany","EditMany","PublishMany","UnpublishMany","baseClass","ListSelection","t0","$","collectionConfig","disableBulkDelete","disableBulkEdit","label","count","selectAll","toggleAll","totalDocs","t","t1","_jsxs","className","children","_jsx","AllAvailable","id","onClick","type","collection"],"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport React, { Fragment } from 'react'\n\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\nexport type ListSelectionProps = {\n collectionConfig?: ClientCollectionConfig\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n label: string\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({\n collectionConfig,\n disableBulkDelete,\n disableBulkEdit,\n label,\n}) => {\n const { count, selectAll, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n if (count === 0) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <span>{t('general:selectedCount', { count, label: '' })}</span>\n {selectAll !== SelectAllStatus.AllAvailable && count < totalDocs && (\n <button\n aria-label={t('general:selectAll', { count, label })}\n className={`${baseClass}__button`}\n id=\"select-all-across-pages\"\n onClick={() => toggleAll(true)}\n type=\"button\"\n >\n {t('general:selectAll', { count: totalDocs, label: '' })}\n </button>\n )}\n {!disableBulkEdit && !disableBulkDelete && <span>&mdash;</span>}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,WAAW,QAAQ;AAC5B,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,MAAMC,SAAA,GAAY;AASlB,OAAO,MAAMC,aAAA,GAA8CC,EAAA;EAAA,MAAAC,CAAA,GAAAb,EAAA;EAAC;IAAAc,gBAAA;IAAAC,iBAAA;IAAAC,eAAA;IAAAC;EAAA,IAAAL,EAK3D;EACC;IAAAM,KAAA;IAAAC,SAAA;IAAAC,SAAA;IAAAC;EAAA,IAAmDjB,YAAA;EACnD;IAAAkB;EAAA,IAAcjB,cAAA;EAAA,IAEVa,KAAA,MAAU;IAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAV,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAK,KAAA,IAAAL,CAAA,QAAAE,iBAAA,IAAAF,CAAA,QAAAG,eAAA,IAAAH,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAM,SAAA,IAAAN,CAAA,QAAAS,CAAA,IAAAT,CAAA,QAAAO,SAAA,IAAAP,CAAA,QAAAQ,SAAA;IAKZE,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAAf,SAAA;MAAAgB,QAAA,GACCC,IAAA,CAAC;QAAAD,QAAA,EAAMJ,CAAA,CAAE;UAAAJ,KAAA;UAAAD,KAAA,EAAyC;QAAA,CAAG;MAAA,C,GACpDE,SAAA,KAAAhB,eAAA,CAAAyB,YAA0C,IAAIV,KAAA,GAAQG,SAAA,IACrDM,IAAA,CAAC;QAAA,cACaL,CAAA,CAAE;UAAAJ,KAAA;UAAAD;QAAA,CAAoC;QAAAQ,SAAA,EACvC,GAAAf,SAAA,UAAsB;QAAAmB,EAAA,EAC9B;QAAAC,OAAA,EAAAA,CAAA,KACYV,SAAA,KAAU;QAAAW,IAAA,EACpB;QAAAL,QAAA,EAEJJ,CAAA,CAAE;UAAAJ,KAAA,EAA8BG,SAAA;UAAAJ,KAAA,EAAkB;QAAA,CAAG;MAAA,C,GAGzD,CAACD,eAAA,KAAoBD,iBAAA,IAAqBY,IAAA,CAAC;QAAAD,QAAA,EAAK;MAAA,C,GAChD,CAACV,eAAA,IACAQ,KAAA,CAAAtB,QAAA;QAAAwB,QAAA,GACEC,IAAA,CAAApB,QAAA;UAAAyB,UAAA,EAAsBlB;QAAA,C,GACtBa,IAAA,CAAAnB,WAAA;UAAAwB,UAAA,EAAyBlB;QAAA,C,GACzBa,IAAA,CAAAlB,aAAA;UAAAuB,UAAA,EAA2BlB;QAAA,C;UAG9B,CAACC,iBAAA,IAAqBY,IAAA,CAAArB,UAAA;QAAA0B,UAAA,EAAwBlB;MAAA,C;;;;;;;;;;;;;;;SArBjDS,E;CAwBJ","ignoreList":[]}
@@ -2,8 +2,10 @@
2
2
 
3
3
  @layer payload-default {
4
4
  .list-selection {
5
+ display: flex;
5
6
  margin-left: auto;
6
7
  color: var(--theme-elevation-500);
8
+ gap: 0.5em;
7
9
 
8
10
  &__button {
9
11
  color: var(--theme-elevation-500);
@@ -11,6 +13,8 @@
11
13
  border: none;
12
14
  text-decoration: underline;
13
15
  cursor: pointer;
16
+ padding: 0;
17
+ font-size: inherit;
14
18
  }
15
19
 
16
20
  @include small-break {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Localizer/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAsEA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Localizer/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAoFA,CAAA"}
@@ -3,19 +3,19 @@
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { getTranslation } from '@payloadcms/translations';
6
- import { useSearchParams } from 'next/navigation.js';
6
+ import { useRouter } from 'next/navigation.js';
7
7
  import * as qs from 'qs-esm';
8
8
  import React, { Fragment } from 'react';
9
9
  import { useConfig } from '../../providers/Config/index.js';
10
10
  import { useLocale, useLocaleLoading } from '../../providers/Locale/index.js';
11
+ import { useRouteTransition } from '../../providers/RouteTransition/index.js';
11
12
  import { useTranslation } from '../../providers/Translation/index.js';
12
- import { parseSearchParams } from '../../utilities/parseSearchParams.js';
13
13
  import { Popup, PopupList } from '../Popup/index.js';
14
- import { LocalizerLabel } from './LocalizerLabel/index.js';
15
14
  import './index.scss';
15
+ import { LocalizerLabel } from './LocalizerLabel/index.js';
16
16
  const baseClass = 'localizer';
17
17
  export const Localizer = props => {
18
- const $ = _c(15);
18
+ const $ = _c(17);
19
19
  const {
20
20
  className
21
21
  } = props;
@@ -25,7 +25,10 @@ export const Localizer = props => {
25
25
  const {
26
26
  localization
27
27
  } = t0;
28
- const searchParams = useSearchParams();
28
+ const router = useRouter();
29
+ const {
30
+ startRouteTransition
31
+ } = useRouteTransition();
29
32
  const {
30
33
  setLocaleIsLoading
31
34
  } = useLocaleLoading();
@@ -47,9 +50,9 @@ export const Localizer = props => {
47
50
  }
48
51
  const t2 = t1.join(" ");
49
52
  let t3;
50
- if ($[2] !== i18n || $[3] !== locale.code || $[4] !== locales || $[5] !== searchParams || $[6] !== setLocaleIsLoading || $[7] !== t2) {
53
+ if ($[2] !== i18n || $[3] !== locale.code || $[4] !== locales || $[5] !== router || $[6] !== setLocaleIsLoading || $[7] !== startRouteTransition || $[8] !== t2) {
51
54
  let t4;
52
- if ($[9] !== i18n || $[10] !== locale.code || $[11] !== locales || $[12] !== searchParams || $[13] !== setLocaleIsLoading) {
55
+ if ($[10] !== i18n || $[11] !== locale.code || $[12] !== locales || $[13] !== router || $[14] !== setLocaleIsLoading || $[15] !== startRouteTransition) {
53
56
  t4 = t5 => {
54
57
  const {
55
58
  close
@@ -60,15 +63,22 @@ export const Localizer = props => {
60
63
  return _jsx(PopupList.Button, {
61
64
  active: locale.code === localeOption.code,
62
65
  disabled: locale.code === localeOption.code,
63
- href: qs.stringify({
64
- ...parseSearchParams(searchParams),
65
- locale: localeOption.code
66
- }, {
67
- addQueryPrefix: true
68
- }),
69
66
  onClick: () => {
70
67
  setLocaleIsLoading(true);
71
68
  close();
69
+ const searchParams = new URLSearchParams(window.location.search);
70
+ const url = qs.stringify({
71
+ ...qs.parse(searchParams.toString(), {
72
+ depth: 10,
73
+ ignoreQueryPrefix: true
74
+ }),
75
+ locale: localeOption.code
76
+ }, {
77
+ addQueryPrefix: true
78
+ });
79
+ startRouteTransition(() => {
80
+ router.push(url);
81
+ });
72
82
  },
73
83
  children: localeOptionLabel !== localeOption.code ? _jsxs(Fragment, {
74
84
  children: [localeOptionLabel, "\xA0", _jsx("span", {
@@ -85,14 +95,15 @@ export const Localizer = props => {
85
95
  })
86
96
  });
87
97
  };
88
- $[9] = i18n;
89
- $[10] = locale.code;
90
- $[11] = locales;
91
- $[12] = searchParams;
92
- $[13] = setLocaleIsLoading;
93
- $[14] = t4;
98
+ $[10] = i18n;
99
+ $[11] = locale.code;
100
+ $[12] = locales;
101
+ $[13] = router;
102
+ $[14] = setLocaleIsLoading;
103
+ $[15] = startRouteTransition;
104
+ $[16] = t4;
94
105
  } else {
95
- t4 = $[14];
106
+ t4 = $[16];
96
107
  }
97
108
  t3 = _jsx("div", {
98
109
  className: t2,
@@ -107,12 +118,13 @@ export const Localizer = props => {
107
118
  $[2] = i18n;
108
119
  $[3] = locale.code;
109
120
  $[4] = locales;
110
- $[5] = searchParams;
121
+ $[5] = router;
111
122
  $[6] = setLocaleIsLoading;
112
- $[7] = t2;
113
- $[8] = t3;
123
+ $[7] = startRouteTransition;
124
+ $[8] = t2;
125
+ $[9] = t3;
114
126
  } else {
115
- t3 = $[8];
127
+ t3 = $[9];
116
128
  }
117
129
  return t3;
118
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","useSearchParams","qs","React","Fragment","useConfig","useLocale","useLocaleLoading","useTranslation","parseSearchParams","Popup","PopupList","LocalizerLabel","baseClass","Localizer","props","$","className","config","t0","localization","searchParams","setLocaleIsLoading","i18n","locale","locales","t1","filter","Boolean","t2","join","t3","code","t4","t5","close","_jsx","ButtonGroup","children","map","localeOption","localeOptionLabel","label","Button","active","disabled","href","stringify","addQueryPrefix","onClick","_jsxs","button","horizontalAlign","render"],"sources":["../../../src/elements/Localizer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { Fragment } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale, useLocaleLoading } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { LocalizerLabel } from './LocalizerLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer'\n\nexport const Localizer: React.FC<{\n className?: string\n}> = (props) => {\n const { className } = props\n const {\n config: { localization },\n } = useConfig()\n const searchParams = useSearchParams()\n const { setLocaleIsLoading } = useLocaleLoading()\n\n const { i18n } = useTranslation()\n const locale = useLocale()\n\n if (localization) {\n const { locales } = localization\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Popup\n button={<LocalizerLabel />}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {locales.map((localeOption) => {\n const localeOptionLabel = getTranslation(localeOption.label, i18n)\n\n return (\n <PopupList.Button\n active={locale.code === localeOption.code}\n disabled={locale.code === localeOption.code}\n href={qs.stringify(\n {\n ...parseSearchParams(searchParams),\n locale: localeOption.code,\n },\n { addQueryPrefix: true },\n )}\n key={localeOption.code}\n onClick={() => {\n setLocaleIsLoading(true)\n close()\n }}\n >\n {localeOptionLabel !== localeOption.code ? (\n <Fragment>\n {localeOptionLabel}\n &nbsp;\n <span\n className={`${baseClass}__locale-code`}\n data-locale={localeOption.code}\n >\n {`(${localeOption.code})`}\n </span>\n </Fragment>\n ) : (\n <span className={`${baseClass}__locale-code`} data-locale={localeOption.code}>\n {localeOptionLabel}\n </span>\n )}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n size=\"large\"\n />\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","useRouter","qs","React","Fragment","useConfig","useLocale","useLocaleLoading","useRouteTransition","useTranslation","Popup","PopupList","LocalizerLabel","baseClass","Localizer","props","$","className","config","t0","localization","router","startRouteTransition","setLocaleIsLoading","i18n","locale","locales","t1","filter","Boolean","t2","join","t3","code","t4","t5","close","_jsx","ButtonGroup","children","map","localeOption","localeOptionLabel","label","Button","active","disabled","onClick","searchParams","URLSearchParams","window","location","search","url","stringify","parse","toString","depth","ignoreQueryPrefix","addQueryPrefix","push","_jsxs","button","horizontalAlign","render"],"sources":["../../../src/elements/Localizer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { Fragment } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale, useLocaleLoading } from '../../providers/Locale/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.scss'\nimport { LocalizerLabel } from './LocalizerLabel/index.js'\n\nconst baseClass = 'localizer'\n\nexport const Localizer: React.FC<{\n className?: string\n}> = (props) => {\n const { className } = props\n const {\n config: { localization },\n } = useConfig()\n\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n\n const { setLocaleIsLoading } = useLocaleLoading()\n\n const { i18n } = useTranslation()\n const locale = useLocale()\n\n if (localization) {\n const { locales } = localization\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Popup\n button={<LocalizerLabel />}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {locales.map((localeOption) => {\n const localeOptionLabel = getTranslation(localeOption.label, i18n)\n\n return (\n <PopupList.Button\n active={locale.code === localeOption.code}\n disabled={locale.code === localeOption.code}\n key={localeOption.code}\n onClick={() => {\n setLocaleIsLoading(true)\n close()\n\n // can't use `useSearchParams` here because it is stale due to `window.history.pushState` in `ListQueryProvider`\n const searchParams = new URLSearchParams(window.location.search)\n\n const url = qs.stringify(\n {\n ...qs.parse(searchParams.toString(), {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n locale: localeOption.code,\n },\n { addQueryPrefix: true },\n )\n\n startRouteTransition(() => {\n router.push(url)\n })\n }}\n >\n {localeOptionLabel !== localeOption.code ? (\n <Fragment>\n {localeOptionLabel}\n &nbsp;\n <span\n className={`${baseClass}__locale-code`}\n data-locale={localeOption.code}\n >\n {`(${localeOption.code})`}\n </span>\n </Fragment>\n ) : (\n <span className={`${baseClass}__locale-code`} data-locale={localeOption.code}>\n {localeOptionLabel}\n </span>\n )}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n size=\"large\"\n />\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -326,6 +326,7 @@ export function PublishButton(t0) {
326
326
  })
327
327
  }, "schedule-publish"), localization && canPublish && _jsx(PopupList.ButtonGroup, {
328
328
  children: _jsx(PopupList.Button, {
329
+ id: "publish-locale",
329
330
  onClick: secondaryPublish,
330
331
  children: secondaryLabel
331
332
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","ScheduleDrawer","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","submit","modified","editDepth","code","localeCode","isModalOpen","toggleModal","drawerSlug","localization","routes","t1","serverURL","api","t","t2","t3","bb0","t4","undefined","entityConfig","hasNewerVersions","canPublish","scheduledPublishEnabled","versions","drafts","schedulePublish","canSchedulePublish","Boolean","operation","disabled","search","action","method","overrides","_status","skipValidation","saveDraft","t5","Symbol","for","t6","cmdCtrlKey","keyCodes","t7","e","preventDefault","stopPropagation","autosave","t8","publish","t9","locale","params","stringify","publishSpecificLocale","action_0","publishAll","defaultLocalePublishOption","t10","locales","find","locale_0","activeLocale","activeLocaleLabel","t11","defaultPublish","t12","defaultLabel","t13","secondaryPublish","t14","t15","bb1","secondaryLabel","_jsxs","Fragment","children","_jsx","buttonId","enableSubMenu","onClick","size","SubMenuPopupContent","t16","close","ButtonGroup","Button","type","defaultType","slug"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } 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 { 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'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport function PublishButton({ label: labelProp }: PublishButtonClientProps) {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const { isModalOpen, toggleModal } = useModal()\n\n const drawerSlug = `schedule-publish-${id}`\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled =\n typeof entityConfig?.versions?.drafts === 'object' &&\n entityConfig?.versions?.drafts.schedulePublish\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n !modified,\n )\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${localeCode}&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, localeCode, id, disabled])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }, [\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit, uploadStatus],\n )\n\n const publishAll =\n !localization || (localization && localization.defaultLocalePublishOption !== 'active')\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel =\n activeLocale &&\n (typeof activeLocale.label === 'string'\n ? activeLocale.label\n : (activeLocale.label?.[localeCode] ?? undefined))\n\n const defaultPublish = publishAll ? publish : () => publishSpecificLocale(activeLocale.code)\n const defaultLabel = publishAll ? label : t('version:publishIn', { locale: activeLocaleLabel })\n\n const secondaryPublish = publishAll ? () => publishSpecificLocale(activeLocale.code) : publish\n const secondaryLabel = publishAll\n ? t('version:publishIn', { locale: activeLocaleLabel })\n : t('version:publishAllLocales')\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n enableSubMenu={canSchedulePublish}\n onClick={defaultPublish}\n size=\"medium\"\n SubMenuPopupContent={\n localization || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button\n id=\"schedule-publish\"\n onClick={() => [toggleModal(drawerSlug), close()]}\n >\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {localization && canPublish && (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={secondaryPublish}>\n {secondaryLabel}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {localization ? defaultLabel : label}\n </FormSubmit>\n {canSchedulePublish && isModalOpen(drawerSlug) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","ScheduleDrawer","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","submit","modified","editDepth","code","localeCode","isModalOpen","toggleModal","drawerSlug","localization","routes","t1","serverURL","api","t","t2","t3","bb0","t4","undefined","entityConfig","hasNewerVersions","canPublish","scheduledPublishEnabled","versions","drafts","schedulePublish","canSchedulePublish","Boolean","operation","disabled","search","action","method","overrides","_status","skipValidation","saveDraft","t5","Symbol","for","t6","cmdCtrlKey","keyCodes","t7","e","preventDefault","stopPropagation","autosave","t8","publish","t9","locale","params","stringify","publishSpecificLocale","action_0","publishAll","defaultLocalePublishOption","t10","locales","find","locale_0","activeLocale","activeLocaleLabel","t11","defaultPublish","t12","defaultLabel","t13","secondaryPublish","t14","t15","bb1","secondaryLabel","_jsxs","Fragment","children","_jsx","buttonId","enableSubMenu","onClick","size","SubMenuPopupContent","t16","close","ButtonGroup","Button","type","defaultType","slug"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } 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 { 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'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport function PublishButton({ label: labelProp }: PublishButtonClientProps) {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const { isModalOpen, toggleModal } = useModal()\n\n const drawerSlug = `schedule-publish-${id}`\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled =\n typeof entityConfig?.versions?.drafts === 'object' &&\n entityConfig?.versions?.drafts.schedulePublish\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n !modified,\n )\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${localeCode}&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, localeCode, id, disabled])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }, [\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit, uploadStatus],\n )\n\n const publishAll =\n !localization || (localization && localization.defaultLocalePublishOption !== 'active')\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel =\n activeLocale &&\n (typeof activeLocale.label === 'string'\n ? activeLocale.label\n : (activeLocale.label?.[localeCode] ?? undefined))\n\n const defaultPublish = publishAll ? publish : () => publishSpecificLocale(activeLocale.code)\n const defaultLabel = publishAll ? label : t('version:publishIn', { locale: activeLocaleLabel })\n\n const secondaryPublish = publishAll ? () => publishSpecificLocale(activeLocale.code) : publish\n const secondaryLabel = publishAll\n ? t('version:publishIn', { locale: activeLocaleLabel })\n : t('version:publishAllLocales')\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n enableSubMenu={canSchedulePublish}\n onClick={defaultPublish}\n size=\"medium\"\n SubMenuPopupContent={\n localization || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button\n id=\"schedule-publish\"\n onClick={() => [toggleModal(drawerSlug), close()]}\n >\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {localization && canPublish && (\n <PopupList.ButtonGroup>\n <PopupList.Button id=\"publish-locale\" onClick={secondaryPublish}>\n {secondaryLabel}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {localization ? defaultLabel : label}\n </FormSubmit>\n {canSchedulePublish && isModalOpen(drawerSlug) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import type { ClientCollectionConfig } from 'payload';
2
2
  import React from 'react';
3
+ import './index.scss';
3
4
  export type PublishManyProps = {
4
5
  collection: ClientCollectionConfig;
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAa1C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAID,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgIlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAID,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiIlD,CAAA"}
@@ -15,7 +15,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
15
15
  import { requests } from '../../utilities/api.js';
16
16
  import { parseSearchParams } from '../../utilities/parseSearchParams.js';
17
17
  import { ConfirmationModal } from '../ConfirmationModal/index.js';
18
- import { Pill } from '../Pill/index.js';
18
+ import './index.scss';
19
19
  const baseClass = 'publish-many';
20
20
  export const PublishMany = props => {
21
21
  const {
@@ -114,11 +114,12 @@ export const PublishMany = props => {
114
114
  return null;
115
115
  }
116
116
  return /*#__PURE__*/_jsxs(React.Fragment, {
117
- children: [/*#__PURE__*/_jsx(Pill, {
117
+ children: [/*#__PURE__*/_jsx("button", {
118
118
  className: `${baseClass}__toggle`,
119
119
  onClick: () => {
120
120
  openModal(modalSlug);
121
121
  },
122
+ type: "button",
122
123
  children: t('version:publish')
123
124
  }), /*#__PURE__*/_jsx(ConfirmationModal, {
124
125
  body: t('version:aboutToPublishSelection', {