@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.
Files changed (140) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -0
  2. package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.js +98 -82
  3. package/dist/elements/AddNewRelation/index.js.map +1 -0
  4. package/dist/elements/AddNewRelation/index.scss +42 -0
  5. package/dist/elements/AddNewRelation/types.d.ts +11 -0
  6. package/dist/elements/AddNewRelation/types.d.ts.map +1 -0
  7. package/dist/elements/AddNewRelation/types.js.map +1 -0
  8. package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +1 -0
  9. package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.js +1 -1
  10. package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -0
  11. package/dist/elements/AppHeader/index.js +41 -80
  12. package/dist/elements/AppHeader/index.js.map +1 -1
  13. package/dist/elements/Autosave/index.js +148 -231
  14. package/dist/elements/Autosave/index.js.map +1 -1
  15. package/dist/elements/Button/index.js +86 -218
  16. package/dist/elements/Button/index.js.map +1 -1
  17. package/dist/elements/Collapsible/index.js +44 -62
  18. package/dist/elements/Collapsible/index.js.map +1 -1
  19. package/dist/elements/Collapsible/index.scss +15 -28
  20. package/dist/elements/CopyToClipboard/index.js +20 -54
  21. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  22. package/dist/elements/DocumentDrawer/DrawerContent.js +1 -1
  23. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  24. package/dist/elements/DocumentDrawer/index.js +1 -1
  25. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  26. package/dist/elements/Dropzone/index.js +59 -119
  27. package/dist/elements/Dropzone/index.js.map +1 -1
  28. package/dist/elements/EditMany/index.js +124 -230
  29. package/dist/elements/EditMany/index.js.map +1 -1
  30. package/dist/elements/EditUpload/index.js +133 -206
  31. package/dist/elements/EditUpload/index.js.map +1 -1
  32. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +20 -0
  33. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -0
  34. package/dist/elements/FileDetails/DraggableFileDetails/index.js +116 -0
  35. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -0
  36. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +33 -0
  37. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +17 -0
  38. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -0
  39. package/dist/elements/FileDetails/StaticFileDetails/index.js +71 -0
  40. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -0
  41. package/dist/elements/FileDetails/{index.scss → StaticFileDetails/index.scss} +1 -1
  42. package/dist/elements/FileDetails/index.d.ts +19 -4
  43. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  44. package/dist/elements/FileDetails/index.js +11 -62
  45. package/dist/elements/FileDetails/index.js.map +1 -1
  46. package/dist/elements/ListControls/index.d.ts.map +1 -1
  47. package/dist/elements/ListControls/index.js +91 -192
  48. package/dist/elements/ListControls/index.js.map +1 -1
  49. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  50. package/dist/elements/ListDrawer/DrawerContent.js +42 -31
  51. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  52. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  53. package/dist/elements/ListDrawer/index.js.map +1 -1
  54. package/dist/elements/ListDrawer/types.d.ts +4 -1
  55. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  56. package/dist/elements/ListDrawer/types.js.map +1 -1
  57. package/dist/elements/Nav/context.js +47 -83
  58. package/dist/elements/Nav/context.js.map +1 -1
  59. package/dist/elements/SaveButton/index.js +30 -81
  60. package/dist/elements/SaveButton/index.js.map +1 -1
  61. package/dist/elements/SaveDraftButton/index.js +54 -116
  62. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  63. package/dist/elements/SearchFilter/index.js +21 -77
  64. package/dist/elements/SearchFilter/index.js.map +1 -1
  65. package/dist/elements/SelectMany/index.d.ts +6 -0
  66. package/dist/elements/SelectMany/index.d.ts.map +1 -0
  67. package/dist/elements/SelectMany/index.js +29 -0
  68. package/dist/elements/SelectMany/index.js.map +1 -0
  69. package/dist/elements/Upload/index.js +130 -280
  70. package/dist/elements/Upload/index.js.map +1 -1
  71. package/dist/exports/client/{CodeEditor-C4FLUUO7.js → CodeEditor-MTP455NO.js} +2 -2
  72. package/dist/exports/client/chunk-NJHSEGFB.js +14 -0
  73. package/dist/exports/client/{chunk-UGBVRIVY.js.map → chunk-NJHSEGFB.js.map} +2 -2
  74. package/dist/exports/client/index.d.ts +1 -1
  75. package/dist/exports/client/index.d.ts.map +1 -1
  76. package/dist/exports/client/index.js +13 -13
  77. package/dist/exports/client/index.js.map +4 -4
  78. package/dist/fields/Relationship/index.d.ts.map +1 -1
  79. package/dist/fields/Relationship/index.js +319 -507
  80. package/dist/fields/Relationship/index.js.map +1 -1
  81. package/dist/fields/Upload/HasMany/index.d.ts +4 -0
  82. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -0
  83. package/dist/fields/Upload/HasMany/index.js +238 -0
  84. package/dist/fields/Upload/HasMany/index.js.map +1 -0
  85. package/dist/fields/Upload/HasMany/index.scss +71 -0
  86. package/dist/fields/Upload/{Input.d.ts → HasOne/Input.d.ts} +1 -1
  87. package/dist/fields/Upload/HasOne/Input.d.ts.map +1 -0
  88. package/dist/fields/Upload/{Input.js → HasOne/Input.js} +12 -12
  89. package/dist/fields/Upload/HasOne/Input.js.map +1 -0
  90. package/dist/fields/Upload/HasOne/index.d.ts +12 -0
  91. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -0
  92. package/dist/fields/Upload/HasOne/index.js +131 -0
  93. package/dist/fields/Upload/HasOne/index.js.map +1 -0
  94. package/dist/fields/Upload/{index.scss → HasOne/index.scss} +1 -1
  95. package/dist/fields/Upload/index.d.ts +4 -4
  96. package/dist/fields/Upload/index.d.ts.map +1 -1
  97. package/dist/fields/Upload/index.js +84 -98
  98. package/dist/fields/Upload/index.js.map +1 -1
  99. package/dist/forms/Submit/index.js +12 -28
  100. package/dist/forms/Submit/index.js.map +1 -1
  101. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  102. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -27
  103. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  104. package/dist/hooks/useDelay.js +15 -48
  105. package/dist/hooks/useDelay.js.map +1 -1
  106. package/dist/hooks/useDelayedRender.js +32 -71
  107. package/dist/hooks/useDelayedRender.js.map +1 -1
  108. package/dist/hooks/useIntersect.js +14 -20
  109. package/dist/hooks/useIntersect.js.map +1 -1
  110. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  111. package/dist/providers/Config/createClientConfig/collections.js +8 -6
  112. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  113. package/dist/providers/ListInfo/index.d.ts +6 -0
  114. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  115. package/dist/providers/ListInfo/index.js.map +1 -1
  116. package/dist/providers/Preferences/index.js +1 -3
  117. package/dist/providers/Preferences/index.js.map +1 -1
  118. package/dist/providers/Selection/index.d.ts +5 -3
  119. package/dist/providers/Selection/index.d.ts.map +1 -1
  120. package/dist/providers/Selection/index.js +102 -190
  121. package/dist/providers/Selection/index.js.map +1 -1
  122. package/dist/scss/app.scss +6 -6
  123. package/dist/scss/type.scss +4 -4
  124. package/dist/styles.css +1 -1
  125. package/package.json +8 -8
  126. package/dist/exports/client/chunk-UGBVRIVY.js +0 -14
  127. package/dist/fields/Relationship/AddNew/index.d.ts.map +0 -1
  128. package/dist/fields/Relationship/AddNew/index.js.map +0 -1
  129. package/dist/fields/Relationship/AddNew/index.scss +0 -28
  130. package/dist/fields/Relationship/AddNew/types.d.ts +0 -12
  131. package/dist/fields/Relationship/AddNew/types.d.ts.map +0 -1
  132. package/dist/fields/Relationship/AddNew/types.js.map +0 -1
  133. package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +0 -1
  134. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +0 -1
  135. package/dist/fields/Upload/Input.d.ts.map +0 -1
  136. package/dist/fields/Upload/Input.js.map +0 -1
  137. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.d.ts +0 -0
  138. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/types.js +0 -0
  139. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.d.ts +0 -0
  140. /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,aAgF3B,CAAA"}
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":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;;AACA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,KAAK,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAIxE,cAAc;AAEd,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,EAAEC,aAAa,QAAQ;AACtC,SAASC,iBAAiB,QAAQ;AAClC,OAAO;AAEP,OAAO,MAAMC,SAAA,GAAY;AAEzB,OAAO,MAAMC,oBAAA,GAAuBA,CAAC;EACnCC,KAAK;EACLC;AAAI,CAIL,KAAK,eAAeD,KAAA,IAASC,IAAA,EAAM;AAEpC,OAAO,MAAMC,iBAAA,GAAgDA,CAAC;EAC5DC,QAAQ;EACRC,SAAS;EACTC,QAAQ;EACRC,UAAU;EACV,GAAGC;AAAA,CACJ;EACC,oBACEC,IAAA,CAACZ,aAAA;IACCQ,SAAA,EAAW,CAACA,SAAA,EAAW,GAAGN,SAAA,WAAoB,CAAC,CAACW,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IACrEN,QAAA,EAAUA,QAAA;IACVO,IAAA,EAAMN,UAAA;IACL,GAAGC,IAAI;cAEPJ;;AAGP;AAEA,OAAO,MAAMU,UAAA,GAAyCC,KAAA;EACpD,MAAM;IAAER;EAAU,CAAE,GAAGQ,KAAA;EAEvB,oBACEN,IAAA,CAACb,MAAA;IAAOoB,MAAA,EAAQ;IAAMX,SAAA,EAAWN,SAAA;IAAWkB,MAAA,EAAQ;IAAOJ,IAAA,EAAMN,UAAA;cAC/D,aAAAE,IAAA,CAACX,iBAAA;MAAmB,GAAGiB;;;AAG7B;AAEA,OAAO,MAAMG,aAAA,GAA+BC,EAAA;EAAA,MAAAC,CAAA,GAAAlC,EAAA;EAAC;IAAAmC,eAAA,EAAAC,wBAAA;IAAAC,aAAA;IAAAC,kBAAA;IAAAC;EAAA,IAAAN,EAK5C;EACC;IAAAO,MAAA,EAAAC;EAAA,IAEIjC,SAAA;EADM;IAAAkC;EAAA,IAAAD,EAAe;EAEzB,MAAAE,WAAA,GAAoBlC,YAAA;EACpB,MAAAO,IAAA,GAAaX,KAAA;EACb;IAAAuC,UAAA;IAAAC,UAAA;IAAAC,SAAA;IAAAC;EAAA,IAA2D9C,QAAA;EAC3D,OAAA+C,MAAA,EAAAC,SAAA,IAA4B1C,QAAA,MAAS;EACrC,OAAA4B,eAAA,EAAAe,kBAAA,IAA8C3C,QAAA,CAAS6B,wBAAA;EAAA,IAAAe,EAAA;EAAA,IAAAjB,CAAA,QAAAS,WAAA,IAAAT,CAAA,QAAAlB,IAAA;IAEpCmC,EAAA,GAAArC,oBAAA;MAAAC,KAAA,EACV4B,WAAA;MAAA3B;IAAA,CAET;IAAAkB,CAAA,MAAAS,WAAA;IAAAT,CAAA,MAAAlB,IAAA;IAAAkB,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAHA,MAAAb,UAAA,GAAmB8B,EAGnB;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAnB,CAAA,QAAAW,UAAA,IAAAX,CAAA,QAAAb,UAAA;IAEU+B,EAAA,GAAAA,CAAA;MACRH,SAAA,CAAUxB,OAAA,CAAQoB,UAAU,CAACxB,UAAA,GAAA2B,MAAa;IAAA;IACzCK,EAAA,IAACR,UAAA,EAAYxB,UAAA;IAAWa,CAAA,MAAAW,UAAA;IAAAX,CAAA,MAAAb,UAAA;IAAAa,CAAA,MAAAkB,EAAA;IAAAlB,CAAA,MAAAmB,EAAA;EAAA;IAAAD,EAAA,GAAAlB,CAAA;IAAAmB,EAAA,GAAAnB,CAAA;EAAA;EAF3B9B,SAAA,CAAUgD,EAEV,EAAGC,EAAwB;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAArB,CAAA,QAAAC,eAAA,IAAAD,CAAA,QAAAQ,WAAA,IAAAR,CAAA,QAAAK,OAAA;IAEjBe,EAAA,GAAAA,CAAA;MAAA,IACJ,CAACnB,eAAA,IAAmBA,eAAA,CAAAqB,MAAA,MAA2B;QACjD,MAAAC,uBAAA,GAAgCf,WAAA,CAAAlB,MAAA,CAAAkC,EAAA;UAAoB;YAAAC;UAAA,IAAAD,EAAU;UAAA,IACxDnB,OAAA;YAAA,OACKd,OAAA,CAAQkC,MAAA,UAAY;UAAA;UAAA;QAAA,CAG/B;QAEAT,kBAAA,CAAmBO,uBAAA,CAAAG,GAAA,CAAAC,EAAA;UAA6B;YAAAlC;UAAA,IAAAkC,EAAQ;UAAA,OAAKlC,IAAA;QAAA;MAAA;IAAA;IAE9D4B,EAAA,IAACpB,eAAA,EAAiBI,OAAA,EAASG,WAAA;IAAYR,CAAA,MAAAC,eAAA;IAAAD,CAAA,MAAAQ,WAAA;IAAAR,CAAA,MAAAK,OAAA;IAAAL,CAAA,OAAAoB,EAAA;IAAApB,CAAA,OAAAqB,EAAA;EAAA;IAAAD,EAAA,GAAApB,CAAA;IAAAqB,EAAA,GAAArB,CAAA;EAAA;EAX1C9B,SAAA,CAAUkD,EAWV,EAAGC,EAAuC;EAAA,IAAAG,EAAA;EAAA,IAAAxB,CAAA,SAAAa,WAAA,IAAAb,CAAA,SAAAb,UAAA;IACTqC,EAAA,GAAAA,CAAA;MAC/BX,WAAA,CAAY1B,UAAA;IAAA;IACda,CAAA,OAAAa,WAAA;IAAAb,CAAA,OAAAb,UAAA;IAAAa,CAAA,OAAAwB,EAAA;EAAA;IAAAA,EAAA,GAAAxB,CAAA;EAAA;EAFA,MAAA4B,YAAA,GAAqBJ,EAEO;EAAA,IAAAG,EAAA;EAAA,IAAA3B,CAAA,SAAAU,UAAA,IAAAV,CAAA,SAAAb,UAAA;IAEIwC,EAAA,GAAAA,CAAA;MAC9BjB,UAAA,CAAWvB,UAAA;IAAA;IACba,CAAA,OAAAU,UAAA;IAAAV,CAAA,OAAAb,UAAA;IAAAa,CAAA,OAAA2B,EAAA;EAAA;IAAAA,EAAA,GAAA3B,CAAA;EAAA;EAFA,MAAA6B,WAAA,GAAoBF,EAEO;EAAA,IAAAG,EAAA;EAAA,IAAA9B,CAAA,SAAAY,SAAA,IAAAZ,CAAA,SAAAb,UAAA;IAEI2C,EAAA,GAAAA,CAAA;MAC7BlB,SAAA,CAAUzB,UAAA;IAAA;IACZa,CAAA,OAAAY,SAAA;IAAAZ,CAAA,OAAAb,UAAA;IAAAa,CAAA,OAAA8B,EAAA;EAAA;IAAAA,EAAA,GAAA9B,CAAA;EAAA;EAFA,MAAA+B,UAAA,GAAmBD,EAEO;EAAA,IAAAE,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAjC,CAAA,SAAA6B,WAAA,IAAA7B,CAAA,SAAAC,eAAA,IAAAD,CAAA,SAAAb,UAAA,IAAAa,CAAA,SAAAG,aAAA,IAAAH,CAAA,SAAAI,kBAAA,IAAAJ,CAAA,SAAAK,OAAA;IAGjB4B,GAAA,GAAAtC,KAAA,IACLuC,cAAA,CAAAxC,UAAA;MAAA,GACMC,KAAK;MAAAkC,WAAA;MAAA5B,eAAA;MAAAd,UAAA;MAAAgB,aAAA;MAAAgC,GAAA,EAKJhD,UAAA;MAAAiB,kBAAA;MAAAC;IAAA,C;;;;;;;;;;;EAPT2B,GAAA,GAAOC,G;EADT,MAAAG,cAAA,GAAuBJ,GAakE;EAAA,IAAAK,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAtC,CAAA,SAAAb,UAAA;IAGhFmD,GAAA,GAAAC,OAAA,IAAWlD,IAAA,CAAAN,iBAAA;MAAA,GAAuBY,OAAK;MAAAR;IAAA,C;;;;;;EAA9CkD,GAAA,GAAOC,G;EADT,MAAAE,qBAAA,GAA8BH,GAEf;EAAA,IAAAI,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAA1C,CAAA,SAAA6B,WAAA,IAAA7B,CAAA,SAAAS,WAAA,IAAAT,CAAA,SAAAb,UAAA,IAAAa,CAAA,SAAAc,MAAA,IAAAd,CAAA,SAAA+B,UAAA,IAAA/B,CAAA,SAAA4B,YAAA;IAGNc,GAAA;MAAAb,WAAA;MAAApB,WAAA;MAAAtB,UAAA;MAAAwD,YAAA,EAIS7B,MAAA;MAAAiB,UAAA;MAAAH;IAAA;IAGhB5B,CAAA,OAAA6B,WAAA;IAAA7B,CAAA,OAAAS,WAAA;IAAAT,CAAA,OAAAb,UAAA;IAAAa,CAAA,OAAAc,MAAA;IAAAd,CAAA,OAAA+B,UAAA;IAAA/B,CAAA,OAAA4B,YAAA;IAAA5B,CAAA,OAAA0C,GAAA;EAAA;IAAAA,GAAA,GAAA1C,CAAA;EAAA;EAAAyC,GAAA,GAPOC,GAOP;EARF,MAAAE,mBAAA,GAA4BH,GAS8C;EAAA,IAAAI,GAAA;EAAA,IAAA7C,CAAA,SAAAoC,cAAA,IAAApC,CAAA,SAAAwC,qBAAA,IAAAxC,CAAA,SAAA4C,mBAAA;IAGnEC,GAAA,IAACT,cAAA,EAAgBI,qBAAA,EAAuBI,mBAAA;IAAoB5C,CAAA,OAAAoC,cAAA;IAAApC,CAAA,OAAAwC,qBAAA;IAAAxC,CAAA,OAAA4C,mBAAA;IAAA5C,CAAA,OAAA6C,GAAA;EAAA;IAAAA,GAAA,GAAA7C,CAAA;EAAA;EAAA,OAA5D6C,GAA4D;AAAA,CACrE","ignoreList":[]}
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;IAC3C,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
+ {"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":"AAuBA","ignoreList":[]}
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 = t0 => {
29
- const $ = _c(13);
27
+ export const NavProvider = ({
28
+ children,
29
+ initialIsOpen
30
+ }) => {
30
31
  const {
31
- children,
32
- initialIsOpen
33
- } = t0;
34
- const {
35
- breakpoints: t1
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
- let t2;
50
- let t3;
51
- if ($[0] !== largeBreak || $[1] !== getPreference) {
52
- t2 = () => {
53
- if (largeBreak === false) {
54
- const setNavFromPreferences = async () => {
55
- const preferredState = await getNavPreference(getPreference);
56
- setNavOpen(preferredState);
57
- };
58
- setNavFromPreferences();
59
- }
60
- };
61
- t3 = [largeBreak, getPreference, setNavOpen];
62
- $[0] = largeBreak;
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
- }, t4);
89
- let t5;
90
- let t6;
91
- if ($[7] !== largeBreak || $[8] !== midBreak || $[9] !== smallBreak) {
92
- t5 = () => {
93
- if (largeBreak === true || midBreak === true || smallBreak === true) {
94
- setNavOpen(false);
95
- }
96
- setHydrated(true);
97
- setTimeout(() => {
98
- setShouldAnimate(true);
99
- }, 100);
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
- t6 = [largeBreak, midBreak, smallBreak];
102
- $[7] = largeBreak;
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":["c","_c","useWindowInfo","clearAllBodyScrollLocks","disableBodyScroll","enableBodyScroll","React","useEffect","useRef","usePreferences","NavContext","createContext","hydrated","navOpen","navRef","setNavOpen","shouldAnimate","useNav","useContext","getNavPreference","getPreference","navPrefs","preferredState","open","NavProvider","t0","$","children","initialIsOpen","breakpoints","t1","l","largeBreak","m","midBreak","s","smallBreak","useState","setShouldAnimate","setHydrated","t2","t3","setNavFromPreferences","t4","current","t5","t6","setTimeout","t7","Symbol","for","_temp2","_jsx","Provider","value","_temp"],"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":"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","ignoreList":[]}
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 = t0 => {
14
- const $ = _c(16);
15
- const {
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
- let t1;
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 === "update" && !modified;
39
- let t2;
40
- if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
41
- t2 = ["s"];
42
- $[3] = t2;
43
- } else {
44
- t2 = $[3];
45
- }
46
- let t3;
47
- if ($[4] !== editDepth) {
48
- t3 = {
49
- cmdCtrlKey: true,
50
- editDepth,
51
- keyCodes: t2
52
- };
53
- $[4] = editDepth;
54
- $[5] = t3;
55
- } else {
56
- t3 = $[5];
57
- }
58
- let t4;
59
- if ($[6] !== forceDisable || $[7] !== ref) {
60
- t4 = e => {
61
- if (forceDisable) {}
62
- e.preventDefault();
63
- e.stopPropagation();
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":["c","_c","React","useRef","useForm","useFormModified","FormSubmit","useHotkey","RenderComponent","useEditDepth","useOperation","useTranslation","DefaultSaveButton","t0","$","label","labelProp","t","submit","modified","t1","ref","editDepth","operation","forceDisable","t2","Symbol","for","t3","cmdCtrlKey","keyCodes","t4","e","preventDefault","stopPropagation","current","click","t5","t6","_jsx","buttonId","disabled","onClick","size","type","children","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":"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","ignoreList":[]}
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":[]}