Compare commits

...

1340 Commits

Author SHA1 Message Date
Dan Ribbens
19620f4fa4 chore: enable postgres ci tests 2024-03-27 16:48:15 -04:00
Dan Ribbens
2fb265ae2d chore: fix broken fields test (#5492) 2024-03-27 12:39:09 -04:00
Elliot DeNolf
3b5e7f1dc4 chore: unprettify tsconfig.json to avoid needing to reformat 2024-03-27 12:28:19 -04:00
Paul
aba7c13a1d chore: rename the DB strings in buildconfigwithdefaults to DATABASE_URI (#5490)
* chore: rename the DB strings in buildconfigwithdefaults to DATABASE_URI

* reverse name change for postgres strings
2024-03-27 12:34:10 -03:00
Paul
f59d3f36d1 chore: add process.env.MONGO_URL to buildconfigwithdefaults with fallback to string (#5489) 2024-03-27 12:00:42 -03:00
Jacob Fletcher
3f0d0ecd5f fix(ui): prevents field errors from flashing when used outside of field props context (#5488) 2024-03-27 10:48:05 -04:00
Elliot DeNolf
0c51502cc5 Merge pull request #5464 from payloadcms/feat/cpa-updates
feat(create-payload-app): updates
2024-03-27 10:26:18 -04:00
Elliot DeNolf
e829650cd9 chore(create-payload-app): ESM test fix 2024-03-27 09:08:09 -04:00
Jacob Fletcher
a8082c551b fix(next): removes reliance on instanceof from api error formatting (#5482) 2024-03-27 09:06:47 -04:00
Elliot DeNolf
ff55cfa001 ci: conditionally set jest reporter 2024-03-26 18:45:53 -04:00
Elliot DeNolf
623a3d3b7b ci: re-enable cpa test suite 2024-03-26 18:45:53 -04:00
Elliot DeNolf
fb32e2a561 test(create-payload-app): only use local-template in tests 2024-03-26 18:45:53 -04:00
Elliot DeNolf
8aa8a380e1 test: missing test dir deps, update cpa create project suite 2024-03-26 18:45:53 -04:00
Elliot DeNolf
f35b8b05e8 chore(create-payload-app): remove unneeded 2.0 func, add cli overrides 2024-03-26 18:45:53 -04:00
Elliot DeNolf
05bb73bb7c chore: update blank 3.0 template 2024-03-26 18:45:53 -04:00
Elliot DeNolf
18299dc65e chore: blank 3.0 template type 2024-03-26 18:45:53 -04:00
Elliot DeNolf
818ab2c10f chore: restructure 2024-03-26 18:45:52 -04:00
Elliot DeNolf
df0bf28d57 chore: return error messages from parse 2024-03-26 18:45:52 -04:00
Elliot DeNolf
ff65f10c2f chore: edge case for parsing next config 2024-03-26 18:45:52 -04:00
Elliot DeNolf
5cf49aa166 chore: implement AST parsing of next config 2024-03-26 18:45:52 -04:00
Elliot DeNolf
0651daa1d4 chore: more ESM, linting 2024-03-26 18:45:52 -04:00
Elliot DeNolf
921c53f75c chore(templates): bump alpha deps and next app changes 2024-03-26 18:45:52 -04:00
Elliot DeNolf
dd37519185 chore: missing semis on payload pointer files 2024-03-26 18:45:09 -04:00
Dan Ribbens
a1e8c4eb2b fix(db-postgres): query with contains operator hasMany (#5481) 2024-03-26 15:26:46 -04:00
Paul
1f8c191cb3 fix: missing data in livepreview causing missing updated at values (#5477) 2024-03-26 15:15:14 -03:00
Paul
f4acc74eee chore: added iframe content test for live-preview test (#5476) 2024-03-26 15:03:18 -03:00
Dan Ribbens
3d1378ab77 fix: duplicate db called with incorrect data (#5475) 2024-03-26 13:51:25 -04:00
Dan Ribbens
58e4174edb fix(db-postgres): deleteOne handle joins (#5457)
* fix(db-postgres): deleteOne handle joins

* chore(db-postgres): reduce duplicate lines of code

* chore: optimize delete preferences

* chore(db-postgres): fix deleteOne regression

* chore(db-postgres): missing await
2024-03-26 13:36:15 -04:00
Jacob Fletcher
20b4585666 chore: properly types cell components (#5474) 2024-03-26 12:08:33 -04:00
Paul
9c7e7ed8d4 fix(ui): custom buttons and e2e refresh permissions test (#5458)
* moved refresh permissions test suite to access control

* support for custom Save, SaveDraft and Publish buttons in admin config for collections and globals

* moved navigation content to client side so that permissions can be refreshed from active state
2024-03-26 11:48:00 -03:00
Alessio Gravili
436c4f2736 fix: missing withConditions for Upload, Select, Password, Blocks, Array fields (#5471)
* fix: missing withConditions for Upload, Select, Password, Blocks, Array fields. Fixes Lexical e2e tests

* chore: skip failing lexical test for now
2024-03-26 10:38:48 -04:00
Dan Ribbens
0ce752af79 fix: regression of filterOptions using different transaction (#5450) 2024-03-26 10:13:57 -04:00
Jarrod Flesch
92ff896bdb chore: adjusts e2e to watch for new file url paths (#5467) 2024-03-26 00:44:21 -04:00
Alessio Gravili
77a3cbaba5 Merge pull request #5466 from payloadcms/temp20
chore: improve e2e and int test speed, reduce flakiness and errors
2024-03-26 00:13:50 -04:00
Alessio Gravili
56f9c88251 chore: optimize test seed payload.create calls and run them in parallel to reduce MongoDB errors 2024-03-25 23:58:55 -04:00
Alessio Gravili
8a5a08cbe1 chore: fix test seed helper keeping all uploads deleted during test run, as they weren't restored like the db snapshot 2024-03-25 23:57:54 -04:00
Alessio Gravili
5241c38ba0 chore: speed up tests by not running seed twice for the first test, and reduce flakiness of lexical e2e test suite 2024-03-25 23:55:42 -04:00
Jacob Fletcher
072a903351 Merge pull request #5461 from payloadcms/fix/misc-views
Fix/misc views
2024-03-25 23:35:15 -04:00
Jacob Fletcher
328bd453bb chore(i18n): adds version:status to client translations 2024-03-25 22:56:28 -04:00
Jacob Fletcher
690a3cfa68 fix(ui): threads data through document info context 2024-03-25 22:56:28 -04:00
Jacob Fletcher
1c1847f63c fix(next): dynamic params for custom collection and global views 2024-03-25 22:56:19 -04:00
Alessio Gravili
c3d9d8ee2f Merge pull request #5460 from payloadcms/temp14
fix: various issues impacting lexical e2e tests
2024-03-25 20:50:57 -04:00
Alessio Gravili
65932b65d2 chore: fields test: fix Mongo write errors during seed by making create calls run sequentially.
Adds easy way of toggling between parallel or sequential runs, and optimized performance of create calls
2024-03-25 20:39:56 -04:00
Alessio Gravili
682e961416 chore: run lexical e2e's in CI, adjust runE2E to allow running just the fields/lexical.e2e.spec.ts 2024-03-25 17:17:13 -04:00
Alessio Gravili
9fcccc8197 chore: add payload/no-jsx-import-statements eslint rule to eslint-config-payload by default 2024-03-25 17:08:43 -04:00
Alessio Gravili
72f3ced219 chore: fix incorrect logic in auth test 2024-03-25 17:07:55 -04:00
Alessio Gravili
74de066529 chore: skip last lexical e2e test for now 2024-03-25 16:56:44 -04:00
Alessio Gravili
3d1589404c fix: race condition between form modified setter and form onSubmit. Caused e2e flakes 2024-03-25 16:53:07 -04:00
Patrik
30d9d46dd8 test: passing point fields test suite (#5401)
* test: passing point fields test suite

* chore: removes waits from point fields test suite

* chore: removes unnecessary waits in dates field test suite

* chore: removes waits entirely from dates tests

* chore: adds translates function for longitude/latitude

* chore: renames coordinate function and conditionally renders hypen in the function
2024-03-25 16:36:02 -04:00
Alessio Gravili
740373897a fix(richtext-lexical): Blocks: field schemas for sub-fields were not handled 2024-03-25 15:42:15 -04:00
Elliot DeNolf
f7ca01bafd test: convert PrePopulateFieldUI to client component (#5456) 2024-03-25 15:38:37 -04:00
Jacob Fletcher
7654ff686a fix(ui): throws explicit error for custom view tabs that are client components 2024-03-25 15:37:57 -04:00
Jarrod Flesch
5266612bb3 chore: get correct labels for unnamed fields in list view (#5454) 2024-03-25 15:31:23 -04:00
Patrik
a9b46a4d63 fix(ui): properly formats collapsible field IDs (#5435)
* test: passing collapsible fields test suite

* chore: passes indexPath into ArrayRow & updates path in collapsible field

* fix: collapsible paths and indexPath prop types

* chore: improves path and schemaPath syntax

* leftover

* chore: updates selectors in collapsibles tests

* chore: updates selector in live-preview test suite

---------

Co-authored-by: Jacob Fletcher <jacobsfletch@gmail.com>
2024-03-25 14:16:35 -04:00
Elliot DeNolf
76e9bd8ad6 chore: enable no-jsx-import-statements for test dir 2024-03-25 13:51:30 -04:00
Elliot DeNolf
317a443644 chore: remove unused update changelog script 2024-03-25 13:40:07 -04:00
Elliot DeNolf
43f91ca42c test: run prettier on tsconfig.json after test 2024-03-25 13:36:29 -04:00
Alessio Gravili
8d78d07415 fix: prioritize props path in useField - fixes sub-fields initialized from within fields, like blockName (#5451) 2024-03-25 13:21:01 -04:00
Jarrod Flesch
99a00a1ae2 fix(tests): number field e2e (#5452) 2024-03-25 13:17:13 -04:00
Patrik
2cd8d891a1 test: passing date fields test suite (#5412)
* test: passing date fields test suite

* chore: reverts dates from 2024 back to 2023 to remove clutter
2024-03-25 11:49:44 -04:00
Dan Ribbens
7fc33af1e5 fix: image resize tiff files (#5449) 2024-03-25 11:09:17 -04:00
Alessio Gravili
67c57a1137 Merge pull request #5436 from payloadcms/temp11
chore: improvements to eslint, and access-control + lexical test suites
2024-03-25 10:48:27 -04:00
Alessio Gravili
9f8ac06659 fix: already-sanitized fields were sanitized twice in buildFieldSchemaMap 2024-03-25 10:36:52 -04:00
Alessio Gravili
aea28b28d0 Merge remote-tracking branch 'origin/alpha' into temp11 2024-03-25 10:18:08 -04:00
Paul
ee4cd61696 chore: enable e2e live preview (#5444) 2024-03-25 08:39:34 -03:00
Elliot DeNolf
e9f15c377f chore: lint mdx in lint-staged 2024-03-24 23:18:52 -04:00
Elliot DeNolf
d5935ea81b chore: lint all json/yml, add to lint-staged 2024-03-24 23:16:26 -04:00
Alessio Gravili
934ad96a98 chore: unflake lexical 2024-03-22 17:09:06 -04:00
Alessio Gravili
2c68f8fba1 chore: unflake access-control, fix incorrect poll & toPass timeouts 2024-03-22 16:42:41 -04:00
Elliot DeNolf
c90de87f37 ci: release script updates 2024-03-22 16:32:23 -04:00
Elliot DeNolf
ab84566d86 ci(deps): update turborepo 2024-03-22 16:19:29 -04:00
Alessio Gravili
4c109a467f chore: AdminUrlUtil: add ?limit=10 to list view url generator, as it would automatically redirect anyways. Had potential for flaky tests 2024-03-22 15:59:03 -04:00
Alessio Gravili
bc4f6aaf9c chore: improve id type of adminUrlUtil 2024-03-22 15:46:01 -04:00
Alessio Gravili
cf8ac7e8b3 chore: fix no-flaky-assertions not working withing .toPass callbacks 2024-03-22 15:41:10 -04:00
Alessio Gravili
3a9b230aef chore: fix payload/no-flaky-assertions not working for chained assertions (e.g. .not.toBe() instead of just .toBe()) 2024-03-22 15:33:02 -04:00
Alessio Gravili
016b644d86 fix: do not error if row field has no fields (#5433) 2024-03-22 14:29:13 -04:00
Elliot DeNolf
7082b47856 chore(release): v3.0.0-alpha.49 [skip ci] 2024-03-22 12:58:47 -04:00
Elliot DeNolf
57ec382102 Merge pull request #5430 from payloadcms/fix/alpha/more-release-fixes
chore: add back live-preview packages to tsconfig paths
2024-03-22 12:49:41 -04:00
Elliot DeNolf
9748ed2259 chore(ui): tsconfig cleanup 2024-03-22 12:39:21 -04:00
Elliot DeNolf
6ec5981f1d chore: dev app live-preview fix 2024-03-22 12:38:55 -04:00
Elliot DeNolf
e20ea342c2 chore: more specific prettierignore 2024-03-22 12:38:25 -04:00
Alessio Gravili
2ff3603245 fix: unnecessary data fetching for /create operation causing failed network request (#5431) 2024-03-22 12:16:29 -04:00
Elliot DeNolf
da6e8f14d6 chore: add back live-preview packages to tsconfig paths 2024-03-22 10:58:05 -04:00
Elliot DeNolf
2dd04739b5 Merge pull request #5428 from payloadcms/fix/alpha/release-fixes
fix: alpha release fixes
2024-03-22 10:47:38 -04:00
Alessio Gravili
8e758ea979 chore: new payload/no-flaky-assertions and payload/no-wait-function eslint rules (#5425) 2024-03-22 10:12:40 -04:00
Elliot DeNolf
a81f7e2a24 chore(eslint): add no-jsx-import-statements custom rule (#5420) 2024-03-22 02:08:49 -04:00
Elliot DeNolf
c98ec3658c chore: add /uploads pointer files 2024-03-21 22:23:49 -04:00
Elliot DeNolf
249463f7df chore: remove unused copyfiles:api 2024-03-21 22:10:36 -04:00
Elliot DeNolf
700e77ad43 chore(scripts): script:pack for packing to destination 2024-03-21 17:25:01 -04:00
Jacob Fletcher
1a272879f1 fix(ui): passes initCollapsed through collapsible field map (#5417) 2024-03-21 17:15:21 -04:00
Elliot DeNolf
aa6cb4f25b fix(next): prod css output webpack 2024-03-21 17:09:15 -04:00
Elliot DeNolf
59eec36746 fix: no export * allowed in client 2024-03-21 17:08:46 -04:00
Elliot DeNolf
45baff403a fix: plugin-db exports 2024-03-21 17:08:07 -04:00
Jacob Fletcher
5de1883390 fix(ui): ensures row label context exists for collapsible fields (#5416) 2024-03-21 16:41:35 -04:00
Alessio Gravili
35b0d213a6 fix: move form data retrieval logic to client (#5411)
* fix: only execute onChange if form modified

* fix: move document loading logic from RSC to DocumentInfoProvider

* fix: make it work for globals

* chore: remove unnecessary diffs

---------

Co-authored-by: Jarrod Flesch <jarrodmflesch@gmail.com>
2024-03-21 16:38:12 -04:00
Elliot DeNolf
774a4b7533 fix: bad publishConfig for ui and translations 2024-03-21 16:12:33 -04:00
Elliot DeNolf
11cbb774bc chore: update codeowners file 2024-03-21 14:16:19 -04:00
Elliot DeNolf
0f7d0a03d9 chore: remove unused release-it config 2024-03-21 14:16:06 -04:00
Elliot DeNolf
cb568a1af4 chore: put @payload-config back to default 2024-03-21 12:54:23 -04:00
Elliot DeNolf
f4da03d840 Merge pull request #5409 from payloadcms/test/misc-fixes
test: add build:tests command, misc test and export fixes
2024-03-21 12:53:19 -04:00
Elliot DeNolf
e5cc8123b9 chore: tsconfig.json conflicts 2024-03-21 12:38:04 -04:00
Elliot DeNolf
cc13e1210d chore: comment out non-functioning generateGraphQLSchema test/ script 2024-03-21 12:34:22 -04:00
Jacob Fletcher
1e838f2e55 Merge pull request #5407 from payloadcms/fix/misc-fields
fix(ui): misc fields
2024-03-21 12:18:16 -04:00
Jacob Fletcher
154d4170cc chore: fixes import paths 2024-03-21 12:08:30 -04:00
Jacob Fletcher
64d6163f13 chore(ui): consolidates field label, error, and description components 2024-03-21 12:08:20 -04:00
Jacob Fletcher
85ffc5d8bf fix(ui): renders default group field labels and reduces field margins 2024-03-21 12:06:59 -04:00
Jacob Fletcher
38f36d465c fix(ui): disables adding id to nested field maps 2024-03-21 12:06:45 -04:00
Jacob Fletcher
d956055795 fix(ui): renders custom row labels 2024-03-21 12:06:32 -04:00
Elliot DeNolf
c1e1cd0596 test: misc test dir type fixes 2024-03-21 11:51:29 -04:00
Elliot DeNolf
a3df2ca0ef chore(ui): export EditView 2024-03-21 11:50:20 -04:00
Elliot DeNolf
6b3325d0ba test: remove root:true from test config 2024-03-21 11:49:35 -04:00
Elliot DeNolf
9e4dd44a2e test: proper turbo filter on test typecheck 2024-03-21 11:49:09 -04:00
Elliot DeNolf
e880588aac test: add -o flag to dev to open admin 2024-03-21 11:39:27 -04:00
Elliot DeNolf
c2af3df331 test: force @payload-config back to _community 2024-03-21 11:29:40 -04:00
Elliot DeNolf
46be6e37dc test: fix auth jwt call 2024-03-21 11:08:41 -04:00
Elliot DeNolf
5165077bc9 chore: getFileByPath to named export 2024-03-21 10:18:08 -04:00
Alessio Gravili
5ae537f23c Merge pull request #5393 from payloadcms/fix/auth-test-suite
fix: new playwright eslint rules, fix flakes in auth test suite and helpers.ts, add auth suite to CI
2024-03-20 23:48:17 -04:00
Alessio Gravili
5f572dbd04 chore: unflake auth e2e tests 2024-03-20 23:28:56 -04:00
Alessio Gravili
d511e80b01 chore: new payload/no-relative-monorepo-imports eslint rule 2024-03-20 23:03:09 -04:00
Alessio Gravili
27dfa41b67 chore: custom eslint rule which complains about flaky non-retryable playwright assertions 2024-03-20 22:51:27 -04:00
Alessio Gravili
f55c28352e chore: delayNetwork helper function for playwright 2024-03-20 21:49:48 -04:00
Alessio Gravili
a7b884d170 Merge remote-tracking branch 'origin/alpha' into fix/auth-test-suite 2024-03-20 19:23:14 -04:00
Dan Ribbens
fd4f996c30 fix: skip validation for other locales when duplicating (#5394)
* fix: skip validation for other locales when duplicating

* fix: duplicate document errors toast
2024-03-20 16:58:31 -03:00
Jacob Fletcher
c897037b7a Merge pull request #5391 from payloadcms/chore/optimize-comp-map
chore: optimize the component map
2024-03-20 15:40:53 -04:00
Elliot DeNolf
11fe64eee3 ci: adjust e2e artifacts path 2024-03-20 15:26:16 -04:00
Jacob Fletcher
6cbc0f0304 Merge branch 'alpha' into chore/optimize-comp-map 2024-03-20 15:19:26 -04:00
Jacob Fletcher
b3d28bac6a chore(ui): client-side renders all default field labels, descriptions, and errors 2024-03-20 15:18:05 -04:00
Alessio Gravili
96833bdf89 chore: run auth test suite in CI 2024-03-20 14:35:32 -04:00
Patrik
6cf5730bcb test: passing json fields test suite (#5389)
* test: passing json fields test suite

* test: actually gets json tests to pass
2024-03-20 14:21:58 -04:00
Jarrod Flesch
e5403f8dfd fix: return state inside whereBuilder reducer (#5392) 2024-03-20 14:09:04 -04:00
Jarrod Flesch
8278992feb feat(alpha): list view improvements, querying, ssr data loading (#5390) 2024-03-20 13:48:35 -04:00
Jacob Fletcher
9f690c1f5d chore(ui): client-side renders table column headings 2024-03-20 13:47:59 -04:00
Jacob Fletcher
b946f7e697 chore(ui): client-side renders all default cells 2024-03-20 13:11:12 -04:00
Jacob Fletcher
c9dea854f6 fix(ui): removes duplicative hidden field from block rows (#5387)
* fix(ui): removes duplicative hidden field from block rows

* fixes proper file
2024-03-20 14:06:29 -03:00
Jacob Fletcher
e72dfe5af2 chore(ui): excludes preferences and migrations collections from component map 2024-03-20 12:58:45 -04:00
Elliot DeNolf
d5912a53f4 ci: cancel in-progress runs of same ref (#5384) 2024-03-20 12:57:45 -04:00
Patrik
cb5d005e68 test: passing array fields test suite (#5383)
* test: array tests passing except bulk update

* test: passing array fields test suite
2024-03-20 12:00:56 -04:00
Elliot DeNolf
0dd0f39250 Merge pull request #5368 from payloadcms/newtests
chore: get e2e and dev to work with test as new root directory
2024-03-20 11:24:46 -04:00
Alessio Gravili
9c7e250109 fix all imports in tests 2024-03-20 11:09:22 -04:00
Alessio Gravili
ca103b6af3 fixes 2024-03-20 11:03:59 -04:00
Alessio Gravili
2f75ee9472 fixes 2024-03-20 10:59:29 -04:00
Alessio Gravili
7eab38afa7 fixes 2024-03-20 10:53:33 -04:00
Alessio Gravili
68d0a442e4 fixes 2024-03-20 10:52:21 -04:00
Alessio Gravili
ee2b6d3b85 fix jsx imports 2024-03-20 10:41:30 -04:00
Alessio Gravili
e73220e069 chore: fix build errors 2024-03-20 10:30:46 -04:00
Alessio Gravili
d2a1404f04 Merge remote-tracking branch 'origin/alpha' into newtests 2024-03-20 10:26:35 -04:00
Alessio Gravili
c8a7eb4988 fix: next webpack config entry path 2024-03-20 10:09:20 -04:00
Alessio Gravili
7ec37e058e chore: adjust imports for richtext-slate 2024-03-20 10:07:30 -04:00
Alessio Gravili
64f2d2a502 fix: debugging by moving app dir out of test 2024-03-20 09:48:05 -04:00
Elliot DeNolf
6afb4ccf26 Merge pull request #5381 from payloadcms/chore/build-fixes
chore: build fixes
2024-03-20 03:52:13 -04:00
Elliot DeNolf
a4676d1fea chore: more next build fixes 2024-03-20 03:35:50 -04:00
Elliot DeNolf
97173de555 ci: remove auth e2e, passes locally but fails in CI 2024-03-20 03:17:56 -04:00
Elliot DeNolf
9e6d01b2a1 chore: fix ui build 2024-03-20 03:17:12 -04:00
Jacob Fletcher
d3a5437079 Merge pull request #5379 from payloadcms/fix/radio-map
fix(ui): radio field map
2024-03-19 23:46:50 -04:00
Jacob Fletcher
b22a03a317 fix(ui): builds radio fields in component map 2024-03-19 23:40:35 -04:00
Jacob Fletcher
06cd13aef2 chore(ui): types mapped rich text field props 2024-03-19 23:37:50 -04:00
Elliot DeNolf
25a3feb2ca chore(ui): more elements default fixes 2024-03-19 18:00:58 -04:00
James
c8c3332366 Merge branch 'newtests' of github.com:payloadcms/payload into newtests 2024-03-19 17:56:50 -04:00
James
006b315120 chore: moves buildComponentMap stuff out of client file 2024-03-19 17:56:29 -04:00
Alessio Gravili
f74d6efcae Merge remote-tracking branch 'origin/newtests' into newtests 2024-03-19 17:43:05 -04:00
Alessio Gravili
b2d802aa85 fix testHooks paths 2024-03-19 17:42:58 -04:00
James
964a51e21d chore: ??? 2024-03-19 17:41:59 -04:00
James
4a43db06dd Merge branch 'newtests' of github.com:payloadcms/payload into newtests 2024-03-19 17:32:44 -04:00
James
3ce7fe638f chore: adds back webpack to ui if we need it 2024-03-19 17:32:32 -04:00
Alessio Gravili
c2a4d44bf4 richtext-lexical 2024-03-19 17:26:41 -04:00
James
867817f568 chore: adds scss removal plugin back to ui 2024-03-19 17:23:07 -04:00
James
46a56a236f Merge branch 'newtests' of github.com:payloadcms/payload into newtests 2024-03-19 17:15:08 -04:00
James
6357009055 chore: finishes next dependency imports 2024-03-19 17:14:57 -04:00
Elliot DeNolf
42f7091038 chore: update ui refs next versions 2024-03-19 17:11:29 -04:00
James
a3c63fcdf0 Merge branch 'newtests' of github.com:payloadcms/payload into newtests 2024-03-19 17:00:17 -04:00
James
6b358c626f Merge branch 'newtests' of github.com:payloadcms/payload into newtests 2024-03-19 17:00:07 -04:00
Elliot DeNolf
3bbfa822d7 chore: update ui refs in plugins 2024-03-19 17:00:04 -04:00
James
a13fc138f2 chore: converts list to use specific imports 2024-03-19 16:59:57 -04:00
Jacob Fletcher
721a082758 Merge pull request #5376 from payloadcms/fix/array-paths
fix(ui): array fields
2024-03-19 16:54:50 -04:00
Alessio Gravili
07288de5a1 pnpm lock 2024-03-19 16:51:10 -04:00
Alessio Gravili
ac0bb78412 tsconfig paths to fix webstorm 2024-03-19 16:50:27 -04:00
James
c24464179b chore: progress to next 2024-03-19 16:43:30 -04:00
Jacob Fletcher
d473600a15 fix(ui): removes duplicative hidden field from array rows 2024-03-19 16:29:37 -04:00
James
accd9eaa27 chore: progress to next build 2024-03-19 16:25:19 -04:00
Jarrod Flesch
cb180cbbf8 feat: search filter in list view 2024-03-19 16:22:10 -04:00
Jarrod Flesch
a3dbe482e2 chore: fixes flattenFields function 2024-03-19 16:17:17 -04:00
James
959302a868 chore: progress to next 2024-03-19 16:16:08 -04:00
Dan Ribbens
95be2b55f7 fix: duplicate locales (#5371)
* fix: duplicate documents with locales

* fix: duplicate execute access data
2024-03-19 17:08:14 -03:00
James
3bce86a1e8 chore: progress to next repo 2024-03-19 15:58:17 -04:00
James
dd10931316 chore: buildable ui 2024-03-19 15:52:38 -04:00
James
f5b8f5a6f8 chore: merge 2024-03-19 15:44:23 -04:00
James
65fddc5d28 chore: resolve build issues 2024-03-19 15:43:57 -04:00
Elliot DeNolf
d3ac843249 chore: rename Header ot AppHeader from usage 2024-03-19 15:43:16 -04:00
Elliot DeNolf
1b5f4f5c3c chore: EditMany FormProps ref 2024-03-19 15:42:57 -04:00
Alessio Gravili
1af558af44 chore: fix incorrect import in tests 2024-03-19 15:40:37 -04:00
Elliot DeNolf
b3b36f3340 chore(ui): more elements rework to EditMany 2024-03-19 15:39:48 -04:00
Elliot DeNolf
4624659af6 chore(ui): more elements rework to Loading 2024-03-19 15:37:57 -04:00
Elliot DeNolf
ab649af8be chore(ui): rework elements end to PerPage 2024-03-19 15:37:57 -04:00
James
c5491e6f27 chore: linting useThumbnail 2024-03-19 15:36:29 -04:00
James
b47b5ddb05 chore: more progress to elements 2024-03-19 15:30:07 -04:00
James
095799a816 chore: merge 2024-03-19 15:24:52 -04:00
James
1104b6daa4 chore: progress to element exports 2024-03-19 15:23:22 -04:00
Alessio Gravili
4ecd811302 adjust providers 2024-03-19 15:18:58 -04:00
Alessio Gravili
b112ccd6d8 templates and graphics 2024-03-19 15:11:08 -04:00
Jacob Fletcher
bee32f9898 fix(ui): takes context as precedent when determining field paths 2024-03-19 15:09:02 -04:00
Alessio Gravili
69fce590e3 graphics 2024-03-19 14:57:31 -04:00
Alessio Gravili
c51ed43a10 fix: access control test suite & add it to CI (#5372) 2024-03-19 14:47:16 -04:00
James
fd51511380 chore: merge 2024-03-19 14:44:28 -04:00
James
8a054d8cc9 chore: moves fields, preps for individual export 2024-03-19 14:43:46 -04:00
Alessio Gravili
91731896c4 providers 2024-03-19 14:25:16 -04:00
Paul
e897d04218 fix: not-found being squished (#5369) 2024-03-19 13:32:30 -03:00
James
69e4de6ba9 Merge branch 'newtests' of github.com:payloadcms/payload into newtests 2024-03-19 12:24:38 -04:00
James
6b176066ec chore: progress to removing barrel file reliance 2024-03-19 12:23:57 -04:00
Alessio Gravili
4c372962fc fix publishConfig 2024-03-19 11:39:25 -04:00
Jacob Fletcher
001f386244 chore: splits client config into separate files (#5367) 2024-03-19 11:38:33 -04:00
Alessio Gravili
5eb73e0c05 remove unnecessary TypeScript import 2024-03-19 11:34:22 -04:00
Alessio Gravili
3347f92414 stuff 2024-03-19 11:33:32 -04:00
Alessio Gravili
72c6200f17 get e2e and dev to work with test as new root directory 2024-03-19 11:31:50 -04:00
Dan Ribbens
ed01ee1e2d feat: duplicate doc moved from frontend to backend concern (#5342)
BREAKING CHANGE: collection.admin.hooks.beforeDuplicate removed and instead should be handled using field beforeDuplicate hooks which take the full field hook arguments.

* feat: duplicate doc moved from frontend to backend concern

* feat: default beforeDuplicate hook functions on unique fields

* docs: beforeDuplicate field hook

* test: duplicate doc local api

* chore: fix build errors

* chore: add access.create call to duplicate operation

* chore: perfectionist reorder imports
2024-03-19 11:25:19 -04:00
Jacob Fletcher
b259bc60a2 Merge pull request #5358 from payloadcms/chore/select-labels
fix(ui): renders select options labels from component map and migrates SanitizedConfig to ClientConfig types
2024-03-19 10:19:55 -04:00
Jacob Fletcher
772d5e10b8 chore: migrates from SanitizedConfig to ClientConfig types where necessary 2024-03-19 10:18:20 -04:00
Jacob Fletcher
7e96560fbb chore(ui): adds disableBulkEdit and unique to field map 2024-03-19 10:18:08 -04:00
Jacob Fletcher
6ae5e11c6f fix(ui): renders label from component map in select field 2024-03-19 10:14:06 -04:00
Alessio Gravili
9877fe2eed chore: add test directory to package.json workspaces directory (#5365) 2024-03-19 09:59:20 -04:00
Alessio Gravili
fe086e90a1 chore: add auth to CI (#5363) 2024-03-19 09:42:59 -04:00
Elliot DeNolf
c9958e1634 ci: disable postgres temporarily 2024-03-19 09:35:44 -04:00
Elliot DeNolf
67f7c002c9 Merge pull request #5359 from payloadcms/chore/test-dir-to-workspace
chore: add test dir to workspace
2024-03-19 08:53:37 -04:00
Paul Popus
bf7c38d8e8 chore: add escape-html to dev deps 2024-03-19 09:47:48 -03:00
Elliot DeNolf
f361d153d1 chore: suppress memory db log message if in CI 2024-03-19 02:13:09 -04:00
Elliot DeNolf
0e571c3e35 ci: ignore fields int tests for now 2024-03-19 02:13:09 -04:00
Elliot DeNolf
7857c80c79 chore: move getFileByPath to payload/uploads 2024-03-19 01:46:28 -04:00
Elliot DeNolf
99adfd2bba chore: export mapAsync, fix some packages/next refs 2024-03-19 01:34:12 -04:00
Elliot DeNolf
9a493491f1 chore: properly export getFileByPath 2024-03-19 01:24:05 -04:00
Elliot DeNolf
1ac76d7758 chore: more linting 2024-03-19 01:15:25 -04:00
Elliot DeNolf
c5ecf48d94 chore: add test/ to workspace, update most references 2024-03-19 00:59:56 -04:00
Elliot DeNolf
1e10f021b5 chore: update all package.json main, types, exports, publishConfig 2024-03-19 00:45:50 -04:00
Paul Popus
7d0bd49ae3 fix: live-preview replace goToDoc utility with correct waitForURL 2024-03-18 18:38:07 -03:00
Elliot DeNolf
d4e7cabee5 ci: comment out all e2e tests 2024-03-18 17:11:38 -04:00
Elliot DeNolf
92471b0beb chore: fix @payloadcms/ui refs in test dir 2024-03-18 16:55:27 -04:00
Paul Popus
ea713758a1 fix: remove pretest steps on live-preview e2e 2024-03-18 17:52:15 -03:00
Jacob Fletcher
9182d8d594 fix(ui): falls back custom fields as undefined instead of null 2024-03-18 16:50:15 -04:00
Elliot DeNolf
7df3434c6a ci: run e2e tests individually 2024-03-18 16:48:28 -04:00
Alessio Gravili
5e9014b2c3 chore: fix some eslint errors 2024-03-18 16:46:56 -04:00
Alessio Gravili
4d95c824f3 Merge remote-tracking branch 'origin/alpha' into alpha 2024-03-18 16:24:52 -04:00
Alessio Gravili
28d7d2544e fix: live preview aliases 2024-03-18 16:24:40 -04:00
Jacob Fletcher
decc56e54d fix: properly renders custom field components 2024-03-18 16:21:52 -04:00
Alessio Gravili
976d86ae1a fix: missing name in ID field 2024-03-18 16:06:22 -04:00
Alessio Gravili
4e650e17aa chore: remove some default exports 2024-03-18 15:50:53 -04:00
Alessio Gravili
d08d04debd fix: build errors by making getTranslation return type smarter 2024-03-18 15:48:03 -04:00
Alessio Gravili
602108b150 Merge remote-tracking branch 'origin/alpha' into alpha 2024-03-18 15:43:47 -04:00
Alessio Gravili
a9b1a2e7b7 fix: live-preview build 2024-03-18 15:43:40 -04:00
Jarrod Flesch
99f31bbc23 feat: wires up server-action for language translation loading (#5346) 2024-03-18 15:42:45 -04:00
James
6c2faf68c4 Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-18 15:35:15 -04:00
James
ee8c29c5ef chore: missing getTranslation in create op 2024-03-18 15:35:04 -04:00
Alessio Gravili
26df916421 fix: issues related to Auth test suite 2024-03-18 15:30:55 -04:00
Alessio Gravili
0a8f400a59 chore: optimize test/tsconfig for import suggestions within test suite 2024-03-18 15:21:04 -04:00
Alessio Gravili
cc1cbd1ed7 chore: add back test/tsconfig.json and upgrade @types/node 2024-03-18 14:56:13 -04:00
Alessio Gravili
034e85aa87 fix: APIKey Component validation and React Element handling inside getTranslation 2024-03-18 14:32:17 -04:00
James
12e54e189a Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-18 14:28:04 -04:00
James
5eaea1c7f1 chore: moves live preview test suite into main app folder 2024-03-18 14:27:56 -04:00
Jacob Fletcher
10786c6ca8 fix(ui): client-side hidden fields 2024-03-18 14:26:35 -04:00
Jacob Fletcher
55d9377403 chore(ui): client-side renders all default fields (#5357) 2024-03-18 12:51:39 -04:00
James
70f29785ca chore: removes unused prop 2024-03-18 12:19:32 -04:00
James
e197c5120d Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-18 12:17:59 -04:00
James
2cf72aea81 chore: fixes mongodb memory server timeout issues 2024-03-18 12:17:43 -04:00
Alessio Gravili
30111bb125 chore: push updated translation files 2024-03-18 12:04:34 -04:00
Alessio Gravili
7d38f6b074 chore: upgrade TypeScript from 5.2.2 to 5.4.2 2024-03-18 12:02:00 -04:00
Paul Popus
7e625b8e9e fix: fieldComponentProps undefined error in mapFields 2024-03-18 12:22:34 -03:00
James
152eea3cb8 chore: removes unused prop 2024-03-18 11:18:26 -04:00
James
ee72b1be5d Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-18 11:04:05 -04:00
James
605d96b71b chore: avoids passing fieldTypes in buildComponentMap 2024-03-18 11:03:14 -04:00
Alessio Gravili
8e1c7d955f chore: add back --no-deprecation to dev script 2024-03-18 10:57:42 -04:00
Alessio Gravili
8046b5675f fix: do not break default edit view if there is no user 2024-03-18 10:54:09 -04:00
James
0ac8a39c5e Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-18 10:36:53 -04:00
James
81522b33e6 chore: removes setOnSave from DocumentInfo, refreshes cookie when saving user 2024-03-18 10:36:13 -04:00
Paul Popus
4df49689a9 chore: add csrf and cors config to live preview 2024-03-18 10:29:11 -03:00
Elliot DeNolf
0f7106bf4a ci: bump actions/upload-artifact 2024-03-16 19:43:16 -04:00
Elliot DeNolf
900c5b7661 chore: remove unnecessary tsconfigs 2024-03-16 10:33:42 -04:00
Elliot DeNolf
5cac4c953d test: fix missing awaits in E2E 2024-03-16 10:26:51 -04:00
Elliot DeNolf
65f2cb9a22 chore: rename configHelpers to match function name 2024-03-16 10:18:34 -04:00
Elliot DeNolf
7ddb68b70d test: fix some easy eslint errors 2024-03-16 10:15:09 -04:00
Elliot DeNolf
14eb66c87d test: refactor int tests to use initPayloadInt which reduces boilerplate 2024-03-16 10:11:00 -04:00
Elliot DeNolf
ef141d499b ci: bump all actions to use Node 20. 16 is deprecated. 2024-03-16 07:35:27 -04:00
Elliot DeNolf
1ab27e8fe3 test: update packages/ test configs 2024-03-16 07:34:49 -04:00
Elliot DeNolf
145a3b7ee4 ci: update paths-filter 2024-03-16 07:19:02 -04:00
Elliot DeNolf
a042327741 chore: sync pnpm-lock.yaml 2024-03-16 07:16:29 -04:00
Elliot DeNolf
4eba651c3d test: refine testHooks 2024-03-16 07:00:38 -04:00
Elliot DeNolf
ba3b2ea66f chore: script cleanup 2024-03-16 06:52:55 -04:00
Elliot DeNolf
c48719dfdb test: fix next/link import 2024-03-16 06:46:30 -04:00
Elliot DeNolf
1680f0ef52 chore: cleanup 2024-03-16 06:45:54 -04:00
Elliot DeNolf
ae6c4b2ddf test: remove typescript declare from test suite type output 2024-03-16 06:45:32 -04:00
Elliot DeNolf
8e9192181d chore: remove node warnings 2024-03-16 06:43:55 -04:00
Elliot DeNolf
a2f2a59c21 test: rework jest setup to use setupFilesAfterEnv 2024-03-16 06:40:20 -04:00
Elliot DeNolf
e739c26f2e chore: rework test hooks to reset tsconfig.json 2024-03-16 06:37:30 -04:00
Jacob Fletcher
b215eae914 chore(ui): exports missing FieldType and Options 2024-03-16 01:10:09 -04:00
Elliot DeNolf
1123e4e751 ci: disable tests-type-generation job 2024-03-15 17:50:57 -04:00
Elliot DeNolf
203bc26c0e ci: disable templates job 2024-03-15 17:46:07 -04:00
Jacob Fletcher
fb4651bdad chore(ui): strictly types fields (#5344) 2024-03-15 17:41:48 -04:00
Elliot DeNolf
09f2926bbb test(plugin-cloud): update jest config for esm 2024-03-15 17:28:39 -04:00
Jarrod Flesch
eef06425a3 chore: passing versions e2e (#5343) 2024-03-15 17:09:32 -04:00
Alessio Gravili
b329e3c43c fix: browser console warning: Skipping auto-scroll behavior due to position: sticky or position: fixed on element 2024-03-15 17:02:41 -04:00
Elliot DeNolf
04a3223ff5 test: fix seed helper, was causing errors in versions suite 2024-03-15 16:55:54 -04:00
Elliot DeNolf
9226be058c test: fix useField imports 2024-03-15 16:02:27 -04:00
PatrikKozak
2dc425b083 test: updates text field config imports to relative imports 2024-03-15 15:54:54 -04:00
James
c5f915651c Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-15 15:30:56 -04:00
James
e2d7fec793 chore: merge 2024-03-15 15:30:29 -04:00
Paul Popus
d3b4f46b25 fix: further fixes for live preview 2024-03-15 16:30:00 -03:00
James
6311156169 chore: optimizes buildFormState by passing prefs from admin 2024-03-15 15:28:05 -04:00
Elliot DeNolf
695a814eb3 ci: explicitly install playwright 2024-03-15 15:17:05 -04:00
Elliot DeNolf
5ef2e35685 test: fix mongodb destroy 2024-03-15 15:11:04 -04:00
Alessio Gravili
8818ed9d7b fix: document permissions not working for Document Drawers 2024-03-15 15:06:55 -04:00
Paul Popus
d785af1826 fix: core fixes to the live-preview e2e test suite 2024-03-15 15:36:58 -03:00
Alessio Gravili
398811a14e fix: Document Drawers triggered from relationship fields were requesting form state from field schemaPath rather than the actual, requested collection 2024-03-15 14:32:12 -04:00
Patrik
c5f9533d2b test: passing text field suite (#5341) 2024-03-15 14:27:43 -04:00
Alessio Gravili
aaf17aa2b2 chore: e2e tests: get nav-toggler helpers to work on all screen sizes 2024-03-15 13:43:48 -04:00
Elliot DeNolf
3e11379e6c chore: add jest runner to extensions 2024-03-15 13:24:54 -04:00
Elliot DeNolf
f78d0b7c7a chore: add proper playwright ext to extensions.json 2024-03-15 13:21:55 -04:00
Elliot DeNolf
978e19c817 test: fix custom-graphql beforeAll 2024-03-15 12:19:00 -04:00
Alessio Gravili
1550e32282 chore: keep sync and ui next versions in sync. Only the monorepo next version has to be different 2024-03-15 11:53:31 -04:00
Alessio Gravili
7fb2dc6500 chore: fix playwright by making sure ui uses a different next version than anything else 2024-03-15 11:50:57 -04:00
Alessio Gravili
92654af609 fix: properly type getPreferences and update richtext-lexical's block collapsed handling to match that type 2024-03-15 10:53:32 -04:00
Alessio Gravili
c10787dbb3 chore: fix ts-eslint not being able to work with types imported across packages 2024-03-15 10:46:14 -04:00
Elliot DeNolf
4fecb7fad9 chore(richtext-lexical): do not pass DefaultCell 2024-03-15 10:23:39 -04:00
Elliot DeNolf
01a121868b revert(db-mongodb): add back 'as any' removed during lint 2024-03-15 10:13:48 -04:00
Paul Popus
a023009dee fix: not returning not found when fetching docPermissions when id doesnt exist 2024-03-15 11:09:06 -03:00
Paul Popus
e301393f33 fix: add conditional for getCustomViewByRoute 2024-03-15 10:26:55 -03:00
Alessio Gravili
39600fb0f5 fix(eslint-config-payload): get eslint-config-prettier to work properly by moving it to the end of the extends array 2024-03-15 09:22:28 -04:00
Paul Popus
663cde7676 chore: track website media pictures 2024-03-15 10:06:07 -03:00
Elliot DeNolf
dac771c096 Merge pull request #5337 from payloadcms/alpha-lint-prettier
chore: eslint improvements, run eslint & prettier everywhere
2024-03-15 08:58:24 -04:00
Alessio Gravili
b8b1d572b4 chore: add lint & prettier commit to .git-blame-ignore-revs 2024-03-14 23:55:05 -04:00
Alessio Gravili
6789e61488 chore: run lint & prettier on everything 2024-03-14 23:53:47 -04:00
Alessio Gravili
051fdfb081 chore: more eslint rule improvements 2024-03-14 23:40:07 -04:00
Alessio Gravili
1f07a827ec chore: remove unused eslint-plugin-import 2024-03-14 23:17:43 -04:00
Alessio Gravili
81618d2efc chore: eslint: turn off react/jsx-one-expression-per-line rule which is conflicting with prettier 2024-03-14 22:54:59 -04:00
Alessio Gravili
6f44a88ffd chore: add @typescript-eslint/no-unnecessary-type-constraint rule to warn-only 2024-03-14 22:51:49 -04:00
Alessio Gravili
4300c3d550 chore: add missing .prettierignore files. Without them, folders like "dist" would not be excluded on a package-level despite a root-level .prettierignore being present 2024-03-14 22:48:27 -04:00
Alessio Gravili
5fbf7b3d24 chore: improve pre-defined eslint ignorePatterns 2024-03-14 22:44:31 -04:00
Alessio Gravili
eb5899c94b chore: upgrade all eslint packages, fix incorrect override for test/eslintrc 2024-03-14 22:40:08 -04:00
Alessio Gravili
5e68fa1255 chore: change eslint sharedRules to baseRules to match baseExtends 2024-03-14 22:20:33 -04:00
Alessio Gravili
f1c322fe69 chore: narrow down eslint included files, change some rules to warn-only instead of erroring 2024-03-14 22:18:35 -04:00
Alessio Gravili
580520f100 chore: add back relaxed eslint rules for tests 2024-03-14 21:22:30 -04:00
Alessio Gravili
40343df255 fix(richtext-lexical): createHeadlessEditor import 2024-03-14 17:04:29 -04:00
Alessio Gravili
57f8b427db fix(richtext-lexical): remove Lazy field & cell components, which fixes RSC errors, likely due to RSC bug where React.lazy's are not handled properly 2024-03-14 17:01:14 -04:00
Jacob Fletcher
f85e96acac fix(ui): executes filterOptions on the server (#5335) 2024-03-14 16:53:24 -04:00
Alessio Gravili
bff83f1785 chore: upgrade next 2024-03-14 16:47:57 -04:00
Alessio Gravili
ca27748799 fix(richtext-lexical): get sub-block-lexical fields to work 4 out of 5 times 2024-03-14 16:42:08 -04:00
Paul Popus
2dc98f682f fix: issue with community post type 2024-03-14 17:01:33 -03:00
Paul Popus
d4f3309ffd fix: rowLabel for array field and collapsible field to support client side components 2024-03-14 16:59:33 -03:00
Elliot DeNolf
821777bd64 chore: remove redundant token deletion 2024-03-14 15:52:47 -04:00
Kendell Joseph
84c2fa9491 fix: forgot password view (#5322) 2024-03-14 15:46:42 -04:00
Dan Ribbens
d193c677c7 chore: attach mongoMemoryServer to db and destroy in tests (#5326)
* chore: attach mongoMemoryServer to db and destroy in tests

* bump mongodb-memory-server to 9.x

---------

Co-authored-by: Paul Popus <paul@nouance.io>
2024-03-14 15:41:20 -04:00
Jacob Fletcher
cbfc7c8b43 docs: adds jsdocs for filterOptions and syncs docs 2024-03-14 15:00:17 -04:00
Jacob Fletcher
6a43065316 chore: sanitizes live preview url from client config 2024-03-14 14:30:44 -04:00
Jacob Fletcher
9dd390f7a7 chore: more strictly types client config 2024-03-14 14:17:11 -04:00
Elliot DeNolf
6c631cb11e test: jest debug-compatible pluralize import 2024-03-14 13:58:06 -04:00
Elliot DeNolf
817b790757 ci: add github-actions jest reporter 2024-03-14 13:32:05 -04:00
James
98aa8cc22a Merge branch 'feat/doc-permissions' into alpha 2024-03-14 13:03:13 -04:00
James
e9e228abaf chore: builds 2024-03-14 13:02:06 -04:00
Jacob Fletcher
909bb6f6cf chore: sanitizes admin hooks from client config 2024-03-14 12:20:25 -04:00
Elliot DeNolf
e8b47eef2f chore(plugin-sentry): migrate esm, remove webpack 2024-03-14 12:15:58 -04:00
Paul Popus
415ba26efe fix: openNav selector in test helpers 2024-03-14 13:11:52 -03:00
Elliot DeNolf
777e2744c4 test(plugin-seo): proper import and lint 2024-03-14 11:54:54 -04:00
Elliot DeNolf
53a09f4989 chore(create-payload-app): migrate to esm, adjust init-next tests 2024-03-14 11:12:28 -04:00
Alessio Gravili
e3e0f056a9 chore: auth test suite lint & prettier 2024-03-14 10:48:48 -04:00
Alessio Gravili
b6ce1fbd51 chore: downgrade next version of ui to fix e2e tests 2024-03-14 10:35:23 -04:00
Alessio Gravili
7267cfdbfc chore: make sure installed next versions match everywhere 2024-03-14 10:16:32 -04:00
Jacob Fletcher
fa259aa194 fix(next): custom edit view base override 2024-03-14 10:06:35 -04:00
Patrik
da1d2873d5 chore: adds blank 3.0 template (#5330) 2024-03-14 09:59:36 -04:00
James
be88d278c6 chore: builds 2024-03-13 22:22:15 -04:00
Jacob Fletcher
81cb8c83bf fix(ui): renders versions tab count only when docs exist 2024-03-13 17:39:50 -04:00
Paul Popus
eee44a9919 fix: helper.ts issues with changing locales in tests 2024-03-13 18:17:00 -03:00
Jacob Fletcher
4f730410bc fix(next): custom root views (#5321) 2024-03-13 17:15:38 -04:00
Paul Popus
171144be80 fix: tests running with local API imported from the payload package instead of the HMR from the next package 2024-03-13 18:01:11 -03:00
Alessio Gravili
5c2bcba000 fix: document view issues (#5324)
* fix: cannot get versions view for globals, return Unauthorized view if you are unauthorized instead of the Not Found view for document edit views. This makes it match the API

* chore: ensure there is always an error view to render if needed
2024-03-13 16:59:40 -04:00
Paul
5b5c6e975d fix: redirect issue when creating a post in a different locale and being redirected to the default locale on submit (#5323)
* fix: redirect issue when creating a post in a different locale and being redirected to the default locale on submit

* style fixes
2024-03-13 17:25:05 -03:00
Alessio Gravili
45110f60c3 chore: ignore flaky "Failed to fetch RSC payload for" browser console error in playwright 2024-03-13 15:36:47 -04:00
Jarrod Flesch
26c434c4ee chore: implements clearRouteCache in other list actions 2024-03-13 15:25:36 -04:00
Alessio Gravili
2e872d4818 chore: add className to unauthorized component to appease access control e2e test selectors 2024-03-13 15:14:07 -04:00
Elliot DeNolf
30a1219f9d ci: release script outputs stderr on publish 2024-03-13 15:06:02 -04:00
Alessio Gravili
cf1632f80b chore: db init & destroy type improvements. No need to pass in payload again, as the functions already have access to it through the adapter 2024-03-13 15:04:16 -04:00
Alessio Gravili
885b003730 chore: payload HMR type & globals improvements 2024-03-13 15:02:55 -04:00
Paul Popus
a9a61b2617 fix: locales not using fallbackLocale in the admin UI and re-rendering issue when changing locales 2024-03-13 15:51:46 -03:00
Elliot DeNolf
b968d8594c ci: proper mongodb memory server configuration (#5318)
* ci: mongo memory server instance

* test: use proper mongo memory opts

* chore: rollback mongodb-memory-server dep

* chore: more mongodb-memory-server
2024-03-13 14:44:12 -04:00
Jarrod Flesch
d7ebb871bb feat: adds routerCache provider 2024-03-13 14:33:03 -04:00
Alessio Gravili
6f67b2381a fix: missing collection permission redirect to unauthorized view 2024-03-13 14:32:20 -04:00
James
2237d7e860 Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-13 13:59:53 -04:00
James
6ea456d6da chore: reduces date-fns locales loaded 2024-03-13 13:59:38 -04:00
Alessio Gravili
f0a2edf7cf chore: fix dev script 2024-03-13 13:07:55 -04:00
Jarrod Flesch
881fcd4e9b chore: alter @payload-config tsconfig for e2e tests 2024-03-13 13:01:28 -04:00
Alessio Gravili
8954af5c53 chore: automatically adjust tsconfig @payload-config path when running e2e tests 2024-03-13 12:32:06 -04:00
Elliot DeNolf
e3c6d5859b chore(eslint): properly order overrides 2024-03-13 12:10:54 -04:00
Paul Popus
16441b5b6a chore: add playwright ext to .vscode 2024-03-13 13:01:36 -03:00
Paul Popus
195b1ccfcc chore: remove npx playwright install from test:e2e command 2024-03-13 12:55:21 -03:00
Elliot DeNolf
b3f5670cc0 chore(eslint): properly spread shared rules 2024-03-13 11:53:11 -04:00
Elliot DeNolf
e43c80b4f5 chore(eslint): shared rules 2024-03-13 11:50:58 -04:00
Alessio Gravili
931e2f6134 chore(eslint-config-payload): more granular eslint config (#5315) 2024-03-13 11:05:28 -04:00
Paul
e091a37241 chore: update seo plugin (#5309)
* chore: update seo plugin

* fix translations export
2024-03-12 18:47:14 -03:00
Paul
5f093846a7 chore: add admin access control to buildFormState (#5310) 2024-03-12 18:46:41 -03:00
Alessio Gravili
dcbae0618c chore: rename getPayload to getPayloadHMR 2024-03-12 17:16:48 -04:00
Dan Ribbens
4d70d6319b chore: reduce db io by optimizing internal calls (#5302) 2024-03-12 16:31:02 -04:00
Dan Ribbens
09484667f0 chore: relationships int test race condition 2024-03-12 16:30:06 -04:00
Dan Ribbens
04fcf57d0a Fix/alpha/int tests (#5311)
* chore: converts dynamic imports to esm require

* chore: adjusts require and import usage

* chore: reverts bin script change

* chore: adjust dataloaded tests to use slate editor

* fix: converts custom auth strategy

* chore: fixes to form builder int test config

* chore: adjusts plugin-stripe and int tests

---------

Co-authored-by: Jarrod Flesch <jarrodmflesch@gmail.com>
2024-03-12 16:27:43 -04:00
Alessio Gravili
8436dd5851 chore(plugin-cloud-storage): add proper error messages if peerDeps are not found for webpack 2024-03-12 16:15:37 -04:00
Jacob Fletcher
bbae8cccfb chore(i18n): adds authentication:createFirstUser to client translations 2024-03-12 16:08:15 -04:00
Jarrod Flesch
044fa2d10f chore: customizes req.json on payload request 2024-03-12 16:02:55 -04:00
Alessio Gravili
2dd50cccd3 chore: improve obliterate-playwright-cache command 2024-03-12 15:58:35 -04:00
Alessio Gravili
c05ffb0c6b chore: update playwright patch to work on windows 2024-03-12 15:47:04 -04:00
Jacob Fletcher
935044d2da chore(i18n): adds error:unauthorized to client translations 2024-03-12 15:13:26 -04:00
Alessio Gravili
6ec6505a5d chore: use matching aws/client-s3 version in monorepo 2024-03-12 14:58:40 -04:00
Dan Ribbens
96e0f55c61 chore(release): v3.0.0-alpha.48 [skip ci] 2024-03-12 14:51:40 -04:00
Alessio Gravili
b765f06dfd chore(plugin-cloud-storage): correct publishConfig exports again 2024-03-12 14:40:46 -04:00
Alessio Gravili
8da6318cc6 chore(plugin-cloud-storage): correct publishConfig exports 2024-03-12 14:37:31 -04:00
Dan Ribbens
0fcdec604c chore(release): v3.0.0-alpha.47 [skip ci] 2024-03-12 14:14:16 -04:00
Alessio Gravili
3edda36a91 chore(plugin-cloud-storage): update .gitignore 2024-03-12 13:56:42 -04:00
Alessio Gravili
97d65bfca0 Merge remote-tracking branch 'origin/alpha' into alpha 2024-03-12 13:54:35 -04:00
Alessio Gravili
66771c6f62 chore(plugin-cloud-storage): package.json exports and automated generation of barrel files 2024-03-12 13:54:27 -04:00
Patrik
e6b23aee18 fix(ui): field label htmlFor (#5308) 2024-03-12 13:54:00 -04:00
Alessio Gravili
5e9ee50f99 fix(plugin-cloud-storage): make sure barrel files use import instead of require 2024-03-12 13:49:54 -04:00
Jarrod Flesch
93584bc766 chore: use require if it exists on the global, else use esm import (#5305) 2024-03-12 13:32:05 -04:00
Alessio Gravili
a89180ea06 chore: make sure deprecation warnings do not happen in jest 2024-03-12 12:54:04 -04:00
Alessio Gravili
4983da7efa chore(eslint-config-payload): improve @typescript-eslint/no-unused-vars rule (#4793) 2024-03-12 12:46:47 -04:00
Jacob Fletcher
8fd6bd4c71 fix(ui): document drawer titles (#5306) 2024-03-12 12:40:15 -04:00
Alessio Gravili
c7ea62a394 fix: JSON Field: validation not working and incorrect initialValue 2024-03-12 12:38:40 -04:00
Alessio Gravili
fc8e2d3e05 chore: get eslint to scream at default exports 2024-03-12 12:01:35 -04:00
Alessio Gravili
6cf3c91293 chore: simplify onChange handling, make sure previous onChange results are passed through to a potential next onChange 2024-03-12 11:57:36 -04:00
Alessio Gravili
e122278ec4 fix: path and schemaPaths for tabs not working, renderfields schemaPath adding unnecessary dot at the end of the path if the field has no name 2024-03-12 11:30:53 -04:00
Jarrod Flesch
7c9b5cba1c chore: adds pnpm swc-plugin-transform-remove-imports to root dev deps 2024-03-12 10:36:34 -04:00
James
a86c1b7cd3 chore: error in _community e2e 2024-03-12 10:02:45 -04:00
James
dd6d08d61d Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-12 10:02:08 -04:00
James
0fc120d7d5 chore: _community e2e 2024-03-12 10:01:51 -04:00
Paul Popus
6e03558dcb chore: eslint the _community code 2024-03-12 10:52:41 -03:00
Alessio Gravili
b327dd31b7 chore: fix up intellij run configs 2024-03-12 09:40:37 -04:00
Alessio Gravili
da1326a336 chore: eslint perf improvements for test suite, make use of cascading for all eslint configs to minimize duplicative rule 2024-03-12 09:15:38 -04:00
Dan Ribbens
d22cb1dfa7 chore(release): v3.0.0-alpha.46 [skip ci] 2024-03-11 17:33:49 -04:00
James Mikrut
5556915564 Merge pull request #5297 from payloadcms/fix/fixes-schema-path-issues-with-arrays-and-blocks
fix (alpha): fixes schema path issues with arrays and blocks
2024-03-11 17:18:28 -04:00
Paul Popus
4c6fc53ba5 fix (alpha): issues with wrong schemaPath in array and block fields 2024-03-11 18:15:42 -03:00
Alessio Gravili
626b6500de chore: remove deprecation warnings for int & e2e tests 2024-03-11 17:03:50 -04:00
Jacob Fletcher
dbbbb6b921 fix(ui): document drawer permissions (#5296) 2024-03-11 17:03:13 -04:00
Alessio Gravili
d9e3d4dbae Merge remote-tracking branch 'origin/alpha' into alpha 2024-03-11 15:57:43 -04:00
Alessio Gravili
92648de3b4 chore: patch playwright 2024-03-11 15:57:29 -04:00
Jacob Fletcher
4f9e5b9336 fix(ui): table cell links (#5295) 2024-03-11 15:55:44 -04:00
James Mikrut
d55d0ad621 Merge pull request #5279 from payloadcms/chore/alpha-remove-schemaOutputFile
chore (alpha): removes `schemaOutputFile` prop
2024-03-11 15:16:21 -04:00
PatrikKozak
4edbe2aace Merge branch 'alpha' of https://github.com/payloadcms/payload into chore/alpha-remove-schemaOutputFile 2024-03-11 15:10:32 -04:00
Dan Ribbens
ba2702cfca chore(release): v3.0.0-alpha.45 [skip ci] 2024-03-11 14:53:31 -04:00
James
eba1f6327d Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-11 14:41:37 -04:00
James Mikrut
1ba0b4037c Merge pull request #5293 from payloadcms/fix/auth-schema-and-client-side
fix (alpha): `auth.strategies` schema and removal of auth functions from client config
2024-03-11 14:40:43 -04:00
James
49daa75bc4 chore: fixes race condition in payload hmr 2024-03-11 14:39:41 -04:00
PatrikKozak
cd21138b3d Merge branch 'alpha' of https://github.com/payloadcms/payload into chore/alpha-remove-schemaOutputFile 2024-03-11 14:05:33 -04:00
PatrikKozak
fea1eb1149 fix: removes auth strategies & forgotPassword & verify functions from client side 2024-03-11 13:56:50 -04:00
PatrikKozak
9a58f6c454 fix: updates auth schema to match updated auth types 2024-03-11 13:54:54 -04:00
James
66cefe6bb5 chore: removes auth cache, sets overrideAccess false 2024-03-11 12:21:13 -04:00
Jarrod Flesch
23510acf40 chore: sets bg on templates (#5289) 2024-03-10 23:10:37 -04:00
Jarrod Flesch
faa49f36e7 fix(alpha): correctly set redirect route when logout is triggered (#5288) 2024-03-10 22:35:06 -04:00
James
a5fb8b20a1 Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-10 22:18:56 -04:00
James
e14b303609 chore: int tests 2024-03-10 22:18:48 -04:00
Dan Ribbens
2ec3df6680 chore(release): v3.0.0-alpha.44 [skip ci] 2024-03-10 22:07:16 -04:00
Elliot DeNolf
1f4b6001ef chore: run eslint on pre-commit hook 2024-03-10 22:01:15 -04:00
James
6e7c9cc6a3 Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-10 21:56:06 -04:00
James
2db385c6a5 chore: requires drizzle-kit within func 2024-03-10 21:54:31 -04:00
Elliot DeNolf
bd27f48eae test: remove component test suite 2024-03-10 21:19:04 -04:00
Dan Ribbens
98a33250f6 chore(release): v3.0.0-alpha.43 [skip ci] 2024-03-10 21:11:46 -04:00
Elliot DeNolf
8f9729a928 ci: remove component tests 2024-03-10 21:10:19 -04:00
James
1a8564bc35 chore: safely import drizzle-kit 2024-03-10 19:03:15 -04:00
James
76c9632417 Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-10 18:18:32 -04:00
James
2370361b43 chore: stops excluding pino and pino-pretty in webpack config 2024-03-10 18:17:57 -04:00
Dan Ribbens
cb63095d3f chore(release): v3.0.0-alpha.42 [skip ci] 2024-03-10 14:28:05 -04:00
Dan Ribbens
601f2fb450 chore: add building plugins to release 2024-03-10 14:16:45 -04:00
Alessio Gravili
e746f17167 fix: incorrect TypeScript type for getPayload() props, throw proper error if config doesn't exist 2024-03-10 14:14:29 -04:00
James
5f76097562 chore: merge playwright revisions 2024-03-10 14:08:52 -04:00
James Mikrut
03756c4210 Merge pull request #5286 from payloadcms/feat/pre-compile-css
Feat/pre compile css
2024-03-10 14:06:10 -04:00
James
5e1e158414 chore: add exports for css 2024-03-10 14:05:22 -04:00
James
76d2525fd2 chore: cleanup 2024-03-10 13:57:28 -04:00
James
ec8c7e5c2c chore: finishes css pre-compilation 2024-03-10 13:53:37 -04:00
Elliot DeNolf
0a4cbe1a08 chore: remove unused directive 2024-03-10 13:52:48 -04:00
Dan Ribbens
c228421a38 chore(plugin-form-builder): esm imports 2024-03-10 12:12:49 -04:00
Dan Ribbens
a742f82370 chore: plugins peerDependencies payload workspace 2024-03-10 11:43:13 -04:00
Dan Ribbens
213678ca3e chore(plugin-redirects): esm imports 2024-03-10 11:42:14 -04:00
Dan Ribbens
e1b7ad6a71 chore(plugin-nested-docs): esm imports 2024-03-10 11:39:41 -04:00
Dan Ribbens
8b9985a92c chore(plugin-search): payload peer dependency workspace 2024-03-10 11:32:05 -04:00
Dan Ribbens
f276826b09 chore(plugin-search): esm imports 2024-03-10 11:28:54 -04:00
geisterfurz007
8c1df551ef chore: fix typescript hallucinations (#4559) 2024-03-10 01:53:59 -05:00
Akhil Naidu
b62cb157e1 docs: improve naming for afterForgotPassword hook example code (#5062) 2024-03-10 00:23:29 -05:00
Max Morozov
045c74ce67 docs: fix typo (#5052) 2024-03-10 00:13:09 -05:00
madaxen86
911e902da4 feat: add support for displaying AVIF images (#5227) 2024-03-10 00:00:26 -05:00
Alessio Gravili
4e0d90d720 WIP 2024-03-09 18:20:32 -05:00
James
7b62705cc0 chore: restores webpack config, still broken 2024-03-09 15:55:26 -05:00
James
bdf02bebaa chore: adds spawn process to playwright tests as well 2024-03-09 14:53:53 -05:00
James
94aa309910 chore: avoids importing config into playwright tests 2024-03-09 14:41:00 -05:00
Elliot DeNolf
499a0a782a chore: adjust tgz specifier in pnpm lock 2024-03-08 21:05:00 -05:00
Elliot DeNolf
1e5a531a83 ci: add alpha branch to main workflow 2024-03-08 20:57:14 -05:00
Elliot DeNolf
3e6a4073c4 chore(scripts): cleanup release script 2024-03-08 20:56:39 -05:00
Alessio Gravili
e7cb6abd1f chore: add new obliterate-playwright-cache 2024-03-08 19:48:26 -05:00
Dan Ribbens
abfd8841a5 chore(release): v3.0.0-alpha.41 [skip ci] 2024-03-08 17:07:01 -05:00
Dan Ribbens
5e385fa33b fix(db-postgres): postgres dev push schemas 2024-03-08 17:05:10 -05:00
Jarrod Flesch
95688c7e30 chore: more test adjustments 2024-03-08 16:41:03 -05:00
Jarrod Flesch
b041d3e70e chore: fix uploads int suite 2024-03-08 16:41:03 -05:00
Jarrod Flesch
0e91cddab9 chore: fix relationships test 2024-03-08 16:41:03 -05:00
Jarrod Flesch
d3856693ce chore: fixes localization test 2024-03-08 16:41:03 -05:00
Alessio Gravili
40f36104f3 feat(ui): upgrade react-datepicker and date-fns, fix datepicker not working 2024-03-08 16:20:03 -05:00
Dan Ribbens
7215edb784 chore(release): v3.0.0-alpha.40 [skip ci] 2024-03-08 16:07:05 -05:00
PatrikKozak
189be7ce69 Merge branch 'alpha' of https://github.com/payloadcms/payload into chore/alpha-remove-schemaOutputFile 2024-03-08 15:58:45 -05:00
PatrikKozak
28f10ffc25 chore: removes schemaOutputFile prop in alpha 2024-03-08 15:58:37 -05:00
Dan Ribbens
be015320de chore(release): v3.0.0-alpha.39 [skip ci] 2024-03-08 15:57:39 -05:00
Alessio Gravili
a37d53b2e7 fix: lazy imports for DatePicker and CodeEditor 2024-03-08 15:49:40 -05:00
Jarrod Flesch
f43de11121 chore: fixes create view 2024-03-08 15:45:44 -05:00
Jacob Fletcher
4c1129188b Merge pull request #5278 from payloadcms/fix/custom-logout-button
fix(next): ssr custom logout button and icon graphic and narrows client config type
2024-03-08 15:39:00 -05:00
Dan Ribbens
34e04f5251 chore(release): v3.0.0-alpha.37 [skip ci] 2024-03-08 15:33:40 -05:00
Jacob Fletcher
b613d65b36 fix(ui): server renders custom icon 2024-03-08 15:33:27 -05:00
Dan Ribbens
66aec63f6b chore: pnpm lock 2024-03-08 15:32:23 -05:00
James
5b0d18bb3b Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-08 15:31:42 -05:00
James
1c5b43c218 chore: migration fixes 2024-03-08 15:31:35 -05:00
Jacob Fletcher
c78cfb9fcf chore: narrows ClientConfig type 2024-03-08 15:21:52 -05:00
Jacob Fletcher
927d4dd06f fix(ui): server renders custom logout button 2024-03-08 15:19:53 -05:00
Dan Ribbens
afb75ef75a chore(release): v3.0.0-alpha.36 [skip ci] 2024-03-08 15:06:34 -05:00
James
92181866a4 Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-08 15:04:12 -05:00
James
c97805c7f1 chore: type issue 2024-03-08 15:04:05 -05:00
Alessio Gravili
c20a139e58 chore(translations): run prettier after creating translation files 2024-03-08 15:03:24 -05:00
James
4287d1032f chore: build fix 2024-03-08 15:03:08 -05:00
Alessio Gravili
8b784d7c10 chore: remove console log 2024-03-08 14:56:02 -05:00
Alessio Gravili
8895f6420f chore: fix all esm test suite imports 2024-03-08 14:42:24 -05:00
Jarrod Flesch
bb10ed5b7d fix: sync localization data after switching locale (#5277)
Co-authored-by: James <james@trbl.design>
2024-03-08 14:40:23 -05:00
Jacob Fletcher
9dc315dbf3 fix(next): ssr custom providers (#5276) 2024-03-08 14:22:20 -05:00
Jacob Fletcher
677531531f fix: sanitizes root components from client config (#5274) 2024-03-08 14:20:50 -05:00
James
70c89b14a9 chore: builds translations as ts instead of json 2024-03-08 14:14:09 -05:00
Alessio Gravili
7f7c94e0d5 Revert "chore: imports translations in a safer manner"
This reverts commit e12e720a99.
2024-03-08 13:44:03 -05:00
Alessio Gravili
e6f09e42a1 chore: fix tsconfig for tests 2024-03-08 13:12:09 -05:00
Dan Ribbens
f0419b7502 chore(release): v3.0.0-alpha.35 [skip ci] 2024-03-08 12:57:12 -05:00
Dan Ribbens
f01072eb11 chore: test drop db 2024-03-08 12:46:29 -05:00
James
c88102d6cc Merge branch 'alpha' of github.com:payloadcms/payload into alpha 2024-03-08 12:34:01 -05:00
Alessio Gravili
847a2994f9 chore: work on e2e's 2024-03-08 12:33:44 -05:00
James
ab186c0608 chore: functional bin 2024-03-08 12:33:37 -05:00
James
349ae8ed27 chore: progress to client files in bin script 2024-03-08 12:01:58 -05:00
Jarrod Flesch
0066b858d6 fix: simplify searchParams provider, leverage next router properly (#5273) 2024-03-08 11:59:37 -05:00
James
e12e720a99 chore: imports translations in a safer manner 2024-03-08 11:24:25 -05:00
Jacob Fletcher
c17f2e2560 fix(ui): prevents missing entity permissions from crashing buildComponentMap 2024-03-08 11:17:23 -05:00
James
d75bf235bb chore: builds esm register script 2024-03-08 11:16:55 -05:00
Alessio Gravili
881d1e9594 chore: replace all __dirname's in test dir 2024-03-08 11:09:59 -05:00
Will Viles
45a443989a fix(next): missing FormQueryParamsProvider in account view (#5270)
Co-authored-by: Will Viles <will@vil.es>
2024-03-08 11:02:23 -05:00
Alessio Gravili
7880fb402a chore: playwright support (#5262)
* working playwright

* chore: use zipped, local build of playwright instead of patching it

* chore: remove bloat

* chore: get playwright and lexical to work by fixing imports from cjs modules
2024-03-08 10:56:13 -05:00
Jacob Fletcher
ac2f8c9141 fix(ui): prevents missing field permissions from crashing buildComponentMap 2024-03-08 10:32:31 -05:00
Jarrod Flesch
e36e774382 fix: requests without Content-Type failing (#5268) 2024-03-08 09:54:17 -05:00
Dan Ribbens
b1be2dfbf4 chore: add cross-env to dev scripts 2024-03-08 09:41:11 -05:00
mhjmaas
32f3a11bf7 chore(translations): NL mistranslation of crop from "gewas" to "bijsnijden" 2024-03-07 22:59:31 -05:00
Dan Ribbens
7d0c72f92e chore(release): v3.0.0-alpha.34 [skip ci] 2024-03-07 21:56:31 -05:00
Dan Ribbens
27e0e12595 chore: fix type payload-cloud builds 2024-03-07 21:48:14 -05:00
Dan Ribbens
f6ae6b3658 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-03-07 21:46:10 -05:00
James
9e1d633244 chore: fix graphql json import 2024-03-07 21:42:24 -05:00
James
6b28e72686 chore: begins fixing esm bin script 2024-03-07 20:21:35 -05:00
Dan Ribbens
dfd3a06600 chore(release): v3.0.0-alpha.33 [skip ci] 2024-03-07 18:54:35 -05:00
Alessio Gravili
2c35a6f0e1 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-07 18:48:14 -05:00
Alessio Gravili
f956558656 fix(richtext-lexical): error when loading lexical without custom config (so it uses the defaultSanitizedServerEditorConfig), due to error in the cloneDeep function which clones react components. Now, it doesn't clone them anymore. 2024-03-07 18:48:07 -05:00
Dan Ribbens
32fa7006ff chore(release): v3.0.0-alpha.32 [skip ci] 2024-03-07 18:37:20 -05:00
James
95acf71dbf chore: bumps next peer deps 2024-03-07 17:43:02 -05:00
James
5640c27cec chore: bumps bin to cjs 2024-03-07 17:37:18 -05:00
Alessio Gravili
a7c5e4f317 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-07 16:41:26 -05:00
Alessio Gravili
274682e736 chore(eslint-config-payload): disable no-restricted-exports rule for payload config files 2024-03-07 16:41:19 -05:00
Jarrod Flesch
b4b6ab2667 chore: fix version restoration 2024-03-07 16:37:16 -05:00
Jarrod Flesch
bbe9dd6760 chore: adds more translations 2024-03-07 16:37:16 -05:00
Alessio Gravili
2aa7adb3bd chore: get old ts-node scripts to work, replace ts-node with tsx, fix runE2E.ts 2024-03-07 16:35:44 -05:00
James
fb7e671c26 chore: begins work to get playwright working with esm 2024-03-07 16:26:46 -05:00
Alessio Gravili
7420dba0c9 chore: upgrade testing libraries, remove express devDependency 2024-03-07 16:21:14 -05:00
Alessio Gravili
9a059bdce4 chore: undo weird as any removal 2024-03-07 16:11:25 -05:00
Alessio Gravili
50c7269315 chore: replace .d.ts type imports with .js imports, as .d.ts imports break usage checks in the IDE 2024-03-07 16:08:49 -05:00
Alessio Gravili
b4434a369b chore: improve clean commands 2024-03-07 15:49:33 -05:00
Jarrod Flesch
1c945ebfbf chore: add missing translation 2024-03-07 15:45:48 -05:00
Jarrod Flesch
20d0915a03 chore: adjust rest endpoints to use new query property on req 2024-03-07 15:45:48 -05:00
James
21ee94739b chore: jest esm compat 2024-03-07 15:40:39 -05:00
Alessio Gravili
9ebb894694 chore: replace probe-image-size with image-size to reduce bundle size 2024-03-07 15:38:06 -05:00
Alessio Gravili
483db08057 chore: upgrade turborepo to 1.12.5 2024-03-07 15:11:27 -05:00
Jacob Fletcher
3a557998d0 fix(next): completely opts out of router cache 2024-03-07 15:08:54 -05:00
Alessio Gravili
c8322349a0 fix(richtext-lexical): Blocks: generated output schema is not fully correct (#5259) 2024-03-07 15:08:30 -05:00
Jacob Fletcher
75b993bc6b fix(next): account view isEditing prop 2024-03-07 14:17:24 -05:00
Jacob Fletcher
b9db83a741 fix(next): threads isEditing through document info context 2024-03-07 14:01:06 -05:00
Jarrod Flesch
5bbb65b569 chore: fixes DiffMethod imports 2024-03-07 13:55:47 -05:00
Jacob Fletcher
974eedc4dd fix(next): reports globals to events provider 2024-03-07 13:48:36 -05:00
Jacob Fletcher
c38c95dab5 fix(next): adds optional chaining for globals in getDataAndFile 2024-03-07 13:36:50 -05:00
Jacob Fletcher
c3a3446baa fix(next): global api url 2024-03-07 13:36:50 -05:00
Fabian Aggeler
443413c03e fix(richtext-lexical): Link: add open-in-new-tab to html converter 2024-03-07 13:33:31 -05:00
Dan Ribbens
0c56f420d5 chore(ecommerce-template): fix duplicate cart update calls (#5228) 2024-03-07 13:33:10 -05:00
Ed
f66bcb22c4 chore(next): updated auth API status codes for improved error handling (#5254) 2024-03-07 13:28:41 -05:00
James
b44d59a303 chore: adds script to analyze bundle 2024-03-07 13:01:53 -05:00
Jacob Fletcher
dbe382f91e fix(ui): document info types 2024-03-07 12:59:07 -05:00
Jacob Fletcher
1d4ec9cd71 chore(next): moves document info provider from root to page 2024-03-07 12:54:49 -05:00
Alessio Gravili
36f88b198c fix(ui): ID field Cell component not being displayed 2024-03-07 12:27:43 -05:00
James
e2ca80a33f chore: fixes usage of NextLink in nav 2024-03-07 12:12:21 -05:00
James
c08f981224 chore: simplifies logs 2024-03-07 12:10:11 -05:00
Dan Ribbens
846f59974c chore(release): v3.0.0-alpha.31 [skip ci] 2024-03-07 12:06:51 -05:00
Jarrod Flesch
5e368f486a chore: esm fixes in _community test dir 2024-03-07 12:03:02 -05:00
Jarrod Flesch
42eed07dfd chore: moves file handler into catch all GET rest handler 2024-03-07 12:02:44 -05:00
Dan Ribbens
fcd647832c chore(release): v3.0.0-alpha.30 [skip ci] 2024-03-07 11:43:53 -05:00
Dan Ribbens
06d30f0182 chore: dependency file lock 2024-03-07 11:36:13 -05:00
James
c6c5b2e682 chore: safely uses deepMerge 2024-03-07 11:33:46 -05:00
James
5431a84f37 chore: safely accesses more dependencies 2024-03-07 11:04:27 -05:00
Jacob Fletcher
764c6f0086 chore(ui): react-animate-height esm imports 2024-03-07 10:55:26 -05:00
Jarrod Flesch
7f48c5c0e5 chore: fixes esm next/link imports 2024-03-07 10:54:36 -05:00
James
bd66cda0ee chore: safely accesses bson-objectid within both ts and webpack 2024-03-07 10:54:27 -05:00
James
030ddbe12f chore: move to lexical for local testing 2024-03-07 10:37:48 -05:00
James
60e3b21596 chore: builds 2024-03-07 10:23:12 -05:00
James
647e0236bb chore: removes unused dependencies 2024-03-07 10:12:38 -05:00
James
83c0b8b96e chore: removes webpack build script from next package 2024-03-07 10:11:30 -05:00
James
4d2f1ca10e chore: fixes esm dependency imports 2024-03-07 10:10:44 -05:00
Jarrod Flesch
678a617b0b chore: esm fixes for GenerateViewMetadata 2024-03-07 10:07:12 -05:00
Jacob Fletcher
b88d78a7e5 chore(next): more esm imports 2024-03-07 10:03:18 -05:00
Jarrod Flesch
3d4092ee3e chore: esm createFirstUser 2024-03-07 10:00:28 -05:00
Kendell Joseph
0306a79a37 chore: updates imports for ESM 2024-03-07 09:56:19 -05:00
PatrikKozak
539503f766 chore: converts more files in ui package to esm 2024-03-07 09:55:51 -05:00
Jarrod Flesch
e06022e4d4 chore: partial esm conversion of next package 2024-03-07 09:54:18 -05:00
James
afb93eda2c chore: restores submit 2024-03-07 09:54:11 -05:00
James
6d2f5fcb60 chore: converts some files to esm 2024-03-07 09:54:11 -05:00
Alessio Gravili
1fb37aec25 providers 2024-03-07 09:53:34 -05:00
Alessio Gravili
5174662fe8 providers up to Locale 2024-03-07 09:46:53 -05:00
Alessio Gravili
e47bafce29 ui/src/elements -> H through S, ui/src/utilities 2024-03-07 09:43:17 -05:00
Jacob Fletcher
7cf68a4b68 chore(next): esm imports 2024-03-07 09:29:16 -05:00
James
694d5d92b7 chore: begins next / ui esm transform 2024-03-07 09:03:08 -05:00
Jacob Fletcher
83d9d98ba3 fix(next): clears document info id when creating new 2024-03-06 23:12:02 -05:00
Jacob Fletcher
cf3d0fe78d fix(next): redirect after create 2024-03-06 22:36:57 -05:00
Jacob Fletcher
56aaf52430 fix(next): field read permissions 2024-03-06 22:15:21 -05:00
Dan Ribbens
40696ddea7 chore(release): v3.0.0-alpha.29 [skip ci] 2024-03-06 19:35:37 -05:00
Alessio Gravili
38d2dc8c8e Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-06 19:32:32 -05:00
Alessio Gravili
69346c5b3e feat(eslint-config-payload): add no-restricted-exports to discourage default exports 2024-03-06 19:32:10 -05:00
James
a2aa527f50 chore: removes default exports from slate 2024-03-06 19:29:04 -05:00
Alessio Gravili
b2ae40c8c8 chore(richtext-lexical): replace all default exports with named exports 2024-03-06 19:15:43 -05:00
Alessio Gravili
11498dcc7f chore(richtext-slate): use normal exports for field and cell components 2024-03-06 18:54:36 -05:00
Alessio Gravili
140d5242cf fix: react-animate-height issues for esm 2024-03-06 18:36:18 -05:00
Dan Ribbens
e3dff56479 chore(release): v3.0.0-alpha.28 [skip ci] 2024-03-06 18:08:11 -05:00
Alessio Gravili
0fb7666b97 chore: add tsconfig to prettierignore, because tsconfig is being overwritten by a script, then overwritten by prettier again, then overwritten by a script,... endlessly 2024-03-06 18:07:21 -05:00
James
5c06de6abc chore: dev script adjustments 2024-03-06 18:05:58 -05:00
James
582a609d27 chore: removes payload packages from serverComponentsExternalPackages 2024-03-06 18:02:23 -05:00
Alessio Gravili
ec3d25e64e fix: esm fixes 2024-03-06 17:48:01 -05:00
Alessio Gravili
740c7510ea Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-06 16:56:38 -05:00
Alessio Gravili
c9f6c707ac fix(richtext-lexical): error rendering clickableLink or RichTextPlugin components 2024-03-06 16:56:32 -05:00
Dan Ribbens
667eee07b1 chore(release): v3.0.0-alpha.27 [skip ci] 2024-03-06 16:53:19 -05:00
Alessio Gravili
deba38ab60 chore(translations): exclude all folder from eslint 2024-03-06 16:49:15 -05:00
James
25e44e54fb chore(release): v3.0.0-alpha.26 [skip ci] 2024-03-06 16:45:04 -05:00
James
62a2341ab4 chore: builds translations without swc 2024-03-06 16:42:55 -05:00
Jacob Fletcher
53b465b7bb fix(ui): wires delete document 2024-03-06 16:08:41 -05:00
Jarrod Flesch
fc6a3282ad chore: remove old import 2024-03-06 16:08:21 -05:00
Dan Ribbens
cecd1ccc96 chore(release): v3.0.0-alpha.25 [skip ci] 2024-03-06 16:03:46 -05:00
James
439987c149 chore: fixes types 2024-03-06 16:01:54 -05:00
James
61279ac119 chore: removes unused import 2024-03-06 16:00:08 -05:00
James
ca2fbf5cdf chore: build 2024-03-06 15:56:13 -05:00
Dan Ribbens
d3129224bd chore(release): v3.0.0-alpha.24 [skip ci] 2024-03-06 15:44:49 -05:00
Jarrod Flesch
57625b26c9 chore: adds strictNullHandling to query parsing 2024-03-06 15:42:46 -05:00
Jarrod Flesch
e345009e0a Merge branch 'feat/next/qs' into feat/next-poc 2024-03-06 15:40:51 -05:00
Jacob Fletcher
41f5071d7f fix(next): ssr document title 2024-03-06 15:39:02 -05:00
James
623969be82 chore: updates swcrc for keepImportAssertions 2024-03-06 15:37:19 -05:00
James
d106037f42 chore: wepback dev works, turbo still not 2024-03-06 15:30:24 -05:00
Dan Ribbens
a9f1b3eea9 chore(release): v3.0.0-alpha.23 [skip ci] 2024-03-06 15:17:30 -05:00
James Mikrut
a1f1067063 Merge pull request #5253 from payloadcms/feat/next-esm
Feat/next esm
2024-03-06 15:13:25 -05:00
PatrikKozak
f57dda5d09 Merge branch 'feat/next-esm' of https://github.com/payloadcms/payload into feat/next-esm 2024-03-06 15:10:22 -05:00
Alessio Gravili
93acb8b163 chore(richtext-lexical): it builds 2024-03-06 15:08:03 -05:00
PatrikKozak
4f32ab4421 Merge branch 'feat/next-esm' of https://github.com/payloadcms/payload into feat/next-esm 2024-03-06 15:05:28 -05:00
PatrikKozak
c52736372a chore: updates richtext-slate imports to ESM 2024-03-06 15:05:04 -05:00
PatrikKozak
eca11bc064 chore: updates plugin-seo imports to ESM 2024-03-06 15:03:56 -05:00
PatrikKozak
093fd2d638 chore: updates plugin-cloud-storage imports to ESM 2024-03-06 15:02:56 -05:00
PatrikKozak
194fb44fb5 chore: updates plugin-cloud imports to ESM 2024-03-06 15:01:33 -05:00
James
0c032d69ee chore: ui and next now build w/ bundler specification 2024-03-06 15:00:33 -05:00
James
b2219d879f chore: fixes package compat 2024-03-06 14:57:30 -05:00
James
304cf9d797 chore: proper tsconfig 2024-03-06 14:57:30 -05:00
Alessio Gravili
29963a04fc Merge remote-tracking branch 'origin/feat/next-esm' into feat/next-esm 2024-03-06 14:56:08 -05:00
Alessio Gravili
dff80d8276 chore(richtext-lexical): fixes 2024-03-06 14:56:02 -05:00
Tylan Davis
f33bb0d73f chore: updates live-preview imports for ESM 2024-03-06 14:53:54 -05:00
Tylan Davis
be09dd41fa chore: updates graphql imports for ESM 2024-03-06 14:53:02 -05:00
Dan Ribbens
36b12b645b Merge branch 'feat/next-esm' of github.com:payloadcms/payload into feat/next-esm 2024-03-06 14:49:00 -05:00
Dan Ribbens
bea15771b9 chore: fix utilities imported function calls 2024-03-06 14:48:46 -05:00
James
8c2cbce4a4 chore: esm 2024-03-06 14:48:02 -05:00
James
9674f4e739 chore: esm-ify payload 2024-03-06 14:48:02 -05:00
Alessio Gravili
137952af73 chore(richtext-lexical): migrate remaining stuff to esm 2024-03-06 14:46:10 -05:00
Dan Ribbens
66dcb1020a chore: import extensions added in uploads and utilities 2024-03-06 14:37:00 -05:00
Alessio Gravili
829d19dfc2 chore(richtext-lexical): migrate imports to esm 2024-03-06 14:26:50 -05:00
Jarrod Flesch
c73159d2d0 chore: adds qs, adds query to createPayloadRequest 2024-03-06 14:26:21 -05:00
Tylan Davis
4159fae8c9 chore: updates translations imports for ESM 2024-03-06 14:22:49 -05:00
Kendell Joseph
bff045fff2 chore: updates db-postgres imports for ESM 2024-03-06 14:19:13 -05:00
Kendell Joseph
3090e7c163 chore: updates db-mongodb imports for ESM 2024-03-06 14:19:13 -05:00
Alessio Gravili
38798aec73 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-esm 2024-03-06 13:33:12 -05:00
Alessio Gravili
bc7a69044b chore: add proper eslint types 2024-03-06 13:30:13 -05:00
Jacob Fletcher
ee6512567e fix(next): not found meta 2024-03-06 13:27:46 -05:00
James
1b7ded4560 chore: updates tsconfig to use NodeNext rather than Bundler 2024-03-06 13:10:13 -05:00
Jacob Fletcher
e9abe63b47 fix(next): 404 handling 2024-03-06 13:02:43 -05:00
Alessio Gravili
b70bf81d6c chore: fix all eslint configs to work with esm 2024-03-06 12:48:15 -05:00
Dan Ribbens
410fddbf7f chore(release): v3.0.0-alpha.22 [skip ci] 2024-03-06 12:46:13 -05:00
Dan Ribbens
c0c9026da6 chore(release): v3.0.0-alpha.21 [skip ci] 2024-03-06 12:38:58 -05:00
James
f76e534b64 chore: corrects translations build script 2024-03-06 12:37:52 -05:00
James
468148ceb2 chore: fixes jest config to esm 2024-03-06 12:28:14 -05:00
Dan Ribbens
cc69cac29e chore(release): v3.0.0-alpha.20 [skip ci] 2024-03-06 12:24:25 -05:00
Dan Ribbens
19d2a4d1cd chore: esm compatible scripts 2024-03-06 12:24:25 -05:00
James
a7dcdc8df2 chore: builds payload to esm 2024-03-06 12:23:00 -05:00
James
7815d5ac5d chore: successful build 2024-03-06 11:57:24 -05:00
James
23051db54a chore: converts dev script from cjs to esm 2024-03-06 11:38:26 -05:00
James
f51434880f chore: add type: module to all packages 2024-03-06 11:27:45 -05:00
Alessio Gravili
87d5b4d3af chore(plugin-seo): adjust prepublishOnly script 2024-03-06 11:26:52 -05:00
Dan Ribbens
dd335ac75b chore(release): v3.0.0-alpha.19 [skip ci] 2024-03-06 11:18:06 -05:00
Jarrod Flesch
16d5e5f906 chore: simplifies serverSideProps on document views 2024-03-06 11:13:41 -05:00
James
42114a3680 chore: adds db-postgres to serverComponentsExternalPackages 2024-03-06 11:09:41 -05:00
James
e7adaecb0f chore: converts bin script to commonjs, which imports esm 2024-03-06 11:06:14 -05:00
James
9818f3df46 chore: builds to esm 2024-03-06 10:59:27 -05:00
Dan Ribbens
ca832a01cb chore(release): v3.0.0-alpha.18 [skip ci] 2024-03-06 10:46:17 -05:00
Jacob Fletcher
aaa2b204ba fix(next): uses correct global slug in getViewsFromConfig 2024-03-06 09:56:19 -05:00
Alessio Gravili
78bf9e5993 feat(plugin-seo): working plugin-seo 2024-03-06 09:50:37 -05:00
Alessio Gravili
8be0296fc1 fix(translations): translations variable not resolved if provided value is 0 (the number, not null) 2024-03-06 09:48:55 -05:00
Alessio Gravili
26cd741c04 fix: payload cache: set cached.reload to false immediately to prevent parallel reloads from unnecessarily performing the reload 2024-03-05 18:56:18 -05:00
Alessio Gravili
bf655b3327 fix: make sure schemaPath of Edit View updates when switching collections 2024-03-05 18:55:32 -05:00
Jacob Fletcher
1793b37adc fix(next): field permissions 2024-03-05 16:39:53 -05:00
Dan Ribbens
d0ffe85abb chore(release): v3.0.0-alpha.16 [skip ci] 2024-03-05 16:28:45 -05:00
James
f9f7dcfc58 chore: attempts to build to es6 instead of commonjs for next / ui 2024-03-05 16:27:48 -05:00
Dan Ribbens
f06257e7ff chore(release): v3.0.0-alpha.15 [skip ci] 2024-03-05 16:13:34 -05:00
James
e490f0bce6 chore: attempts to abstract sharp to optional dependency 2024-03-05 16:12:17 -05:00
Dan Ribbens
770c7173ec chore(release): v3.0.0-alpha.14 [skip ci] 2024-03-05 15:57:54 -05:00
Dan Ribbens
661ab4867b chore(release): v3.0.0-alpha.13 [skip ci] 2024-03-05 15:55:14 -05:00
James
9ee3b5aae6 chore: rolls back simplificaiton to root layout 2024-03-05 15:45:30 -05:00
Jarrod Flesch
d202256c30 chore: fix locale setter 2024-03-05 15:39:26 -05:00
James
b8856d4ef7 Merge branch 'feat/server-hmr' into feat/next-poc 2024-03-05 15:35:32 -05:00
James
e1294ac210 chore: removes console log 2024-03-05 15:19:16 -05:00
James
b0edd2d137 chore: finishes pattern for server hmr 2024-03-05 15:18:36 -05:00
Jarrod Flesch
0d0e9bc953 chore: thread missing Link components to Button 2024-03-05 15:17:36 -05:00
James
2576291d9f chore: refactors layout / root page 2024-03-05 14:37:40 -05:00
James
d2aab87faa chore: server hmr 2024-03-05 14:24:05 -05:00
Jacob Fletcher
c2509b462c chore(next): wires create first user 2024-03-05 11:42:20 -05:00
Jarrod Flesch
0e378be769 chore: opt out of caching getGraphql and getFieldSchemaMap 2024-03-05 09:25:42 -05:00
James
2785eaab21 chore: adds @payloadcms/db-mongodb to serverComponentsExternalPackages 2024-03-04 22:39:17 -05:00
James
8a10fd1547 chore: rolls back payload sharp version 2024-03-04 20:29:28 -05:00
James
8f8ed817fb chore: attempts turbopack-safe Schema access from mongoose 2024-03-04 17:42:04 -05:00
Alessio Gravili
7a150254fe chore: remove console log 2024-03-04 17:14:43 -05:00
Alessio Gravili
9612a4a781 chore: fix conflicting UI export (Upload => UploadField) 2024-03-04 17:07:45 -05:00
Alessio Gravili
249b233dc2 chore: revert to working next.js version 2024-03-04 17:05:51 -05:00
Jarrod Flesch
c4d4a9b47b chore: bump next, simplify i18n types 2024-03-04 17:04:05 -05:00
Dan Ribbens
a55e991bfa chore: fix read migration require regression 2024-03-04 17:02:22 -05:00
Alessio Gravili
610276f66b Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-04 16:56:22 -05:00
Alessio Gravili
de99aabf7f feat: separate Input from Upload, Text & TextArea fields, get plugin-seo to load without errors 2024-03-04 16:56:14 -05:00
Elliot DeNolf
40a0a0083f chore(create-payload-app): init-next now create payload config and modifies tsconfig.json (#5242) 2024-03-04 16:55:43 -05:00
James
56ecd2ac14 chore: fix next config 2024-03-04 16:51:14 -05:00
James
4617d58b6a chore: exports withPayload in a more versatile way 2024-03-04 16:46:31 -05:00
James
98aeff2f3e chore: rolls back next config testing 2024-03-04 16:46:31 -05:00
James
f2239decca chore: abstracts next get route 2024-03-04 16:46:31 -05:00
Jacob Fletcher
36bd25a9cc chore(next): exports view base classes 2024-03-04 16:38:06 -05:00
Jarrod Flesch
933ae663f0 chore: e2e improvements 2024-03-04 16:22:15 -05:00
Dan Ribbens
a08674f708 test: database int 2024-03-04 15:58:56 -05:00
Jacob Fletcher
7fe0855932 chore(next): wires document events provider 2024-03-04 15:48:37 -05:00
Elliot DeNolf
d7594c4a1c chore(release): v3.0.0-alpha.12 [skip ci] 2024-03-04 15:43:40 -05:00
Elliot DeNolf
d9c8fa6043 chore: fix lexical formstate types 2024-03-04 15:43:23 -05:00
Alessio Gravili
4140d3084e chore: update pnpm lock 2024-03-04 15:36:39 -05:00
Alessio Gravili
93d3c9c657 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-04 15:21:35 -05:00
Alessio Gravili
3433f1224a chore(plugin-cloud-storage): fix build command 2024-03-04 15:21:29 -05:00
Jacob Fletcher
95ac686f04 chore: flattens meta into single function 2024-03-04 15:11:23 -05:00
James
ae8d11825a chore: installs sass as dependency in next package 2024-03-04 14:59:32 -05:00
Alessio Gravili
ece796432a chore(plugin-seo): prettier, lint, adjust package.json 2024-03-04 14:40:45 -05:00
Alessio Gravili
995ae21075 chore: remove useless mock file 2024-03-04 14:37:55 -05:00
Alessio Gravili
4a2d52717c feat: maybe-working plugin-cloud 2024-03-04 14:36:00 -05:00
Dan Ribbens
c0a07a6144 chore: validate schema moved from loadConfig to init 2024-03-04 14:30:38 -05:00
Jarrod Flesch
b14560c07d chore: more e2e linting 2024-03-04 14:24:28 -05:00
Jarrod Flesch
5de7d7f882 chore: test improvements and fixes 2024-03-04 14:24:28 -05:00
Alessio Gravili
a4ae3b223c chore: add @payloadcms/plugin-cloud to tsconfig 2024-03-04 14:22:24 -05:00
Alessio Gravili
383571ef05 chore(plugin-cloud-storage): upgrade azure emulator azurite to latest supported version 2024-03-04 14:17:12 -05:00
Alessio Gravili
7e5459cc62 chore: fix plugin-cloud-storage int tests 2024-03-04 14:11:09 -05:00
Alessio Gravili
caa8d9c0ed feat: working @payloadcms/plugin-cloud-storage 2024-03-04 14:08:43 -05:00
Jarrod Flesch
df887dc0e9 chore: fix autologin and redirect 2024-03-04 13:46:16 -05:00
James
262e3bbee2 chore: types update 2024-03-04 12:25:44 -05:00
Jacob Fletcher
87463c7e70 fix: admin view props 2024-03-04 12:15:30 -05:00
Dan Ribbens
2dc3e9af5e test: fix hooks int 2024-03-04 12:12:29 -05:00
Jarrod Flesch
d1de99d48d chore: fix EditViewProps import path in e2e 2024-03-04 12:08:12 -05:00
Jarrod Flesch
db87a06cfd fix: updates incorrect e2e import paths 2024-03-04 12:05:21 -05:00
Dan Ribbens
fab38c1f4e test: startMemoryDB with replica set 2024-03-04 12:03:29 -05:00
James
298dbfb0e0 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-03-04 12:02:29 -05:00
James
b978517945 chore: fixes dynamic meta import paths 2024-03-04 12:02:23 -05:00
Alessio Gravili
5c55449a87 chore: add @payloadcms/plugin-cloud-storage to tsconfig path 2024-03-04 12:00:29 -05:00
Alessio Gravili
78425d1947 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-04 11:58:29 -05:00
Alessio Gravili
55529eb493 chore: add back admin redirect, thanks Jarrod 2024-03-04 11:58:23 -05:00
Elliot DeNolf
06b2d907b6 chore(release): v3.0.0-alpha.11 [skip ci] 2024-03-04 11:53:26 -05:00
Jacob Fletcher
f54d96d916 chore: moves view related types to payload core 2024-03-04 11:51:58 -05:00
Jacob Fletcher
2c3da88b44 chore: consolidates server-side edit view props 2024-03-04 11:51:58 -05:00
Alessio Gravili
a90b7a65de Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-04 11:44:01 -05:00
Alessio Gravili
7ef0a5a550 chore: disable annoying deprecation warnings in other scripts 2024-03-04 11:43:56 -05:00
Elliot DeNolf
5433ea0762 chore(release): v3.0.0-alpha.10 [skip ci] 2024-03-04 11:42:20 -05:00
Jarrod Flesch
7162fd61fc chore: add exports for ui package, needed for e2e playwright 2024-03-04 11:38:34 -05:00
Jarrod Flesch
d4271cf618 chore: adjust lexical import paths to use @payloadcms/ui package import 2024-03-04 11:38:34 -05:00
James
cc7dbb19a5 chore: removes ts extensions from imports 2024-03-04 11:30:31 -05:00
Alessio Gravili
5381a23140 chore: silence very annoying node punycode deprecation warningd 2024-03-04 11:19:19 -05:00
Alessio Gravili
7bcffb9424 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-04 11:13:49 -05:00
Alessio Gravili
2fde4767a0 fix: file upload error due to undefined value in busboy.write() 2024-03-04 11:13:36 -05:00
Elliot DeNolf
2f6b0861d9 ci: split out plugins from core-build step 2024-03-04 11:12:54 -05:00
Dan Ribbens
c83eeefeb2 chore: release script tag and commit as default 2024-03-04 11:01:42 -05:00
Dan Ribbens
807227911a chore(release): v3.0.0-alpha.8 2024-03-04 11:01:22 -05:00
Dan Ribbens
db71c89e35 chore: turbo disable cache clean 2024-03-04 10:52:13 -05:00
Jacob Fletcher
8b29723317 chore: renames pages to views 2024-03-04 10:07:44 -05:00
Alessio Gravili
bef3ebf9cc Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-04 10:04:12 -05:00
Alessio Gravili
061e021cd4 chore(plugin-cloud-storage): remove outdated dev folder, lint & prettier, 2024-03-04 10:04:06 -05:00
Elliot DeNolf
55728fe332 chore: pin to workspace version of payload for peer deps 2024-03-04 10:02:27 -05:00
Alessio Gravili
b1b04c7e35 chore: add missing 'use client' in fields test suite 2024-03-04 09:55:19 -05:00
Elliot DeNolf
5b86a8d7c9 ci: adjust whitelist of release script 2024-03-04 09:51:22 -05:00
Alessio Gravili
44a7a5e692 chore(richtext-lexical): fix failing int test due to usage of old GraphQL client 2024-03-04 09:44:13 -05:00
Alessio Gravili
da33c80735 fix(richtext-lexical): handle payload objects for html converters properly 2024-03-04 09:39:57 -05:00
James
25935abf3a chore: redirect unauthenticated users 2024-03-04 09:36:42 -05:00
James
93e7914a86 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-03-04 09:33:23 -05:00
James
36231b88db chore: adds custom scss import 2024-03-04 09:33:18 -05:00
Jarrod Flesch
14c1ecd515 chore: adjust classnames 2024-03-04 08:51:45 -05:00
Jarrod Flesch
dd38e11a5d chore: fix verify route routing 2024-03-04 08:34:13 -05:00
Jarrod Flesch
9572bdcbf9 chore: cleans up root routing 2024-03-04 08:33:12 -05:00
James
9ad0efd85b chore: fixes bad imports 2024-03-03 13:08:16 -05:00
Elliot DeNolf
399b799002 ci: update release script 2024-03-03 13:01:59 -05:00
Elliot DeNolf
48fbedd8ee chore: remove incorrect package.json 2024-03-03 12:59:49 -05:00
Elliot DeNolf
a85dba8b49 chore: bump versions 2024-03-03 12:58:51 -05:00
Elliot DeNolf
64240bf70a chore: add release:alpha npm script 2024-03-02 15:45:35 -05:00
James
cd06011b5e Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-03-02 14:17:35 -05:00
James
4d29b74c29 chore: removes old unused files 2024-03-02 14:17:23 -05:00
Jarrod Flesch
e5a12ade90 chore: dynamically render all views with segment route 2024-03-02 01:55:19 -05:00
James
981fb7f330 chore: working poc for single admin view 2024-03-01 19:29:34 -05:00
James
7851cb81bb chore: renders Account within DefaultTemplate 2024-03-01 16:37:16 -05:00
James
4e586bf31f chore: poc for flattening routes 2024-03-01 16:34:48 -05:00
Elliot DeNolf
9860f1eb68 chore: update clean and clean:cache scripts 2024-03-01 16:33:54 -05:00
Alessio Gravili
9397f38929 fix(richtext-lexical): pass through correct lexical config in adapter 2024-03-01 16:18:25 -05:00
Alessio Gravili
540943109b chore: get fields test suite to run 2024-03-01 16:12:33 -05:00
James
73dee79a4c Merge branch 'feat/flatten-ui-routes' of github.com:payloadcms/payload into feat/flatten-ui-routes 2024-03-01 16:06:14 -05:00
James
894f8b8c77 chore: progress 2024-03-01 16:06:07 -05:00
Jarrod Flesch
056e24a653 chore: stub out required routes 2024-03-01 16:05:34 -05:00
Elliot DeNolf
4045bbb1bc ci: add feat/next-poc to build on push 2024-03-01 16:01:35 -05:00
Jarrod Flesch
2634557def chore: redirect user after login 2024-03-01 15:58:10 -05:00
Alessio Gravili
2af3d5b8b1 chore: add missing devDependencies 2024-03-01 15:58:10 -05:00
Elliot DeNolf
a9ea1b84cc chore(plugin-seo): fix import 2024-03-01 15:58:10 -05:00
Alessio Gravili
10fc2495cd chore(plugin-seo): include translations and ui 2024-03-01 15:58:10 -05:00
Alessio Gravili
e9f5e593ce chore: actually fix validations int test suite 2024-03-01 15:58:10 -05:00
Alessio Gravili
eec98c9674 chore: fix validations int test suite 2024-03-01 15:58:10 -05:00
Alessio Gravili
0fddeebbc6 chore: remove duplicate import from auth test suite 2024-03-01 15:58:10 -05:00
Alessio Gravili
125e9312c1 chore: correctly import lexical stuff in test suite 2024-03-01 15:58:10 -05:00
Jarrod Flesch
e6a305026d chore: redirect user after login 2024-03-01 15:56:53 -05:00
James
f5cf7c0ca7 chore: begins flattening admin ui pages 2024-03-01 15:54:47 -05:00
Alessio Gravili
4a903371ac chore: add missing devDependencies 2024-03-01 15:52:11 -05:00
Elliot DeNolf
13777c8773 chore(plugin-seo): fix import 2024-03-01 15:50:43 -05:00
Alessio Gravili
b38b749438 chore(plugin-seo): include translations and ui 2024-03-01 15:44:58 -05:00
Alessio Gravili
ff68a9f508 chore: actually fix validations int test suite 2024-03-01 15:38:45 -05:00
Alessio Gravili
4767ba6b9c chore: fix validations int test suite 2024-03-01 15:30:38 -05:00
Alessio Gravili
d7467d9b8e chore: remove duplicate import from auth test suite 2024-03-01 15:21:46 -05:00
Alessio Gravili
ab11081276 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-01 15:18:54 -05:00
Alessio Gravili
1e280928d8 chore: correctly import lexical stuff in test suite 2024-03-01 15:18:48 -05:00
James
e245689b85 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-03-01 15:16:52 -05:00
James
bd31694850 chore: updates app folder types / etc 2024-03-01 15:16:41 -05:00
Jacob Fletcher
97437838f8 chore(next): wires view actions (#5226) 2024-03-01 15:14:43 -05:00
Alessio Gravili
2c226a9c83 chore: _community test suite: remove rate limit config property 2024-03-01 15:11:58 -05:00
Alessio Gravili
7a06721e16 fix(richtext-lexical): Type issues 2024-03-01 15:09:23 -05:00
Alessio Gravili
ae0dd7b9c0 feat(richtext-lexical): working Cell 2024-03-01 15:03:18 -05:00
James
28d83c1e11 chore: merge 2024-03-01 14:47:48 -05:00
James
589d49af30 chore: attempts pre-building next 2024-03-01 14:47:21 -05:00
Alessio Gravili
9283e367b1 feat(richtext-lexical): uploads 2024-03-01 14:46:57 -05:00
Alessio Gravili
37fa2f8431 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-01 14:07:21 -05:00
Alessio Gravili
a3ffb80344 feat(richtext-lexical): relationships 2024-03-01 14:07:12 -05:00
Elliot DeNolf
5c0ffae67a chore(scripts): enable eslint for scripts/ 2024-03-01 14:06:24 -05:00
James
a216af40dc Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-03-01 13:46:55 -05:00
James
51e2fffe7e chore: moves sharp to peer dependencies of payload 2024-03-01 13:46:46 -05:00
Alessio Gravili
b6af5dcb3a feat(richtext-lexical): paragraph feature 2024-03-01 13:44:57 -05:00
Jarrod Flesch
2aa943bef2 chore: staticaly import edit tab views 2024-03-01 13:39:54 -05:00
Alessio Gravili
27ea4f76f0 feat(richtext-lexical): slateToLexicalFeature 2024-03-01 13:38:39 -05:00
Jarrod Flesch
1a4b6a66ae chore: imports react into buildColumns 2024-03-01 13:12:50 -05:00
Alessio Gravili
cf14b32355 feat(richtext-lexical): lexicalPluginToLexical 2024-03-01 13:04:58 -05:00
Jarrod Flesch
707c5cba41 chore: fix hiddenInput export 2024-03-01 13:01:00 -05:00
Jarrod Flesch
c803f92104 chore: fix imports from exports 2024-03-01 12:57:22 -05:00
Jarrod Flesch
96d5d025dc feat: wire in preview sizes (#5223) 2024-03-01 12:53:05 -05:00
James
91061235d8 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-03-01 12:40:56 -05:00
James
105ce757d0 chore: corrects exports for slate package 2024-03-01 12:40:47 -05:00
Jacob Fletcher
031b3a9f51 fix(ui): auto theme 2024-03-01 12:35:51 -05:00
James
1fa9ea7a0e chore: corrects useTranslation import 2024-03-01 12:33:57 -05:00
James
641ede20f3 chore: adds withPayload export 2024-03-01 12:27:43 -05:00
James
b5051008e3 chore: corrects exports for payload, react toastify import 2024-03-01 12:19:35 -05:00
James
4eabb97821 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-03-01 12:08:12 -05:00
James
76bf1bde87 chore: corrects relative imports 2024-03-01 12:08:05 -05:00
Jarrod Flesch
dfe5591822 chore: moves toastify scss file to layout file 2024-03-01 11:50:44 -05:00
Jacob Fletcher
b27d86c1a5 chore(ui): removes all instances of react-router-dom 2024-03-01 11:27:00 -05:00
Jarrod Flesch
c7b064c751 chore: fix list cell components without values 2024-03-01 11:22:28 -05:00
James
06a3d0e500 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-03-01 11:14:14 -05:00
James
1ffe3c4813 chore: corrects payload import to validations 2024-03-01 11:14:09 -05:00
Elliot DeNolf
a8c99d7594 chore: fix ui package build, richtext-slate reference 2024-03-01 10:40:23 -05:00
Elliot DeNolf
144e13245a chore: fix graphql package 2024-03-01 10:40:23 -05:00
Alessio Gravili
4ea0c7e875 feat(richtext-lexical): slateToLexical 2024-03-01 10:02:01 -05:00
Alessio Gravili
d38bbd9603 feat(richtext-lexical): lists 2024-03-01 09:54:02 -05:00
Jarrod Flesch
881a502cbc chore: remove outdated config properties (#5221) 2024-03-01 09:36:38 -05:00
James
cbecd918fc Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-03-01 09:30:49 -05:00
James
ff0044229a chore: merge 2024-03-01 09:30:37 -05:00
Alessio Gravili
175924d705 feat(richtext-lexical): indents 2024-03-01 09:29:52 -05:00
James
26c138908a chore: makes copy of scss for each package that needs it 2024-03-01 09:29:46 -05:00
Alessio Gravili
fd93a10376 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-03-01 09:24:11 -05:00
Alessio Gravili
486b3a1f44 feat(richtext-lexical): headings 2024-03-01 09:24:03 -05:00
Jacob Fletcher
cd63722e5e fix(ui): infinite rendering in document drawer 2024-03-01 09:17:24 -05:00
Jacob Fletcher
e75917a4d3 chore: sanitizes admin.preview from client config 2024-03-01 08:16:02 -05:00
Jacob Fletcher
b288bcbc18 chore(next): leave without saving (#5217) 2024-03-01 01:40:00 -05:00
Jarrod Flesch
5b2b104e37 feat: upload images rendering properly in admin panel (#5215) 2024-03-01 00:44:42 -05:00
Alessio Gravili
e9f2216f84 chore: update @faceless-ui/modal in all packages 2024-02-29 22:39:37 -05:00
Alessio Gravili
7d7d098efa feat(richtext-lexical): format features 2024-02-29 22:31:14 -05:00
Alessio Gravili
59494833b7 feat(richtext-lexical): treeview 2024-02-29 21:50:41 -05:00
Alessio Gravili
ddc059713d feat(richtext-lexical): testrecorder 2024-02-29 21:48:10 -05:00
Alessio Gravili
009703fabe feat(richtext-lexical): html converter 2024-02-29 21:44:21 -05:00
Alessio Gravili
b3b5f1b584 chore(richtext-lexical): make migrations feature folders lower-case 2024-02-29 21:37:21 -05:00
Alessio Gravili
7771f30270 chore(richtext-lexical): make feature folders lower-case 2024-02-29 21:36:27 -05:00
Alessio Gravili
8a26dddd08 chore: rename folders to make git recognize case changes 2024-02-29 21:31:26 -05:00
Alessio Gravili
98b4c1388e fix(richtext-lexical): Working Blocks 2024-02-29 21:26:18 -05:00
Elliot DeNolf
6d89f2160d ci: proper dependency graph for turbo to build in right order 2024-02-29 16:55:30 -05:00
James
3e8859b8dd Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-29 16:29:08 -05:00
James
27babe6677 chore: adds next build script 2024-02-29 16:28:59 -05:00
Jacob Fletcher
2a6a3e624d chore(next): resolves type errors 2024-02-29 16:25:14 -05:00
Elliot DeNolf
6ff42d1627 ci: fixed versioning (#5214)
* chore(deps): add lerna-lite

* feat: update-1

* feat(db-mongodb): update 2

* chore: lerna init

* chore: add version option to lerna config

* chore(ci): add gh usernames to changelog and user root package.json for version

* chore(ci): whitelist poc branches

* chore(ci): add contributors section

* chore(ci): use turbo for prepublishOnly scripts, enable caching

* chore(deps): update turborepo, add execa

* feat(plugin-stripe): adjust type import

* chore: remove lerna-lite

* chore(ci): new and improved release script for fixed versioning

* chore: remove unused lerna-lite packages

* chore: sync root package.json version

* chore: remove remnants of bundler packages

* chore(plugin-seo): update packagea.json from main, disable build

* chore: disable turbo caching

* chore(ci): update release script

* chore: sync pnpm-lock.yaml

* chore: ci cleanup
2024-02-29 16:01:51 -05:00
Alessio Gravili
7188cfe85a feat(richtext-lexical): initial working BlocksFeature 2024-02-29 15:46:10 -05:00
Dan Ribbens
cccdba57fe chore: add hasMany text field feature to ui (#5213)
* chore: add hasMany text field feature to ui

* chore: remove bson dependency
2024-02-29 14:52:38 -05:00
James
b3bd502028 chore: slate types 2024-02-29 14:46:04 -05:00
Jacob Fletcher
423b33e088 chore: bumps faceless dependencies to latest and removes from next 2024-02-29 14:42:38 -05:00
Alessio Gravili
edb63380ed Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-02-29 14:41:48 -05:00
Alessio Gravili
7175bb7b47 fix: @payloadcms/ui alias 2024-02-29 14:41:42 -05:00
Elliot DeNolf
c817916e0f chore(ui): package.json adjustments 2024-02-29 14:40:38 -05:00
James
426b48bd13 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-29 14:31:19 -05:00
Jarrod Flesch
88ba714b59 chore: adjusts ui package.json 2024-02-29 14:30:57 -05:00
James
795fdd477c chore: buildable slate 2024-02-29 14:30:47 -05:00
Jarrod Flesch
6f021049ab chore: fix upload test suite dirname referencing 2024-02-29 14:15:44 -05:00
Jacob Fletcher
bbdc137f64 chore(ui): properly types client-side field validations 2024-02-29 13:48:15 -05:00
James
843974d810 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-29 13:39:58 -05:00
James
b97f025ea7 chore: exports 2024-02-29 13:39:54 -05:00
Jacob Fletcher
670a32271a chore(ui): exports Modal and useModal hook 2024-02-29 13:22:54 -05:00
Jacob Fletcher
71a33f2f02 chore(ui): exports useWindowInfo hook 2024-02-29 13:20:57 -05:00
Jacob Fletcher
f477a215cf fix(next): metadata base url 2024-02-29 12:47:13 -05:00
Jacob Fletcher
12b09cf963 fix: beforeChange field validation args 2024-02-29 12:47:07 -05:00
Alessio Gravili
bedd7b6f41 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc 2024-02-29 12:37:54 -05:00
Alessio Gravili
ee5ae22779 fix: validation issues for Relationship and Upload fields 2024-02-29 12:37:44 -05:00
Jacob Fletcher
316f0722d8 chore(next): removes app dir 2024-02-29 12:31:17 -05:00
Elliot DeNolf
34cb30bb39 Merge pull request #5209 from payloadcms/feat/next-poc-ci
ci: next-poc updates
2024-02-29 12:27:26 -05:00
Alessio Gravili
84ec05a257 fix: validations 2024-02-29 12:26:25 -05:00
Jarrod Flesch
78bdfefc66 chore: use client i18n inside initPage 2024-02-29 12:24:56 -05:00
Elliot DeNolf
33899405ba chore(plugin-cloud-storage): disable build temporarily 2024-02-29 12:24:32 -05:00
Elliot DeNolf
b3fd720668 chore(plugin-cloud-storage): more req stuff 2024-02-29 12:24:07 -05:00
James
dc7a447baf chore: merge 2024-02-29 12:16:34 -05:00
James
138b56a429 chore: fixes doc preferences fetching 2024-02-29 12:15:51 -05:00
Elliot DeNolf
4699a37b4b chore(plugin-cloud): remove req refs, UNTESTED 2024-02-29 12:14:41 -05:00
Dan Ribbens
940e21e74f chore: reverts mongodb dependency update (#5211) 2024-02-29 12:08:05 -05:00
Alessio Gravili
b6f330cc91 fix: add back user to iterateFields condition 2024-02-29 12:04:34 -05:00
Alessio Gravili
f388a46484 fix: buildStateFromSchema call from buildFormState.ts 2024-02-29 12:00:58 -05:00
Elliot DeNolf
a66d023f84 chore: more reference and export fixes 2024-02-29 11:52:19 -05:00
James
188cad3a67 chore: returns req from initPage 2024-02-29 11:44:36 -05:00
Elliot DeNolf
4d5bdf6b6f chore(plugin-form-builder): fix some imports 2024-02-29 11:27:17 -05:00
Elliot DeNolf
96810788fc chore(ui): export TextFieldProps 2024-02-29 11:26:55 -05:00
Jarrod Flesch
2f356fe26d feat: 3.0 parity with array hook functions (#5210) 2024-02-29 10:59:38 -05:00
Alessio Gravili
ab9e2729cd fix: weakly typed ValidateOptions if no field config type is passed in 2024-02-29 10:58:52 -05:00
Jarrod Flesch
203f105974 feat: 3.0 bulk edit parity (#5208) 2024-02-29 10:51:02 -05:00
Elliot DeNolf
972b8e110f chore: proper lexical reference from test 2024-02-29 10:50:41 -05:00
Elliot DeNolf
31d0b8acbf ci: use turbo for build 2024-02-29 10:41:27 -05:00
Jacob Fletcher
0152560fd8 chore(ui): builds package 2024-02-29 10:12:43 -05:00
Elliot DeNolf
e78214c38d chore(plugin-sentry): disable build temporarily 2024-02-29 10:00:16 -05:00
James
79ca759774 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-29 09:56:13 -05:00
James
5d1e5ca2ff chore: builds graphql 2024-02-29 09:56:03 -05:00
Alessio Gravili
8d13ae9e1e feat(richtext-lexical): BlockQuotes 2024-02-29 09:54:07 -05:00
Alessio Gravili
b763df5730 fix(richtext-lexical): Link drawer: form state error on initial load 2024-02-28 21:17:53 -05:00
Alessio Gravili
a237388bd4 fix(richtext-*): Link Drawer conditions - missing updates from server 2024-02-28 20:59:52 -05:00
Alessio Gravili
610f3525a2 chore: remove deprecation tracing from dev script 2024-02-28 20:31:49 -05:00
Alessio Gravili
fff692bd0c feat(db-postgres): upgrade drizzle-orm and @libsql/client 2024-02-28 18:00:50 -05:00
Alessio Gravili
a2fff64bd8 feat: remove isomorphic-fetch 2024-02-28 17:47:29 -05:00
Alessio Gravili
c00074e40b chore: upgrade release-it and @release-it/conventional-changelog 2024-02-28 17:44:44 -05:00
Alessio Gravili
93319402cb feat: upgrade @google-cloud/storage 2024-02-28 17:41:13 -05:00
Alessio Gravili
4d2d359b06 feat: remove node-fetch 2024-02-28 17:36:48 -05:00
Elliot DeNolf
0cc4a7d238 chore: make packages public 2024-02-28 17:26:41 -05:00
Alessio Gravili
026c6fac2e feat!: upgrade sharp, bump minimum node version to 18.17.0 2024-02-28 17:11:58 -05:00
Alessio Gravili
d56ac18585 feat!: require node v18 as minimum version 2024-02-28 17:02:33 -05:00
Alessio Gravili
e90d8dcdb5 feat: initial lexical support (#5206)
* chore: explores pattern for rscs in lexical

* WORKING!!!!!!

* fix(richtext-slate): field map path

* Working Link Drawer

* fix issues after merge

* AlignFeature

* Fix AlignFeature

---------

Co-authored-by: James <james@trbl.design>
2024-02-28 16:55:37 -05:00
Jarrod Flesch
1a1c207a97 Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-28 16:46:56 -05:00
Jarrod Flesch
9b1203185d chore: adjust richtext field editor type 2024-02-28 16:46:50 -05:00
Jacob Fletcher
3214af53b7 chore: fixes bad merge 2024-02-28 16:32:11 -05:00
James
ec6b58d7d4 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-28 16:27:42 -05:00
James
0d888c9eeb chore: debounces form state from server 2024-02-28 16:27:33 -05:00
Elliot DeNolf
f957f1d2bb chore: logging for init-next 2024-02-28 16:18:02 -05:00
Jacob Fletcher
730344a201 chore(next): ssr live preview (#5205) 2024-02-28 15:39:01 -05:00
James
c5e74ca5e0 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-28 15:30:06 -05:00
James
3216c29766 chore: simplifies form state revalidation 2024-02-28 15:29:57 -05:00
Elliot DeNolf
db5babf012 chore: package.json duplicate keys 2024-02-28 14:51:24 -05:00
James
da147aacd4 chore: improper searchParams.get 2024-02-28 14:46:33 -05:00
James
8c80c1d077 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-28 14:40:57 -05:00
James
7ff646d044 chore: cleans up a few merges 2024-02-28 14:40:44 -05:00
Elliot DeNolf
cdc1e024f1 chore: --init-next improvements and tests 2024-02-28 14:16:05 -05:00
Dan Ribbens
b9dec2f714 Chore/next poc merge main (#5204)
* wip moves payload, user and data into partial req

* chore: adjust req type

* chore(next): installs sass and resolves type errors

* feat: working login route/view

* fix: me route

* chore(next): scaffolds access routes (#4562)

* chore(next): scaffolds admin layout and dashboard view (#4566)

* chore(next): builds initPage utility (#4589)

* feat(3.0): next route handlers (#4590)

* chore: removes old files

* chore(next): ssr list view (#4594)

* chore: removes old files

* chore: adjusts graphql file imports to align with new operation exports

* chore: allows for custom endpoints

* chore: cleanup

* chore(next): ssr edit view (#4614)

* chore(ui): ssr main nav (#4619)

* chore(next): ssr account view (#4620)

* chore(next): ssr auth views and document create (#4631)

* chore(next): ssr globals view (#4640)

* chore(next): scaffolds document layout (#4644)

* chore(next): ssr versions view (#4645)

* chore(next): ssr field conditions (#4675)

* chore(next): ssr field validations (#4700)

* chore(next): moves dashboard view into next dir

* chore(next): moves account view into next dir

* chore(next): moves global edit view into next dir

* chore(next): returns isolated configs and locale from initPage

* chore(next): ssr api view (#4721)

* feat: adds i18n functionality within Rest API, Local and Client contexts (#4749)

* chore: separate client translation groups with empty line

* chore: add missing translation used in db adapters

* chore: simplify next/routes export and import paths

* chore: renames PayloadT to Payload

* chore(next): custom views (#4748)

* chore: fix translation tsconfig

* chore: adjust other package ts-configs that rely on translations

* chore(next): installs @payloadcms/ui as direct dependency

* chore(next): progress to build

* chore(next): migrates types (#4792)

* fixes acccept-language detection

* chore(next): moves remaining components out from payload core (#4794)

* chore(deps): removes all unused dependencies from payload core (#4797)

* chore(next): achieves buildable state (#4803)

* adds Translation component and removes more react-i18next

* fixes up remaining translation strings

* fixes a few i18n TODO's

* chore: remaining translation strings without colons

* chore: adds missing ja translations

* chore(next): ssr group field (#4830)

* chore: removes placeholder t function

* chore: removes old file

* chore(bundler-webpack): removes webpack bundler

* chore(bundler-vite): removes vite bundler

* chore(next): ssr tabs field (#4863)

* chore(next): ssr row field

* chore(next): ssr textarea field

* chore(next): wires server action into document edit view (#4873)

* chore(next): conditional logic (#4880)

* chore(next): ssr radio, point, code, json, ui, and hidden fields (#4891)

* chore(next): ssr collapsible field (#4894)

* chore: remove findByID from req

* chore: adjusts file property on request type

* comment clarification

* chore: wires up busboy with Requst readstream

* chore: ports over express-fileupload into a NextJS compatible format

* chore: adjust upload file structure

* chore: adds try/catch around routes, corrects a few route responses

* chore: renames file/function

* chore: improve req type safety in local operations, misc req.files replacements

* chore: misc type and fn export changes

* chore: ensures root routes take pass unmodified request to root routes

* chore: improve types

* chore: consolidates locale api req initialization (#4922)

* chore(next): overhauls field rendering strategy (#4924)

* chore(next): ssr array field (#4937)

* chore(next): ssr blocks field (#4942)

* chore(next): ssr upload field and document drawer (#4957)

* chore(next): wires form submissions (#4982)

* chore: api handler adjustments

* feat: adds graphql playground handler

* adds credentials include setting to playground

* remove old playground init, stub graphql handler location

* fix: allow for null fallbackLocale

* fix: correctly prioritize locales passed as null

* chore: move all graphql code into next package

* graphql changes

* chore: semi working version of graphql http layer

* gql fix attempts

* rm console log

* chore: partial gql changes

* chore: adds gql and gql-http back into payload

* chore: removes collection from req

* chore: separates graphql package out for schema generation

* chore: dep cleanup

* chore: move graphql handlers

* chore: removes unused deps

* chore(next): ssr list view (#5032)

* chore: refactor response handler order for custom endpoints

* chore: add back in condition for collection GET path with 2 slugs

* chore: rm optional chain

* chore: import sort route file

* chore: allows custom endpoints to attempt before erroring

* feat: adds memoization to translation functions (#5036)

* chore: fix APIError import

* chore: return attemptCustomEndpointBeforeError responses

* chore(next): properly instantiates table columns

* fix(next): attaches params to req and properly assigns prefs key (#5042)

* chore: reorganize next route order

* chore(next): adds RouteError handler to next routes

* chore: builds payload successfully

* chore: misc file omissions

* fix(ui): maintains proper column order

* fix(ui): ensures first cell is a link

* fix(next): properly copies url object in createPayloadRequest (#5064)

* fix(ui): bumps react-toastify to v10.0.4 to fix hydration warnings

* feat: add route for static file GET requests (#5065)

* chore(next): allows resolved config promise to be thread through initPage (#5071)

* chore(ui): conditionally renders field label from props

* feat(next): next install script

* chore: pass config to route handlers

* feat: initial test suite framework (#4929)

* chore(next): renderable account, api, and create first user views (#5084)

* fix(next): properly parses search params in find, update, and delete handlers (#5088)

* chore(next): ssr versions view (#5085)

* chore: adds homepage for scss testing

* chore: moves dev folder to top, establishes new test pattern

* chore: working turbopack

* chore: sets up working dynamic payload-config imports

* remove unused code

* chore: rm console log

* misc

* feat: correctly subs out ability to boot REST API within same process

* chore: WIP dev suites

* chore: removes need for REST_API folder in test dir

* removes duplicate bootAdminPanel fn

* misc

* specify default export

* chore: sets up jest to work with next/jest

* chore: progress to mongodb and sharp builds

* chore: passing community tests

* chore: sorta workin

* chore: adjust payload-config import

* chore: adds rest client for Next handlers

* chore: removes test garb

* chore: restores payload-config tsconfig path temporarily

* chore: establishes pattern for memory db during tests

* chore: bumps mongoose to 7

* chore(next): 404s on nested create urls

* chore: functional _community e2e

* chore: increases e2e expect timeout

* fix(next): sanitizes locale toString from client config

* chore: type fixes

* chore: pulls mongodb from main

* chore: uses graphql to log user in

* feat: passing auth test suite

* chore(ui): threads params through context and conditionally renders document tabs (#5094)

* feat(ui): adds params context (#5095)

* chore: removes unecessary memory allocation for urlPropertiesObject object

* chore: passing graphql test suite

* chore: removes references to bson

* chore: re-enables mongodb memory server for auth test suite

* chore: replace bson with bson-objectid

* feat: passing collections-rest int suite

* chore: fixes bad imports

* chore: more passing int suites

* feat: passing globals int tests

* feat: passing hooks int test suite

* chore: remove last express file

* chore: start live-preview int test migration

* chore: passing localization int tests

* passing relationships int tests

* chore: partial passing upload int tests

* chore: fixes scss imports

* chore(ui): renders document info provider at root (#5106)

* chore: adds schema path to useFieldPath provider, more passing tests

* chore: begins work to optimize translation imports

* chore: add translations to ui ts-config references

* chore: add exports folder to package json exports

* chore: adds readme how-to-use instructions

* chore: attempts refactor of translation imports

* chore: adds authentication:account translation key to server keys

* chore: finishes translation optimization

* chore: ignores warnings from mongodb

* chore(ui): renders live document title (#5115)

* chore(ui): ssr document tabs (#5116)

* chore: handles redirecting from login

* chore: handle redirect with no searchParams

* chore: handle missing segments

* chore(next): migrates server action into standalone api endpoint (#5122)

* chore: adjust dashboard colection segments

* test: update e2e suites

* fix(ui): prevents unnecessary calls to form state

* chore: fix finding global config fields from schema path

* fix(next): executes root POST endpoints

* chore(ui): ignores values returned by form state polling

* chore: scaffolds ssr rte

* chore: renders client leaves

* chore: server-side rendered rich text elements

* chore: defines ClientFunction pattern

* chore(ui): migrates relationship field

* chore: adds translations, cleans up slate

* chore: functional slate link

* chore: slate upload ssr

* chore: relationship slate ssr

* chore: remaining slate ssr

* chore: fixes circular workspace dep

* chore: correct broken int test import paths

* chore: remove media files from root

* chore: server renders custom edit view

* fix(ui): resolves infinite loading in versions view

* fix(next): resolves global edit view lookup

* chore: payload builds

* chore: delete unused files

* chore: removes local property from payload

* chore: adds mongodb as dev dep in db-mongodb package

* chore: hide deprecation warnings for tempfile and jest-environment-jsdom

* chore: remove all translations from translations dist

* chore: clean ts-config files

* chore: simple type fixes

* chore(ui): server renders custom list view

* chore: fix next config payload-config alias

* chore: adds turbo alias paths

* chore: adjusts translation generation

* chore: improve auth function

* chore: eslint config for packages/ui

* chore(ui): exports FormState

* chore(next): migrates account view to latest patterns

* chore: disable barbie mode

* chore(ui): lints

* chore(next): lints

* chore: for alexical

* chore: custom handler type signature adjustment

* fix: non-boolean condition result causes infinite looping (#4579)

* chore(richtext-lexical): upgrade lexical from v0.12.5 to v0.12.6 (#4732)

* chore(richtext-lexical): upgrade all lexical packages from 0.12.5 to 0.12.6

* fix(richtext-lexical): fix TypeScript errors

* fix indenting

* feat(richtext-lexical): Blocks: generate type definitions for blocks fields (#4529)

* feat(richtext-lexical)!: Update lexical from 0.12.6 to 0.13.1, port over all useful changes from playground (#5066)

* feat(richtext-lexical): Update lexical from 0.12.6 to 0.13.1, port over all useful changes from playground

* chore: upgrade lexical version used in monorepo

* chore: remove the 3

* chore: upgrade nodemon versions (#5059)

* feat: add more options to addFieldStatePromise so that it can be used for field flattening (#4799)

* feat(plugin-seo)!: remove support for payload <2.7.0 (#4765)

* chore(plugin-seo): remove test script from package.json (#4762)

* chore: upgrade @types/nodemailer from v6.4.8 to v6.4.14 (#4733)

* chore: revert auth and initPage changes

* chore(next): moves edit and list views (#5170)

* fix: "The punycode module is deprecated" warning by updating nodemailer

* chore: adjust translations tsconfig paths in root

* chore: fix merge build

---------

Co-authored-by: Jarrod Flesch <jarrodmflesch@gmail.com>
Co-authored-by: Jacob Fletcher <jacobsfletch@gmail.com>
Co-authored-by: Jarrod Flesch <30633324+JarrodMFlesch@users.noreply.github.com>
Co-authored-by: Elliot DeNolf <denolfe@gmail.com>
Co-authored-by: James <james@trbl.design>
Co-authored-by: Alessio Gravili <alessio@gravili.de>
Co-authored-by: Alessio Gravili <70709113+AlessioGr@users.noreply.github.com>
2024-02-28 13:44:17 -05:00
Elliot DeNolf
0b296cb271 chore: new dev script 2024-02-28 12:17:25 -05:00
Elliot DeNolf
e62cca40ac chore: fix up withPayload and devnew 2024-02-28 12:06:58 -05:00
Jarrod Flesch
170ae3602b feat: extends useSearchParams hook (#5203) 2024-02-28 09:33:59 -05:00
Jacob Fletcher
96349be350 chore(next): wires admin.hidden property (#5200) 2024-02-27 16:59:11 -05:00
Elliot DeNolf
62e4828b0d chore: swap @payload-config dynamically in devnew script 2024-02-27 16:45:07 -05:00
Elliot DeNolf
0d58a20d70 chore: change payload-config to @payload-config 2024-02-27 16:45:07 -05:00
Jacob Fletcher
448288834a chore: sanitizes admin.hidden from client config 2024-02-27 16:21:39 -05:00
Alessio Gravili
c0fc258848 lexical stuff 2024-02-27 16:13:09 -05:00
Elliot DeNolf
6f1da7ad1f chore: remove duplicative copyfiles 2024-02-27 15:00:51 -05:00
Elliot DeNolf
c0e2b6ac4d chore(create-payload-app): add --init-next 2024-02-27 14:59:40 -05:00
Elliot DeNolf
99ebce0462 chore: update next install script 2024-02-27 13:29:36 -05:00
Jacob Fletcher
9831629430 chore: consolidates createClientConfig 2024-02-27 13:23:20 -05:00
Jarrod Flesch
e0ce5b7d12 chore: organizes translations 2024-02-27 13:11:03 -05:00
Jarrod Flesch
e757bbc1b2 Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-27 12:33:10 -05:00
Jarrod Flesch
f2d90fac26 chore: fixes find for fieldSchema globals 2024-02-27 12:33:03 -05:00
Alessio Gravili
a33e150312 feat(richtext-lexical): Lexical progress 2024-02-27 12:26:12 -05:00
Jarrod Flesch
e5e9a14de4 chore: make editor prop optional 2024-02-27 10:29:58 -05:00
Jarrod Flesch
07311579af Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-27 09:04:04 -05:00
Jacob Fletcher
a517b7fb00 chore(next): generates metadata (#5178) 2024-02-26 23:47:36 -05:00
Jacob Fletcher
7474e7e7bb chore(i18n): adds missing version translation 2024-02-26 16:57:25 -05:00
Jacob Fletcher
7a8ecf7377 chore(next): migrates getNextT to getNextI18n (#5177) 2024-02-26 16:04:34 -05:00
Jarrod Flesch
def97afd9b chore: fix translations tsconfig alias 2024-02-26 16:02:42 -05:00
Elliot DeNolf
6ba41af6dc chore(scripts): devnew script 2024-02-26 15:54:47 -05:00
Alessio Gravili
a88b35f919 chore(richtext-*): lint & prettier 2024-02-26 15:45:28 -05:00
Alessio Gravili
a0cf2ea56b fix(richtext-*): RichText Cell components (#5174)
* fix(richtext-*): RichText Cell components

* better code
2024-02-26 15:37:50 -05:00
Alessio Gravili
75c4b4f234 fix: i18nInit doesn't have to be async, richtext i18n types (#5176) 2024-02-26 15:25:28 -05:00
Jarrod Flesch
37177f1226 chore: adds withPayload to next package 2024-02-26 14:55:47 -05:00
Jarrod Flesch
18fb27d2f7 chore: adjust translations tsconfig paths in root 2024-02-26 14:09:57 -05:00
Alessio Gravili
ee054c3181 chore: update lockfile 2024-02-26 13:48:45 -05:00
Alessio Gravili
594a3a1321 fix: "The punycode module is deprecated" warning by updating nodemailer 2024-02-26 13:44:17 -05:00
Alessio Gravili
fca72c2b95 chore(eslint-config-payload): improve perfectionist object sort order (#4678) 2024-02-26 13:41:58 -05:00
Alessio Gravili
4048f466c2 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next-poc-more-merges 2024-02-26 13:39:59 -05:00
Alessio Gravili
5a28bbbc9b chore: upgrade @types/nodemailer from v6.4.8 to v6.4.14 (#4733) 2024-02-26 11:53:49 -05:00
Alessio Gravili
55294701f0 chore: eslint improvements (#4739)
* chore: add @typescript-eslint/prefer-ts-expect-error rule

* chore: fix @typescript-eslint/prefer-ts-expect-error rule

* chore: disable useless class-methods-use-this eslint rule

* chore: only warn for no-unused-vars rule

* remove unused ts-expect-error

* undo admin changes
2024-02-26 11:53:37 -05:00
Alessio Gravili
b36ddfb3c3 chore(plugin-seo): add to CI, minor package.json improvements (#4761)
* chore: add plugin-seo to CI

* chore(plugin-seo): minor package.json improvements
2024-02-26 11:53:26 -05:00
Alessio Gravili
faef85b78f chore(plugin-seo): remove test script from package.json (#4762) 2024-02-26 11:52:23 -05:00
Alessio Gravili
06c8f5de32 feat(plugin-seo)!: remove support for payload <2.7.0 (#4765) 2024-02-26 11:51:01 -05:00
Jarrod Flesch
eb6af97b42 chore: properly type headers in auth fn 2024-02-26 11:44:21 -05:00
Jarrod Flesch
601e94d370 chore: return cookies from auth fn 2024-02-26 11:43:55 -05:00
Alessio Gravili
640ff152cc feat: add more options to addFieldStatePromise so that it can be used for field flattening (#4799) 2024-02-26 11:41:34 -05:00
Jarrod Flesch
de19cc8afe Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-26 11:38:42 -05:00
Jarrod Flesch
214f852a98 chore: revert auth and initPage changes 2024-02-26 11:38:32 -05:00
Jacob Fletcher
c6b684df89 chore(next): moves edit and list views (#5170) 2024-02-26 11:20:30 -05:00
Alessio Gravili
cb3efb157f chore: upgrade nodemon versions (#5059) 2024-02-26 11:11:39 -05:00
Alessio Gravili
17df48f9fa chore: remove the 3 2024-02-26 10:42:06 -05:00
Alessio Gravili
728d87028b chore: commit intellij run configurations (#4653)
* chore: update .gitignore

* chore: update .gitignore

* chore: commit IntelliJ run configurations
2024-02-26 10:17:26 -05:00
Jarrod Flesch
131feabafe Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-26 09:41:31 -05:00
Jarrod Flesch
a6cf73b6d1 chore: custom handler type signature adjustment 2024-02-26 09:41:19 -05:00
Alessio Gravili
1d7fb0e43c Merge pull request #5168 from payloadcms/feat/next-poc-merger
feat: merge lexical changes from main to next-poc
2024-02-26 09:30:48 -05:00
Jarrod Flesch
bf11eacf5a chore: for alexical 2024-02-26 08:50:24 -05:00
Jarrod Flesch
513c29d349 Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-26 08:41:15 -05:00
Jarrod Flesch
b68f9f157c chore: improve auth function 2024-02-26 08:36:02 -05:00
Jacob Fletcher
6b9b98ffdd chore(next): lints 2024-02-25 22:44:35 -05:00
Jacob Fletcher
5f7b4a9434 chore(ui): lints 2024-02-25 22:43:33 -05:00
Elliot DeNolf
8e7d110a7a chore(release): richtext-lexical/0.7.0 [skip ci] 2024-02-25 16:55:32 -05:00
Alessio Gravili
782053a6ec feat(richtext-lexical)!: Update lexical from 0.12.6 to 0.13.1, port over all useful changes from playground (#5066)
* feat(richtext-lexical): Update lexical from 0.12.6 to 0.13.1, port over all useful changes from playground

* chore: upgrade lexical version used in monorepo
2024-02-25 16:55:10 -05:00
Alessio Gravili
fdc72c27b6 feat(richtext-lexical): AddBlock handle for all nodes, even if they aren't empty paragraphs (#5063) 2024-02-25 16:49:11 -05:00
Alessio Gravili
8d502d2cb7 fix(richtext-lexical): do not remove adjacent paragraph node when inserting certain nodes in empty editor (#5061) 2024-02-25 16:48:54 -05:00
Máté Tallósi
1df3065884 feat(richtext-lexical): add justify aligment to AlignFeature (#4035) (#4868) 2024-02-25 16:48:46 -05:00
Elliot DeNolf
cc2ff8e3cb chore(release): richtext-lexical/0.6.1 [skip ci] 2024-02-25 16:48:33 -05:00
Alessio Gravili
bce821dee9 fix(richtext-lexical): make editor reactive to initialValue changes (#5010) 2024-02-25 16:48:20 -05:00
Elliot DeNolf
9e67efbd1b chore(release): richtext-lexical/0.6.0 [skip ci] 2024-02-25 16:48:01 -05:00
Alessio Gravili
5f081d038e feat(richtext-lexical): Blocks: generate type definitions for blocks fields (#4529) 2024-02-25 16:47:50 -05:00
Elliot DeNolf
d434925f0b chore(release): richtext-lexical/0.5.2 [skip ci] 2024-02-25 16:42:43 -05:00
Alessio Gravili
1b62a57e7c chore(richtext-lexical): upgrade lexical from v0.12.5 to v0.12.6 (#4732)
* chore(richtext-lexical): upgrade all lexical packages from 0.12.5 to 0.12.6

* fix(richtext-lexical): fix TypeScript errors

* fix indenting
2024-02-25 16:42:40 -05:00
Alessio Gravili
13447f0b4f fix: non-boolean condition result causes infinite looping (#4579) 2024-02-25 16:41:01 -05:00
Elliot DeNolf
327810390e chore(release): richtext-lexical/0.5.1 [skip ci] 2024-02-25 16:22:28 -05:00
Alessio Gravili
f8071ce942 fix(richtext-lexical): z-index issues (#4570) 2024-02-25 16:22:16 -05:00
Elliot DeNolf
2f858e29cb chore(release): richtext-lexical/0.5.0 [skip ci] 2024-02-25 16:21:57 -05:00
Alessio Gravili
1eaecf7568 chore: disable barbie mode 2024-02-25 16:09:06 -05:00
Jacob Fletcher
e83747e7ed chore(next): migrates account view to latest patterns 2024-02-23 17:18:11 -05:00
Jacob Fletcher
3260d9376e chore(ui): exports FormState 2024-02-23 16:53:13 -05:00
Alessio Gravili
827e825e53 chore: eslint config for packages/ui 2024-02-23 15:48:21 -06:00
Jarrod Flesch
0521ae4c75 chore: adjusts translation generation 2024-02-23 14:34:54 -05:00
Jarrod Flesch
3deb5dbb9b Merge remote-tracking branch 'refs/remotes/origin/feat/next-poc' into feat/next-poc 2024-02-23 13:20:55 -05:00
Jarrod Flesch
d58c3bd3d1 chore: adds turbo alias paths 2024-02-23 13:19:26 -05:00
Jacob Fletcher
298bfa81b6 chore: fixes jarrods negligence 2024-02-23 13:17:57 -05:00
Jarrod Flesch
a9d1d1a63a chore: fix next config payload-config alias 2024-02-23 13:16:45 -05:00
Jarrod Flesch
e5c2a7f176 Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-23 13:05:08 -05:00
Jarrod Flesch
da05003a5c chore: simple type fixes 2024-02-23 13:04:50 -05:00
Jacob Fletcher
b9dfa1aafe chore(ui): server renders custom list view 2024-02-23 12:58:48 -05:00
Jarrod Flesch
a57410133a chore: clean ts-config files 2024-02-23 12:23:07 -05:00
Jarrod Flesch
f26e646cfc chore: remove all translations from translations dist 2024-02-23 11:04:33 -05:00
Jarrod Flesch
2a755b0e65 Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-23 10:39:05 -05:00
Jarrod Flesch
5fdcb322c8 chore: adds mongodb as dev dep in db-mongodb package 2024-02-23 10:38:38 -05:00
Elliot DeNolf
76afc2b3ff chore: hide deprecation warnings for tempfile and jest-environment-jsdom 2024-02-23 10:17:55 -05:00
Jarrod Flesch
6eb4f7e4a1 chore: removes local property from payload 2024-02-23 10:02:59 -05:00
James
80412a7c2b chore: delete unused files 2024-02-23 09:59:07 -05:00
James
478b2cb7a2 chore: payload builds 2024-02-23 09:57:59 -05:00
James
bdc00a152c Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-23 09:55:23 -05:00
James
c7cec1b2f1 chore: fixes circular workspace dep 2024-02-23 09:55:12 -05:00
Jacob Fletcher
178f3cd4a3 fix(next): resolves global edit view lookup 2024-02-22 17:12:56 -05:00
Jacob Fletcher
3340d39f67 fix(ui): resolves infinite loading in versions view 2024-02-22 17:10:48 -05:00
Jacob Fletcher
5e7c39e42c chore: server renders custom edit view 2024-02-22 16:45:08 -05:00
Jarrod Flesch
ab479ab885 chore: remove media files from root 2024-02-22 16:23:35 -05:00
Jarrod Flesch
65081d995e chore: correct broken int test import paths 2024-02-22 16:19:40 -05:00
James
05b2692eb5 chore: remaining slate ssr 2024-02-22 14:48:09 -05:00
James
ca7b8e589e chore: relationship slate ssr 2024-02-22 14:37:59 -05:00
James
56c325b526 chore: slate upload ssr 2024-02-22 14:20:13 -05:00
James
732402159c chore: functional slate link 2024-02-22 12:13:19 -05:00
James
1ef3b9ed13 chore: adds translations, cleans up slate 2024-02-22 11:51:07 -05:00
James
ef43a76b0b Merge branch 'feat/next-poc' of github.com:payloadcms/payload into chore/next-rte 2024-02-22 11:18:38 -05:00
James
4003a8023c chore: defines ClientFunction pattern 2024-02-22 10:55:51 -05:00
Jacob Fletcher
102205ff71 chore(ui): migrates relationship field 2024-02-22 09:31:18 -05:00
Jarrod Flesch
b736e5d971 chore: partity change from main 2024-02-22 08:24:15 -05:00
James
5720009e29 chore: server-side rendered rich text elements 2024-02-21 17:34:53 -05:00
Jacob Fletcher
04e2d1a89a chore: renders client leaves 2024-02-21 14:24:59 -05:00
Jacob Fletcher
bc0525589c chore: scaffolds ssr rte 2024-02-21 13:56:04 -05:00
Jacob Fletcher
122e8ac9d6 chore(ui): ignores values returned by form state polling 2024-02-21 10:35:34 -05:00
Jacob Fletcher
dc7b110da2 fix(next): executes root POST endpoints 2024-02-21 09:51:19 -05:00
Jarrod Flesch
37259baf08 chore: fix finding global config fields from schema path 2024-02-21 09:27:07 -05:00
Jarrod Flesch
d87d095fe9 Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-21 09:22:11 -05:00
Jacob Fletcher
44a1baa41f fix(ui): prevents unnecessary calls to form state 2024-02-21 09:11:19 -05:00
Jarrod Flesch
a1bc60145c chore: adjusts endpoint for buildFormState 2024-02-20 23:13:48 -05:00
Elliot DeNolf
802919e6ea test: update e2e suites 2024-02-20 16:26:09 -05:00
Elliot DeNolf
1f674b5b86 chore: adjust dashboard colection segments 2024-02-20 16:25:51 -05:00
Jarrod Flesch
53b15f4507 Merge remote-tracking branch 'origin/feat/next-poc' into feat/next/test-suite 2024-02-20 15:56:26 -05:00
Jarrod Flesch
a5e2fa80e8 chore: adds schema path to useFieldPath provider, more passing tests 2024-02-20 15:56:11 -05:00
Jacob Fletcher
f10f62cebd chore(next): migrates server action into standalone api endpoint (#5122) 2024-02-20 15:14:42 -05:00
Elliot DeNolf
37ac4d30e5 chore: handle missing segments 2024-02-20 10:47:35 -05:00
Elliot DeNolf
0ac43cefa2 chore: handle redirect with no searchParams 2024-02-20 10:46:23 -05:00
James
4c60173b02 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-20 10:06:15 -05:00
James
dbcdc22b26 chore: handles redirecting from login 2024-02-20 10:06:05 -05:00
Jarrod Flesch
726596d568 Merge branch 'feat/next-poc' into feat/next/test-suite 2024-02-19 14:37:38 -05:00
Jacob Fletcher
3e3f223bb2 chore(ui): ssr document tabs (#5116) 2024-02-19 14:27:37 -05:00
James
17eb760928 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-19 13:20:26 -05:00
James
4cbfbdd621 chore: ignores warnings from mongodb 2024-02-19 13:19:43 -05:00
James
aeb8e89b69 chore: finishes translation optimization 2024-02-19 13:09:21 -05:00
Jarrod Flesch
0759e1ece2 chore: adds authentication:account translation key to server keys 2024-02-19 12:09:15 -05:00
Jacob Fletcher
fd7b2b7c4b chore(ui): renders live document title (#5115) 2024-02-19 11:39:15 -05:00
James
7ef8f9ac13 chore: attempts refactor of translation imports 2024-02-19 11:03:25 -05:00
Jarrod Flesch
dbb6c2bd9f chore: adds readme how-to-use instructions 2024-02-19 10:31:48 -05:00
Jarrod Flesch
b18bd735c9 chore: add exports folder to package json exports 2024-02-19 10:08:32 -05:00
Jarrod Flesch
b7752cc8a2 chore: add translations to ui ts-config references 2024-02-19 10:05:58 -05:00
Jarrod Flesch
e8bc88eace Merge branch 'feat/optimize-translations' of https://github.com/payloadcms/payload into feat/optimize-translations 2024-02-19 10:04:21 -05:00
Jarrod Flesch
19a4a99e76 chore: partial passing upload int tests 2024-02-19 10:03:35 -05:00
James
bc213888e8 chore: begins work to optimize translation imports 2024-02-19 10:02:09 -05:00
Jacob Fletcher
c784b46a5e chore(ui): renders document info provider at root (#5106) 2024-02-17 13:23:22 -05:00
Jarrod Flesch
1c9ba5b512 passing relationships int tests 2024-02-17 01:00:48 -05:00
Jarrod Flesch
3d99ea5cbf chore: passing localization int tests 2024-02-16 23:22:01 -05:00
Jarrod Flesch
28dc5a5b8c chore: start live-preview int test migration 2024-02-16 22:49:08 -05:00
Jarrod Flesch
dcf23d0952 chore: remove last express file 2024-02-16 22:48:46 -05:00
Jarrod Flesch
e597ecfe78 feat: passing hooks int test suite 2024-02-16 22:27:43 -05:00
Jarrod Flesch
1c75ac12e8 feat: passing globals int tests 2024-02-16 21:45:04 -05:00
Jarrod Flesch
28c4046300 chore: more passing int suites 2024-02-16 15:09:51 -05:00
James
762b5444f5 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-16 13:59:01 -05:00
James
a0e34c3a21 chore: fixes scss imports 2024-02-16 13:58:33 -05:00
Jarrod Flesch
504892ddb9 Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-16 13:47:08 -05:00
Jarrod Flesch
5927bf8149 feat: passing collections-rest int suite 2024-02-16 13:41:48 -05:00
James
45069604e1 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-16 12:02:17 -05:00
James
b7f42f47a1 chore: fixes bad imports 2024-02-16 12:02:02 -05:00
Jarrod Flesch
2175562b9a chore: replace bson with bson-objectid 2024-02-16 11:46:57 -05:00
James
311ae5c4c5 chore: re-enables mongodb memory server for auth test suite 2024-02-16 11:32:41 -05:00
James
8f29df541f chore: removes references to bson 2024-02-16 11:31:05 -05:00
James
80e61206fd chore: merge 2024-02-16 11:29:00 -05:00
James
354d15cbf1 chore: uses graphql to log user in 2024-02-16 11:27:52 -05:00
James
12c5100bc8 chore: pulls mongodb from main 2024-02-16 11:27:23 -05:00
Jarrod Flesch
366db1623b chore: passing graphql test suite 2024-02-16 09:08:37 -05:00
Jarrod Flesch
88457d726b chore: removes unecessary memory allocation for urlPropertiesObject object 2024-02-15 21:44:37 -05:00
Jacob Fletcher
ac754f86f3 feat(ui): adds params context (#5095) 2024-02-15 15:52:04 -05:00
Jacob Fletcher
4bb1024041 chore(ui): threads params through context and conditionally renders document tabs (#5094) 2024-02-15 15:14:29 -05:00
Jarrod Flesch
a0d97ff7ed Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-15 14:57:59 -05:00
Jarrod Flesch
6a1a83cc2b feat: passing auth test suite 2024-02-15 14:57:53 -05:00
James
abf0f7111d chore: type fixes 2024-02-15 14:12:59 -05:00
James
ef82489040 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-15 13:41:20 -05:00
James
49474c6fc8 chore: increases e2e expect timeout 2024-02-15 13:41:12 -05:00
Jacob Fletcher
7ee0dc48a7 fix(next): sanitizes locale toString from client config 2024-02-15 13:40:14 -05:00
James
ca531f0c13 chore: functional _community e2e 2024-02-15 13:39:18 -05:00
James
e1ef1efdb5 Merge branch 'feat/next-poc' of github.com:payloadcms/payload into feat/next-poc 2024-02-15 13:28:19 -05:00
James
c8c393eff9 chore: bumps mongoose to 7 2024-02-15 13:28:07 -05:00
James
6fd80cd16f chore: establishes pattern for memory db during tests 2024-02-15 11:48:00 -05:00
James
6f7a3ed031 chore: restores payload-config tsconfig path temporarily 2024-02-15 11:34:50 -05:00
James
be597ed467 chore: merge 2024-02-15 11:04:52 -05:00
James
a5267bcb5b Merge branch 'feat/next-scss' into feat/next-poc 2024-02-15 11:02:05 -05:00
Jacob Fletcher
c512693b9d chore(next): ssr versions view (#5085) 2024-02-15 10:42:55 -05:00
Jarrod Flesch
95b19864d3 chore: removes test garb 2024-02-15 10:02:38 -05:00
Jarrod Flesch
db6758f7f7 chore: adds rest client for Next handlers 2024-02-15 10:01:13 -05:00
Jacob Fletcher
f11f3fdee1 fix(next): properly parses search params in find, update, and delete handlers (#5088) 2024-02-15 08:46:54 -05:00
Jacob Fletcher
497d055b63 chore(next): 404s on nested create urls 2024-02-14 17:25:14 -05:00
James
8f9ecdcfb5 Merge branch 'feat/next-scss' of github.com:payloadcms/payload into feat/next-scss 2024-02-14 16:53:08 -05:00
James
fb47b28318 chore: working turbopack 2024-02-14 16:52:55 -05:00
Jarrod Flesch
6fa72cf912 Merge branch 'feat/next-scss' of https://github.com/payloadcms/payload into feat/next-scss 2024-02-14 16:05:49 -05:00
James
df6fa0be24 chore: moves dev folder to top, establishes new test pattern 2024-02-14 15:58:03 -05:00
Jacob Fletcher
edb7cfc08d chore(next): renderable account, api, and create first user views (#5084) 2024-02-14 12:20:46 -05:00
James
559c132d17 chore: adds homepage for scss testing 2024-02-14 11:40:23 -05:00
Jarrod Flesch
4e006e9481 Merge branch 'feat/next-poc' into feat/next/test-suite 2024-02-14 09:46:48 -05:00
Jarrod Flesch
717a6b6d07 feat: initial test suite framework (#4929) 2024-02-14 09:46:11 -05:00
Jarrod Flesch
04c101018a chore: adjust payload-config import 2024-02-14 09:44:13 -05:00
Jarrod Flesch
d6a298cffd Merge branch 'feat/next-poc' into feat/next/test-suite 2024-02-13 23:32:46 -05:00
Jarrod Flesch
018755516b chore: pass config to route handlers 2024-02-13 23:30:02 -05:00
Jarrod Flesch
31e17daa34 chore: sorta workin 2024-02-13 16:22:30 -05:00
James
0748743fe0 chore: passing community tests 2024-02-13 12:58:02 -05:00
James
0a7ff53fc7 chore: progress to mongodb and sharp builds 2024-02-13 10:59:19 -05:00
Elliot DeNolf
da9ca18fe3 feat(next): next install script 2024-02-13 10:28:41 -05:00
Jacob Fletcher
d292ab72d2 chore(ui): conditionally renders field label from props 2024-02-13 00:24:22 -05:00
Jacob Fletcher
9c77af0d67 chore(next): allows resolved config promise to be thread through initPage (#5071) 2024-02-12 18:09:01 -05:00
Jarrod Flesch
03f3d295c9 chore: sets up jest to work with next/jest 2024-02-12 16:53:27 -05:00
Jarrod Flesch
9aa5ca022d Merge branch 'feat/next-poc' into feat/next/test-suite 2024-02-12 16:52:49 -05:00
Jarrod Flesch
35e2e1848a feat: add route for static file GET requests (#5065) 2024-02-12 16:52:20 -05:00
Jacob Fletcher
087ee35ece fix(ui): bumps react-toastify to v10.0.4 to fix hydration warnings 2024-02-12 12:18:04 -05:00
Jarrod Flesch
399809ee6b chore: merge 2024-02-12 12:09:13 -05:00
Jacob Fletcher
cf6b12842f fix(next): properly copies url object in createPayloadRequest (#5064) 2024-02-12 10:58:30 -05:00
Jacob Fletcher
702c138f44 fix(ui): ensures first cell is a link 2024-02-12 10:49:10 -05:00
Jacob Fletcher
b0f0066f28 fix(ui): maintains proper column order 2024-02-10 13:32:03 -05:00
Jarrod Flesch
47c9a1d80f chore: misc file omissions 2024-02-09 14:14:38 -05:00
Jarrod Flesch
239f65d04d chore: builds payload successfully 2024-02-09 14:08:09 -05:00
Jarrod Flesch
2cd534526f chore(next): adds RouteError handler to next routes 2024-02-09 14:06:56 -05:00
Jarrod Flesch
604ecbbf95 chore: reorganize next route order 2024-02-09 13:37:00 -05:00
Jarrod Flesch
5e6191f235 merge with next-poc 2024-02-09 10:58:57 -05:00
Jacob Fletcher
026f269bdf fix(next): attaches params to req and properly assigns prefs key (#5042) 2024-02-09 10:50:16 -05:00
Jacob Fletcher
7970955c00 chore(next): properly instantiates table columns 2024-02-09 09:17:13 -05:00
Jarrod Flesch
3a0ea03a9c chore: return attemptCustomEndpointBeforeError responses 2024-02-09 09:00:45 -05:00
Jarrod Flesch
4ea07940f8 chore: fix APIError import 2024-02-08 16:23:11 -05:00
Jarrod Flesch
a8ac42037b feat: adds memoization to translation functions (#5036) 2024-02-08 15:23:50 -05:00
Jarrod Flesch
78a45fc92d chore: allows custom endpoints to attempt before erroring 2024-02-08 15:21:59 -05:00
Jarrod Flesch
a6a12335f1 chore: import sort route file 2024-02-08 12:29:31 -05:00
Jarrod Flesch
d82c1427f7 chore: rm optional chain 2024-02-08 12:28:19 -05:00
Jarrod Flesch
f2c766ddaf chore: add back in condition for collection GET path with 2 slugs 2024-02-08 12:27:20 -05:00
Jarrod Flesch
33aefb69f4 chore: refactor response handler order for custom endpoints 2024-02-08 12:18:39 -05:00
Jarrod Flesch
2751624b2b Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-02-08 10:54:19 -05:00
Jarrod Flesch
fc55267dc3 chore: removes unused deps 2024-02-08 10:06:54 -05:00
Jacob Fletcher
9ea1bb492f chore(next): ssr list view (#5032) 2024-02-08 10:05:28 -05:00
Jarrod Flesch
42c4b95df1 chore: move graphql handlers 2024-02-07 17:10:42 -05:00
Jarrod Flesch
55325a0812 chore: dep cleanup 2024-02-07 17:04:42 -05:00
Jarrod Flesch
86bfc0a7f9 chore: separates graphql package out for schema generation 2024-02-07 16:38:01 -05:00
Jarrod Flesch
166fce793f chore: merge conflict resolutions 2024-02-07 14:04:26 -05:00
Jarrod Flesch
df53489498 chore: removes collection from req 2024-02-07 14:03:24 -05:00
Jarrod Flesch
d050f48d4f chore: adds gql and gql-http back into payload 2024-02-07 14:02:12 -05:00
Jarrod Flesch
d204418530 chore: partial gql changes 2024-02-07 14:01:46 -05:00
Jarrod Flesch
a4d21586d0 rm console log 2024-02-07 08:42:23 -05:00
Jarrod Flesch
bf5c7a41d6 merge resolution 2024-02-07 08:38:39 -05:00
Jarrod Flesch
73cae2e726 chore: semi working version of graphql http layer 2024-02-07 08:37:23 -05:00
Jarrod Flesch
019a83bd83 gql fix attempts 2024-02-06 13:42:52 -05:00
Jarrod Flesch
826b14b54f graphql changes 2024-02-06 12:08:52 -05:00
Jarrod Flesch
8a81d59240 chore: move all graphql code into next package 2024-02-05 17:08:58 -05:00
Jarrod Flesch
4581e1daf9 specify default export 2024-02-05 15:08:13 -05:00
Jarrod Flesch
1d619b0954 Merge branch 'feat/next-poc' into feat/next/graphql 2024-02-05 11:01:22 -05:00
Jarrod Flesch
6b666bf304 fix: correctly prioritize locales passed as null 2024-02-05 10:52:33 -05:00
Jarrod Flesch
cbb784637a Merge branch 'feat/next-poc' into feat/next/graphql 2024-02-05 10:35:17 -05:00
Jarrod Flesch
175dc33b01 fix: allow for null fallbackLocale 2024-02-05 10:34:47 -05:00
Jarrod Flesch
aa1b98aef8 remove old playground init, stub graphql handler location 2024-02-05 10:34:19 -05:00
Jarrod Flesch
c842a1e8d4 adds credentials include setting to playground 2024-02-02 17:02:38 -05:00
Jarrod Flesch
7e8be87da2 feat: adds graphql playground handler 2024-02-02 17:01:45 -05:00
Jarrod Flesch
97b9bd0593 misc 2024-02-02 15:35:59 -05:00
Jarrod Flesch
389865ba13 removes duplicate bootAdminPanel fn 2024-02-02 15:35:35 -05:00
Jarrod Flesch
bdaceedc91 chore: removes need for REST_API folder in test dir 2024-02-02 15:34:30 -05:00
Jarrod Flesch
2c910b0778 chore: WIP dev suites 2024-02-02 15:26:14 -05:00
Jarrod Flesch
f01721ce64 merge with next-poc 2024-02-02 15:24:42 -05:00
Jarrod Flesch
35b16d421e chore: api handler adjustments 2024-02-02 15:23:21 -05:00
Jacob Fletcher
147def5059 chore(next): wires form submissions (#4982) 2024-02-02 15:04:15 -05:00
Jarrod Flesch
bf16dd2cf8 Merge branch 'feat/next-poc' into feat/next/test-suite 2024-02-01 14:21:42 -05:00
Jarrod Flesch
24feace60b feat: correctly subs out ability to boot REST API within same process 2024-02-01 14:07:13 -05:00
Jacob Fletcher
3ab8a8e25f chore(next): ssr upload field and document drawer (#4957) 2024-02-01 11:23:12 -05:00
Jarrod Flesch
e96c7bf987 chore: files for running tests 2024-01-30 14:54:47 -05:00
Jacob Fletcher
e7c39cb53f chore(next): ssr blocks field (#4942) 2024-01-29 15:41:50 -05:00
Jacob Fletcher
a8aca3ad0f chore(next): ssr array field (#4937) 2024-01-28 15:51:11 -05:00
Jarrod Flesch
b531f6ab8b misc 2024-01-26 15:36:06 -05:00
Jarrod Flesch
bd83d995fa chore: rm console log 2024-01-26 15:34:50 -05:00
Jarrod Flesch
7962303c72 remove unused code 2024-01-26 15:34:13 -05:00
Jarrod Flesch
991056a861 chore: sets up working dynamic payload-config imports 2024-01-26 15:33:04 -05:00
Jacob Fletcher
369a1a8ad9 chore(next): overhauls field rendering strategy (#4924) 2024-01-26 14:12:41 -05:00
Jarrod Flesch
b8e7b9c8b3 chore: align fallbackLocale determination with new fallbackLocale property on Locale 2024-01-25 12:00:50 -05:00
Jarrod Flesch
df40bafcfe chore: consolidates locale api req initialization (#4922) 2024-01-25 10:18:23 -05:00
Jarrod Flesch
0cd8ac6754 chore: improve types 2024-01-25 09:25:35 -05:00
Jarrod Flesch
ad416ca14f chore: ensures root routes take pass unmodified request to root routes 2024-01-24 17:26:02 -05:00
Jarrod Flesch
70784517e4 chore: misc type and fn export changes 2024-01-24 10:26:29 -05:00
Jarrod Flesch
2c3dc6ceef chore: improve req type safety in local operations, misc req.files replacements 2024-01-24 09:47:28 -05:00
Jarrod Flesch
db935b20a7 chore: renames file/function 2024-01-24 09:07:01 -05:00
Jarrod Flesch
a1fd0318f1 chore: adds try/catch around routes, corrects a few route responses 2024-01-23 17:04:43 -05:00
Jarrod Flesch
c2151c1b59 merge with next-poc 2024-01-23 16:21:16 -05:00
Jarrod Flesch
8f729bba41 chore: remove findByID from req 2024-01-23 16:19:45 -05:00
Jarrod Flesch
08bf0b6d4d chore: adjust upload file structure 2024-01-23 15:50:39 -05:00
Jarrod Flesch
1ff30c5e54 chore: ports over express-fileupload into a NextJS compatible format 2024-01-23 14:23:44 -05:00
Jacob Fletcher
80e7fb9020 chore(next): ssr collapsible field (#4894) 2024-01-22 17:52:24 -05:00
Jarrod Flesch
1bd0106c2b chore: wires up busboy with Requst readstream 2024-01-22 17:22:24 -05:00
Jacob Fletcher
6c59192340 chore(next): ssr radio, point, code, json, ui, and hidden fields (#4891) 2024-01-22 13:55:26 -05:00
Jacob Fletcher
29c1498842 chore(next): conditional logic (#4880) 2024-01-19 16:43:18 -05:00
Jacob Fletcher
75c12e8966 chore(next): wires server action into document edit view (#4873) 2024-01-19 14:51:56 -05:00
Jarrod Flesch
23291d4627 comment clarification 2024-01-19 12:54:20 -05:00
Jarrod Flesch
8b89767907 chore: adjusts file property on request type 2024-01-19 12:51:39 -05:00
Jacob Fletcher
7bc43b4fe8 chore(next): ssr textarea field 2024-01-17 18:07:44 -05:00
Jacob Fletcher
0aaf4c1f32 chore(next): ssr row field 2024-01-17 17:41:11 -05:00
Jacob Fletcher
16394e6dbd chore(next): ssr tabs field (#4863) 2024-01-17 17:17:03 -05:00
Jacob Fletcher
3b531f863d chore(bundler-vite): removes vite bundler 2024-01-17 10:48:41 -05:00
Jacob Fletcher
0bc1a6a22a chore(bundler-webpack): removes webpack bundler 2024-01-17 10:48:13 -05:00
Jarrod Flesch
6dac9f769a chore: removes old file 2024-01-17 10:36:33 -05:00
Jarrod Flesch
5871ae1a59 chore: removes placeholder t function 2024-01-17 08:37:20 -05:00
Jacob Fletcher
0a9329ec56 chore(next): ssr group field (#4830) 2024-01-16 14:12:29 -05:00
Jarrod Flesch
00e34bb6fe chore: adds missing ja translations 2024-01-16 12:52:53 -05:00
Jarrod Flesch
75777dafc6 chore: remaining translation strings without colons 2024-01-16 12:44:20 -05:00
Jarrod Flesch
85ca07c521 fixes a few i18n TODO's 2024-01-16 12:20:25 -05:00
Jarrod Flesch
b781e5cc88 fixes up remaining translation strings 2024-01-16 12:15:09 -05:00
Jarrod Flesch
13313028b5 adds Translation component and removes more react-i18next 2024-01-16 09:36:35 -05:00
Jacob Fletcher
0bc7c452c3 chore(next): achieves buildable state (#4803) 2024-01-13 22:49:04 -05:00
Jacob Fletcher
b549003054 chore(db-postgres): removes vite and webpack config extensions 2024-01-12 15:32:37 -05:00
Jacob Fletcher
2ee425bdf1 chore(db-mongodb): removes vite and webpack config extensions 2024-01-12 15:31:57 -05:00
Jacob Fletcher
fe6160663a chore(deps): removes all unused dependencies from payload core (#4797) 2024-01-12 14:46:07 -05:00
Jacob Fletcher
6549e6136c chore(next): moves remaining components out from payload core (#4794) 2024-01-12 11:38:33 -05:00
Jarrod Flesch
9b1668cbcd fixes acccept-language detection 2024-01-12 10:25:28 -05:00
Jacob Fletcher
1c615b7fbf chore(next): migrates types (#4792) 2024-01-12 09:14:38 -05:00
Jarrod Flesch
7c54012caa chore: remoeve old import 2024-01-12 08:58:01 -05:00
Jacob Fletcher
abee872931 chore(next): progress to build 2024-01-10 14:49:07 -05:00
Jacob Fletcher
1cbcec87d8 chore(next): installs @payloadcms/ui as direct dependency 2024-01-10 14:49:07 -05:00
Jarrod Flesch
0f1960f22a chore: adjust other package ts-configs that rely on translations 2024-01-10 14:48:05 -05:00
Jarrod Flesch
fb0c000b54 chore: fix translation tsconfig 2024-01-10 14:45:04 -05:00
Jarrod Flesch
87bb6e9995 Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-01-10 14:31:03 -05:00
Jarrod Flesch
45ceabf49e chore: renames PayloadT to Payload 2024-01-10 14:30:56 -05:00
Jacob Fletcher
8202629f62 chore(next): custom views (#4748) 2024-01-10 11:55:21 -05:00
Jarrod Flesch
d3d15301f7 chore: simplify next/routes export and import paths 2024-01-10 11:03:20 -05:00
Jarrod Flesch
8817ade510 chore: add missing translation used in db adapters 2024-01-09 16:26:47 -05:00
Jarrod Flesch
4423bfdaa1 chore: separate client translation groups with empty line 2024-01-09 16:23:31 -05:00
Jarrod Flesch
56c766c7b8 feat: adds i18n functionality within Rest API, Local and Client contexts (#4749) 2024-01-09 14:37:17 -05:00
Jacob Fletcher
f8d2f44f82 chore(next): ssr api view (#4721) 2024-01-08 10:21:55 -05:00
Jacob Fletcher
d86e736b33 chore(next): returns isolated configs and locale from initPage 2024-01-08 10:20:13 -05:00
Jacob Fletcher
e2db15ed4d Merge pull request #4708 from payloadcms/chore/next-views
chore(next): moves various views into next dir
2024-01-05 16:58:26 -05:00
Jacob Fletcher
d5af131144 chore(next): moves global edit view into next dir 2024-01-05 16:51:54 -05:00
Jacob Fletcher
1401e0ab5a chore(next): moves account view into next dir 2024-01-05 14:19:53 -05:00
Jacob Fletcher
49817ee0fa chore(next): moves dashboard view into next dir 2024-01-05 14:19:43 -05:00
Jacob Fletcher
e4e5cab60f chore(next): ssr field validations (#4700) 2024-01-05 12:15:14 -05:00
Jacob Fletcher
bd6a3a633d chore(next): ssr field conditions (#4675) 2024-01-03 17:08:46 -05:00
Jacob Fletcher
3d5500e69b chore(next): ssr versions view (#4645) 2024-01-03 10:08:34 -05:00
Jarrod Flesch
b5fc236d43 Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2024-01-02 10:51:38 -05:00
Jarrod Flesch
9915e560b2 chore: cleanup 2024-01-02 10:51:31 -05:00
Jacob Fletcher
4cf07f143c chore(next): scaffolds document layout (#4644) 2023-12-31 13:57:57 -05:00
Jacob Fletcher
9c0994219e chore(next): ssr globals view (#4640) 2023-12-30 10:03:28 -05:00
Jacob Fletcher
1287412383 chore(next): ssr auth views and document create (#4631) 2023-12-29 09:14:02 -05:00
Jacob Fletcher
0712207ff2 chore(next): ssr account view (#4620) 2023-12-27 22:21:12 -05:00
Jacob Fletcher
3e11a5200e chore(ui): ssr main nav (#4619) 2023-12-27 22:17:24 -05:00
Jacob Fletcher
723b470284 chore(next): ssr edit view (#4614) 2023-12-27 08:09:10 -05:00
Jarrod Flesch
a267aad709 chore: allows for custom endpoints 2023-12-22 13:18:45 -05:00
Jarrod Flesch
b1b318e282 chore: adjusts graphql file imports to align with new operation exports 2023-12-22 08:08:18 -05:00
Jarrod Flesch
31a8d35bb9 Merge branch 'feat/next-poc' into feat/next-custom-endpoints 2023-12-22 08:01:20 -05:00
Jarrod Flesch
f5a63998ce chore: removes old files 2023-12-22 08:00:58 -05:00
Jacob Fletcher
921f568d2d chore(next): ssr list view (#4594) 2023-12-21 23:04:25 -05:00
Jarrod Flesch
f43ac8554c chore: removes old files 2023-12-21 16:58:25 -05:00
Jarrod Flesch
988a21e94d feat(3.0): next route handlers (#4590) 2023-12-21 16:54:20 -05:00
Jacob Fletcher
a7172d8782 chore(next): builds initPage utility (#4589) 2023-12-21 16:07:45 -05:00
Jacob Fletcher
cc8c23db85 chore(next): scaffolds admin layout and dashboard view (#4566) 2023-12-20 10:13:28 -05:00
Jacob Fletcher
a6d7852903 chore(next): scaffolds access routes (#4562) 2023-12-20 01:14:19 -05:00
Jarrod Flesch
af88fb8af4 fix: me route 2023-12-19 15:33:09 -05:00
Jarrod Flesch
d16c710caa feat: working login route/view 2023-12-19 15:21:18 -05:00
Jarrod Flesch
23d362757c Merge branch 'feat/next-poc' of https://github.com/payloadcms/payload into feat/next-poc 2023-12-19 12:11:15 -05:00
Jacob Fletcher
ef7bea6d2d chore(next): installs sass and resolves type errors 2023-12-19 12:10:00 -05:00
Jarrod Flesch
4d0fa60a7a Merge branch 'feat/access-slim' into feat/next-poc 2023-12-19 12:00:52 -05:00
Jarrod Flesch
e25fc2da88 chore: adjust req type 2023-12-19 11:57:38 -05:00
Jacob Fletcher
5558e0c62f Merge branch 'main' into feat/next-poc 2023-12-19 10:34:34 -05:00
Jacob Fletcher
10315ed240 chore: splits login form from page and moves to next 2023-12-19 10:09:37 -05:00
Jarrod Flesch
754fb2397e wip moves payload, user and data into partial req 2023-12-18 16:58:57 -05:00
Jarrod Flesch
df2d144590 tie it into the next package 2023-12-14 16:52:07 -05:00
Jarrod Flesch
432e47032e chore: passes payload and user through to access control functions instead of the full req 2023-12-14 16:43:40 -05:00
Jarrod Flesch
507d40b6f5 chore: adds base for access crossoads 2023-12-14 16:18:07 -05:00
Jarrod Flesch
97eb814f21 chore: remove passing of cookies, we will handle this internally 2023-12-08 10:15:01 -05:00
Jarrod Flesch
0ef80e6d3e chore: integrates getAuthenticatedUser function into the next repo 2023-12-08 09:39:27 -05:00
Jarrod Flesch
b651b5cb48 chore: start to remove reliance on express specific functionality 2023-12-08 08:51:23 -05:00
Jacob Fletcher
02d95e90b4 chore: scaffolds auth utility 2023-12-07 16:13:23 -05:00
Jacob Fletcher
99e160686a chore: scaffolds metadata 2023-12-07 16:13:16 -05:00
Jacob Fletcher
fc9ada5f18 chore(next): scaffolds auth layout 2023-12-06 16:28:12 -05:00
Jacob Fletcher
ce3c084ea1 chore(ui): migrates theme provider 2023-12-06 14:37:08 -05:00
Jacob Fletcher
ab24796316 chore(next): exports root page and adds admin redirect 2023-12-06 12:03:06 -05:00
Jacob Fletcher
aa2ee060f1 chore(next): exports root layout from layouts dir 2023-12-06 12:02:42 -05:00
Jacob Fletcher
66e47990ac Merge branch 'main' into feat/next-poc 2023-12-06 10:41:29 -05:00
Jacob Fletcher
bd9f7bda29 chore: successfully renders login view 2023-12-05 16:38:11 -05:00
Jacob Fletcher
b002cf3031 chore: moves forms and related components 2023-12-02 03:44:52 -05:00
Jacob Fletcher
77407f0879 Merge branch 'main' into feat/next-poc 2023-12-01 22:50:58 -05:00
Jacob Fletcher
ff4c76e3a2 chore: moves login view and begins i18n 2023-12-01 22:49:59 -05:00
Jacob Fletcher
533e0fb10d chore: moves auth provider 2023-12-01 22:49:59 -05:00
Jacob Fletcher
c5bc3e27a8 chore: moves dashboard view and related components 2023-12-01 22:49:59 -05:00
Jacob Fletcher
fad0398a48 chore: moves ui components 2023-12-01 22:49:52 -05:00
Jacob Fletcher
5ce519aef9 fix: properly cleans field configs 2023-11-16 12:31:41 -05:00
Jacob Fletcher
a0719275e6 fix: removes webpack and vite from client config 2023-11-16 10:13:51 -05:00
James
01a2fc6b75 chore: progress to ui scaffolding 2023-11-16 09:50:57 -05:00
James
c232983e63 chore: progress to ui scaffolding 2023-11-15 17:22:40 -05:00
James
fe956d4617 chore: excludes pino from builds in next poc 2023-11-15 16:28:02 -05:00
James
fee8838e7b chore: establishes package pattern 2023-11-15 16:00:45 -05:00
James
0996f8cccb chore: initial next poc 2023-11-07 13:59:59 -05:00
4196 changed files with 150808 additions and 101367 deletions

View File

@@ -8,3 +8,6 @@
**/dist/**
**/node_modules
**/temp
playwright.config.ts
jest.config.js
test/live-preview/next-app

64
.eslintrc.cjs Normal file
View File

@@ -0,0 +1,64 @@
/** @type {import('eslint').Linter.Config} */
module.exports = {
extends: ['@payloadcms'],
ignorePatterns: ['README.md', 'packages/**/*.spec.ts'],
overrides: [
{
files: ['packages/**'],
plugins: ['payload'],
rules: {
'payload/no-jsx-import-statements': 'warn',
},
},
{
files: ['scripts/**'],
rules: {
'@typescript-eslint/no-unused-vars': 'off',
'no-console': 'off',
'perfectionist/sort-object-types': 'off',
'perfectionist/sort-objects': 'off',
},
},
{
extends: ['plugin:@typescript-eslint/disable-type-checked'],
files: ['*.js', '*.cjs', '*.json', '*.md', '*.yml', '*.yaml'],
},
{
files: ['packages/eslint-config-payload/**'],
rules: {
'perfectionist/sort-objects': 'off',
},
},
{
files: ['package.json', 'tsconfig.json'],
rules: {
'perfectionist/sort-array-includes': 'off',
'perfectionist/sort-astro-attributes': 'off',
'perfectionist/sort-classes': 'off',
'perfectionist/sort-enums': 'off',
'perfectionist/sort-exports': 'off',
'perfectionist/sort-imports': 'off',
'perfectionist/sort-interfaces': 'off',
'perfectionist/sort-jsx-props': 'off',
'perfectionist/sort-keys': 'off',
'perfectionist/sort-maps': 'off',
'perfectionist/sort-named-exports': 'off',
'perfectionist/sort-named-imports': 'off',
'perfectionist/sort-object-types': 'off',
'perfectionist/sort-objects': 'off',
'perfectionist/sort-svelte-attributes': 'off',
'perfectionist/sort-union-types': 'off',
'perfectionist/sort-vue-attributes': 'off',
},
},
],
parserOptions: {
project: ['./tsconfig.json'],
tsconfigRootDir: __dirname,
EXPERIMENTAL_useSourceOfProjectReferenceRedirect: true,
EXPERIMENTAL_useProjectService: true,
sourceType: 'module',
ecmaVersion: 'latest',
},
root: true,
}

View File

@@ -1,38 +0,0 @@
module.exports = {
extends: ['@payloadcms'],
overrides: [
{
extends: ['plugin:@typescript-eslint/disable-type-checked'],
files: ['*.js', '*.cjs', '*.json', '*.md', '*.yml', '*.yaml'],
},
{
files: ['packages/eslint-config-payload/**'],
rules: {
'perfectionist/sort-objects': 'off',
},
},
{
files: ['package.json', 'tsconfig.json'],
rules: {
'perfectionist/sort-array-includes': 'off',
'perfectionist/sort-astro-attributes': 'off',
'perfectionist/sort-classes': 'off',
'perfectionist/sort-enums': 'off',
'perfectionist/sort-exports': 'off',
'perfectionist/sort-imports': 'off',
'perfectionist/sort-interfaces': 'off',
'perfectionist/sort-jsx-props': 'off',
'perfectionist/sort-keys': 'off',
'perfectionist/sort-maps': 'off',
'perfectionist/sort-named-exports': 'off',
'perfectionist/sort-named-imports': 'off',
'perfectionist/sort-object-types': 'off',
'perfectionist/sort-objects': 'off',
'perfectionist/sort-svelte-attributes': 'off',
'perfectionist/sort-union-types': 'off',
'perfectionist/sort-vue-attributes': 'off',
},
},
],
root: true,
}

View File

@@ -16,3 +16,6 @@ fb7d1be2f3325d076b7c967b1730afcef37922c2
# lint and format create-payload-app
5fd3d430001efe86515262ded5e26f00c1451181
# 3.0 prettier & lint everywhere
6789e61488a1d3de56f472ac3214faf344030005

13
.github/CODEOWNERS vendored
View File

@@ -1,32 +1,24 @@
# Order matters. The last matching pattern takes precedence.
### Catch-all ###
* @denolfe @jmikrut @DanRibbens
.* @denolfe @jmikrut @DanRibbens
### Core ###
/packages/payload/ @denolfe @jmikrut @DanRibbens
/packages/payload/src/uploads/ @denolfe
/packages/payload/src/admin/ @jmikrut @jacobsfletch @JarrodMFlesch
### Adapters ###
/packages/bundler-*/ @denolfe @jmikrut @DanRibbens @JarrodMFlesch
/packages/db-*/ @denolfe @jmikrut @DanRibbens
/packages/richtext-*/ @denolfe @jmikrut @DanRibbens @AlessioGr
### Plugins ###
/packages/plugin-*/ @denolfe @jmikrut @DanRibbens @jacobsfletch @JarrodMFlesch @AlessioGr
/packages/plugin-*/ @denolfe @jmikrut @DanRibbens
/packages/plugin-cloud*/ @denolfe
/packages/plugin-form-builder/ @jacobsfletch
/packages/plugin-live-preview*/ @jacobsfletch
/packages/plugin-nested-docs/ @jacobsfletch
/packages/plugin-password-protection/ @jmikrut
/packages/plugin-redirects/ @jacobsfletch
/packages/plugin-search/ @jacobsfletch
/packages/plugin-sentry/ @JessChowdhury
/packages/plugin-seo/ @jacobsfletch
/packages/plugin-stripe/ @jacobsfletch
/packages/plugin-zapier/ @JarrodMFlesch
### Examples ###
/examples/ @jacobsfletch
@@ -35,8 +27,7 @@
/examples/whitelabel/ @JessChowdhury
### Templates ###
/templates/ @jacobsfletch
/templates/blank/ @denolfe
/templates/ @jacobsfletch @denolfe
### Misc ###
/packages/create-payload-app/ @denolfe

View File

@@ -1,6 +1,6 @@
name: Bug Report
description: Create a bug report for Payload
labels: ['possible-bug']
labels: ['[possible-bug]']
body:
- type: markdown
attributes:

View File

@@ -4,7 +4,7 @@ on:
pull_request:
types: [opened, reopened, synchronize]
push:
branches: ['main']
branches: ['main', 'alpha']
jobs:
changes:
@@ -15,25 +15,25 @@ jobs:
needs_build: ${{ steps.filter.outputs.needs_build }}
templates: ${{ steps.filter.outputs.templates }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 25
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
needs_build:
- '.github/workflows/**'
- 'packages/**'
- 'test/**'
- 'pnpm-lock.yaml'
- 'package.json'
templates:
- 'templates/**'
- name: Log all filter results
run: |
echo "needs_build: ${{ steps.filter.outputs.needs_build }}"
echo "templates: ${{ steps.filter.outputs.templates }}"
- uses: actions/checkout@v4
with:
fetch-depth: 25
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
needs_build:
- '.github/workflows/**'
- 'packages/**'
- 'test/**'
- 'pnpm-lock.yaml'
- 'package.json'
templates:
- 'templates/**'
- name: Log all filter results
run: |
echo "needs_build: ${{ steps.filter.outputs.needs_build }}"
echo "templates: ${{ steps.filter.outputs.templates }}"
core-build:
needs: changes
@@ -46,12 +46,12 @@ jobs:
fetch-depth: 25
- name: Use Node.js 18
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 18
- name: Install pnpm
uses: pnpm/action-setup@v2
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
@@ -61,7 +61,7 @@ jobs:
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v3
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
@@ -71,66 +71,138 @@ jobs:
${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
- run: pnpm install
- run: pnpm run build
- run: pnpm run build:core
- name: Cache build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ./*
key: ${{ github.sha }}-${{ github.run_number }}
plugins-build:
needs: changes
if: ${{ needs.changes.outputs.needs_build == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 25
- name: Use Node.js 18
uses: actions/setup-node@v4
with:
node-version: 18
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
- run: pnpm install
- run: pnpm run build:plugins
tests:
runs-on: ubuntu-latest
needs: core-build
strategy:
fail-fast: false
matrix:
database: [mongoose, postgres]
database:
- mongodb
- postgres
- postgres-custom-schema
- postgres-uuid
- supabase
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: payloadtests
AWS_ENDPOINT_URL: http://127.0.0.1:4566
AWS_ACCESS_KEY_ID: localstack
AWS_SECRET_ACCESS_KEY: localstack
AWS_REGION: us-east-1
steps:
- name: Use Node.js 18
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 18
- name: Install pnpm
uses: pnpm/action-setup@v2
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
- name: Restore build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ./*
key: ${{ github.sha }}-${{ github.run_number }}
- name: Start LocalStack
run: pnpm docker:start
- name: Start PostgreSQL
uses: CasperWA/postgresql-action@v1.2
with:
postgresql version: '14' # See https://hub.docker.com/_/postgres for available versions
postgresql version: '14' # See https://hub.docker.com/_/postgres for available versions
postgresql db: ${{ env.POSTGRES_DB }}
postgresql user: ${{ env.POSTGRES_USER }}
postgresql password: ${{ env.POSTGRES_PASSWORD }}
if: matrix.database == 'postgres'
if: startsWith(matrix.database, 'postgres')
- name: Install Supabase CLI
uses: supabase/setup-cli@v1
with:
version: latest
if: matrix.database == 'supabase'
- name: Initialize Supabase
run: |
supabase init
supabase start
if: matrix.database == 'supabase'
- name: Wait for PostgreSQL
run: sleep 30
if: startsWith(matrix.database, 'postgres')
- run: sleep 30
- name: Configure PostgreSQL
run: |
psql "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB" -c "CREATE ROLE runner SUPERUSER LOGIN;"
psql "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB" -c "SELECT version();"
echo "POSTGRES_URL=postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB" >> $GITHUB_ENV
if: matrix.database == 'postgres'
if: startsWith(matrix.database, 'postgres')
- name: Component Tests
run: pnpm test:components
- name: Configure PostgreSQL with custom schema
run: |
psql "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB" -c "CREATE SCHEMA custom;"
if: matrix.database == 'postgres-custom-schema'
- name: Configure Supabase
run: |
echo "POSTGRES_URL=postgresql://postgres:postgres@127.0.0.1:54322/postgres" >> $GITHUB_ENV
if: matrix.database == 'supabase'
- name: Integration Tests
run: pnpm test:int
run: pnpm test:int --testPathIgnorePatterns=test/fields # Ignore fields tests until reworked
env:
NODE_OPTIONS: --max-old-space-size=8096
PAYLOAD_DATABASE: ${{ matrix.database }}
@@ -142,59 +214,79 @@ jobs:
strategy:
fail-fast: false
matrix:
part: [1/8, 2/8, 3/8, 4/8, 5/8, 6/8, 7/8, 8/8]
# find test -type f -name 'e2e.spec.ts' | sort | xargs dirname | xargs -I {} basename {}
suite:
- _community
- access-control
# - admin
- auth
# - field-error-states
# - fields-relationship
# - fields
- fields/lexical
- live-preview
# - localization
# - plugin-nested-docs
# - plugin-seo
# - refresh-permissions
# - uploads
# - versions
steps:
- name: Use Node.js 18
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 18
- name: Install pnpm
uses: pnpm/action-setup@v2
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
- name: Restore build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ./*
key: ${{ github.sha }}-${{ github.run_number }}
- name: Install Playwright
run: pnpm exec playwright install
- name: E2E Tests
uses: nick-fields/retry@v2
uses: nick-fields/retry@v3
with:
retry_on: error
max_attempts: 2
timeout_minutes: 15
command: pnpm test:e2e --part ${{ matrix.part }} --bail
command: pnpm test:e2e ${{ matrix.suite }}
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: always()
with:
name: test-results
path: test-results/
path: test/test-results/
retention-days: 1
tests-type-generation:
if: false # This should be replaced with gen on a real Payload project
runs-on: ubuntu-latest
needs: core-build
steps:
- name: Use Node.js 18
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 18
- name: Install pnpm
uses: pnpm/action-setup@v2
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
- name: Restore build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ./*
key: ${{ github.sha }}-${{ github.run_number }}
@@ -205,43 +297,6 @@ jobs:
- name: Generate GraphQL schema file
run: pnpm dev:generate-graphql-schema graphql-schema-gen
build-packages:
runs-on: ubuntu-latest
needs: core-build
strategy:
fail-fast: false
matrix:
pkg:
- db-mongodb
- db-postgres
- bundler-webpack
- bundler-vite
- richtext-slate
- richtext-lexical
- live-preview
- live-preview-react
steps:
- name: Use Node.js 18
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 8
run_install: false
- name: Restore build
uses: actions/cache@v3
with:
path: ./*
key: ${{ github.sha }}-${{ github.run_number }}
- name: Build ${{ matrix.pkg }}
run: pnpm turbo run build --filter=${{ matrix.pkg }}
plugins:
runs-on: ubuntu-latest
needs: core-build
@@ -256,21 +311,22 @@ jobs:
- plugin-nested-docs
- plugin-search
- plugin-sentry
- plugin-seo
steps:
- name: Use Node.js 18
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 18
- name: Install pnpm
uses: pnpm/action-setup@v2
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
- name: Restore build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ./*
key: ${{ github.sha }}-${{ github.run_number }}
@@ -280,11 +336,10 @@ jobs:
- name: Test ${{ matrix.pkg }}
run: pnpm --filter ${{ matrix.pkg }} run test
if: matrix.pkg != 'create-payload-app' # degit doesn't work within GitHub Actions
templates:
needs: changes
if: ${{ needs.changes.outputs.templates == 'true' }}
if: false # Disable until templates are updated for 3.0
runs-on: ubuntu-latest
strategy:
fail-fast: false
@@ -297,7 +352,7 @@ jobs:
fetch-depth: 25
- name: Use Node.js 18
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 18
@@ -306,9 +361,10 @@ jobs:
with:
mongodb-version: 6.0
- name: Build Website
- name: Build Template
run: |
cd templates/${{ matrix.template }}
cp .env.example .env
yarn install
yarn build
yarn generate:types

111
.gitignore vendored
View File

@@ -1,10 +1,21 @@
coverage
package-lock.json
dist
.idea
/.idea/*
!/.idea/runConfigurations
test-results
.devcontainer
.localstack
/migrations
.localstack
.turbo
.turbo
# Ignore test directory media folder/files
/media
/versions
# Created by https://www.toptal.com/developers/gitignore/api/node,macos,windows,webstorm,sublimetext,visualstudiocode
# Edit at https://www.toptal.com/developers/gitignore?templates=node,macos,windows,webstorm,sublimetext,visualstudiocode
@@ -230,119 +241,24 @@ GitHub.sublime-settings
.history
.ionide
### WebStorm ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# AWS User-specific
.idea/**/aws.xml
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# SonarLint plugin
.idea/sonarlint/
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### WebStorm Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr
# Sonarlint plugin
# https://plugins.jetbrains.com/plugin/7973-sonarlint
.idea/**/sonarlint/
# SonarQube Plugin
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
.idea/**/sonarIssues.xml
# Markdown Navigator plugin
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
.idea/**/markdown-navigator.xml
.idea/**/markdown-navigator-enh.xml
.idea/**/markdown-navigator/
# Cache file creation bug
# See https://youtrack.jetbrains.com/issue/JBR-2257
.idea/$CACHE_FILE$
# CodeStream plugin
# https://plugins.jetbrains.com/plugin/12206-codestream
.idea/codestream.xml
# Azure Toolkit for IntelliJ plugin
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
.idea/**/azureSettings.xml
### Windows ###
# Windows thumbnail cache files
Thumbs.db
@@ -371,4 +287,5 @@ $RECYCLE.BIN/
# End of https://www.toptal.com/developers/gitignore/api/node,macos,windows,webstorm,sublimetext,visualstudiocode
/build
/build
.swc

View File

@@ -0,0 +1,8 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Run Dev Fields" type="NodeJSConfigurationType" application-parameters="--no-deprecation fields" path-to-js-file="test/dev.js" working-dir="$PROJECT_DIR$">
<envs>
<env name="NODE_OPTIONS" value="--no-deprecation" />
</envs>
<method v="2" />
</configuration>
</component>

View File

@@ -0,0 +1,8 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Run Dev _community" type="NodeJSConfigurationType" application-parameters="--no-deprecation _community" path-to-js-file="test/dev.js" working-dir="$PROJECT_DIR$">
<envs>
<env name="NODE_OPTIONS" value="--no-deprecation" />
</envs>
<method v="2" />
</configuration>
</component>

View File

@@ -1 +1 @@
v18.17.1
v18.19.1

2
.nvmrc
View File

@@ -1 +1 @@
v18.17.1
v18.19.1

View File

@@ -9,3 +9,4 @@
**/node_modules
**/temp
**/docs/**
tsconfig.json

View File

@@ -1,16 +0,0 @@
module.exports = {
verbose: true,
git: {
requireCleanWorkingDir: false,
commit: false,
push: false,
tag: false,
},
npm: {
skipChecks: true,
tag: 'beta',
},
hooks: {
'before:init': ['pnpm install', 'pnpm clean', 'pnpm build'],
},
}

15
.swcrc Normal file
View File

@@ -0,0 +1,15 @@
{
"$schema": "https://json.schemastore.org/swcrc",
"sourceMaps": "inline",
"jsc": {
"target": "esnext",
"parser": {
"syntax": "typescript",
"tsx": true,
"dts": true
}
},
"module": {
"type": "es6"
}
}

View File

@@ -1,3 +1,8 @@
{
"recommendations": ["esbenp.prettier-vscode", "dbaeumer.vscode-eslint"]
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"firsttris.vscode-jest-runner",
"ms-playwright.playwright"
]
}

29
.vscode/launch.json vendored
View File

@@ -3,12 +3,26 @@
// Hover to view descriptions of existing attributes.
"configurations": [
{
"command": "pnpm run dev _community",
"command": "pnpm generate:types",
"name": "Generate Types CLI",
"request": "launch",
"type": "node-terminal",
"cwd": "${workspaceFolder}"
},
{
"command": "node --no-deprecation test/dev.js fields",
"cwd": "${workspaceFolder}",
"name": "Run Dev Community",
"request": "launch",
"type": "node-terminal"
},
{
"command": "pnpm run dev live-preview -- --no-turbo",
"cwd": "${workspaceFolder}",
"name": "Run Dev Live Preview",
"request": "launch",
"type": "node-terminal"
},
{
"command": "pnpm run dev plugin-cloud-storage",
"cwd": "${workspaceFolder}",
@@ -27,7 +41,7 @@
"type": "node-terminal"
},
{
"command": "pnpm run dev:postgres fields",
"command": "pnpm run dev:postgres versions",
"cwd": "${workspaceFolder}",
"name": "Run Dev Postgres",
"request": "launch",
@@ -102,17 +116,6 @@
"request": "launch",
"type": "node-terminal"
},
{
"command": "ts-node ./packages/payload/src/bin/index.ts generate:types",
"env": {
"PAYLOAD_CONFIG_PATH": "test/_community/config.ts",
"DISABLE_SWC": "true" // SWC messes up debugging the bin scripts
},
"name": "Generate Types CLI",
"outputCapture": "std",
"request": "launch",
"type": "node-terminal"
},
{
"command": "ts-node ./packages/payload/src/bin/index.ts migrate:status",
"env": {

13
.vscode/settings.json vendored
View File

@@ -5,21 +5,21 @@
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
"source.fixAll.eslint": "explicit"
}
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
"source.fixAll.eslint": "explicit"
}
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
"source.fixAll.eslint": "explicit"
}
},
"[json]": {
@@ -35,5 +35,10 @@
"eslint.rules.customizations": [{ "rule": "*", "severity": "warn" }],
"typescript.tsdk": "node_modules/typescript/lib",
// Load .git-blame-ignore-revs file
"gitlens.advanced.blame.customArguments": ["--ignore-revs-file", ".git-blame-ignore-revs"]
"gitlens.advanced.blame.customArguments": ["--ignore-revs-file", ".git-blame-ignore-revs"],
"[javascript][typescript][typescriptreact]": {
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
}
}

View File

@@ -1,3 +1,353 @@
## [2.11.2](https://github.com/payloadcms/payload/compare/v2.11.1...v2.11.2) (2024-02-23)
### Features
* **db-postgres:** configurable custom schema to use ([#5047](https://github.com/payloadcms/payload/issues/5047)) ([e8f2ca4](https://github.com/payloadcms/payload/commit/e8f2ca484ee56cd7767d5111e46ebd24752ff8de))
### Bug Fixes
* Add Context Provider in EditMany Component ([#5005](https://github.com/payloadcms/payload/issues/5005)) ([70e57fe](https://github.com/payloadcms/payload/commit/70e57fef184f7fcf56344ea755465f246f2253a5))
* **db-mongodb:** unique sparse for not required fields ([#5114](https://github.com/payloadcms/payload/issues/5114)) ([815bdfa](https://github.com/payloadcms/payload/commit/815bdfac0b0afbff2a20e54d5aee64b90f6b3a77))
* **db-postgres:** set _parentID for array nested localized fields ([#5117](https://github.com/payloadcms/payload/issues/5117)) ([ceca5c4](https://github.com/payloadcms/payload/commit/ceca5c4e97f53f1346797a31b6abfc0375e98215))
* disabling API Key does not remove the key ([#5145](https://github.com/payloadcms/payload/issues/5145)) ([7a7f0ed](https://github.com/payloadcms/payload/commit/7a7f0ed7e8132253be607c111c160163b84bd770))
* handle thrown errors in config-level afterError hook ([#5147](https://github.com/payloadcms/payload/issues/5147)) ([32ed95e](https://github.com/payloadcms/payload/commit/32ed95e1ee87409db234f1b7bd6d2e462fd9ed5d))
* only replace the drawer content with full edit component if it exists ([#5144](https://github.com/payloadcms/payload/issues/5144)) ([0a07f60](https://github.com/payloadcms/payload/commit/0a07f607b9fb1217ad956cd05b2a84a4042a19ca))
* transaction error from access endpoint ([#5156](https://github.com/payloadcms/payload/issues/5156)) ([ad42d54](https://github.com/payloadcms/payload/commit/ad42d541b342ed56463b81cee6d6307df6f06d7f))
## [2.11.1](https://github.com/payloadcms/payload/compare/v2.11.0...v2.11.1) (2024-02-16)
### Features
* **db-postgres:** adds idType to use uuid or serial id columns ([#3864](https://github.com/payloadcms/payload/issues/3864)) ([d6c2578](https://github.com/payloadcms/payload/commit/d6c25783cfa97983bf9db27ceb5ccd39a62c62f1))
* **db-postgres:** reconnect after disconnection from database ([#5086](https://github.com/payloadcms/payload/issues/5086)) ([bf942fd](https://github.com/payloadcms/payload/commit/bf942fdfa6ea9c26cf05295cc9db646bf31fa622))
* **plugin-search:** add req to beforeSync args for transactions ([#5068](https://github.com/payloadcms/payload/issues/5068)) ([98b87e2](https://github.com/payloadcms/payload/commit/98b87e22782c0a788f79326f22be05a6b176ad74))
* **richtext-lexical:** add justify aligment to AlignFeature ([#4035](https://github.com/payloadcms/payload/issues/4035)) ([#4868](https://github.com/payloadcms/payload/issues/4868)) ([6d6823c](https://github.com/payloadcms/payload/commit/6d6823c3e5609a58eeeeb8d043945a762f9463df))
* **richtext-lexical:** AddBlock handle for all nodes, even if they aren't empty paragraphs ([#5063](https://github.com/payloadcms/payload/issues/5063)) ([00fc034](https://github.com/payloadcms/payload/commit/00fc0343dabf184d5bab418d47c403b3ad11698f))
* **richtext-lexical:** Update lexical from 0.12.6 to 0.13.1, port over all useful changes from playground ([#5066](https://github.com/payloadcms/payload/issues/5066)) ([0d18822](https://github.com/payloadcms/payload/commit/0d18822062275c1826c8e2c3da2571a2b3483310))
### Bug Fixes
* **db-mongodb:** find versions pagination ([#5091](https://github.com/payloadcms/payload/issues/5091)) ([5d4022f](https://github.com/payloadcms/payload/commit/5d4022f1445e2809c01cb1dd599280f0a56cdc6e))
* **db-postgres:** query using blockType ([#5044](https://github.com/payloadcms/payload/issues/5044)) ([35c2a08](https://github.com/payloadcms/payload/commit/35c2a085efa6d5ad59779960874bc9728a17e3a0))
* filterOptions errors cause transaction to abort ([#5079](https://github.com/payloadcms/payload/issues/5079)) ([5f3d016](https://github.com/payloadcms/payload/commit/5f3d0169bee21e1c0963dbd7ede9fe5f1c46a5a5))
* **plugin-form-builder:** hooks do not respect transactions ([#5069](https://github.com/payloadcms/payload/issues/5069)) ([82e9d31](https://github.com/payloadcms/payload/commit/82e9d31127c8df83c5bed92a5ffdab76d331900f))
* remove collection findByID caching ([#5034](https://github.com/payloadcms/payload/issues/5034)) ([1ac943e](https://github.com/payloadcms/payload/commit/1ac943ed5e8416883b863147fdf3c23380955559))
* **richtext-lexical:** do not remove adjacent paragraph node when inserting certain nodes in empty editor ([#5061](https://github.com/payloadcms/payload/issues/5061)) ([6323965](https://github.com/payloadcms/payload/commit/6323965c652ea68dffeb716957b124d165b9ce96))
* **uploads:** account for serverURL when retrieving external file ([#5102](https://github.com/payloadcms/payload/issues/5102)) ([25cee8b](https://github.com/payloadcms/payload/commit/25cee8bb102bf80b3a4bfb4b4e46712722cc7f0d))
### ⚠ BREAKING CHANGES: @payloadcms/richtext-lexical
* **richtext-lexical:** Update lexical from 0.12.6 to 0.13.1, port over all useful changes from playground (#5066)
- You HAVE to make sure that any versions of the lexical packages (IF you have any installed) match the lexical version which richtext-lexical uses: v0.13.1. If you do not do this, you may be plagued by React useContext / "cannot find active editor state" errors
- Updates to lexical's API, e.g. the removal of INTERNAL_isPointSelection, could be breaking depending on your code. Please consult the [lexical changelog](https://github.com/facebook/lexical/blob/main/CHANGELOG.md).
## [2.11.0](https://github.com/payloadcms/payload/compare/v2.10.1...v2.11.0) (2024-02-09)
### Features
* exposes collapsible provider with more functionality ([#5043](https://github.com/payloadcms/payload/issues/5043)) ([df39602](https://github.com/payloadcms/payload/commit/df39602758ae8dc3765bb48e51f7a657babfa559))
## [2.10.1](https://github.com/payloadcms/payload/compare/v2.10.0...v2.10.1) (2024-02-09)
### Bug Fixes
* clearable cells handle null values ([#5038](https://github.com/payloadcms/payload/issues/5038)) ([f6d7da7](https://github.com/payloadcms/payload/commit/f6d7da751039df25066b51bb91d6453e1a4efd82))
* **db-mongodb:** handle null values with exists ([#5037](https://github.com/payloadcms/payload/issues/5037)) ([cdc4cb9](https://github.com/payloadcms/payload/commit/cdc4cb971b9180ba2ed09741f5af1a3c18292828))
* **db-postgres:** handle nested docs with drafts ([#5012](https://github.com/payloadcms/payload/issues/5012)) ([da184d4](https://github.com/payloadcms/payload/commit/da184d40ece74bffb224002eb5df8f6987d65043))
* ensures docs with the same id are shown in relationship field select ([#4859](https://github.com/payloadcms/payload/issues/4859)) ([e1813fb](https://github.com/payloadcms/payload/commit/e1813fb884e0dc84203fcbab87527a99a4d3a5d7))
* query relationships by explicit id field ([#5022](https://github.com/payloadcms/payload/issues/5022)) ([a0a58e7](https://github.com/payloadcms/payload/commit/a0a58e7fd20dff54d210c968f4d5defd67441bdd))
* **richtext-lexical:** make editor reactive to initialValue changes ([#5010](https://github.com/payloadcms/payload/issues/5010)) ([2315781](https://github.com/payloadcms/payload/commit/2315781f1891ddde4b4c5f2f0cfa1c17af85b7a9))
## [2.10.0](https://github.com/payloadcms/payload/compare/v2.9.0...v2.10.0) (2024-02-06)
### Features
* add more options to addFieldStatePromise so that it can be used for field flattening ([#4799](https://github.com/payloadcms/payload/issues/4799)) ([8725d41](https://github.com/payloadcms/payload/commit/8725d411645bb0270376e235669f46be2227ecc0))
* extend transactions to cover after and beforeOperation hooks ([#4960](https://github.com/payloadcms/payload/issues/4960)) ([1e8a6b7](https://github.com/payloadcms/payload/commit/1e8a6b7899f7b1e6451cc4d777602208478b483c))
* previousValue and previousSiblingDoc args added to beforeChange field hooks ([#4958](https://github.com/payloadcms/payload/issues/4958)) ([5d934ba](https://github.com/payloadcms/payload/commit/5d934ba02d07d98f781ce983228858ee5ce5c226))
* re-use existing logger instance passed to payload.init ([#3124](https://github.com/payloadcms/payload/issues/3124)) ([471d211](https://github.com/payloadcms/payload/commit/471d2113a790dc0d54b2f8ed84e6899310efd600))
* **richtext-lexical:** Blocks: generate type definitions for blocks fields ([#4529](https://github.com/payloadcms/payload/issues/4529)) ([90d7ee3](https://github.com/payloadcms/payload/commit/90d7ee3e6535d51290fc734b284ff3811dbda1f8))
* use deletion success message from server if provided ([#4966](https://github.com/payloadcms/payload/issues/4966)) ([e3c8105](https://github.com/payloadcms/payload/commit/e3c8105cc2ed6fdf8007d97cd7b5556fc71ed724))
### Bug Fixes
* **db-postgres:** filtering relationships with drafts enabled ([#4998](https://github.com/payloadcms/payload/issues/4998)) ([c3a3942](https://github.com/payloadcms/payload/commit/c3a39429697e9d335e9be199e7caafb82eb26219))
* **db-postgres:** handle schema changes with supabase ([#4968](https://github.com/payloadcms/payload/issues/4968)) ([5d3659d](https://github.com/payloadcms/payload/commit/5d3659d48ad8bbf5d96fbcd80434d2287cab97e0))
* **db-postgres:** indexes not created for non unique field names ([#4967](https://github.com/payloadcms/payload/issues/4967)) ([64f705c](https://github.com/payloadcms/payload/commit/64f705c3c94148972f67e8175e718015760d6430))
* **db-postgres:** indexes not creating for relationships, arrays, hasmany and blocks ([#4976](https://github.com/payloadcms/payload/issues/4976)) ([47106d5](https://github.com/payloadcms/payload/commit/47106d5a1af2ebd073fbbc6e474174c3d3835e5c))
* **db-postgres:** localized field sort count ([#4997](https://github.com/payloadcms/payload/issues/4997)) ([f3876c2](https://github.com/payloadcms/payload/commit/f3876c2a39efe19a1864213306725aadcc14f130))
* ensures docPermissions fallback to collection permissions on create ([#4969](https://github.com/payloadcms/payload/issues/4969)) ([afa2b94](https://github.com/payloadcms/payload/commit/afa2b942e0aad90c55744ae13e0ffe1cefa4585d))
* **migrations:** safely create migration file when no name passed ([#4995](https://github.com/payloadcms/payload/issues/4995)) ([0740d50](https://github.com/payloadcms/payload/commit/0740d5095ee1aef13e4e37f6b174d529f0f2d993))
* **plugin-seo:** tabbedUI with email field causes duplicate field ([#4944](https://github.com/payloadcms/payload/issues/4944)) ([db22cbd](https://github.com/payloadcms/payload/commit/db22cbdf21a39ed0604ab96c57ca4242eac82ce7))
## [2.9.0](https://github.com/payloadcms/payload/compare/v2.8.2...v2.9.0) (2024-01-26)
### Features
* forceAcceptWarning migration arg added to accept prompts ([#4874](https://github.com/payloadcms/payload/issues/4874)) ([eba53ba](https://github.com/payloadcms/payload/commit/eba53ba60afd7c5d37389377ed06a9b556058d49))
### Bug Fixes
* afterLogin hook write conflicts ([#4904](https://github.com/payloadcms/payload/issues/4904)) ([3eb681e](https://github.com/payloadcms/payload/commit/3eb681e847e9c55eaaa69c22bea4f4e66c7eac36))
* **db-postgres:** migrate down error ([#4861](https://github.com/payloadcms/payload/issues/4861)) ([dfba522](https://github.com/payloadcms/payload/commit/dfba5222f3abf3f236dc9212a28e1aec7d7214d5))
* **db-postgres:** query unset relation ([#4862](https://github.com/payloadcms/payload/issues/4862)) ([8ce15c8](https://github.com/payloadcms/payload/commit/8ce15c8b07800397a50dcf790c263ed5b3cfad53))
* migrate down missing filter for latest batch ([#4860](https://github.com/payloadcms/payload/issues/4860)) ([b99d24f](https://github.com/payloadcms/payload/commit/b99d24fcfa698c493ea01c41621201abe18fabe3))
* **plugin-cloud-storage:** slow get file performance large collections ([#4927](https://github.com/payloadcms/payload/issues/4927)) ([f73d503](https://github.com/payloadcms/payload/commit/f73d503fecdfa5cefdc26ab9aad60b00563f881e))
* remove No Options dropdown from hasMany fields ([#4899](https://github.com/payloadcms/payload/issues/4899)) ([e5a7907](https://github.com/payloadcms/payload/commit/e5a7907a72c1371447ac2f71fce213ed22246092))
* upload input drawer does not show draft versions ([#4903](https://github.com/payloadcms/payload/issues/4903)) ([6930c4e](https://github.com/payloadcms/payload/commit/6930c4e9f2200853121391ad8f8df48ea66c40a4))
## [2.8.2](https://github.com/payloadcms/payload/compare/v2.8.1...v2.8.2) (2024-01-16)
### Features
* **db-postgres:** support drizzle logging config ([#4809](https://github.com/payloadcms/payload/issues/4809)) ([371353f](https://github.com/payloadcms/payload/commit/371353f1535fbab4ebd9f56fc14fd10a30eec289))
* **plugin-form-builder:** add validation for form ID when creating a submission ([#4730](https://github.com/payloadcms/payload/pull/4730))
* **plugin-seo:** add support for interfaceName and fieldOverrides ([#4695](https://github.com/payloadcms/payload/pull/4695))
### Bug Fixes
* **db-mongodb:** mongodb versions creating duplicates ([#4825](https://github.com/payloadcms/payload/issues/4825)) ([a861311](https://github.com/payloadcms/payload/commit/a861311c5a98126700f98f9a2ab380782e754717))
* **db-mongodb:** transactionOptions=false typeErrors ([82383a5](https://github.com/payloadcms/payload/commit/82383a5b5f52785115c0feb970da70e91971b7ca))
* **db-postgres:** Remove duplicate keys from response ([#4747](https://github.com/payloadcms/payload/issues/4747)) ([eb9e771](https://github.com/payloadcms/payload/commit/eb9e771a9ca03636486d36654f215b73435574cb))
* **db-postgres:** validateExistingBlockIsIdentical with arrays ([3b88adc](https://github.com/payloadcms/payload/commit/3b88adc7d0594af63ce190c40c9ee3905df67a31))
* **db-postgres:** validateExistingBlockIsIdentical with other tables ([0647c87](https://github.com/payloadcms/payload/commit/0647c870f15dc1b122734b678c2abeb6f56377d4))
* **plugin-seo:** fix missing spread operator in URL generator function ([#4723](https://github.com/payloadcms/payload/pull/4723))
* removes max-width from field-types class & correctly sets it on uploads ([#4829](https://github.com/payloadcms/payload/issues/4829)) ([ee5390a](https://github.com/payloadcms/payload/commit/ee5390aaca37a4154cde8392b60f091ec3e5175c))
## [2.8.1](https://github.com/payloadcms/payload/compare/v2.8.0...v2.8.1) (2024-01-12)
### Bug Fixes
* corrects config usage in build bin script ([#4796](https://github.com/payloadcms/payload/issues/4796)) ([775502b](https://github.com/payloadcms/payload/commit/775502b1616c1bd35a3044438e253a0e84219f99))
## [2.8.0](https://github.com/payloadcms/payload/compare/v2.7.0...v2.8.0) (2024-01-12)
### Features
* allow custom config properties in blocks ([#4766](https://github.com/payloadcms/payload/issues/4766)) ([d92af29](https://github.com/payloadcms/payload/commit/d92af295ebe253160ac4c8fb788a1fb143ab85ae))
* **logger:** show local time ([#4663](https://github.com/payloadcms/payload/issues/4663)) ([493fde5](https://github.com/payloadcms/payload/commit/493fde5ccceb9a95d0b950a028a1d2f8888b4e64))
* **plugin-cloud:** use resend smtp instead of custom transport ([#4746](https://github.com/payloadcms/payload/issues/4746)) ([5cfde54](https://github.com/payloadcms/payload/commit/5cfde542b19988985746e220829d429a84ba3976))
* **plugin-seo:** add fr translations ([#4774](https://github.com/payloadcms/payload/issues/4774)) ([4319fe1](https://github.com/payloadcms/payload/commit/4319fe1c6e332d35124356ce5d5d0fb48fe199e7))
* **plugin-seo:** remove support for payload <2.7.0 ([#4765](https://github.com/payloadcms/payload/issues/4765)) ([5e08368](https://github.com/payloadcms/payload/commit/5e083689d016fbff6c83419336e920f248932993))
### Bug Fixes
* allow a custom ID field to be nested inside unnamed tabs and rows ([#4701](https://github.com/payloadcms/payload/issues/4701)) ([6d5ac1d](https://github.com/payloadcms/payload/commit/6d5ac1de1ef55c4d51b253b4cf959bb703316c49))
* build payload without initializing ([#4028](https://github.com/payloadcms/payload/issues/4028)) ([1115387](https://github.com/payloadcms/payload/commit/11153877447af68389dde80fff2f9ee869468acb))
* **db-mongodb:** limit=0 returns unpaginated ([63e5c43](https://github.com/payloadcms/payload/commit/63e5c43fe620458936e2ebc4f5468aff9cb23e02))
* **db-postgres:** totalPages value when limit=0 ([5702b83](https://github.com/payloadcms/payload/commit/5702b83e829b5b1a3d95ce4a1c1967c3ec630373))
* migration regression ([#4777](https://github.com/payloadcms/payload/issues/4777)) ([fa3b3dd](https://github.com/payloadcms/payload/commit/fa3b3dd62d0a060f7419fd21d69eafff9bf99a61))
* **db-mongodb:** migration regression ([#4777](https://github.com/payloadcms/payload/issues/4777)) ([fa3b3dd](https://github.com/payloadcms/payload/commit/fa3b3dd62d0a060f7419fd21d69eafff9bf99a61))
* **db-postgres:**migration regression ([#4777](https://github.com/payloadcms/payload/issues/4777)) ([fa3b3dd](https://github.com/payloadcms/payload/commit/fa3b3dd62d0a060f7419fd21d69eafff9bf99a61))
* passes `draft=true` in fetch for relationships ([#4784](https://github.com/payloadcms/payload/issues/4784)) ([0a259d2](https://github.com/payloadcms/payload/commit/0a259d27b5ef0d632ca54cd0a9ab99629f94c2a0))
* **plugin-form-builder:** replaces curly brackets with lexical editor ([#4753](https://github.com/payloadcms/payload/issues/4753)) ([8481846](https://github.com/payloadcms/payload/commit/84818469ea50d43276915d36bd92769422eadeb0))
* prioritizes `value` key when filtering / querying for relationships ([#4727](https://github.com/payloadcms/payload/issues/4727)) ([d0f7677](https://github.com/payloadcms/payload/commit/d0f7677d5ff2e0109fc348260d87e2606fdbd293))
* text hasMany validation ([#4789](https://github.com/payloadcms/payload/issues/4789)) ([e2e56a4](https://github.com/payloadcms/payload/commit/e2e56a4d58a9e1c31c05a0624f35642f58da162b))
### ⚠ BREAKING CHANGES
#### @payloadcms/plugin-seo
* remove support for payload <2.7.0 ([#4765](https://github.com/payloadcms/payload/pull/4765))
## [2.7.0](https://github.com/payloadcms/payload/compare/v2.6.0...v2.7.0) (2024-01-09)
### Features
* **db-mongodb:** improve transaction support by passing req to migrations ([682eca2](https://github.com/payloadcms/payload/commit/682eca21860a4e2b2ab0bfd85613818790247224))
* **db-postgres:** improve transaction support by passing req to migrations ([555d027](https://github.com/payloadcms/payload/commit/555d02769a8731aeebbff9b67f9b0e1022904ade))
* hasMany property for text fields ([#4605](https://github.com/payloadcms/payload/issues/4605)) ([f43cf18](https://github.com/payloadcms/payload/commit/f43cf185d45b3c75fa0d78acd91e6cb60d87f166))
* improve transaction support by passing req to migrations ([1d14d9f](https://github.com/payloadcms/payload/commit/1d14d9f8b8ed077691175030182f094bb300ed17))
* **plugin-seo:** add i18n ([#4665](https://github.com/payloadcms/payload/issues/4665)) ([3027a03](https://github.com/payloadcms/payload/commit/3027a03ad11ecd679278e44a013e4dea4aa42b8d))
* provide document info to ActionsProvider ([#4696](https://github.com/payloadcms/payload/issues/4696)) ([6a8a6e4](https://github.com/payloadcms/payload/commit/6a8a6e4ef4913e0889e4d2eac82b28b9e4e8db22))
### Bug Fixes
* adds objectID validation to isValidID if of type `text` ([#4689](https://github.com/payloadcms/payload/issues/4689)) ([d419275](https://github.com/payloadcms/payload/commit/d419275fb50f0922307f2d3b4c0fcf80ac5ec98b))
* allow json field to be saved empty and reflect value changes ([#4687](https://github.com/payloadcms/payload/issues/4687)) ([0fb3a9c](https://github.com/payloadcms/payload/commit/0fb3a9ca89d1b63faea179bfa9b5b3d0a69c9398))
* custom ids in versions ([#4680](https://github.com/payloadcms/payload/issues/4680)) ([5d15955](https://github.com/payloadcms/payload/commit/5d15955f839d3f0cc557d8a8d7cc3a9e52e2f6b1))
* custom overrides of breadcrumb and parent fields ([7db58b4](https://github.com/payloadcms/payload/commit/7db58b482bba7e715c5be23cfe1a84295e95da29))
* **db-mongodb:** migration error calling beginTransaction with transactionOptions false ([21b9453](https://github.com/payloadcms/payload/commit/21b9453cf4e6eebf145d89a0190942015658413d))
* **db-mongodb:** querying plan for collections ignoring indexes ([#4655](https://github.com/payloadcms/payload/issues/4655)) ([63bc4ca](https://github.com/payloadcms/payload/commit/63bc4cabe1dea5f233aa1d9d4e64f3af93a8e081))
* **db-postgres:** incorrect results querying json field using exists operator ([9d9ac0e](https://github.com/payloadcms/payload/commit/9d9ac0ec28c97281bfdc7d6fb78c52baea492380))
* **db-postgres:** migrate down only runs latest batch size ([6acfae8](https://github.com/payloadcms/payload/commit/6acfae8ee7614746797e1fa91e1fd41c0240fdcd))
* **db-postgres:** query on json properties ([ec4d2f9](https://github.com/payloadcms/payload/commit/ec4d2f97cbf1c89d837372059bf3bb77f3ea6594))
* **db-postgres:** validation prevents group fields in blocks ([#4699](https://github.com/payloadcms/payload/issues/4699)) ([cab6bab](https://github.com/payloadcms/payload/commit/cab6babd608daeaabf9b63b1b446fded6804b60f))
* non-boolean condition result causes infinite looping ([#4579](https://github.com/payloadcms/payload/issues/4579)) ([a3e7816](https://github.com/payloadcms/payload/commit/a3e78161b551e8286063a173645a1d3dee162ad1))
* **plugin-form-builder:** slate serializer should replace curly braces in links ([#4703](https://github.com/payloadcms/payload/issues/4703)) ([28a3012](https://github.com/payloadcms/payload/commit/28a30120dd1aa3279fb2133aa0a0b1638d144be4))
* **plugin-nested-docs:** breadcrumbsFieldSlug used in resaveSelfAfterCreate hook ([a5a91c0](https://github.com/payloadcms/payload/commit/a5a91c08a9ade1482c512d3fa4c4f519ad85cf74))
* **plugin-nested-docs:** children wrongly publishing draft data ([#4692](https://github.com/payloadcms/payload/issues/4692)) ([5539942](https://github.com/payloadcms/payload/commit/55399424a13b1e0532d9eeefd09d442c107c3eda))
* **plugin-nested-docs:** custom parent field slug ([635e7c2](https://github.com/payloadcms/payload/commit/635e7c26e8b3b5138cf5a9bcb29e8ddd4b1e69b6))
* **plugin-nested-docs:** parent filterOptions errors when specifying breadcrumbsFieldSlug ([c4a4678](https://github.com/payloadcms/payload/commit/c4a4678afb097cf94c682595a78e416767a1fea8))
* prevents row overflow ([#4704](https://github.com/payloadcms/payload/issues/4704)) ([9828772](https://github.com/payloadcms/payload/commit/98287728900cb88fa6a465899f030f81df28fc69))
* relations with number based ids (postgres) show untitled ID: x ([1b91408](https://github.com/payloadcms/payload/commit/1b914083c8ee0c1b1d64fa7d4471ede0a24cfdb7))
* sidebar fields not disabled by access permissions ([#4682](https://github.com/payloadcms/payload/issues/4682)) ([85e38b7](https://github.com/payloadcms/payload/commit/85e38b7cfd5c0772344c4a8fb5100f7c48eb508f))
* unlock user condition always passes due to seconds conversion ([#4610](https://github.com/payloadcms/payload/issues/4610)) ([d543665](https://github.com/payloadcms/payload/commit/d543665995410256f77fe136173339aee6dcc7da))
## [2.6.0](https://github.com/payloadcms/payload/compare/v2.5.0...v2.6.0) (2024-01-03)
### Features
* **db-mongodb:** add transactionOptions ([f2c8ac4](https://github.com/payloadcms/payload/commit/f2c8ac4a9aa9120339af6759170f5a708469698d))
* extend locales to have fallbackLocales ([9fac2ef](https://github.com/payloadcms/payload/commit/9fac2ef24e2ade4cf55b0d6a0e7f67e0edf57539))
### Bug Fixes
* "The punycode module is deprecated" warning by updating nodemailer ([00d8480](https://github.com/payloadcms/payload/commit/00d8480062d99dee56ef61a955f48a92efa6cbea))
* adjusts json field joi schema to allow editorOptions ([bff4cf5](https://github.com/payloadcms/payload/commit/bff4cf518f748efb9179f112c606d11d25db3d99))
* **db-postgres:** Wait for transaction to complete on commit ([#4582](https://github.com/payloadcms/payload/issues/4582)) ([a71d37b](https://github.com/payloadcms/payload/commit/a71d37b39806cd5956378a10246802d01d06c2dd))
* detect language from request headers accept-language ([#4656](https://github.com/payloadcms/payload/issues/4656)) ([69a9944](https://github.com/payloadcms/payload/commit/69a99445c9f1638a962a9c08ffe0bdc22e538bf6))
* graphql multiple locales ([98890ee](https://github.com/payloadcms/payload/commit/98890eee1f527c8f245b2353d7e1caca4d2a7d8c))
* navigation locks when modal is closed with esc ([#4664](https://github.com/payloadcms/payload/issues/4664)) ([be3beab](https://github.com/payloadcms/payload/commit/be3beabb9bafa137aa89e84cf47246017e969be8))
* req.locale and req.fallbackLocale get reassigned in local operations ([aa048d5](https://github.com/payloadcms/payload/commit/aa048d5409acd42b8f56367a16934085df9fbce2))
* resets actions array when navigating out of view with actions ([#4585](https://github.com/payloadcms/payload/issues/4585)) ([5c55231](https://github.com/payloadcms/payload/commit/5c5523195ccfa94a9bf42441e2a378f87836e64d))
* **richtext-lexical:** z-index issues ([#4570](https://github.com/payloadcms/payload/issues/4570)) ([8015e99](https://github.com/payloadcms/payload/commit/8015e999cd5834f532a200ef03fd392d04b3209f))
* tab field error when using the same interface name ([#4657](https://github.com/payloadcms/payload/issues/4657)) ([f1fa374](https://github.com/payloadcms/payload/commit/f1fa374ed12b50fdf210f17ae1dda603f09a9726))
## [2.5.0](https://github.com/payloadcms/payload/compare/v2.4.0...v2.5.0) (2023-12-19)
### Features
* add Chinese Traditional translation ([#4372](https://github.com/payloadcms/payload/issues/4372)) ([50253f6](https://github.com/payloadcms/payload/commit/50253f617c22d0d185bbac7f9d4304cddbc01f06))
* add context to auth and globals local API ([#4449](https://github.com/payloadcms/payload/issues/4449)) ([168d629](https://github.com/payloadcms/payload/commit/168d6296974042c3ff2a113f9f6c2bded7ba2b3e))
* adds new `actions` property to admin customization ([#4468](https://github.com/payloadcms/payload/issues/4468)) ([9e8f14a](https://github.com/payloadcms/payload/commit/9e8f14a897e77f6933eedb2410956a468f4187c3))
* async live preview urls ([#4339](https://github.com/payloadcms/payload/issues/4339)) ([5f17324](https://github.com/payloadcms/payload/commit/5f173241df6dc316d498767b1c81718e9c2b9a51))
* pass path to FieldDescription ([#4364](https://github.com/payloadcms/payload/issues/4364)) ([3b8a27d](https://github.com/payloadcms/payload/commit/3b8a27d199b3969cbca6ca750450798cb70f21e8))
* **plugin-form-builder:** Lexical support ([#4487](https://github.com/payloadcms/payload/issues/4487)) ([c6c5cab](https://github.com/payloadcms/payload/commit/c6c5cabfbb7eb954eea51170a6af7582b1f9b84b))
* prevent querying relationship when filterOptions returns false ([#4392](https://github.com/payloadcms/payload/issues/4392)) ([c1bd338](https://github.com/payloadcms/payload/commit/c1bd338d0d5e899f3892f1d18e355c00b265447a))
* **richtext-lexical:** improve floating select menu Dropdown classNames ([#4444](https://github.com/payloadcms/payload/issues/4444)) ([9331204](https://github.com/payloadcms/payload/commit/9331204295bfeaf7dd10bc075f42995b2cab2de4))
* **richtext-lexical:** improve link URL validation ([#4442](https://github.com/payloadcms/payload/issues/4442)) ([9babf68](https://github.com/payloadcms/payload/commit/9babf6804ce04d5828167eb8e7717727fe1cd472))
* **richtext-lexical:** lazy import React components to prevent client-only code from leaking into the server ([#4290](https://github.com/payloadcms/payload/issues/4290)) ([5de347f](https://github.com/payloadcms/payload/commit/5de347ffffca3bf38315d3d87d2ccc5c28cd2723))
* **richtext-lexical:** Link & Relationship Feature: field-level configurable allowed relationships ([#4182](https://github.com/payloadcms/payload/issues/4182)) ([7af8f29](https://github.com/payloadcms/payload/commit/7af8f29b4a8dddf389356e4db142f8d434cdc964))
* **richtext-lexical:** link node: change doc data format to be consistent with relationship field ([#4504](https://github.com/payloadcms/payload/issues/4504)) ([cc0ba89](https://github.com/payloadcms/payload/commit/cc0ba895188f40181c6ba3779f66d547d4ea66f9))
* **richtext-lexical:** rename TreeviewFeature into TreeViewFeature ([#4520](https://github.com/payloadcms/payload/issues/4520)) ([c49fd66](https://github.com/payloadcms/payload/commit/c49fd6692231b68ca61b079103a0fd7aa4673be1))
* **richtext-lexical:** Slate to Lexical converter: add blockquote conversion, convert custom link fields ([#4486](https://github.com/payloadcms/payload/issues/4486)) ([31f8f3c](https://github.com/payloadcms/payload/commit/31f8f3cac6bfd08f3adfa0a026a57c4b1b510045))
* **richtext-lexical:** Upload html serializer: Output picture element if the image has multiple sizes, improve absolute URL creation ([e558894](https://github.com/payloadcms/payload/commit/e55889480fceb8995646621923159d92de6e89c9))
### Bug Fixes
* adds bg color for year/month select options in datepicker ([#4508](https://github.com/payloadcms/payload/issues/4508)) ([07371b9](https://github.com/payloadcms/payload/commit/07371b9cad111999f2df4e1f709d6b95cd511c15))
* correctly fetches externally stored files when passing uploadEdits ([#4505](https://github.com/payloadcms/payload/issues/4505)) ([228d45c](https://github.com/payloadcms/payload/commit/228d45cf52e592cea6377cd93648fba75d73c88d))
* cursor jumping around inside json field ([#4453](https://github.com/payloadcms/payload/issues/4453)) ([6300037](https://github.com/payloadcms/payload/commit/63000373e66fb39443f882689e0ecf5c11ed8ad0))
* **db-mongodb:** documentDB unique constraint throws incorrect error ([#4513](https://github.com/payloadcms/payload/issues/4513)) ([05e8914](https://github.com/payloadcms/payload/commit/05e8914db70fa64bfb2d15ecfb58e9c229d71108))
* **db-postgres:** findOne correctly querying with where queries ([#4550](https://github.com/payloadcms/payload/issues/4550)) ([8bc31cd](https://github.com/payloadcms/payload/commit/8bc31cd5923517ab39ae1427aa0d0fb19d876dab))
* **db-postgres:** querying nested blocks fields ([#4404](https://github.com/payloadcms/payload/issues/4404)) ([6e9ae65](https://github.com/payloadcms/payload/commit/6e9ae65374124ee000cc2988ef77247c94b0dd18))
* **db-postgres:** sorting on a not-configured field throws error ([#4382](https://github.com/payloadcms/payload/issues/4382)) ([dbaecda](https://github.com/payloadcms/payload/commit/dbaecda0e92fcb0fa67b4c5ac085e025f02de53a))
* defaultValues computed on new globals ([#4380](https://github.com/payloadcms/payload/issues/4380)) ([b6cffce](https://github.com/payloadcms/payload/commit/b6cffcea07b9fa21698b00b8bbed6f27197ded41))
* disallow duplicate fieldNames to be used on the same level in the config ([#4381](https://github.com/payloadcms/payload/issues/4381)) ([a1d66b8](https://github.com/payloadcms/payload/commit/a1d66b83e0dbea21e8da549b73cd25c537a57938))
* ensure ui fields do not make it into gql schemas ([#4457](https://github.com/payloadcms/payload/issues/4457)) ([3a20ddc](https://github.com/payloadcms/payload/commit/3a20ddc5f85162a316006f22ba66ee1c7aab99e3))
* format fields within tab for list controls ([#4516](https://github.com/payloadcms/payload/issues/4516)) ([2650c70](https://github.com/payloadcms/payload/commit/2650c70960a7374307a8862c3940c97d337d1d30))
* formats locales with multiple labels for versions locale selector ([#4495](https://github.com/payloadcms/payload/issues/4495)) ([8257661](https://github.com/payloadcms/payload/commit/8257661c47b5b968a57fb2228d7045d876a3f484))
* graphql schema generation for fields without queryable subfields ([#4463](https://github.com/payloadcms/payload/issues/4463)) ([13e3e06](https://github.com/payloadcms/payload/commit/13e3e0671353ca34e603fece57a12199f2082ca0))
* handles null upload field values ([#4397](https://github.com/payloadcms/payload/issues/4397)) ([cf9a370](https://github.com/payloadcms/payload/commit/cf9a3704df21ce8b32feb0680793cba804cd66f7))
* **live-preview:** populates rte uploads and relationships ([#4379](https://github.com/payloadcms/payload/issues/4379)) ([4090aeb](https://github.com/payloadcms/payload/commit/4090aebb0e94e776258f0c1c761044a4744a1857))
* **live-preview:** sends raw js objects through window.postMessage instead of json ([#4354](https://github.com/payloadcms/payload/issues/4354)) ([03a3872](https://github.com/payloadcms/payload/commit/03a387233d1b8876a2fcaa5f3b3fd5ed512c0bc4))
* make admin navigation transition smoother ([#4217](https://github.com/payloadcms/payload/issues/4217)) ([eb6572e](https://github.com/payloadcms/payload/commit/eb6572e9e56e680cad331c1bc5da47e91306deb9))
* omit field default value if read access returns false ([#4518](https://github.com/payloadcms/payload/issues/4518)) ([3e9ef84](https://github.com/payloadcms/payload/commit/3e9ef849cd8e69e1e8d7f2f653f0647e93c8ab39))
* pin ts-node versions which are causing swc errors ([#4447](https://github.com/payloadcms/payload/issues/4447)) ([b9c0248](https://github.com/payloadcms/payload/commit/b9c024882350d14edd57f0f662a2269ed37975e3))
* properly spreads collection fields into non-tabbed configs [#50](https://github.com/payloadcms/payload/issues/50) ([#51](https://github.com/payloadcms/payload/issues/51)) ([7e88159](https://github.com/payloadcms/payload/commit/7e88159e99e2afdc10addc02cf299c11fe188be7))
* **plugin-form-builder:** removes use of slate in rich-text serializer ([#4451](https://github.com/payloadcms/payload/issues/4451)) ([3df52a8](https://github.com/payloadcms/payload/commit/3df52a88568622f8fafeabad47c7501229e4ea5f))
* **plugin-nested-docs:** properly exports field utilities ([#4462](https://github.com/payloadcms/payload/issues/4462)) ([1cc87bd](https://github.com/payloadcms/payload/commit/1cc87bd8ea575dfa2e1f5ce5b38414bbba95b2cb))
* **richtext-*:** loosen RichTextAdapter types due to re-occuring ts strict mode errors ([#4416](https://github.com/payloadcms/payload/issues/4416)) ([48f1299](https://github.com/payloadcms/payload/commit/48f1299fcba3e3811c6a7f31499f238537f9a5e3))
* **richtext-lexical:** Blocks field: should not prompt for unsaved changes due to value comparison between null and non-existent props ([#4450](https://github.com/payloadcms/payload/issues/4450)) ([548e78c](https://github.com/payloadcms/payload/commit/548e78c598cb6d029e7cc40f80d9855754f043bc))
* **richtext-lexical:** do not add unnecessary paragraph before upload, relationship and blocks nodes ([#4441](https://github.com/payloadcms/payload/issues/4441)) ([5c2739e](https://github.com/payloadcms/payload/commit/5c2739ebd144620cfd4ff02531f5812dd62ac61d))
* **richtext-lexical:** lexicalHTML field not working when used inside of Blocks field ([128f9c4](https://github.com/payloadcms/payload/commit/128f9c4e7e6e20dd1ee221f49428a5bce5179c5f))
* **richtext-lexical:** lexicalHTML field now works when used inside of row fields ([#4440](https://github.com/payloadcms/payload/issues/4440)) ([0421173](https://github.com/payloadcms/payload/commit/0421173f9e2d6db1b6a94b25884ea807921f2d09))
* **richtext-lexical:** not all types of URLs are validated correctly ([ac7f980](https://github.com/payloadcms/payload/commit/ac7f9809bc2b9fb6a52b48c10f7d51414801e4de))
* searching by id sends undefined in where query param ([#4464](https://github.com/payloadcms/payload/issues/4464)) ([46e8c01](https://github.com/payloadcms/payload/commit/46e8c01fbed68856be68804f2bd9744c4c6f5a95))
* simplifies query validation and fixes nested relationship fields ([#4391](https://github.com/payloadcms/payload/issues/4391)) ([4b5453e](https://github.com/payloadcms/payload/commit/4b5453e8e5484f7afcadbf5bccf8369b552969c6))
* updates return value of empty arrays in getDataByPath ([#4553](https://github.com/payloadcms/payload/issues/4553)) ([f3748a1](https://github.com/payloadcms/payload/commit/f3748a1534a13e6d844aadd9f0e3e6acbe483d03))
* upload editing error with plugin-cloud ([#4170](https://github.com/payloadcms/payload/issues/4170)) ([fcbe574](https://github.com/payloadcms/payload/commit/fcbe5744d945dc43642cdaa2007ddc252ecafafa))
* upload related issues, cropping, fetching local file, external preview image ([#4461](https://github.com/payloadcms/payload/issues/4461)) ([45c472d](https://github.com/payloadcms/payload/commit/45c472d6b35c41e597038089ad1755cdb88193b6))
* uploads files after validation ([#4218](https://github.com/payloadcms/payload/issues/4218)) ([65adfd2](https://github.com/payloadcms/payload/commit/65adfd21ed538b79628dc4f8ce9e1a5a1bba6aed))
### ⚠ BREAKING CHANGES
#### @payloadcms/richtext-lexical
* **richtext-lexical:** rename TreeviewFeature into TreeViewFeature ([#4520](https://github.com/payloadcms/payload/issues/4520)) ([c49fd66](https://github.com/payloadcms/payload/commit/c49fd6692231b68ca61b079103a0fd7aa4673be1))
If you import TreeviewFeature, you have to rename the import to use TreeViewFeature (capitalized "V")
* **richtext-lexical:** link node: change doc data format to be consistent with relationship field ([#4504](https://github.com/payloadcms/payload/issues/4504)) ([cc0ba89](https://github.com/payloadcms/payload/commit/cc0ba895188f40181c6ba3779f66d547d4ea66f9))
An unpopulated, internal link node no longer saves the doc id under fields.doc.value.id. Now, it saves it under fields.doc.value.
Migration inside of payload is automatic. If you are reading from the link node inside of your frontend though, you will have to adjust it.
* **richtext-lexical:** improve floating select menu Dropdown classNames ([#4444](https://github.com/payloadcms/payload/issues/4444)) ([9331204](https://github.com/payloadcms/payload/commit/9331204295bfeaf7dd10bc075f42995b2cab2de4))
Dropdown component has a new mandatory sectionKey prop
* **richtext-lexical:** lazy import React components to prevent client-only code from leaking into the server ([#4290](https://github.com/payloadcms/payload/issues/4290)) ([5de347f](https://github.com/payloadcms/payload/commit/5de347ffffca3bf38315d3d87d2ccc5c28cd2723))
1. Most important: If you are updating `@payloadcms/richtext-lexical` to v0.4.0 or higher, you will HAVE to update payload to the latest version as well. If you don't update it, payload likely won't start up due to validation errors. It's generally good practice to upgrade packages prefixed with @payloadcms/ together with payload and keep the versions in sync.
2. `@payloadcms/richtext-slate` is not affected by this.
3. Every single property in the `Feature` interface which accepts a React component now no longer accepts a React component, but a function which imports a React component instead. This is done to ensure no unnecessary client-only code is leaked to the server when importing Features on a server.
Here's an example migration:
Old:
```ts
import { BlockIcon } from '../../lexical/ui/icons/Block'
...
Icon: BlockIcon,
```
New:
```ts
// import { BlockIcon } from '../../lexical/ui/icons/Block' // <= Remove this import
...
Icon: () =>
// @ts-expect-error
import('../../lexical/ui/icons/Block').then((module) => module.BlockIcon),
```
Or alternatively, if you're using default exports instead of named exports:
```ts
// import BlockIcon from '../../lexical/ui/icons/Block' // <= Remove this import
...
Icon: () =>
// @ts-expect-error
import('../../lexical/ui/icons/Block'),
```
4. The types for `SanitizedEditorConfig` and `EditorConfig` have changed. Their respective `lexical` property no longer expects the `LexicalEditorConfig`. It now expects a function returning the `LexicalEditorConfig`. You will have to adjust this if you adjusted that property anywhere, e.g. when initializing the lexical field editor property, or when initializing a new headless editor.
5. The following exports are now exported from the `@payloadcms/richtext-lexical/components` subpath exports instead of `@payloadcms/richtext-lexical`:
- `ToolbarButton`
- `ToolbarDropdown`
- `RichTextCell`
- `RichTextField`
- `defaultEditorLexicalConfig`
You will have to adjust your imports, only if you import any of those properties in your project.
## @payloadcms/richtext-*
### [@payloadcms/richtext-lexical 0.4.1](https://github.com/payloadcms/payload/compare/richtext-lexical/0.4.0...richtext-lexical/0.4.1) (2023-12-07)

View File

@@ -0,0 +1,17 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
import config from '@payload-config'
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
import { NotFoundView } from '@payloadcms/next/views/NotFound/index.js'
type Args = {
params: {
segments: string[]
}
searchParams: {
[key: string]: string | string[]
}
}
const NotFound = ({ params, searchParams }: Args) => NotFoundView({ config, params, searchParams })
export default NotFound

View File

@@ -0,0 +1,22 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
import type { Metadata } from 'next'
import config from '@payload-config'
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
import { RootPage, generatePageMetadata } from '@payloadcms/next/views/Root/index.js'
type Args = {
params: {
segments: string[]
}
searchParams: {
[key: string]: string | string[]
}
}
export const generateMetadata = ({ params, searchParams }: Args): Promise<Metadata> =>
generatePageMetadata({ config, params, searchParams })
const Page = ({ params, searchParams }: Args) => RootPage({ config, params, searchParams })
export default Page

View File

@@ -0,0 +1,9 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
/* DO NOT MODIFY it because it could be re-written at any time. */
import config from '@payload-config'
import { REST_DELETE, REST_GET, REST_PATCH, REST_POST } from '@payloadcms/next/routes/index.js'
export const GET = REST_GET(config)
export const POST = REST_POST(config)
export const DELETE = REST_DELETE(config)
export const PATCH = REST_PATCH(config)

View File

@@ -0,0 +1,6 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
/* DO NOT MODIFY it because it could be re-written at any time. */
import config from '@payload-config'
import { GRAPHQL_PLAYGROUND_GET } from '@payloadcms/next/routes/index.js'
export const GET = GRAPHQL_PLAYGROUND_GET(config)

View File

@@ -0,0 +1,6 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
/* DO NOT MODIFY it because it could be re-written at any time. */
import config from '@payload-config'
import { GRAPHQL_POST } from '@payloadcms/next/routes/index.js'
export const POST = GRAPHQL_POST(config)

15
app/(payload)/layout.tsx Normal file
View File

@@ -0,0 +1,15 @@
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
import configPromise from '@payload-config'
import { RootLayout } from '@payloadcms/next/layouts/Root/index.js'
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
import React from 'react'
import './custom.scss'
type Args = {
children: React.ReactNode
}
const Layout = ({ children }: Args) => <RootLayout config={configPromise}>{children}</RootLayout>
export default Layout

View File

@@ -0,0 +1,43 @@
'use client'
import { useLivePreview } from '@payloadcms/live-preview-react'
import React from 'react'
import type { Page as PageType } from '../../../../test/live-preview/payload-types.js'
import { PAYLOAD_SERVER_URL } from '../../_api/serverURL.js'
import { Blocks } from '../../_components/Blocks/index.js'
import { Gutter } from '../../_components/Gutter/index.js'
import { Hero } from '../../_components/Hero/index.js'
export const PageClient: React.FC<{
page: PageType
}> = ({ page: initialPage }) => {
const { data } = useLivePreview<PageType>({
depth: 2,
initialData: initialPage,
serverURL: PAYLOAD_SERVER_URL,
})
return (
<React.Fragment>
<Gutter>
<h1 id="page-title">{data.title}</h1>
</Gutter>
<Hero {...data?.hero} />
<Blocks
blocks={[
...(data?.layout ?? []),
{
blockName: 'Relationships',
blockType: 'relationships',
data,
},
]}
disableTopPadding={
!data?.hero || data?.hero?.type === 'none' || data?.hero?.type === 'lowImpact'
}
/>
</React.Fragment>
)
}

View File

@@ -0,0 +1,37 @@
import { notFound } from 'next/navigation.js'
import React from 'react'
import type { Page } from '../../../../test/live-preview/payload-types.js'
import { fetchDoc } from '../../_api/fetchDoc.js'
import { fetchDocs } from '../../_api/fetchDocs.js'
import { PageClient } from './page.client.js'
// eslint-disable-next-line no-restricted-exports
export default async function Page({ params: { slug = 'home' } }) {
let page: Page | null = null
try {
page = await fetchDoc<Page>({
slug,
collection: 'pages',
})
} catch (error) {
console.error(error)
}
if (!page) {
return notFound()
}
return <PageClient page={page} />
}
export async function generateStaticParams() {
try {
const pages = await fetchDocs<Page>('pages')
return pages?.map(({ slug }) => slug)
} catch (error) {
return []
}
}

View File

@@ -0,0 +1,68 @@
'use client'
import { useLivePreview } from '@payloadcms/live-preview-react'
import React from 'react'
import type { Post as PostType } from '../../../../../test/live-preview/payload-types.js'
import { PAYLOAD_SERVER_URL } from '../../../_api/serverURL.js'
import { Blocks } from '../../../_components/Blocks/index.js'
import { PostHero } from '../../../_heros/PostHero/index.js'
export const PostClient: React.FC<{
post: PostType
}> = ({ post: initialPost }) => {
const { data } = useLivePreview<PostType>({
depth: 2,
initialData: initialPost,
serverURL: PAYLOAD_SERVER_URL,
})
return (
<React.Fragment>
<PostHero post={data} />
<Blocks blocks={data?.layout} />
<Blocks
blocks={[
{
blockName: 'Related Posts',
blockType: 'relatedPosts',
docs: data?.relatedPosts,
introContent: [
{
type: 'h4',
children: [
{
text: 'Related posts',
},
],
},
{
type: 'p',
children: [
{
text: 'The posts displayed here are individually selected for this page. Admins can select any number of related posts to display here and the layout will adjust accordingly. Alternatively, you could swap this out for the "Archive" block to automatically populate posts by category complete with pagination. To manage related posts, ',
},
{
type: 'link',
children: [
{
text: 'navigate to the admin dashboard',
},
],
url: `/admin/collections/posts/${data?.id}`,
},
{
text: '.',
},
],
},
],
relationTo: 'posts',
},
]}
disableTopPadding
/>
</React.Fragment>
)
}

View File

@@ -0,0 +1,36 @@
import { notFound } from 'next/navigation.js'
import React from 'react'
import type { Post } from '../../../../../test/live-preview/payload-types.js'
import { fetchDoc } from '../../../_api/fetchDoc.js'
import { fetchDocs } from '../../../_api/fetchDocs.js'
import { PostClient } from './page.client.js'
export default async function Post({ params: { slug = '' } }) {
let post: Post | null = null
try {
post = await fetchDoc<Post>({
slug,
collection: 'posts',
})
} catch (error) {
console.error(error) // eslint-disable-line no-console
}
if (!post) {
notFound()
}
return <PostClient post={post} />
}
export async function generateStaticParams() {
try {
const posts = await fetchDocs<Post>('posts')
return posts?.map(({ slug }) => slug)
} catch (error) {
return []
}
}

View File

@@ -1,14 +1,14 @@
import QueryString from 'qs'
import type { Config } from '../../payload-types'
import { PAYLOAD_SERVER_URL } from './serverURL'
import { PAYLOAD_SERVER_URL } from './serverURL.js'
export const fetchDoc = async <T>(args: {
collection: keyof Config['collections']
slug?: string
id?: string
collection: string
depth?: number
id?: string
slug?: string
}): Promise<T> => {
const { collection, slug, id, depth = 2 } = args || {}
const { id, slug, collection, depth = 2 } = args || {}
const queryString = QueryString.stringify(
{
@@ -19,11 +19,11 @@ export const fetchDoc = async <T>(args: {
)
const doc: T = await fetch(`${PAYLOAD_SERVER_URL}/api/${collection}${queryString}`, {
method: 'GET',
cache: 'no-store',
headers: {
'Content-Type': 'application/json',
},
method: 'GET',
})
?.then((res) => res.json())
?.then((res) => {

View File

@@ -0,0 +1,19 @@
import { PAYLOAD_SERVER_URL } from './serverURL.js'
export const fetchDocs = async <T>(collection: string): Promise<T[]> => {
const docs: T[] = await fetch(`${PAYLOAD_SERVER_URL}/api/${collection}?depth=0&limit=100`, {
cache: 'no-store',
headers: {
'Content-Type': 'application/json',
},
method: 'GET',
})
?.then((res) => res.json())
?.then((res) => {
if (res.errors) throw new Error(res?.errors?.[0]?.message ?? 'Error fetching docs')
return res?.docs
})
return docs
}

View File

@@ -1,15 +1,16 @@
import type { Footer } from '../../payload-types'
import { PAYLOAD_SERVER_URL } from './serverURL'
import type { Footer } from '../../../test/live-preview/payload-types.js'
import { PAYLOAD_SERVER_URL } from './serverURL.js'
export async function fetchFooter(): Promise<Footer> {
if (!PAYLOAD_SERVER_URL) throw new Error('PAYLOAD_SERVER_URL not found')
const footer = await fetch(`${PAYLOAD_SERVER_URL}/api/globals/footer`, {
method: 'GET',
cache: 'no-store',
headers: {
'Content-Type': 'application/json',
},
method: 'GET',
})
.then((res) => {
if (!res.ok) throw new Error('Error fetching doc')

View File

@@ -1,15 +1,16 @@
import type { Header } from '../../payload-types'
import { PAYLOAD_SERVER_URL } from './serverURL'
import type { Header } from '../../../test/live-preview/payload-types.js'
import { PAYLOAD_SERVER_URL } from './serverURL.js'
export async function fetchHeader(): Promise<Header> {
if (!PAYLOAD_SERVER_URL) throw new Error('PAYLOAD_SERVER_URL not found')
const header = await fetch(`${PAYLOAD_SERVER_URL}/api/globals/header`, {
method: 'GET',
cache: 'no-store',
headers: {
'Content-Type': 'application/json',
},
method: 'GET',
})
?.then((res) => {
if (!res.ok) throw new Error('Error fetching doc')

View File

@@ -0,0 +1,46 @@
import React from 'react'
import type { ArchiveBlockProps } from './types.js'
import { CollectionArchive } from '../../_components/CollectionArchive/index.js'
import { Gutter } from '../../_components/Gutter/index.js'
import RichText from '../../_components/RichText/index.js'
import classes from './index.module.scss'
export const ArchiveBlock: React.FC<
ArchiveBlockProps & {
id?: string
}
> = (props) => {
const {
id,
categories,
introContent,
limit,
populateBy,
populatedDocs,
populatedDocsTotal,
relationTo,
selectedDocs,
} = props
return (
<div className={classes.archiveBlock} id={`block-${id}`}>
{introContent && (
<Gutter className={classes.introContent}>
<RichText content={introContent} />
</Gutter>
)}
<CollectionArchive
categories={categories}
limit={limit}
populateBy={populateBy}
populatedDocs={populatedDocs}
populatedDocsTotal={populatedDocsTotal}
relationTo={relationTo}
selectedDocs={selectedDocs}
sort="-publishedDate"
/>
</div>
)
}

View File

@@ -0,0 +1,6 @@
import type { Page } from '../../../../test/live-preview/payload-types.js'
export type ArchiveBlockProps = Extract<
Exclude<Page['layout'], undefined>[0],
{ blockType: 'archive' }
>

View File

@@ -0,0 +1,38 @@
import React from 'react'
import type { Page } from '../../../../test/live-preview/payload-types.js'
import { Gutter } from '../../_components/Gutter/index.js'
import { CMSLink } from '../../_components/Link/index.js'
import RichText from '../../_components/RichText/index.js'
import { VerticalPadding } from '../../_components/VerticalPadding/index.js'
import classes from './index.module.scss'
type Props = Extract<Exclude<Page['layout'], undefined>[0], { blockType: 'cta' }>
export const CallToActionBlock: React.FC<
Props & {
id?: string
}
> = ({ invertBackground, links, richText }) => {
return (
<Gutter>
<VerticalPadding
className={[classes.callToAction, invertBackground && classes.invert]
.filter(Boolean)
.join(' ')}
>
<div className={classes.wrap}>
<div className={classes.content}>
<RichText className={classes.richText} content={richText} />
</div>
<div className={classes.linkGroup}>
{(links || []).map(({ link }, i) => {
return <CMSLink key={i} {...link} invert={invertBackground} />
})}
</div>
</div>
</VerticalPadding>
</Gutter>
)
}

View File

@@ -0,0 +1,39 @@
import React, { Fragment } from 'react'
import type { Page } from '../../../../test/live-preview/payload-types.js'
import { Gutter } from '../../_components/Gutter/index.js'
import { CMSLink } from '../../_components/Link/index.js'
import RichText from '../../_components/RichText/index.js'
import classes from './index.module.scss'
type Props = Extract<Exclude<Page['layout'], undefined>[0], { blockType: 'content' }>
export const ContentBlock: React.FC<
Props & {
id?: string
}
> = (props) => {
const { columns } = props
return (
<Gutter className={classes.content}>
<div className={classes.grid}>
{columns && columns.length > 0 ? (
<Fragment>
{columns.map((col, index) => {
const { enableLink, link, richText, size } = col
return (
<div className={[classes.column, classes[`column--${size}`]].join(' ')} key={index}>
<RichText content={richText} />
{enableLink && <CMSLink className={classes.link} {...link} />}
</div>
)
})}
</Fragment>
) : null}
</div>
</Gutter>
)
}

View File

@@ -0,0 +1,42 @@
import type { StaticImageData } from 'next/image.js'
import React from 'react'
import type { Page } from '../../../../test/live-preview/payload-types.js'
import { Gutter } from '../../_components/Gutter/index.js'
import { Media } from '../../_components/Media/index.js'
import RichText from '../../_components/RichText/index.js'
import classes from './index.module.scss'
type Props = Extract<Exclude<Page['layout'], undefined>[0], { blockType: 'mediaBlock' }> & {
id?: string
staticImage?: StaticImageData
}
export const MediaBlock: React.FC<Props> = (props) => {
const { media, position = 'default', staticImage } = props
let caption
if (media && typeof media === 'object') caption = media.caption
return (
<div className={classes.mediaBlock}>
{position === 'fullscreen' && (
<div className={classes.fullscreen}>
<Media resource={media} src={staticImage} />
</div>
)}
{position === 'default' && (
<Gutter>
<Media resource={media} src={staticImage} />
</Gutter>
)}
{caption && (
<Gutter className={classes.caption}>
<RichText content={caption} />
</Gutter>
)}
</div>
)
}

View File

@@ -0,0 +1,52 @@
import React from 'react'
import type { Post } from '../../../../test/live-preview/payload-types.js'
import { Card } from '../../_components/Card/index.js'
import { Gutter } from '../../_components/Gutter/index.js'
import RichText from '../../_components/RichText/index.js'
import classes from './index.module.scss'
export type RelatedPostsProps = {
blockName: string
blockType: 'relatedPosts'
docs?: (Post | string)[] | null
introContent?: any
relationTo: 'posts'
}
export const RelatedPosts: React.FC<RelatedPostsProps> = (props) => {
const { docs, introContent, relationTo } = props
return (
<div className={classes.relatedPosts}>
{introContent && (
<Gutter className={classes.introContent}>
<RichText content={introContent} />
</Gutter>
)}
<Gutter>
<div className={classes.grid}>
{docs?.map((doc, index) => {
if (typeof doc === 'string') return null
return (
<div
className={[
classes.column,
docs.length === 2 && classes['cols-half'],
docs.length >= 3 && classes['cols-thirds'],
]
.filter(Boolean)
.join(' ')}
key={index}
>
<Card doc={doc} relationTo={relationTo} showCategories />
</div>
)
})}
</div>
</Gutter>
</div>
)
}

View File

@@ -0,0 +1,196 @@
import React, { Fragment } from 'react'
import type { Page } from '../../../../test/live-preview/payload-types.js'
import { Gutter } from '../../_components/Gutter/index.js'
import RichText from '../../_components/RichText/index.js'
import classes from './index.module.scss'
export type RelationshipsBlockProps = {
blockName: string
blockType: 'relationships'
data: Page
}
export const RelationshipsBlock: React.FC<RelationshipsBlockProps> = (props) => {
const { data } = props
return (
<div className={classes.relationshipsBlock}>
<Gutter>
<p>
This block is for testing purposes only. It renders every possible type of relationship.
</p>
<p>
<b>Rich Text Slate:</b>
</p>
{data?.richTextSlate && <RichText content={data.richTextSlate} renderUploadFilenameOnly />}
<p>
<b>Rich Text Lexical:</b>
</p>
{data?.richTextLexical && (
<RichText content={data.richTextLexical} renderUploadFilenameOnly serializer="lexical" />
)}
<p>
<b>Upload:</b>
</p>
{data?.relationshipAsUpload ? (
<div>
{typeof data?.relationshipAsUpload === 'string'
? data?.relationshipAsUpload
: data?.relationshipAsUpload.filename}
</div>
) : (
<div>None</div>
)}
<p>
<b>Monomorphic Has One:</b>
</p>
{data?.relationshipMonoHasOne ? (
<div>
{typeof data?.relationshipMonoHasOne === 'string'
? data?.relationshipMonoHasOne
: data?.relationshipMonoHasOne.title}
</div>
) : (
<div>None</div>
)}
<p>
<b>Monomorphic Has Many:</b>
</p>
{data?.relationshipMonoHasMany ? (
<Fragment>
{data?.relationshipMonoHasMany.length
? data?.relationshipMonoHasMany?.map((item, index) =>
item ? (
<div key={index}>{typeof item === 'string' ? item : item.title}</div>
) : (
'null'
),
)
: 'None'}
</Fragment>
) : (
<div>None</div>
)}
<p>
<b>Polymorphic Has One:</b>
</p>
{data?.relationshipPolyHasOne ? (
<div>
{typeof data?.relationshipPolyHasOne.value === 'string'
? data?.relationshipPolyHasOne.value
: data?.relationshipPolyHasOne.value.title}
</div>
) : (
<div>None</div>
)}
<p>
<b>Polymorphic Has Many:</b>
</p>
{data?.relationshipPolyHasMany ? (
<Fragment>
{data?.relationshipPolyHasMany.length
? data?.relationshipPolyHasMany?.map((item, index) =>
item.value ? (
<div key={index}>
{typeof item.value === 'string' ? item.value : item.value.title}
</div>
) : (
'null'
),
)
: 'None'}
</Fragment>
) : (
<div>None</div>
)}
<p>
<b>Array of Relationships:</b>
</p>
{data?.arrayOfRelationships?.map((item, index) => (
<div className={classes.array} key={index}>
<p>
<b>Rich Text:</b>
</p>
{item?.richTextInArray && <RichText content={item.richTextInArray} />}
<p>
<b>Upload:</b>
</p>
{item?.uploadInArray ? (
<div>
{typeof item?.uploadInArray === 'string'
? item?.uploadInArray
: item?.uploadInArray.filename}
</div>
) : (
<div>None</div>
)}
<p>
<b>Monomorphic Has One:</b>
</p>
{item?.relationshipInArrayMonoHasOne ? (
<div>
{typeof item?.relationshipInArrayMonoHasOne === 'string'
? item?.relationshipInArrayMonoHasOne
: item?.relationshipInArrayMonoHasOne.title}
</div>
) : (
<div>None</div>
)}
<p>
<b>Monomorphic Has Many:</b>
</p>
{item?.relationshipInArrayMonoHasMany ? (
<Fragment>
{item?.relationshipInArrayMonoHasMany.length
? item?.relationshipInArrayMonoHasMany?.map((rel, relIndex) =>
rel ? (
<div key={relIndex}>{typeof rel === 'string' ? rel : rel.title}</div>
) : (
'null'
),
)
: 'None'}
</Fragment>
) : (
<div>None</div>
)}
<p>
<b>Polymorphic Has One:</b>
</p>
{item?.relationshipInArrayPolyHasOne ? (
<div>
{typeof item?.relationshipInArrayPolyHasOne.value === 'string'
? item?.relationshipInArrayPolyHasOne.value
: item?.relationshipInArrayPolyHasOne.value.title}
</div>
) : (
<div>None</div>
)}
<p>
<b>Polymorphic Has Many:</b>
</p>
{item?.relationshipInArrayPolyHasMany ? (
<Fragment>
{item?.relationshipInArrayPolyHasMany.length
? item?.relationshipInArrayPolyHasMany?.map((rel, relIndex) =>
rel.value ? (
<div key={relIndex}>
{typeof rel.value === 'string' ? rel.value : rel.value.title}
</div>
) : (
'null'
),
)
: 'None'}
</Fragment>
) : (
<div>None</div>
)}
</div>
))}
</Gutter>
</div>
)
}

View File

@@ -0,0 +1,20 @@
import React from 'react'
import classes from './index.module.scss'
type Props = {
children?: React.ReactNode
className?: string
id?: string
invert?: boolean | null
}
export const BackgroundColor: React.FC<Props> = (props) => {
const { id, children, className, invert } = props
return (
<div className={[invert && classes.invert, className].filter(Boolean).join(' ')} id={id}>
{children}
</div>
)
}

View File

@@ -0,0 +1,88 @@
import React, { Fragment } from 'react'
import type { Page } from '../../../../test/live-preview/payload-types.js'
import type { RelationshipsBlockProps } from '../../_blocks/Relationships/index.js'
import type { VerticalPaddingOptions } from '../VerticalPadding/index.js'
import { ArchiveBlock } from '../../_blocks/ArchiveBlock/index.js'
import { CallToActionBlock } from '../../_blocks/CallToAction/index.js'
import { ContentBlock } from '../../_blocks/Content/index.js'
import { MediaBlock } from '../../_blocks/MediaBlock/index.js'
import { RelatedPosts, type RelatedPostsProps } from '../../_blocks/RelatedPosts/index.js'
import { RelationshipsBlock } from '../../_blocks/Relationships/index.js'
import { toKebabCase } from '../../_utilities/toKebabCase.js'
import { BackgroundColor } from '../BackgroundColor/index.js'
import { VerticalPadding } from '../VerticalPadding/index.js'
const blockComponents = {
archive: ArchiveBlock,
content: ContentBlock,
cta: CallToActionBlock,
mediaBlock: MediaBlock,
relatedPosts: RelatedPosts,
relationships: RelationshipsBlock,
}
type Block = NonNullable<Page['layout']>[number]
export const Blocks: React.FC<{
blocks?: (Block | RelatedPostsProps | RelationshipsBlockProps)[] | null
disableTopPadding?: boolean
}> = (props) => {
const { blocks, disableTopPadding } = props
const hasBlocks = blocks && Array.isArray(blocks) && blocks.length > 0
if (hasBlocks) {
return (
<Fragment>
{blocks.map((block, index) => {
const { blockName, blockType } = block
if (blockType && blockType in blockComponents) {
const Block = blockComponents[blockType]
// the cta block is containerized, so we don't consider it to be inverted at the block-level
const blockIsInverted =
'invertBackground' in block && blockType !== 'cta' ? block.invertBackground : false
const prevBlock = blocks[index - 1]
const prevBlockInverted =
prevBlock && 'invertBackground' in prevBlock && prevBlock?.invertBackground
const isPrevSame = Boolean(blockIsInverted) === Boolean(prevBlockInverted)
let paddingTop: VerticalPaddingOptions = 'large'
let paddingBottom: VerticalPaddingOptions = 'large'
if (prevBlock && isPrevSame) {
paddingTop = 'none'
}
if (index === blocks.length - 1) {
paddingBottom = 'large'
}
if (disableTopPadding && index === 0) {
paddingTop = 'none'
}
if (Block) {
return (
<BackgroundColor invert={blockIsInverted} key={index}>
<VerticalPadding bottom={paddingBottom} top={paddingTop}>
{/* @ts-expect-error */}
<Block id={toKebabCase(blockName)} {...block} />
</VerticalPadding>
</BackgroundColor>
)
}
}
return null
})}
</Fragment>
)
}
return null
}

View File

@@ -0,0 +1,80 @@
'use client'
import type { ElementType } from 'react'
import LinkWithDefault from 'next/link.js'
import React from 'react'
import classes from './index.module.scss'
const Link = (LinkWithDefault.default || LinkWithDefault) as typeof LinkWithDefault.default
export type Props = {
appearance?: 'default' | 'none' | 'primary' | 'secondary'
className?: string
disabled?: boolean
el?: 'a' | 'button' | 'link'
href?: string
invert?: boolean
label?: string
newTab?: boolean
onClick?: () => void
type?: 'button' | 'submit'
}
export const Button: React.FC<Props> = ({
type = 'button',
appearance,
className: classNameFromProps,
disabled,
el: elFromProps = 'link',
href,
invert,
label,
newTab,
onClick,
}) => {
let el = elFromProps
const newTabProps = newTab ? { rel: 'noopener noreferrer', target: '_blank' } : {}
const className = [
classes.button,
classNameFromProps,
classes[`appearance--${appearance}`],
invert && classes[`${appearance}--invert`],
]
.filter(Boolean)
.join(' ')
const content = (
<div className={classes.content}>
<span className={classes.label}>{label}</span>
</div>
)
if (onClick || type === 'submit') el = 'button'
if (el === 'link') {
return (
<Link className={className} href={href || ''} {...newTabProps} onClick={onClick}>
{content}
</Link>
)
}
const Element: ElementType = el
return (
<Element
className={className}
href={href}
type={type}
{...newTabProps}
disabled={disabled}
onClick={onClick}
>
{content}
</Element>
)
}

View File

@@ -0,0 +1,88 @@
import LinkWithDefault from 'next/link.js'
import React, { Fragment } from 'react'
import type { Post } from '../../../../test/live-preview/payload-types.js'
import { Media } from '../Media/index.js'
import classes from './index.module.scss'
const Link = (LinkWithDefault.default || LinkWithDefault) as typeof LinkWithDefault.default
export const Card: React.FC<{
alignItems?: 'center'
className?: string
doc?: Post
hideImagesOnMobile?: boolean
orientation?: 'horizontal' | 'vertical'
relationTo?: 'posts'
showCategories?: boolean
title?: string
}> = (props) => {
const {
className,
doc,
orientation = 'vertical',
relationTo,
showCategories,
title: titleFromProps,
} = props
const { slug, categories, meta, title } = doc || {}
const { description, image: metaImage } = meta || {}
const hasCategories = categories && Array.isArray(categories) && categories.length > 0
const titleToUse = titleFromProps || title
const sanitizedDescription = description?.replace(/\s/g, ' ') // replace non-breaking space with white space
const href = `/live-preview/${relationTo}/${slug}`
return (
<div
className={[classes.card, className, orientation && classes[orientation]]
.filter(Boolean)
.join(' ')}
>
<Link className={classes.mediaWrapper} href={href}>
{!metaImage && <div className={classes.placeholder}>No image</div>}
{metaImage && typeof metaImage !== 'string' && (
<Media fill imgClassName={classes.image} resource={metaImage} />
)}
</Link>
<div className={classes.content}>
{showCategories && hasCategories && (
<div className={classes.leader}>
{showCategories && hasCategories && (
<div>
{categories?.map((category, index) => {
const titleFromCategory = typeof category === 'string' ? category : category.title
const categoryTitle = titleFromCategory || 'Untitled category'
const isLast = index === categories.length - 1
return (
<Fragment key={index}>
{categoryTitle}
{!isLast && <Fragment>, &nbsp;</Fragment>}
</Fragment>
)
})}
</div>
)}
</div>
)}
{titleToUse && (
<h4 className={classes.title}>
<Link className={classes.titleLink} href={href}>
{titleToUse}
</Link>
</h4>
)}
{description && (
<div className={classes.body}>
{description && <p className={classes.description}>{sanitizedDescription}</p>}
</div>
)}
</div>
</div>
)
}

View File

@@ -0,0 +1,26 @@
import React from 'react'
export const Chevron: React.FC<{
className?: string
rotate?: number
}> = ({ className, rotate }) => {
return (
<svg
className={className}
height="100%"
style={{
transform: typeof rotate === 'number' ? `rotate(${rotate || 0}deg)` : undefined,
}}
viewBox="0 0 24 24"
width="100%"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M23.245 4l-11.245 14.374-11.219-14.374-.781.619 12 15.381 12-15.391-.755-.609z"
fill="none"
stroke="currentColor"
vectorEffect="non-scaling-stroke"
/>
</svg>
)
}

View File

@@ -0,0 +1,186 @@
'use client'
import qs from 'qs'
import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'
import type { Post } from '../../../../../test/live-preview/payload-types.js'
import type { ArchiveBlockProps } from '../../../_blocks/ArchiveBlock/types.js'
import { PAYLOAD_SERVER_URL } from '../../../_api/serverURL.js'
import { Card } from '../../Card/index.js'
import { Gutter } from '../../Gutter/index.js'
import { PageRange } from '../../PageRange/index.js'
import { Pagination } from '../../Pagination/index.js'
import classes from './index.module.scss'
type Result = {
docs: (Post | string)[]
hasNextPage: boolean
hasPrevPage: boolean
nextPage: number
page: number
prevPage: number
totalDocs: number
totalPages: number
}
export type Props = Omit<ArchiveBlockProps, 'blockType'> & {
className?: string
onResultChange?: (result: Result) => void // eslint-disable-line no-unused-vars
showPageRange?: boolean
sort?: string
}
export const CollectionArchiveByCollection: React.FC<Props> = (props) => {
const {
categories: catsFromProps,
className,
limit = 10,
onResultChange,
populatedDocs,
populatedDocsTotal,
relationTo,
showPageRange,
sort = '-createdAt',
} = props
const [results, setResults] = useState<Result>({
docs: populatedDocs?.map((doc) => doc.value) || [],
hasNextPage: false,
hasPrevPage: false,
nextPage: 1,
page: 1,
prevPage: 1,
totalDocs: typeof populatedDocsTotal === 'number' ? populatedDocsTotal : 0,
totalPages: 1,
})
const [isLoading, setIsLoading] = useState(false)
const [error, setError] = useState<string | undefined>(undefined)
const scrollRef = useRef<HTMLDivElement>(null)
const hasHydrated = useRef(false)
const [page, setPage] = useState(1)
const scrollToRef = useCallback(() => {
const { current } = scrollRef
if (current) {
// current.scrollIntoView({
// behavior: 'smooth',
// })
}
}, [])
useEffect(() => {
if (!isLoading && typeof results.page !== 'undefined') {
// scrollToRef()
}
}, [isLoading, scrollToRef, results])
useEffect(() => {
// hydrate the block with fresh content after first render
// don't show loader unless the request takes longer than x ms
// and don't show it during initial hydration
const timer = setTimeout(() => {
if (hasHydrated) {
setIsLoading(true)
}
}, 500)
const searchQuery = qs.stringify(
{
depth: 1,
limit,
page,
sort,
where: {
...(catsFromProps && catsFromProps?.length > 0
? {
categories: {
in:
typeof catsFromProps === 'string'
? [catsFromProps]
: catsFromProps
.map((cat) => (typeof cat === 'object' && cat !== null ? cat.id : cat))
.join(','),
},
}
: {}),
},
},
{ encode: false },
)
const makeRequest = async () => {
try {
const req = await fetch(`${PAYLOAD_SERVER_URL}/api/${relationTo}?${searchQuery}`)
const json = await req.json()
clearTimeout(timer)
hasHydrated.current = true
const { docs } = json as { docs: Post[] }
if (docs && Array.isArray(docs)) {
setResults(json)
setIsLoading(false)
if (typeof onResultChange === 'function') {
onResultChange(json)
}
}
} catch (err) {
console.warn(err) // eslint-disable-line no-console
setIsLoading(false)
setError(`Unable to load "${relationTo} archive" data at this time.`)
}
}
void makeRequest()
return () => {
if (timer) clearTimeout(timer)
}
}, [page, catsFromProps, relationTo, onResultChange, sort, limit])
return (
<div className={[classes.collectionArchive, className].filter(Boolean).join(' ')}>
<div className={classes.scrollRef} ref={scrollRef} />
{!isLoading && error && <Gutter>{error}</Gutter>}
<Fragment>
{showPageRange !== false && (
<Gutter>
<div className={classes.pageRange}>
<PageRange
collection={relationTo}
currentPage={results.page}
limit={limit}
totalDocs={results.totalDocs}
/>
</div>
</Gutter>
)}
<Gutter>
<div className={classes.grid}>
{results.docs?.map((result, index) => {
if (typeof result === 'string') {
return null
}
return (
<div className={classes.column} key={index}>
<Card doc={result} relationTo="posts" showCategories />
</div>
)
})}
</div>
{results.totalPages > 1 && (
<Pagination
className={classes.pagination}
onClick={setPage}
page={results.page}
totalPages={results.totalPages}
/>
)}
</Gutter>
</Fragment>
</div>
)
}

View File

@@ -0,0 +1,42 @@
'use client'
import React, { Fragment } from 'react'
import type { ArchiveBlockProps } from '../../../_blocks/ArchiveBlock/types.js'
import { Card } from '../../Card/index.js'
import { Gutter } from '../../Gutter/index.js'
import classes from './index.module.scss'
export type Props = {
className?: string
selectedDocs?: ArchiveBlockProps['selectedDocs']
}
export const CollectionArchiveBySelection: React.FC<Props> = (props) => {
const { className, selectedDocs } = props
const result = selectedDocs?.map((doc) => doc.value)
return (
<div className={[classes.collectionArchive, className].filter(Boolean).join(' ')}>
<Fragment>
<Gutter>
<div className={classes.grid}>
{result?.map((result, index) => {
if (typeof result === 'string') {
return null
}
return (
<div className={classes.column} key={index}>
<Card doc={result} relationTo="posts" showCategories />
</div>
)
})}
</div>
</Gutter>
</Fragment>
</div>
)
}

View File

@@ -0,0 +1,25 @@
import React from 'react'
import type { ArchiveBlockProps } from '../../_blocks/ArchiveBlock/types.js'
import { CollectionArchiveByCollection } from './PopulateByCollection/index.js'
import { CollectionArchiveBySelection } from './PopulateBySelection/index.js'
export type Props = Omit<ArchiveBlockProps, 'blockType'> & {
className?: string
sort?: string
}
export const CollectionArchive: React.FC<Props> = (props) => {
const { className, populateBy, selectedDocs } = props
if (populateBy === 'selection') {
return <CollectionArchiveBySelection className={className} selectedDocs={selectedDocs} />
}
if (populateBy === 'collection') {
return <CollectionArchiveByCollection {...props} className={className} />
}
return null
}

View File

@@ -0,0 +1,41 @@
import LinkWithDefault from 'next/link.js'
import React from 'react'
import { fetchFooter } from '../../_api/fetchFooter.js'
import { Gutter } from '../Gutter/index.js'
import { CMSLink } from '../Link/index.js'
import classes from './index.module.scss'
const Link = (LinkWithDefault.default || LinkWithDefault) as typeof LinkWithDefault.default
export async function Footer() {
const footer = await fetchFooter()
const navItems = footer?.navItems || []
return (
<footer className={classes.footer}>
<Gutter className={classes.wrap}>
<Link href="/">
<picture>
<img
alt="Payload Logo"
className={classes.logo}
src="https://raw.githubusercontent.com/payloadcms/payload/main/packages/payload/src/admin/assets/images/payload-logo-light.svg"
/>
</picture>
</Link>
<nav className={classes.nav}>
{navItems.map(({ link }, i) => {
return <CMSLink key={i} {...link} />
})}
<Link href="/admin">Admin</Link>
<Link href="https://github.com/payloadcms/payload/tree/main/templates/ecommerce">
Source Code
</Link>
<Link href="https://github.com/payloadcms/payload">Payload</Link>
</nav>
</Gutter>
</footer>
)
}

View File

@@ -0,0 +1,35 @@
import type { Ref } from 'react'
import React, { forwardRef } from 'react'
import classes from './index.module.scss'
type Props = {
children: React.ReactNode
className?: string
left?: boolean
ref?: Ref<HTMLDivElement>
right?: boolean
}
export const Gutter: React.FC<Props> = forwardRef<HTMLDivElement, Props>((props, ref) => {
const { children, className, left = true, right = true } = props
return (
<div
className={[
classes.gutter,
left && classes.gutterLeft,
right && classes.gutterRight,
className,
]
.filter(Boolean)
.join(' ')}
ref={ref}
>
{children}
</div>
)
})
Gutter.displayName = 'Gutter'

View File

@@ -0,0 +1,20 @@
'use client'
import React from 'react'
import type { Header as HeaderType } from '../../../../../test/live-preview/payload-types.js'
import { CMSLink } from '../../Link/index.js'
import classes from './index.module.scss'
export const HeaderNav: React.FC<{ header: HeaderType }> = ({ header }) => {
const navItems = header?.navItems || []
return (
<nav className={classes.nav}>
{navItems.map(({ link }, i) => {
return <CMSLink key={i} {...link} />
})}
</nav>
)
}

View File

@@ -0,0 +1,28 @@
import LinkWithDefault from 'next/link.js'
import React from 'react'
import { fetchHeader } from '../../_api/fetchHeader.js'
import { Gutter } from '../Gutter/index.js'
import { HeaderNav } from './Nav/index.js'
import classes from './index.module.scss'
const Link = (LinkWithDefault.default || LinkWithDefault) as typeof LinkWithDefault.default
export async function Header() {
const header = await fetchHeader()
return (
<header className={classes.header}>
<Gutter className={classes.wrap}>
<Link href="/live-preview">
<img
alt="Payload Logo"
className={classes.logo}
src="https://raw.githubusercontent.com/payloadcms/payload/main/packages/payload/src/admin/assets/images/payload-logo-dark.svg"
/>
</Link>
<HeaderNav header={header} />
</Gutter>
</header>
)
}

View File

@@ -0,0 +1,23 @@
import React from 'react'
import type { Page } from '../../../../test/live-preview/payload-types.js'
import { HighImpactHero } from '../../_heros/HighImpact/index.js'
import { LowImpactHero } from '../../_heros/LowImpact/index.js'
const heroes = {
highImpact: HighImpactHero,
lowImpact: LowImpactHero,
}
export const Hero: React.FC<Page['hero']> = (props) => {
const { type } = props || {}
if (!type || type === 'none') return null
const HeroToRender = heroes[type]
if (!HeroToRender) return null
return <HeroToRender {...props} />
}

View File

@@ -0,0 +1,67 @@
import LinkWithDefault from 'next/link.js'
import React from 'react'
import type { Page, Post } from '../../../../test/live-preview/payload-types.js'
import type { Props as ButtonProps } from '../Button/index.js'
import { Button } from '../Button/index.js'
const Link = (LinkWithDefault.default || LinkWithDefault) as typeof LinkWithDefault.default
type CMSLinkType = {
appearance?: ButtonProps['appearance']
children?: React.ReactNode
className?: string
invert?: ButtonProps['invert']
label?: string
newTab?: boolean
reference?: {
relationTo: 'pages' | 'posts'
value: Page | Post | string
}
type?: 'custom' | 'reference'
url?: string
}
export const CMSLink: React.FC<CMSLinkType> = ({
type,
appearance,
children,
className,
invert,
label,
newTab,
reference,
url,
}) => {
const href =
type === 'reference' && typeof reference?.value === 'object' && reference.value.slug
? `/${reference.value.slug}`
: url
if (!href) return null
if (!appearance) {
const newTabProps = newTab ? { rel: 'noopener noreferrer', target: '_blank' } : {}
if (href || url) {
return (
<Link {...newTabProps} className={className} href={href || url || ''}>
{label && label}
{children && children}
</Link>
)
}
}
return (
<Button
appearance={appearance}
className={className}
href={href}
invert={invert}
label={label}
newTab={newTab}
/>
)
}

View File

@@ -0,0 +1,81 @@
'use client'
import type { StaticImageData } from 'next/image.js'
import NextImageWithDefault from 'next/image.js'
import React from 'react'
import type { Props as MediaProps } from '../types.js'
import { PAYLOAD_SERVER_URL } from '../../../_api/serverURL.js'
import cssVariables from '../../../cssVariables.js'
import classes from './index.module.scss'
const { breakpoints } = cssVariables
const NextImage = (NextImageWithDefault.default ||
NextImageWithDefault) as typeof NextImageWithDefault.default
export const Image: React.FC<MediaProps> = (props) => {
const {
alt: altFromProps,
fill,
imgClassName,
onClick,
onLoad: onLoadFromProps,
priority,
resource,
src: srcFromProps,
} = props
const [isLoading, setIsLoading] = React.useState(true)
let width: number | undefined
let height: number | undefined
let alt = altFromProps
let src: StaticImageData | string = srcFromProps || ''
if (!src && resource && typeof resource !== 'string') {
const {
alt: altFromResource,
filename: fullFilename,
height: fullHeight,
width: fullWidth,
} = resource
width = fullWidth || undefined
height = fullHeight || undefined
alt = altFromResource
const filename = fullFilename
src = `${PAYLOAD_SERVER_URL}/api/media/file/${filename}`
}
// NOTE: this is used by the browser to determine which image to download at different screen sizes
const sizes = Object.entries(breakpoints)
.map(([, value]) => `(max-width: ${value}px) ${value}px`)
.join(', ')
return (
<NextImage
alt={alt || ''}
className={[isLoading && classes.placeholder, classes.image, imgClassName]
.filter(Boolean)
.join(' ')}
fill={fill}
height={!fill ? height : undefined}
onClick={onClick}
onLoad={() => {
setIsLoading(false)
if (typeof onLoadFromProps === 'function') {
onLoadFromProps()
}
}}
priority={priority}
sizes={sizes}
src={src}
width={!fill ? width : undefined}
/>
)
}

View File

@@ -0,0 +1,46 @@
'use client'
import React, { useEffect, useRef } from 'react'
import type { Props as MediaProps } from '../types.js'
import { PAYLOAD_SERVER_URL } from '../../../_api/serverURL.js'
import classes from './index.module.scss'
export const Video: React.FC<MediaProps> = (props) => {
const { onClick, resource, videoClassName } = props
const videoRef = useRef<HTMLVideoElement>(null)
// const [showFallback] = useState<boolean>()
useEffect(() => {
const { current: video } = videoRef
if (video) {
video.addEventListener('suspend', () => {
// setShowFallback(true);
// console.warn('Video was suspended, rendering fallback image.')
})
}
}, [])
if (resource && typeof resource !== 'string') {
const { filename } = resource
return (
<video
autoPlay
className={[classes.video, videoClassName].filter(Boolean).join(' ')}
controls={false}
loop
muted
onClick={onClick}
playsInline
ref={videoRef}
>
<source src={`${PAYLOAD_SERVER_URL}/media/${filename}`} />
</video>
)
}
return null
}

View File

@@ -0,0 +1,31 @@
import type { ElementType } from 'react'
import React, { Fragment } from 'react'
import type { Props } from './types.js'
import { Image } from './Image/index.js'
import { Video } from './Video/index.js'
export const Media: React.FC<Props> = (props) => {
const { className, htmlElement = 'div', resource } = props
const isVideo = typeof resource !== 'string' && resource?.mimeType?.includes('video')
const Tag = (htmlElement as ElementType) || Fragment
return (
<Tag
{...(htmlElement !== null
? {
className,
}
: {})}
>
{isVideo ? (
<Video {...props} />
) : (
<Image {...props} /> // eslint-disable-line
)}
</Tag>
)
}

View File

@@ -0,0 +1,20 @@
import type { StaticImageData } from 'next/image'
import type { ElementType, Ref } from 'react'
import type { Media as MediaType } from '../../../payload-types'
export interface Props {
alt?: string
className?: string
fill?: boolean // for NextImage only
htmlElement?: ElementType | null
imgClassName?: string
onClick?: () => void
onLoad?: () => void
priority?: boolean // for NextImage only
ref?: Ref<HTMLImageElement | HTMLVideoElement | null>
resource?: MediaType | string // for Payload media
size?: string // for NextImage only
src?: StaticImageData // for static media
videoClassName?: string
}

View File

@@ -0,0 +1,52 @@
import React from 'react'
import classes from './index.module.scss'
const defaultLabels = {
plural: 'Docs',
singular: 'Doc',
}
const defaultCollectionLabels = {
products: {
plural: 'Products',
singular: 'Product',
},
}
export const PageRange: React.FC<{
className?: string
collection?: string
collectionLabels?: {
plural?: string
singular?: string
}
currentPage?: number
limit?: number
totalDocs?: number
}> = (props) => {
const {
className,
collection,
collectionLabels: collectionLabelsFromProps,
currentPage,
limit,
totalDocs,
} = props
const indexStart = (currentPage ? currentPage - 1 : 1) * (limit || 1) + 1
let indexEnd = (currentPage || 1) * (limit || 1)
if (totalDocs && indexEnd > totalDocs) indexEnd = totalDocs
const { plural, singular } =
collectionLabelsFromProps || defaultCollectionLabels[collection || ''] || defaultLabels || {}
return (
<div className={[className, classes.pageRange].filter(Boolean).join(' ')}>
{(typeof totalDocs === 'undefined' || totalDocs === 0) && 'Search produced no results.'}
{typeof totalDocs !== 'undefined' &&
totalDocs > 0 &&
`Showing ${indexStart} - ${indexEnd} of ${totalDocs} ${totalDocs > 1 ? plural : singular}`}
</div>
)
}

View File

@@ -0,0 +1,45 @@
import React from 'react'
import { Chevron } from '../Chevron/index.js'
import classes from './index.module.scss'
export const Pagination: React.FC<{
className?: string
onClick: (page: number) => void
page: number
totalPages: number
}> = (props) => {
const { className, onClick, page, totalPages } = props
const hasNextPage = page < totalPages
const hasPrevPage = page > 1
return (
<div className={[classes.pagination, className].filter(Boolean).join(' ')}>
<button
className={classes.button}
disabled={!hasPrevPage}
onClick={() => {
onClick(page - 1)
}}
type="button"
>
<Chevron className={classes.icon} rotate={90} />
</button>
<div className={classes.pageRange}>
<span className={classes.pageRangeLabel}>
Page {page} of {totalPages}
</span>
</div>
<button
className={classes.button}
disabled={!hasNextPage}
onClick={() => {
onClick(page + 1)
}}
type="button"
>
<Chevron className={classes.icon} rotate={-90} />
</button>
</div>
)
}

View File

@@ -0,0 +1,26 @@
import React from 'react'
import classes from './index.module.scss'
import serializeLexical from './serializeLexical.js'
import serializeSlate from './serializeSlate.js'
const RichText: React.FC<{
className?: string
content: any
renderUploadFilenameOnly?: boolean
serializer?: 'lexical' | 'slate'
}> = ({ className, content, renderUploadFilenameOnly, serializer = 'slate' }) => {
if (!content) {
return null
}
return (
<div className={[classes.richText, className].filter(Boolean).join(' ')}>
{serializer === 'slate'
? serializeSlate(content, renderUploadFilenameOnly)
: serializeLexical(content, renderUploadFilenameOnly)}
</div>
)
}
export default RichText

View File

@@ -1,6 +1,9 @@
import type { SerializedEditorState } from 'lexical'
import { CMSLink } from '../Link'
import { Media } from '../Media'
import React from 'react'
import { CMSLink } from '../Link/index.js'
import { Media } from '../Media/index.js'
const serializer = (
content?: SerializedEditorState['root']['children'],
@@ -55,10 +58,10 @@ const serializer = (
return (
<CMSLink
key={i}
newTab={Boolean(node?.newTab)}
reference={node.doc as any}
type={node.linkType === 'internal' ? 'reference' : 'custom'}
url={node.url}
reference={node.doc as any}
newTab={Boolean(node?.newTab)}
>
{serializer(node?.children, renderUploadFilenameOnly)}
</CMSLink>

View File

@@ -1,18 +1,19 @@
import React, { Fragment } from 'react'
import escapeHTML from 'escape-html'
import React, { Fragment } from 'react'
import { Text } from 'slate'
import { CMSLink } from '../Link'
import { Media } from '../Media'
import { CMSLink } from '../Link/index.js'
import { Media } from '../Media/index.js'
// eslint-disable-next-line no-use-before-define
type Children = Leaf[]
type Leaf = {
type: string
value?: any
children?: Children
url?: string
[key: string]: unknown
children?: Children
type: string
url?: string
value?: any
}
const serializeSlate = (
@@ -37,7 +38,7 @@ const serializeSlate = (
if (node.underline) {
text = (
<span style={{ textDecoration: 'underline' }} key={i}>
<span key={i} style={{ textDecoration: 'underline' }}>
{text}
</span>
)
@@ -45,7 +46,7 @@ const serializeSlate = (
if (node.strikethrough) {
text = (
<span style={{ textDecoration: 'line-through' }} key={i}>
<span key={i} style={{ textDecoration: 'line-through' }}>
{text}
</span>
)
@@ -106,10 +107,10 @@ const serializeSlate = (
return (
<CMSLink
key={i}
newTab={Boolean(node?.newTab)}
reference={node.doc as any}
type={node.linkType === 'internal' ? 'reference' : 'custom'}
url={node.url}
reference={node.doc as any}
newTab={Boolean(node?.newTab)}
>
{serializeSlate(node?.children, renderUploadFilenameOnly)}
</CMSLink>

View File

@@ -0,0 +1,29 @@
import React from 'react'
import classes from './index.module.scss'
export type VerticalPaddingOptions = 'large' | 'medium' | 'none'
type Props = {
bottom?: VerticalPaddingOptions
children: React.ReactNode
className?: string
top?: VerticalPaddingOptions
}
export const VerticalPadding: React.FC<Props> = ({
bottom = 'medium',
children,
className,
top = 'medium',
}) => {
return (
<div
className={[className, classes[`top-${top}`], classes[`bottom-${bottom}`]]
.filter(Boolean)
.join(' ')}
>
{children}
</div>
)
}

View File

@@ -0,0 +1,121 @@
@use './queries.scss' as *;
@use './colors.scss' as *;
@use './type.scss' as *;
:root {
--base: 24px;
--font-body: system-ui;
--font-mono: 'Roboto Mono', monospace;
--gutter-h: 180px;
--block-padding: 120px;
--theme-text: var(--color-base-750);
@include large-break {
--gutter-h: 144px;
--block-padding: 96px;
}
@include mid-break {
--gutter-h: 24px;
--block-padding: 60px;
}
}
* {
box-sizing: border-box;
}
html {
@extend %body;
-webkit-font-smoothing: antialiased;
}
html,
body,
#app {
height: 100%;
}
body {
font-family: var(--font-body);
margin: 0;
color: var(--theme-text);
}
::selection {
background: var(--color-success-500);
color: var(--color-base-800);
}
::-moz-selection {
background: var(--color-success-500);
color: var(--color-base-800);
}
img {
max-width: 100%;
height: auto;
display: block;
}
h1 {
@extend %h1;
}
h2 {
@extend %h2;
}
h3 {
@extend %h3;
}
h4 {
@extend %h4;
}
h5 {
@extend %h5;
}
h6 {
@extend %h6;
}
p {
margin: var(--base) 0;
@include mid-break {
margin: calc(var(--base) * 0.75) 0;
}
}
#page-title {
@extend %h6;
}
ul,
ol {
padding-left: var(--base);
margin: 0 0 var(--base);
}
a {
color: currentColor;
&:focus {
opacity: 0.8;
outline: none;
}
&:active {
opacity: 0.7;
outline: none;
}
}
svg {
vertical-align: middle;
}

View File

@@ -0,0 +1,31 @@
import React, { Fragment } from 'react'
import type { Page } from '../../../../test/live-preview/payload-types.js'
import { Gutter } from '../../_components/Gutter/index.js'
import { Media } from '../../_components/Media/index.js'
import RichText from '../../_components/RichText/index.js'
import classes from './index.module.scss'
export const HighImpactHero: React.FC<Page['hero']> = ({ media, richText }) => {
return (
<Gutter className={classes.hero}>
<div className={classes.content}>
<RichText content={richText} />
</div>
<div className={classes.media}>
{typeof media === 'object' && media !== null && (
<Fragment>
<Media
// fill
imgClassName={classes.image}
priority
resource={media}
/>
{media?.caption && <RichText className={classes.caption} content={media.caption} />}
</Fragment>
)}
</div>
</Gutter>
)
}

View File

@@ -0,0 +1,20 @@
import React from 'react'
import type { Page } from '../../../../test/live-preview/payload-types.js'
import { Gutter } from '../../_components/Gutter/index.js'
import RichText from '../../_components/RichText/index.js'
import { VerticalPadding } from '../../_components/VerticalPadding/index.js'
import classes from './index.module.scss'
export const LowImpactHero: React.FC<Page['hero']> = ({ richText }) => {
return (
<Gutter className={classes.lowImpactHero}>
<div className={classes.content}>
<VerticalPadding>
<RichText className={classes.richText} content={richText} />
</VerticalPadding>
</div>
</Gutter>
)
}

View File

@@ -0,0 +1,57 @@
import LinkWithDefault from 'next/link.js'
import React, { Fragment } from 'react'
import type { Post } from '../../../../test/live-preview/payload-types.js'
import { PAYLOAD_SERVER_URL } from '../../_api/serverURL.js'
import { Gutter } from '../../_components/Gutter/index.js'
import { Media } from '../../_components/Media/index.js'
import RichText from '../../_components/RichText/index.js'
import { formatDateTime } from '../../_utilities/formatDateTime.js'
import classes from './index.module.scss'
const Link = (LinkWithDefault.default || LinkWithDefault) as typeof LinkWithDefault.default
export const PostHero: React.FC<{
post: Post
}> = ({ post }) => {
const { id, createdAt, meta: { description, image: metaImage } = {} } = post
return (
<Fragment>
<Gutter className={classes.postHero}>
<div className={classes.content}>
<RichText className={classes.richText} content={post?.hero?.richText} />
<p className={classes.meta}>
{createdAt && (
<Fragment>
{'Created on '}
{formatDateTime(createdAt)}
</Fragment>
)}
</p>
<div>
<p className={classes.description}>
{`${description ? `${description} ` : ''}To edit this post, `}
<Link href={`${PAYLOAD_SERVER_URL}/admin/collections/posts/${id}`}>
navigate to the admin dashboard
</Link>
.
</p>
</div>
</div>
<div className={classes.media}>
<div className={classes.mediaWrapper}>
{!metaImage && <div className={classes.placeholder}>No image</div>}
{metaImage && typeof metaImage !== 'string' && (
<Media fill imgClassName={classes.image} resource={metaImage} />
)}
</div>
{metaImage && typeof metaImage !== 'string' && metaImage?.caption && (
<RichText className={classes.caption} content={metaImage.caption} />
)}
</div>
</Gutter>
</Fragment>
)
}

Some files were not shown because too many files have changed in this diff Show More