@payloadcms/ui 3.24.0-canary.f229d8d → 3.25.0-canary.36940b2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +143 -108
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +22 -20
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +1 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.scss +21 -5
- package/dist/elements/ConfirmationModal/index.d.ts +16 -0
- package/dist/elements/ConfirmationModal/index.d.ts.map +1 -0
- package/dist/elements/ConfirmationModal/index.js +157 -0
- package/dist/elements/ConfirmationModal/index.js.map +1 -0
- package/dist/elements/{GenerateConfirmation → ConfirmationModal}/index.scss +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +2 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/types.d.ts +1 -0
- package/dist/elements/DatePicker/types.d.ts.map +1 -1
- package/dist/elements/DatePicker/types.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +31 -79
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.scss +0 -29
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +18 -45
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.scss +14 -27
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts +0 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +25 -54
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +3 -2
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +22 -14
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditMany/index.scss +5 -19
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -17
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +2 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.d.ts +1 -2
- package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +23 -47
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +56 -113
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts +9 -0
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +17 -19
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +5 -0
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +4 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +8 -1
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListSelection/index.d.ts +4 -0
- package/dist/elements/ListSelection/index.d.ts.map +1 -1
- package/dist/elements/ListSelection/index.js +44 -23
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/ListSelection/index.scss +4 -0
- package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +11 -8
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +2 -0
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Popup/index.d.ts +1 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +2 -0
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +2 -1
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +2 -2
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +1 -2
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +2 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +6 -2
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts +2 -3
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +20 -17
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +21 -46
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/PublishMany/index.scss +14 -32
- package/dist/elements/RelationshipTable/index.d.ts +7 -2
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +69 -23
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.scss +6 -0
- package/dist/elements/SaveButton/index.d.ts +2 -3
- package/dist/elements/SaveButton/index.d.ts.map +1 -1
- package/dist/elements/SaveButton/index.js +3 -3
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts +2 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +2 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +173 -154
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/Status/index.scss +0 -41
- package/dist/elements/StayLoggedIn/index.d.ts +0 -1
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +45 -77
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +1 -9
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/RenderDefaultCell/index.js +1 -0
- package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts +20 -0
- package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
- package/dist/elements/TableColumns/buildPolymorphicColumnState.js +200 -0
- package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +1 -0
- package/dist/elements/TableColumns/index.d.ts +2 -3
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +4 -3
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts +1 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +16 -43
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.scss +14 -32
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +5 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.d.ts +2 -5
- package/dist/elements/ViewDescription/index.d.ts.map +1 -1
- package/dist/elements/ViewDescription/index.js +2 -2
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/field-types.js +9 -5
- package/dist/elements/WhereBuilder/field-types.js.map +1 -1
- package/dist/exports/client/{CodeEditor-L6GW2VQ6.js → CodeEditor-G3Y4UHC4.js} +2 -2
- package/dist/exports/client/{CodeEditor-L6GW2VQ6.js.map → CodeEditor-G3Y4UHC4.js.map} +0 -1
- package/dist/exports/client/{DatePicker-THCU4KZJ.js → DatePicker-HHQ6TPOW.js} +2 -2
- package/dist/exports/client/{DatePicker-THCU4KZJ.js.map → DatePicker-HHQ6TPOW.js.map} +0 -1
- package/dist/exports/client/{chunk-ZZDNSFEW.js → chunk-4L367VSB.js} +2 -2
- package/dist/exports/client/{chunk-ZZDNSFEW.js.map → chunk-4L367VSB.js.map} +2 -3
- package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -1
- package/dist/exports/client/{chunk-EG3ZOHFS.js → chunk-IMEQ6NKQ.js} +2 -2
- package/dist/exports/client/{chunk-EG3ZOHFS.js.map → chunk-IMEQ6NKQ.js.map} +3 -4
- package/dist/exports/client/index.d.ts +46 -4
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +11 -11
- package/dist/exports/client/index.js.map +4 -5
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +85 -103
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.scss +43 -0
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +24 -6
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +8 -3
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +2 -0
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.scss +2 -1
- package/dist/fields/Upload/Input.d.ts +1 -0
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +13 -13
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/context.d.ts +3 -3
- package/dist/forms/Form/context.js +3 -3
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +19 -8
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.d.ts.map +1 -1
- package/dist/forms/Form/initContextState.js +2 -0
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/types.d.ts +6 -0
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/useField/index.d.ts +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/icons/Dots/index.d.ts +7 -0
- package/dist/icons/Dots/index.d.ts.map +1 -0
- package/dist/icons/Dots/index.js +12 -0
- package/dist/icons/Dots/index.js.map +1 -0
- package/dist/icons/Dots/index.scss +27 -0
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +5 -6
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildTableState.d.ts +1 -2
- package/dist/utilities/buildTableState.d.ts.map +1 -1
- package/dist/utilities/buildTableState.js +72 -20
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +20 -14
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +3 -6
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/renderTable.d.ts +6 -4
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +49 -17
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/upsertPreferences.d.ts +5 -1
- package/dist/utilities/upsertPreferences.d.ts.map +1 -1
- package/dist/utilities/upsertPreferences.js +11 -14
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +56 -55
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts +2 -2
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +3 -3
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +2 -0
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +5 -0
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/index.d.ts +2 -25
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +17 -23
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/types.d.ts +1 -18
- package/dist/views/List/types.d.ts.map +1 -1
- package/dist/views/List/types.js.map +1 -1
- package/package.json +5 -5
- package/dist/elements/DuplicateDocument/index.scss +0 -42
- package/dist/elements/LeaveWithoutSaving/index.scss +0 -39
- package/dist/elements/StayLoggedIn/index.scss +0 -40
|
@@ -87,6 +87,7 @@ export const ListDrawerContent = ({
|
|
|
87
87
|
} = await serverFunction({
|
|
88
88
|
name: 'render-list',
|
|
89
89
|
args: {
|
|
90
|
+
allowCreate,
|
|
90
91
|
collectionSlug: slug_0,
|
|
91
92
|
disableBulkDelete: true,
|
|
92
93
|
disableBulkEdit: true,
|
|
@@ -105,7 +106,7 @@ export const ListDrawerContent = ({
|
|
|
105
106
|
closeModal(drawerSlug);
|
|
106
107
|
}
|
|
107
108
|
}
|
|
108
|
-
}, [serverFunction, closeModal, drawerSlug, isOpen, enableRowSelections, filterOptions, overrideEntityVisibility]);
|
|
109
|
+
}, [serverFunction, closeModal, allowCreate, drawerSlug, isOpen, enableRowSelections, filterOptions, overrideEntityVisibility]);
|
|
109
110
|
useEffect(() => {
|
|
110
111
|
if (!ListView) {
|
|
111
112
|
void renderList(selectedOption.value);
|
|
@@ -117,6 +118,7 @@ export const ListDrawerContent = ({
|
|
|
117
118
|
if (typeof onSelect === 'function') {
|
|
118
119
|
onSelect({
|
|
119
120
|
collectionSlug: selectedOption.value,
|
|
121
|
+
doc,
|
|
120
122
|
docID: doc.id
|
|
121
123
|
});
|
|
122
124
|
}
|
|
@@ -134,6 +136,7 @@ export const ListDrawerContent = ({
|
|
|
134
136
|
return /*#__PURE__*/_jsx(LoadingOverlay, {});
|
|
135
137
|
}
|
|
136
138
|
return /*#__PURE__*/_jsxs(ListDrawerContextProvider, {
|
|
139
|
+
allowCreate: allowCreate,
|
|
137
140
|
createNewDrawerSlug: documentDrawerSlug,
|
|
138
141
|
DocumentDrawerToggler: DocumentDrawerToggler,
|
|
139
142
|
drawerSlug: drawerSlug,
|
|
@@ -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 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 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,8 +1,9 @@
|
|
|
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';
|
|
5
5
|
export type ListDrawerContextProps = {
|
|
6
|
+
readonly allowCreate?: boolean;
|
|
6
7
|
readonly createNewDrawerSlug?: string;
|
|
7
8
|
readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1];
|
|
8
9
|
readonly drawerSlug?: string;
|
|
@@ -11,6 +12,12 @@ export type ListDrawerContextProps = {
|
|
|
11
12
|
readonly onQueryChange?: (query: ListQuery) => void;
|
|
12
13
|
readonly onSelect?: (args: {
|
|
13
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
|
+
*/
|
|
14
21
|
docID: string;
|
|
15
22
|
}) => void;
|
|
16
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;
|
|
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 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: {
|
|
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;
|
|
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(
|
|
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] !==
|
|
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
|
-
}),
|
|
37
|
-
children:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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] =
|
|
53
|
-
$[1] =
|
|
54
|
-
$[2] =
|
|
55
|
-
$[3] =
|
|
56
|
-
$[4] =
|
|
57
|
-
$[5] =
|
|
58
|
-
$[6] =
|
|
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 = $[
|
|
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> = ({
|
|
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>—</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/LocalizerLabel/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Localizer/LocalizerLabel/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAoBA,CAAA"}
|
|
@@ -10,7 +10,7 @@ import { useTranslation } from '../../../providers/Translation/index.js';
|
|
|
10
10
|
import './index.scss';
|
|
11
11
|
const baseClass = 'localizer-button';
|
|
12
12
|
export const LocalizerLabel = props => {
|
|
13
|
-
const $ = _c(
|
|
13
|
+
const $ = _c(12);
|
|
14
14
|
const {
|
|
15
15
|
ariaLabel,
|
|
16
16
|
className
|
|
@@ -38,15 +38,17 @@ export const LocalizerLabel = props => {
|
|
|
38
38
|
t1 = $[4];
|
|
39
39
|
}
|
|
40
40
|
const t2 = t1.join(" ");
|
|
41
|
-
const t3 =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
const t3 = locale ? locale.code : undefined;
|
|
42
|
+
const t4 = `${t("general:locale")}:`;
|
|
43
|
+
let t5;
|
|
44
|
+
if ($[5] !== i18n || $[6] !== locale.label || $[7] !== t0 || $[8] !== t2 || $[9] !== t3 || $[10] !== t4) {
|
|
45
|
+
t5 = _jsxs("div", {
|
|
45
46
|
"aria-label": t0,
|
|
46
47
|
className: t2,
|
|
48
|
+
"data-locale": t3,
|
|
47
49
|
children: [_jsxs("div", {
|
|
48
50
|
className: `${baseClass}__label`,
|
|
49
|
-
children: [
|
|
51
|
+
children: [t4, "\xA0"]
|
|
50
52
|
}), _jsxs("div", {
|
|
51
53
|
className: `${baseClass}__current`,
|
|
52
54
|
children: [_jsx("span", {
|
|
@@ -64,9 +66,10 @@ export const LocalizerLabel = props => {
|
|
|
64
66
|
$[8] = t2;
|
|
65
67
|
$[9] = t3;
|
|
66
68
|
$[10] = t4;
|
|
69
|
+
$[11] = t5;
|
|
67
70
|
} else {
|
|
68
|
-
|
|
71
|
+
t5 = $[11];
|
|
69
72
|
}
|
|
70
|
-
return
|
|
73
|
+
return t5;
|
|
71
74
|
};
|
|
72
75
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","ChevronIcon","useLocale","useTranslation","baseClass","LocalizerLabel","props","$","ariaLabel","className","locale","i18n","t","t0","t1","filter","Boolean","t2","join","t3","t4","label","_jsxs","children","_jsx","size"],"sources":["../../../../src/elements/Localizer/LocalizerLabel/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer-button'\n\nexport const LocalizerLabel: React.FC<{\n ariaLabel?: string\n className?: string\n}> = (props) => {\n const { ariaLabel, className } = props\n const locale = useLocale()\n const { i18n, t } = useTranslation()\n\n return (\n <div\n aria-label={ariaLabel || t('general:locale')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n >\n <div className={`${baseClass}__label`}>{`${t('general:locale')}:`} </div>\n <div className={`${baseClass}__current`}>\n <span className={`${baseClass}__current-label`}>\n {`${getTranslation(locale.label, i18n)}`}\n </span>\n <ChevronIcon className={`${baseClass}__chevron`} size=\"small\" />\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,cAAA,GAGRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,SAAA;IAAAC;EAAA,IAAiCH,KAAA;EACjC,MAAAI,MAAA,GAAeR,SAAA;EACf;IAAAS,IAAA;IAAAC;EAAA,IAAoBT,cAAA;EAAA,IAAAU,EAAA;EAAA,IAAAN,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAK,CAAA;IAIJC,EAAA,GAAAL,SAAA,IAAaI,CAAA,CAAE;IAAAL,CAAA,MAAAC,SAAA;IAAAD,CAAA,MAAAK,CAAA;IAAAL,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAA,IAAAO,EAAA;EAAA,IAAAP,CAAA,QAAAE,SAAA;IAChBK,EAAA,IAAAV,SAAA,EAAYK,SAAA,EAAAM,MAAA,CAAAC,OAAkB;IAAAT,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA9B,MAAAU,EAAA,GAAAH,EAA8B,CAAAI,IAAA,CAAc;
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","ChevronIcon","useLocale","useTranslation","baseClass","LocalizerLabel","props","$","ariaLabel","className","locale","i18n","t","t0","t1","filter","Boolean","t2","join","t3","code","undefined","t4","t5","label","_jsxs","children","_jsx","size"],"sources":["../../../../src/elements/Localizer/LocalizerLabel/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer-button'\n\nexport const LocalizerLabel: React.FC<{\n ariaLabel?: string\n className?: string\n}> = (props) => {\n const { ariaLabel, className } = props\n const locale = useLocale()\n const { i18n, t } = useTranslation()\n\n return (\n <div\n aria-label={ariaLabel || t('general:locale')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n data-locale={locale ? locale.code : undefined}\n >\n <div className={`${baseClass}__label`}>{`${t('general:locale')}:`} </div>\n <div className={`${baseClass}__current`}>\n <span className={`${baseClass}__current-label`}>\n {`${getTranslation(locale.label, i18n)}`}\n </span>\n <ChevronIcon className={`${baseClass}__chevron`} size=\"small\" />\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,cAAA,GAGRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,SAAA;IAAAC;EAAA,IAAiCH,KAAA;EACjC,MAAAI,MAAA,GAAeR,SAAA;EACf;IAAAS,IAAA;IAAAC;EAAA,IAAoBT,cAAA;EAAA,IAAAU,EAAA;EAAA,IAAAN,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAK,CAAA;IAIJC,EAAA,GAAAL,SAAA,IAAaI,CAAA,CAAE;IAAAL,CAAA,MAAAC,SAAA;IAAAD,CAAA,MAAAK,CAAA;IAAAL,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAA,IAAAO,EAAA;EAAA,IAAAP,CAAA,QAAAE,SAAA;IAChBK,EAAA,IAAAV,SAAA,EAAYK,SAAA,EAAAM,MAAA,CAAAC,OAAkB;IAAAT,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA9B,MAAAU,EAAA,GAAAH,EAA8B,CAAAI,IAAA,CAAc;EAC1C,MAAAC,EAAA,GAAAT,MAAA,GAASA,MAAA,CAAAU,IAAA,GAAAC,SAAc;EAEI,MAAAC,EAAA,MAAGV,CAAA,CAAE,oBAAoB;EAAA,IAAAW,EAAA;EAAA,IAAAhB,CAAA,QAAAI,IAAA,IAAAJ,CAAA,QAAAG,MAAA,CAAAc,KAAA,IAAAjB,CAAA,QAAAM,EAAA,IAAAN,CAAA,QAAAU,EAAA,IAAAV,CAAA,QAAAY,EAAA,IAAAZ,CAAA,SAAAe,EAAA;IALnEC,EAAA,GAAAE,KAAA,CAAC;MAAA,cACaZ,EAAe;MAAAJ,SAAA,EAChBQ,EAA4C;MAAA,eAC1CE,EAAuB;MAAAO,QAAA,GAEpCD,KAAA,CAAC;QAAAhB,SAAA,EAAe,GAAAL,SAAA,SAAqB;QAAAsB,QAAA,GAAGJ,EAAyB,EAAC;MAAA,C,GAClEG,KAAA,CAAC;QAAAhB,SAAA,EAAe,GAAAL,SAAA,WAAuB;QAAAsB,QAAA,GACrCC,IAAA,CAAC;UAAAlB,SAAA,EAAgB,GAAAL,SAAA,iBAA6B;UAAAsB,QAAA,EAC3C,GAAG3B,cAAA,CAAeW,MAAA,CAAAc,KAAA,EAAcb,IAAA;QAAO,C,GAE1CgB,IAAA,CAAA1B,WAAA;UAAAQ,SAAA,EAAwB,GAAAL,SAAA,WAAuB;UAAAwB,IAAA,EAAO;QAAA,C;;;;;;;;;;;;;SAV1DL,E;CAcJ","ignoreList":[]}
|
|
@@ -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,
|
|
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"}
|
|
@@ -73,10 +73,12 @@ export const Localizer = props => {
|
|
|
73
73
|
children: localeOptionLabel !== localeOption.code ? _jsxs(Fragment, {
|
|
74
74
|
children: [localeOptionLabel, "\xA0", _jsx("span", {
|
|
75
75
|
className: `${baseClass}__locale-code`,
|
|
76
|
+
"data-locale": localeOption.code,
|
|
76
77
|
children: `(${localeOption.code})`
|
|
77
78
|
})]
|
|
78
79
|
}) : _jsx("span", {
|
|
79
80
|
className: `${baseClass}__locale-code`,
|
|
81
|
+
"data-locale": localeOption.code,
|
|
80
82
|
children: localeOptionLabel
|
|
81
83
|
})
|
|
82
84
|
}, localeOption.code);
|
|
@@ -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 \n <span
|
|
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 \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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAGvD,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,cAAc,CAAA;AAKrB,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACzC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnD,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAGvD,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,cAAc,CAAA;AAKrB,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACzC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnD,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAyLtC,CAAA"}
|
|
@@ -10,6 +10,7 @@ import { PopupTrigger } from './PopupTrigger/index.js';
|
|
|
10
10
|
const baseClass = 'popup';
|
|
11
11
|
export const Popup = props => {
|
|
12
12
|
const {
|
|
13
|
+
id,
|
|
13
14
|
boundingRef,
|
|
14
15
|
button,
|
|
15
16
|
buttonClassName,
|
|
@@ -119,6 +120,7 @@ export const Popup = props => {
|
|
|
119
120
|
const classes = [baseClass, className, `${baseClass}--size-${size}`, buttonSize && `${baseClass}--button-size-${buttonSize}`, `${baseClass}--v-align-${verticalAlign}`, `${baseClass}--h-align-${horizontalAlign}`, active && `${baseClass}--active`, showScrollbar && `${baseClass}--show-scrollbar`].filter(Boolean).join(' ');
|
|
120
121
|
return /*#__PURE__*/_jsxs("div", {
|
|
121
122
|
className: classes,
|
|
123
|
+
id: id,
|
|
122
124
|
children: [/*#__PURE__*/_jsx("div", {
|
|
123
125
|
className: `${baseClass}__trigger-wrap`,
|
|
124
126
|
children: showOnHover ? /*#__PURE__*/_jsx("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["PopupList","useWindowInfo","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","boundingRef","button","buttonClassName","buttonSize","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","noBackground","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","active","setActive","setVerticalAlign","setHorizontalAlign","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","_jsxs","_jsx","onMouseEnter","onMouseLeave","ref","close"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.scss'\nimport { PopupTrigger } from './PopupTrigger/index.js'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonSize?: 'large' | 'medium' | 'small'\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n initActive?: boolean\n noBackground?: boolean\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n boundingRef,\n button,\n buttonClassName,\n buttonSize,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n noBackground,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const [active, setActive] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (typeof onToggleOpen === 'function') {\n onToggleOpen(active)\n }\n\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n buttonSize && `${baseClass}--button-size-${buttonSize}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__trigger-wrap`}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n >\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children && children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["PopupList","useWindowInfo","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","id","boundingRef","button","buttonClassName","buttonSize","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","noBackground","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","active","setActive","setVerticalAlign","setHorizontalAlign","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","_jsxs","_jsx","onMouseEnter","onMouseLeave","ref","close"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.scss'\nimport { PopupTrigger } from './PopupTrigger/index.js'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonSize?: 'large' | 'medium' | 'small'\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n id?: string\n initActive?: boolean\n noBackground?: boolean\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n id,\n boundingRef,\n button,\n buttonClassName,\n buttonSize,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n noBackground,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const [active, setActive] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (typeof onToggleOpen === 'function') {\n onToggleOpen(active)\n }\n\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n buttonSize && `${baseClass}--button-size-${buttonSize}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes} id={id}>\n <div className={`${baseClass}__trigger-wrap`}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n >\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children && children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,wBAAgB,aAAa,CAAC,KAAK,EAAE,wBAAwB,qBAoB5D"}
|
|
@@ -6,7 +6,7 @@ import React from 'react';
|
|
|
6
6
|
import { Button } from '../Button/index.js';
|
|
7
7
|
import { usePreviewURL } from './usePreviewURL.js';
|
|
8
8
|
const baseClass = 'preview-btn';
|
|
9
|
-
export
|
|
9
|
+
export function PreviewButton(props) {
|
|
10
10
|
const $ = _c(5);
|
|
11
11
|
const {
|
|
12
12
|
generatePreviewURL,
|
|
@@ -40,5 +40,5 @@ export const PreviewButton = () => {
|
|
|
40
40
|
t1 = $[4];
|
|
41
41
|
}
|
|
42
42
|
return t1;
|
|
43
|
-
}
|
|
43
|
+
}
|
|
44
44
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","Button","usePreviewURL","baseClass","PreviewButton","$","generatePreviewURL","label","t0","openPreviewWindow","t1","_jsx","buttonStyle","className","icon","iconPosition","onClick","size","children"],"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../Button/index.js'\nimport { usePreviewURL } from './usePreviewURL.js'\n\nconst baseClass = 'preview-btn'\n\nexport
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","Button","usePreviewURL","baseClass","PreviewButton","props","$","generatePreviewURL","label","t0","openPreviewWindow","t1","_jsx","buttonStyle","className","icon","iconPosition","onClick","size","children"],"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport type { PreviewButtonClientProps } from 'payload'\n\nimport React from 'react'\n\nimport { Button } from '../Button/index.js'\nimport { usePreviewURL } from './usePreviewURL.js'\n\nconst baseClass = 'preview-btn'\n\nexport function PreviewButton(props: PreviewButtonClientProps) {\n const { generatePreviewURL, label } = usePreviewURL()\n\n return (\n <Button\n buttonStyle=\"secondary\"\n className={baseClass}\n icon={'link'}\n iconPosition=\"left\"\n // disabled={disabled}\n onClick={() =>\n generatePreviewURL({\n openPreviewWindow: true,\n })\n }\n size=\"medium\"\n >\n {label}\n </Button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,MAAM,QAAQ;AACvB,SAASC,aAAa,QAAQ;AAE9B,MAAMC,SAAA,GAAY;AAElB,OAAO,SAAAC,cAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EACL;IAAAQ,kBAAA;IAAAC;EAAA,IAAsCN,aAAA;EAAA,IAAAO,EAAA;EAAA,IAAAH,CAAA,QAAAC,kBAAA;IASzBE,EAAA,GAAAA,CAAA,KACPF,kBAAA;MAAAG,iBAAA;IAAA,CAEA;IAAAJ,CAAA,MAAAC,kBAAA;IAAAD,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAL,CAAA,QAAAE,KAAA,IAAAF,CAAA,QAAAG,EAAA;IATJE,EAAA,GAAAC,IAAA,CAAAX,MAAA;MAAAY,WAAA,EACc;MAAAC,SAAA,EAAAX,SAAA;MAAAY,IAAA,EAEN;MAAAC,YAAA,EACO;MAAAC,OAAA,EAEJR,EAGP;MAAAS,IAAA,EAEG;MAAAC,QAAA,EAEJX;IAAA,C;;;;;;;SAbHG,E","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { ClientConfig } from 'payload';
|
|
1
|
+
import type { ClientConfig, Column } from 'payload';
|
|
2
2
|
import { type I18nClient, type TFunction } from '@payloadcms/translations';
|
|
3
|
-
import type { Column } from '../../Table/index.js';
|
|
4
3
|
import type { UpcomingEvent } from './types.js';
|
|
5
4
|
type Args = {
|
|
6
5
|
dateFormat: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildUpcomingColumns.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"buildUpcomingColumns.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM/C,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC5C,IAAI,EAAE,aAAa,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;IAC1C,CAAC,EAAE,SAAS,CAAA;CACb,CAAA;AAED,eAAO,MAAM,oBAAoB,gEAO9B,IAAI,KAAG,MAAM,EAsGf,CAAA"}
|