@payloadcms/ui 3.0.0-canary.23fcb9e → 3.0.0-canary.294ea5c
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/AddNewRelation/index.d.ts.map +1 -0
- package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.js +98 -82
- package/dist/elements/AddNewRelation/index.js.map +1 -0
- package/dist/elements/AddNewRelation/index.scss +42 -0
- package/dist/elements/AddNewRelation/types.d.ts +11 -0
- package/dist/elements/AddNewRelation/types.d.ts.map +1 -0
- package/dist/elements/AddNewRelation/types.js.map +1 -0
- package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +1 -0
- package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.js +1 -1
- package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -0
- package/dist/elements/AppHeader/index.js +41 -80
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +148 -231
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Button/index.js +86 -218
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Collapsible/index.js +44 -62
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/index.scss +15 -28
- package/dist/elements/CopyToClipboard/index.js +20 -54
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +1 -1
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +59 -119
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/EditMany/index.js +124 -230
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +133 -206
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +20 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +116 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.scss +33 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +17 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.js +71 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -0
- package/dist/elements/FileDetails/{index.scss → StaticFileDetails/index.scss} +1 -1
- package/dist/elements/FileDetails/index.d.ts +19 -4
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js +11 -62
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +91 -192
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +42 -31
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.d.ts +4 -1
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/Nav/context.js +47 -83
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/SaveButton/index.js +30 -81
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +54 -116
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +21 -77
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectMany/index.d.ts +6 -0
- package/dist/elements/SelectMany/index.d.ts.map +1 -0
- package/dist/elements/SelectMany/index.js +29 -0
- package/dist/elements/SelectMany/index.js.map +1 -0
- package/dist/elements/Upload/index.js +130 -280
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-C4FLUUO7.js → CodeEditor-MTP455NO.js} +2 -2
- package/dist/exports/client/chunk-NJHSEGFB.js +14 -0
- package/dist/exports/client/{chunk-UGBVRIVY.js.map → chunk-NJHSEGFB.js.map} +2 -2
- package/dist/exports/client/index.d.ts +1 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +13 -13
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +319 -507
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.d.ts +4 -0
- package/dist/fields/Upload/HasMany/index.d.ts.map +1 -0
- package/dist/fields/Upload/HasMany/index.js +238 -0
- package/dist/fields/Upload/HasMany/index.js.map +1 -0
- package/dist/fields/Upload/HasMany/index.scss +71 -0
- package/dist/fields/Upload/{Input.d.ts → HasOne/Input.d.ts} +1 -1
- package/dist/fields/Upload/HasOne/Input.d.ts.map +1 -0
- package/dist/fields/Upload/{Input.js → HasOne/Input.js} +12 -12
- package/dist/fields/Upload/HasOne/Input.js.map +1 -0
- package/dist/fields/Upload/HasOne/index.d.ts +12 -0
- package/dist/fields/Upload/HasOne/index.d.ts.map +1 -0
- package/dist/fields/Upload/HasOne/index.js +131 -0
- package/dist/fields/Upload/HasOne/index.js.map +1 -0
- package/dist/fields/Upload/{index.scss → HasOne/index.scss} +1 -1
- package/dist/fields/Upload/index.d.ts +4 -4
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +84 -98
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/Submit/index.js +12 -28
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -27
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/hooks/useDelay.js +15 -48
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js +32 -71
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useIntersect.js +14 -20
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.js +8 -6
- package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
- package/dist/providers/ListInfo/index.d.ts +6 -0
- package/dist/providers/ListInfo/index.d.ts.map +1 -1
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +1 -3
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts +5 -3
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +102 -190
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/scss/app.scss +6 -6
- package/dist/scss/type.scss +4 -4
- package/dist/styles.css +1 -1
- package/package.json +8 -8
- package/dist/exports/client/chunk-UGBVRIVY.js +0 -14
- package/dist/fields/Relationship/AddNew/index.d.ts.map +0 -1
- package/dist/fields/Relationship/AddNew/index.js.map +0 -1
- package/dist/fields/Relationship/AddNew/index.scss +0 -28
- package/dist/fields/Relationship/AddNew/types.d.ts +0 -12
- package/dist/fields/Relationship/AddNew/types.d.ts.map +0 -1
- package/dist/fields/Relationship/AddNew/types.js.map +0 -1
- package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +0 -1
- package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +0 -1
- package/dist/fields/Upload/Input.d.ts.map +0 -1
- package/dist/fields/Upload/Input.js.map +0 -1
- /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.d.ts +0 -0
- /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/types.js +0 -0
- /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.d.ts +0 -0
- /package/dist/exports/client/{CodeEditor-C4FLUUO7.js.map → CodeEditor-MTP455NO.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useReducer","useState","FieldLabel","usePayloadAPI","XIcon","useAuth","RenderComponent","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","t0","$","collectionSlugs","customHeader","drawerSlug","filterOptions","onSelect","selectedCollection","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","config","t1","collections","routes","t2","serverURL","api","t3","t4","t5","slug","includes","filter","enabledCollectionConfigs","find","slug_0","selectedCollectionConfig","setSelectedCollectionConfig","List","admin","components","views","list","Component","label","labels","singular","value","undefined","selectedOption","setSelectedOption","t6","_temp","t7","selectedConfig","t8","slug_1","preferenceKey","t9","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t10","documentDrawerSlug","t11","t12","Array","isArray","t13","slug_2","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","_temp2","initialParams","depth","t14","t15","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","t16","slug_3","t17","versions","listSearchableFields","useAsTitle","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","t18","t19","newPreferences","t20","t21","doc","docID","id","onCreateNew","Symbol","for","_jsx","plural","t22","t23","className","children","t24","t25","description","Description","t26","t27","rowColl","rowData","Header","_jsxs","onClick","type","field","onChange","options","coll","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","mappedComponent","onSave","state"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n filterOptions,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const List = selectedCollectionConfig?.admin?.components.views.list.Component\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {\n initialParams: {\n depth: 0,\n },\n })\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n depth?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {\n depth: 0,\n }\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {(selectedCollectionConfig?.admin?.description ||\n selectedCollectionConfig?.admin?.components?.Description) && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription\n Description={selectedCollectionConfig.admin?.components?.Description}\n description={selectedCollectionConfig.admin?.description}\n />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel field={null} label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n preferenceKey={preferenceKey}\n >\n <RenderComponent mappedComponent={List} />\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useReducer","useState","SelectMany","FieldLabel","usePayloadAPI","XIcon","useAuth","RenderComponent","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","t0","$","collectionSlugs","customHeader","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","selectedCollection","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","config","t1","collections","routes","t2","serverURL","api","t3","t4","t5","slug","includes","filter","enabledCollectionConfigs","find","slug_0","selectedCollectionConfig","setSelectedCollectionConfig","List","admin","components","views","list","Component","label","labels","singular","value","undefined","selectedOption","setSelectedOption","t6","_temp","t7","selectedConfig","t8","slug_1","preferenceKey","t9","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t10","documentDrawerSlug","t11","t12","Array","isArray","t13","slug_2","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","_temp2","initialParams","depth","t14","t15","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","t16","slug_3","t17","versions","listSearchableFields","useAsTitle","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","t18","t19","newPreferences","t20","t21","doc","docID","id","onCreateNew","Symbol","for","_jsx","plural","t22","t23","className","children","t24","t25","description","Description","t26","t27","rowColl","rowData","Header","_jsxs","onClick","type","field","onChange","options","coll","collectionConfig","disableBulkDelete","disableBulkEdit","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","mappedComponent","onSave","state"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const List = selectedCollectionConfig?.admin?.components.views.list.Component\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {\n initialParams: {\n depth: 0,\n },\n })\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n depth?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {\n depth: 0,\n }\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {(selectedCollectionConfig?.admin?.description ||\n selectedCollectionConfig?.admin?.components?.Description) && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription\n Description={selectedCollectionConfig.admin?.components?.Description}\n description={selectedCollectionConfig.admin?.description}\n />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel field={null} label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n beforeActions={\n enableRowSelections ? [<SelectMany key=\"select-many\" onClick={onBulkSelect} />] : undefined\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n disableBulkDelete\n disableBulkEdit\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n enableRowSelections={enableRowSelections}\n preferenceKey={preferenceKey}\n >\n <RenderComponent mappedComponent={List} />\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElF,cAAc,YAAY,CAAA;AAM1B,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,gBAAgB,CAAA;AAEtC,eAAO,MAAM,oBAAoB,qBAG9B;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,WAAmC,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiBxD,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAQhD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElF,cAAc,YAAY,CAAA;AAM1B,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,gBAAgB,CAAA;AAEtC,eAAO,MAAM,oBAAoB,qBAG9B;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,WAAmC,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiBxD,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAQhD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,aAiF3B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","rest","_jsx","filter","Boolean","join","slug","ListDrawer","props","Header","gutter","useListDrawer","t0","$","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","config","t1","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","t2","t3","t4","t5","t6","length","filteredCollectionSlugs","t7","upload","map","t8","toggleDrawer","closeDrawer","t9","openDrawer","t10","t11","_createElement","key","MemoizedDrawer","t12","t13","props_0","MemoizedDrawerToggler","t14","t15","isDrawerOpen","MemoizedDrawerState","t16"],"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'list-drawer'\n\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","rest","_jsx","filter","Boolean","join","slug","ListDrawer","props","Header","gutter","useListDrawer","t0","$","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","config","t1","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","t2","t3","t4","t5","t6","length","filteredCollectionSlugs","t7","upload","map","t8","toggleDrawer","closeDrawer","t9","openDrawer","t10","t11","_createElement","key","MemoizedDrawer","t12","t13","props_0","MemoizedDrawerToggler","t14","t15","isDrawerOpen","MemoizedDrawerState","t16"],"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'list-drawer'\n\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload';
|
|
2
2
|
import type React from 'react';
|
|
3
3
|
import type { HTMLAttributes } from 'react';
|
|
4
|
+
import type { useSelection } from '../../providers/Selection/index.js';
|
|
4
5
|
export type ListDrawerProps = {
|
|
5
6
|
readonly collectionSlugs: string[];
|
|
6
7
|
readonly customHeader?: React.ReactNode;
|
|
7
8
|
readonly drawerSlug?: string;
|
|
9
|
+
readonly enableRowSelections?: boolean;
|
|
8
10
|
readonly filterOptions?: FilterOptionsResult;
|
|
11
|
+
readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void;
|
|
9
12
|
readonly onSelect?: (args: {
|
|
10
13
|
collectionSlug: SanitizedCollectionConfig['slug'];
|
|
11
14
|
docID: string;
|
|
@@ -24,7 +27,7 @@ export type UseListDrawer = (args: {
|
|
|
24
27
|
selectedCollection?: string;
|
|
25
28
|
uploads?: boolean;
|
|
26
29
|
}) => [
|
|
27
|
-
React.FC<Pick<ListDrawerProps, 'onSelect'>>,
|
|
30
|
+
React.FC<Pick<ListDrawerProps, 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>>,
|
|
28
31
|
React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>,
|
|
29
32
|
{
|
|
30
33
|
closeDrawer: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACjD,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IACvF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACjD,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,GAAG,cAAc,GAAG,UAAU,CAAC,CAAC;IACpF,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;IACvE;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nexport type ListDrawerProps = {\n readonly collectionSlugs: string[]\n readonly customHeader?: React.ReactNode\n readonly drawerSlug?: string\n readonly filterOptions?: FilterOptionsResult\n readonly onSelect?: (args: {\n collectionSlug: SanitizedCollectionConfig['slug']\n docID: string\n }) => void\n readonly selectedCollection?: string\n}\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: string[]\n filterOptions?: FilterOptionsResult\n selectedCollection?: string\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Pick<ListDrawerProps, 'onSelect'>>, // drawer\n React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\n\nexport type ListDrawerProps = {\n readonly collectionSlugs: string[]\n readonly customHeader?: React.ReactNode\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void\n readonly onSelect?: (args: {\n collectionSlug: SanitizedCollectionConfig['slug']\n docID: string\n }) => void\n readonly selectedCollection?: string\n}\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: string[]\n filterOptions?: FilterOptionsResult\n selectedCollection?: string\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Pick<ListDrawerProps, 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>>, // drawer\n React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AA2BA","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
4
|
import { useWindowInfo } from '@faceless-ui/window-info';
|
|
6
5
|
import { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';
|
|
@@ -25,58 +24,42 @@ const getNavPreference = async getPreference => {
|
|
|
25
24
|
return true;
|
|
26
25
|
}
|
|
27
26
|
};
|
|
28
|
-
export const NavProvider =
|
|
29
|
-
|
|
27
|
+
export const NavProvider = ({
|
|
28
|
+
children,
|
|
29
|
+
initialIsOpen
|
|
30
|
+
}) => {
|
|
30
31
|
const {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
breakpoints: {
|
|
33
|
+
l: largeBreak,
|
|
34
|
+
m: midBreak,
|
|
35
|
+
s: smallBreak
|
|
36
|
+
}
|
|
36
37
|
} = useWindowInfo();
|
|
37
|
-
const {
|
|
38
|
-
l: largeBreak,
|
|
39
|
-
m: midBreak,
|
|
40
|
-
s: smallBreak
|
|
41
|
-
} = t1;
|
|
42
38
|
const {
|
|
43
39
|
getPreference
|
|
44
40
|
} = usePreferences();
|
|
45
41
|
const navRef = useRef(null);
|
|
42
|
+
// initialize the nav to be closed
|
|
43
|
+
// this is because getting the preference is async
|
|
44
|
+
// so instead of closing it after the preference is loaded
|
|
45
|
+
// we will open it after the preference is loaded
|
|
46
46
|
const [navOpen, setNavOpen] = React.useState(initialIsOpen);
|
|
47
47
|
const [shouldAnimate, setShouldAnimate] = React.useState(false);
|
|
48
48
|
const [hydrated, setHydrated] = React.useState(false);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
$[1] = getPreference;
|
|
64
|
-
$[2] = t2;
|
|
65
|
-
$[3] = t3;
|
|
66
|
-
} else {
|
|
67
|
-
t2 = $[2];
|
|
68
|
-
t3 = $[3];
|
|
69
|
-
}
|
|
70
|
-
useEffect(t2, t3);
|
|
71
|
-
let t4;
|
|
72
|
-
if ($[4] !== navOpen || $[5] !== midBreak) {
|
|
73
|
-
t4 = [navOpen, midBreak];
|
|
74
|
-
$[4] = navOpen;
|
|
75
|
-
$[5] = midBreak;
|
|
76
|
-
$[6] = t4;
|
|
77
|
-
} else {
|
|
78
|
-
t4 = $[6];
|
|
79
|
-
}
|
|
49
|
+
// on load check the user's preference and set "initial" state
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
if (largeBreak === false) {
|
|
52
|
+
const setNavFromPreferences = async () => {
|
|
53
|
+
const preferredState = await getNavPreference(getPreference);
|
|
54
|
+
setNavOpen(preferredState);
|
|
55
|
+
};
|
|
56
|
+
void setNavFromPreferences();
|
|
57
|
+
}
|
|
58
|
+
}, [largeBreak, getPreference, setNavOpen]);
|
|
59
|
+
// TODO: on smaller screens where the nav is a modal
|
|
60
|
+
// close the nav when the user navigates away
|
|
61
|
+
// on open and close, lock the body scroll
|
|
62
|
+
// do not do this on desktop, the sidebar is not a modal
|
|
80
63
|
useEffect(() => {
|
|
81
64
|
if (navRef.current) {
|
|
82
65
|
if (navOpen && midBreak) {
|
|
@@ -85,39 +68,26 @@ export const NavProvider = t0 => {
|
|
|
85
68
|
enableBodyScroll(navRef.current);
|
|
86
69
|
}
|
|
87
70
|
}
|
|
88
|
-
},
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
71
|
+
}, [navOpen, midBreak]);
|
|
72
|
+
// on smaller screens where the nav is a modal
|
|
73
|
+
// close the nav when the user resizes down to mobile
|
|
74
|
+
// the sidebar is a modal on mobile
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (largeBreak === true || midBreak === true || smallBreak === true) {
|
|
77
|
+
setNavOpen(false);
|
|
78
|
+
}
|
|
79
|
+
setHydrated(true);
|
|
80
|
+
setTimeout(() => {
|
|
81
|
+
setShouldAnimate(true);
|
|
82
|
+
}, 100);
|
|
83
|
+
}, [largeBreak, midBreak, smallBreak]);
|
|
84
|
+
// when the component unmounts, clear all body scroll locks
|
|
85
|
+
useEffect(() => {
|
|
86
|
+
return () => {
|
|
87
|
+
clearAllBodyScrollLocks();
|
|
100
88
|
};
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
$[8] = midBreak;
|
|
104
|
-
$[9] = smallBreak;
|
|
105
|
-
$[10] = t5;
|
|
106
|
-
$[11] = t6;
|
|
107
|
-
} else {
|
|
108
|
-
t5 = $[10];
|
|
109
|
-
t6 = $[11];
|
|
110
|
-
}
|
|
111
|
-
useEffect(t5, t6);
|
|
112
|
-
let t7;
|
|
113
|
-
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
114
|
-
t7 = [];
|
|
115
|
-
$[12] = t7;
|
|
116
|
-
} else {
|
|
117
|
-
t7 = $[12];
|
|
118
|
-
}
|
|
119
|
-
useEffect(_temp2, t7);
|
|
120
|
-
return _jsx(NavContext.Provider, {
|
|
89
|
+
}, []);
|
|
90
|
+
return /*#__PURE__*/_jsx(NavContext.Provider, {
|
|
121
91
|
value: {
|
|
122
92
|
hydrated,
|
|
123
93
|
navOpen,
|
|
@@ -125,13 +95,7 @@ export const NavProvider = t0 => {
|
|
|
125
95
|
setNavOpen,
|
|
126
96
|
shouldAnimate
|
|
127
97
|
},
|
|
128
|
-
children
|
|
98
|
+
children: children
|
|
129
99
|
});
|
|
130
100
|
};
|
|
131
|
-
function _temp() {
|
|
132
|
-
clearAllBodyScrollLocks();
|
|
133
|
-
}
|
|
134
|
-
function _temp2() {
|
|
135
|
-
return _temp;
|
|
136
|
-
}
|
|
137
101
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["
|
|
1
|
+
{"version":3,"file":"context.js","names":["useWindowInfo","clearAllBodyScrollLocks","disableBodyScroll","enableBodyScroll","React","useEffect","useRef","usePreferences","NavContext","createContext","hydrated","navOpen","navRef","setNavOpen","shouldAnimate","useNav","useContext","getNavPreference","getPreference","navPrefs","preferredState","open","NavProvider","children","initialIsOpen","breakpoints","l","largeBreak","m","midBreak","s","smallBreak","useState","setShouldAnimate","setHydrated","setNavFromPreferences","current","setTimeout","_jsx","Provider","value"],"sources":["../../../src/elements/Nav/context.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } from 'body-scroll-lock'\nimport React, { useEffect, useRef } from 'react'\n\nimport { usePreferences } from '../../providers/Preferences/index.js'\n\ntype NavContextType = {\n hydrated: boolean\n navOpen: boolean\n navRef: React.RefObject<HTMLDivElement | null>\n setNavOpen: (value: boolean) => void\n shouldAnimate: boolean\n}\n\nexport const NavContext = React.createContext<NavContextType>({\n hydrated: false,\n navOpen: true,\n navRef: null,\n setNavOpen: () => {},\n shouldAnimate: false,\n})\n\nexport const useNav = () => React.useContext(NavContext)\n\nconst getNavPreference = async (getPreference): Promise<boolean> => {\n const navPrefs = await getPreference('nav')\n const preferredState = navPrefs?.open\n if (typeof preferredState === 'boolean') {\n return preferredState\n } else {\n return true\n }\n}\n\nexport const NavProvider: React.FC<{\n children: React.ReactNode\n initialIsOpen?: boolean\n}> = ({ children, initialIsOpen }) => {\n const {\n breakpoints: { l: largeBreak, m: midBreak, s: smallBreak },\n } = useWindowInfo()\n\n const { getPreference } = usePreferences()\n const navRef = useRef(null)\n\n // initialize the nav to be closed\n // this is because getting the preference is async\n // so instead of closing it after the preference is loaded\n // we will open it after the preference is loaded\n const [navOpen, setNavOpen] = React.useState(initialIsOpen)\n\n const [shouldAnimate, setShouldAnimate] = React.useState(false)\n const [hydrated, setHydrated] = React.useState(false)\n\n // on load check the user's preference and set \"initial\" state\n useEffect(() => {\n if (largeBreak === false) {\n const setNavFromPreferences = async () => {\n const preferredState = await getNavPreference(getPreference)\n setNavOpen(preferredState)\n }\n\n void setNavFromPreferences()\n }\n }, [largeBreak, getPreference, setNavOpen])\n\n // TODO: on smaller screens where the nav is a modal\n // close the nav when the user navigates away\n\n // on open and close, lock the body scroll\n // do not do this on desktop, the sidebar is not a modal\n useEffect(() => {\n if (navRef.current) {\n if (navOpen && midBreak) {\n disableBodyScroll(navRef.current)\n } else {\n enableBodyScroll(navRef.current)\n }\n }\n }, [navOpen, midBreak])\n\n // on smaller screens where the nav is a modal\n // close the nav when the user resizes down to mobile\n // the sidebar is a modal on mobile\n useEffect(() => {\n if (largeBreak === true || midBreak === true || smallBreak === true) {\n setNavOpen(false)\n }\n setHydrated(true)\n\n setTimeout(() => {\n setShouldAnimate(true)\n }, 100)\n }, [largeBreak, midBreak, smallBreak])\n\n // when the component unmounts, clear all body scroll locks\n useEffect(() => {\n return () => {\n clearAllBodyScrollLocks()\n }\n }, [])\n\n return (\n <NavContext.Provider value={{ hydrated, navOpen, navRef, setNavOpen, shouldAnimate }}>\n {children}\n </NavContext.Provider>\n )\n}\n"],"mappings":"AAAA;;;AACA,SAASA,aAAa,QAAQ;AAC9B,SAASC,uBAAuB,EAAEC,iBAAiB,EAAEC,gBAAgB,QAAQ;AAC7E,OAAOC,KAAA,IAASC,SAAS,EAAEC,MAAM,QAAQ;AAEzC,SAASC,cAAc,QAAQ;AAU/B,OAAO,MAAMC,UAAA,gBAAaJ,KAAA,CAAMK,aAAa,CAAiB;EAC5DC,QAAA,EAAU;EACVC,OAAA,EAAS;EACTC,MAAA,EAAQ;EACRC,UAAA,EAAYA,CAAA,MAAO;EACnBC,aAAA,EAAe;AACjB;AAEA,OAAO,MAAMC,MAAA,GAASA,CAAA;EAAA,OAAMX,KAAA,CAAAY,UAAA,CAAAR,UAAiB;AAAA;AAE7C,MAAMS,gBAAA,GAAmB,MAAOC,aAAA;EAC9B,MAAMC,QAAA,GAAW,MAAMD,aAAA,CAAc;EACrC,MAAME,cAAA,GAAiBD,QAAA,EAAUE,IAAA;EACjC,IAAI,OAAOD,cAAA,KAAmB,WAAW;IACvC,OAAOA,cAAA;EACT,OAAO;IACL,OAAO;EACT;AACF;AAEA,OAAO,MAAME,WAAA,GAGRA,CAAC;EAAEC,QAAQ;EAAEC;AAAa,CAAE;EAC/B,MAAM;IACJC,WAAA,EAAa;MAAEC,CAAA,EAAGC,UAAU;MAAEC,CAAA,EAAGC,QAAQ;MAAEC,CAAA,EAAGC;IAAU;EAAE,CAC3D,GAAG/B,aAAA;EAEJ,MAAM;IAAEkB;EAAa,CAAE,GAAGX,cAAA;EAC1B,MAAMK,MAAA,GAASN,MAAA,CAAO;EAEtB;EACA;EACA;EACA;EACA,MAAM,CAACK,OAAA,EAASE,UAAA,CAAW,GAAGT,KAAA,CAAM4B,QAAQ,CAACR,aAAA;EAE7C,MAAM,CAACV,aAAA,EAAemB,gBAAA,CAAiB,GAAG7B,KAAA,CAAM4B,QAAQ,CAAC;EACzD,MAAM,CAACtB,QAAA,EAAUwB,WAAA,CAAY,GAAG9B,KAAA,CAAM4B,QAAQ,CAAC;EAE/C;EACA3B,SAAA,CAAU;IACR,IAAIsB,UAAA,KAAe,OAAO;MACxB,MAAMQ,qBAAA,GAAwB,MAAAA,CAAA;QAC5B,MAAMf,cAAA,GAAiB,MAAMH,gBAAA,CAAiBC,aAAA;QAC9CL,UAAA,CAAWO,cAAA;MACb;MAEA,KAAKe,qBAAA;IACP;EACF,GAAG,CAACR,UAAA,EAAYT,aAAA,EAAeL,UAAA,CAAW;EAE1C;EACA;EAEA;EACA;EACAR,SAAA,CAAU;IACR,IAAIO,MAAA,CAAOwB,OAAO,EAAE;MAClB,IAAIzB,OAAA,IAAWkB,QAAA,EAAU;QACvB3B,iBAAA,CAAkBU,MAAA,CAAOwB,OAAO;MAClC,OAAO;QACLjC,gBAAA,CAAiBS,MAAA,CAAOwB,OAAO;MACjC;IACF;EACF,GAAG,CAACzB,OAAA,EAASkB,QAAA,CAAS;EAEtB;EACA;EACA;EACAxB,SAAA,CAAU;IACR,IAAIsB,UAAA,KAAe,QAAQE,QAAA,KAAa,QAAQE,UAAA,KAAe,MAAM;MACnElB,UAAA,CAAW;IACb;IACAqB,WAAA,CAAY;IAEZG,UAAA,CAAW;MACTJ,gBAAA,CAAiB;IACnB,GAAG;EACL,GAAG,CAACN,UAAA,EAAYE,QAAA,EAAUE,UAAA,CAAW;EAErC;EACA1B,SAAA,CAAU;IACR,OAAO;MACLJ,uBAAA;IACF;EACF,GAAG,EAAE;EAEL,oBACEqC,IAAA,CAAC9B,UAAA,CAAW+B,QAAQ;IAACC,KAAA,EAAO;MAAE9B,QAAA;MAAUC,OAAA;MAASC,MAAA;MAAQC,UAAA;MAAYC;IAAc;cAChFS;;AAGP","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
4
|
import React, { useRef } from 'react';
|
|
6
5
|
import { useForm, useFormModified } from '../../forms/Form/context.js';
|
|
@@ -10,11 +9,9 @@ import { RenderComponent } from '../../providers/Config/RenderComponent.js';
|
|
|
10
9
|
import { useEditDepth } from '../../providers/EditDepth/index.js';
|
|
11
10
|
import { useOperation } from '../../providers/Operation/index.js';
|
|
12
11
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
13
|
-
export const DefaultSaveButton =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
label: labelProp
|
|
17
|
-
} = t0;
|
|
12
|
+
export const DefaultSaveButton = ({
|
|
13
|
+
label: labelProp
|
|
14
|
+
}) => {
|
|
18
15
|
const {
|
|
19
16
|
t
|
|
20
17
|
} = useTranslation();
|
|
@@ -22,84 +19,36 @@ export const DefaultSaveButton = t0 => {
|
|
|
22
19
|
submit
|
|
23
20
|
} = useForm();
|
|
24
21
|
const modified = useFormModified();
|
|
25
|
-
|
|
26
|
-
if ($[0] !== labelProp || $[1] !== t) {
|
|
27
|
-
t1 = labelProp || t("general:save");
|
|
28
|
-
$[0] = labelProp;
|
|
29
|
-
$[1] = t;
|
|
30
|
-
$[2] = t1;
|
|
31
|
-
} else {
|
|
32
|
-
t1 = $[2];
|
|
33
|
-
}
|
|
34
|
-
const label = t1;
|
|
22
|
+
const label = labelProp || t('general:save');
|
|
35
23
|
const ref = useRef(null);
|
|
36
24
|
const editDepth = useEditDepth();
|
|
37
25
|
const operation = useOperation();
|
|
38
|
-
const forceDisable = operation ===
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (ref?.current) {
|
|
65
|
-
ref.current.click();
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
$[6] = forceDisable;
|
|
69
|
-
$[7] = ref;
|
|
70
|
-
$[8] = t4;
|
|
71
|
-
} else {
|
|
72
|
-
t4 = $[8];
|
|
73
|
-
}
|
|
74
|
-
useHotkey(t3, t4);
|
|
75
|
-
let t5;
|
|
76
|
-
if ($[9] !== submit) {
|
|
77
|
-
t5 = () => void submit();
|
|
78
|
-
$[9] = submit;
|
|
79
|
-
$[10] = t5;
|
|
80
|
-
} else {
|
|
81
|
-
t5 = $[10];
|
|
82
|
-
}
|
|
83
|
-
let t6;
|
|
84
|
-
if ($[11] !== forceDisable || $[12] !== t5 || $[13] !== ref || $[14] !== label) {
|
|
85
|
-
t6 = _jsx(FormSubmit, {
|
|
86
|
-
buttonId: "action-save",
|
|
87
|
-
disabled: forceDisable,
|
|
88
|
-
onClick: t5,
|
|
89
|
-
ref,
|
|
90
|
-
size: "medium",
|
|
91
|
-
type: "button",
|
|
92
|
-
children: label
|
|
93
|
-
});
|
|
94
|
-
$[11] = forceDisable;
|
|
95
|
-
$[12] = t5;
|
|
96
|
-
$[13] = ref;
|
|
97
|
-
$[14] = label;
|
|
98
|
-
$[15] = t6;
|
|
99
|
-
} else {
|
|
100
|
-
t6 = $[15];
|
|
101
|
-
}
|
|
102
|
-
return t6;
|
|
26
|
+
const forceDisable = operation === 'update' && !modified;
|
|
27
|
+
useHotkey({
|
|
28
|
+
cmdCtrlKey: true,
|
|
29
|
+
editDepth,
|
|
30
|
+
keyCodes: ['s']
|
|
31
|
+
}, e => {
|
|
32
|
+
if (forceDisable) {
|
|
33
|
+
// absorb the event
|
|
34
|
+
}
|
|
35
|
+
e.preventDefault();
|
|
36
|
+
e.stopPropagation();
|
|
37
|
+
if (ref?.current) {
|
|
38
|
+
ref.current.click();
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return /*#__PURE__*/_jsx(FormSubmit, {
|
|
42
|
+
buttonId: "action-save",
|
|
43
|
+
disabled: forceDisable,
|
|
44
|
+
onClick: () => {
|
|
45
|
+
return void submit();
|
|
46
|
+
},
|
|
47
|
+
ref: ref,
|
|
48
|
+
size: "medium",
|
|
49
|
+
type: "button",
|
|
50
|
+
children: label
|
|
51
|
+
});
|
|
103
52
|
};
|
|
104
53
|
export const SaveButton = ({
|
|
105
54
|
CustomComponent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useRef","useForm","useFormModified","FormSubmit","useHotkey","RenderComponent","useEditDepth","useOperation","useTranslation","DefaultSaveButton","label","labelProp","t","submit","modified","ref","editDepth","operation","forceDisable","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","current","click","_jsx","buttonId","disabled","onClick","size","type","SaveButton","CustomComponent","mappedComponent"],"sources":["../../../src/elements/SaveButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { MappedComponent } from 'payload'\n\nimport React, { useRef } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport const DefaultSaveButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const { t } = useTranslation()\n const { submit } = useForm()\n const modified = useFormModified()\n const label = labelProp || t('general:save')\n const ref = useRef<HTMLButtonElement>(null)\n const editDepth = useEditDepth()\n const operation = useOperation()\n\n const forceDisable = operation === 'update' && !modified\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n if (forceDisable) {\n // absorb the event\n }\n\n e.preventDefault()\n e.stopPropagation()\n if (ref?.current) {\n ref.current.click()\n }\n })\n\n return (\n <FormSubmit\n buttonId=\"action-save\"\n disabled={forceDisable}\n onClick={() => {\n return void submit()\n }}\n ref={ref}\n size=\"medium\"\n type=\"button\"\n >\n {label}\n </FormSubmit>\n )\n}\n\ntype Props = {\n CustomComponent?: MappedComponent\n}\n\nexport const SaveButton: React.FC<Props> = ({ CustomComponent }) => {\n if (CustomComponent) return <RenderComponent mappedComponent={CustomComponent} />\n return <DefaultSaveButton />\n}\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,IAASC,MAAM,QAAQ;AAE9B,SAASC,OAAO,EAAEC,eAAe,QAAQ;AACzC,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,iBAAA,GAAkDA,CAAC;EAAEC,KAAA,EAAOC;AAAS,CAAE;EAClF,MAAM;IAAEC;EAAC,CAAE,GAAGJ,cAAA;EACd,MAAM;IAAEK;EAAM,CAAE,GAAGZ,OAAA;EACnB,MAAMa,QAAA,GAAWZ,eAAA;EACjB,MAAMQ,KAAA,GAAQC,SAAA,IAAaC,CAAA,CAAE;EAC7B,MAAMG,GAAA,GAAMf,MAAA,CAA0B;EACtC,MAAMgB,SAAA,GAAYV,YAAA;EAClB,MAAMW,SAAA,GAAYV,YAAA;EAElB,MAAMW,YAAA,GAAeD,SAAA,KAAc,YAAY,CAACH,QAAA;EAEhDV,SAAA,CAAU;IAAEe,UAAA,EAAY;IAAMH,SAAA;IAAWI,QAAA,EAAU,CAAC;EAAK,GAAIC,CAAA;IAC3D,IAAIH,YAAA,EAAc;MAChB;IAAA;IAGFG,CAAA,CAAEC,cAAc;IAChBD,CAAA,CAAEE,eAAe;IACjB,IAAIR,GAAA,EAAKS,OAAA,EAAS;MAChBT,GAAA,CAAIS,OAAO,CAACC,KAAK;IACnB;EACF;EAEA,oBACEC,IAAA,CAACvB,UAAA;IACCwB,QAAA,EAAS;IACTC,QAAA,EAAUV,YAAA;IACVW,OAAA,EAASA,CAAA;MACP,OAAO,KAAKhB,MAAA;IACd;IACAE,GAAA,EAAKA,GAAA;IACLe,IAAA,EAAK;IACLC,IAAA,EAAK;cAEJrB;;AAGP;AAMA,OAAO,MAAMsB,UAAA,GAA8BA,CAAC;EAAEC;AAAe,CAAE;EAC7D,IAAIA,eAAA,EAAiB,oBAAOP,IAAA,CAACrB,eAAA;IAAgB6B,eAAA,EAAiBD;;EAC9D,oBAAOP,IAAA,CAACjB,iBAAA;AACV","ignoreList":[]}
|