@payloadcms/next 3.0.0-beta.55 → 3.0.0-beta.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +91 -0
  2. package/dist/elements/DocumentHeader/Tabs/index.scss +53 -0
  3. package/dist/elements/DocumentHeader/index.scss +51 -0
  4. package/dist/elements/LeaveWithoutSaving/index.scss +36 -0
  5. package/dist/elements/Nav/NavWrapper/index.scss +17 -0
  6. package/dist/elements/Nav/index.scss +150 -0
  7. package/dist/prod/index.js +2 -2
  8. package/dist/routes/graphql/handler.d.ts.map +1 -1
  9. package/dist/routes/graphql/handler.js +5 -1
  10. package/dist/routes/graphql/handler.js.map +1 -1
  11. package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
  12. package/dist/routes/rest/auth/refresh.js +12 -20
  13. package/dist/routes/rest/auth/refresh.js.map +1 -1
  14. package/dist/routes/rest/index.d.ts.map +1 -1
  15. package/dist/routes/rest/index.js +33 -6
  16. package/dist/routes/rest/index.js.map +1 -1
  17. package/dist/routes/rest/og/roboto-regular.woff +0 -0
  18. package/dist/scss/app.scss +208 -0
  19. package/dist/scss/colors.scss +269 -0
  20. package/dist/scss/custom.css +1 -0
  21. package/dist/scss/queries.scss +27 -0
  22. package/dist/scss/resets.scss +17 -0
  23. package/dist/scss/styles.scss +11 -0
  24. package/dist/scss/svg.scss +10 -0
  25. package/dist/scss/toasts.scss +111 -0
  26. package/dist/scss/type.scss +117 -0
  27. package/dist/scss/vars.scss +213 -0
  28. package/dist/scss/z-index.scss +9 -0
  29. package/dist/templates/Default/Wrapper/index.scss +25 -0
  30. package/dist/templates/Default/index.scss +67 -0
  31. package/dist/templates/Minimal/index.scss +28 -0
  32. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  33. package/dist/utilities/createPayloadRequest.js +3 -1
  34. package/dist/utilities/createPayloadRequest.js.map +1 -1
  35. package/dist/utilities/mergeHeaders.d.ts +2 -0
  36. package/dist/utilities/mergeHeaders.d.ts.map +1 -0
  37. package/dist/utilities/mergeHeaders.js +37 -0
  38. package/dist/utilities/mergeHeaders.js.map +1 -0
  39. package/dist/views/API/RenderJSON/index.scss +90 -0
  40. package/dist/views/API/index.scss +124 -0
  41. package/dist/views/Account/Settings/index.scss +46 -0
  42. package/dist/views/CreateFirstUser/index.scss +5 -0
  43. package/dist/views/Dashboard/Default/index.scss +58 -0
  44. package/dist/views/Edit/Default/Auth/index.scss +61 -0
  45. package/dist/views/Edit/Default/index.scss +21 -0
  46. package/dist/views/List/Default/index.scss +195 -0
  47. package/dist/views/LivePreview/IFrame/index.scss +7 -0
  48. package/dist/views/LivePreview/Preview/index.scss +41 -0
  49. package/dist/views/LivePreview/Toolbar/Controls/index.scss +59 -0
  50. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +10 -0
  51. package/dist/views/LivePreview/Toolbar/index.scss +41 -0
  52. package/dist/views/LivePreview/ToolbarArea/index.scss +4 -0
  53. package/dist/views/LivePreview/index.scss +66 -0
  54. package/dist/views/Login/LoginForm/index.scss +8 -0
  55. package/dist/views/Login/index.scss +8 -0
  56. package/dist/views/Logout/index.scss +20 -0
  57. package/dist/views/NotFound/index.scss +37 -0
  58. package/dist/views/ResetPassword/index.scss +5 -0
  59. package/dist/views/Unauthorized/index.scss +36 -0
  60. package/dist/views/Verify/index.scss +14 -0
  61. package/dist/views/Version/Default/index.scss +70 -0
  62. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +4 -0
  63. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +34 -0
  64. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +12 -0
  65. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +13 -0
  66. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +13 -0
  67. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +13 -0
  68. package/dist/views/Version/RenderFieldsToDiff/index.scss +18 -0
  69. package/dist/views/Version/Restore/index.scss +30 -0
  70. package/dist/views/Version/SelectComparison/index.scss +13 -0
  71. package/dist/views/Version/SelectLocales/index.scss +7 -0
  72. package/dist/views/Versions/index.scss +108 -0
  73. package/package.json +7 -7
@@ -0,0 +1,117 @@
1
+ @import 'vars';
2
+ @import 'queries';
3
+
4
+ /////////////////////////////
5
+ // HEADINGS
6
+ /////////////////////////////
7
+
8
+ %h1,
9
+ %h2,
10
+ %h3,
11
+ %h4,
12
+ %h5,
13
+ %h6 {
14
+ font-family: var(--font-body);
15
+ font-weight: 500;
16
+ }
17
+
18
+ %jumbo {
19
+ font-size: base(2.5);
20
+ line-height: 1;
21
+ margin: 0 0 base(2);
22
+ }
23
+
24
+ %h1 {
25
+ margin: 0 0 base(1);
26
+ font-size: base(2);
27
+ line-height: 1.15;
28
+ letter-spacing: -1px;
29
+
30
+ @include small-break {
31
+ letter-spacing: -0.5px;
32
+ font-size: base(1.25);
33
+ }
34
+ }
35
+
36
+ %h2 {
37
+ margin: 0 0 base(1);
38
+ font-size: base(1.25);
39
+ line-height: 1.15;
40
+ letter-spacing: -0.5px;
41
+
42
+ @include small-break {
43
+ font-size: base(0.85);
44
+ }
45
+ }
46
+
47
+ %h3 {
48
+ margin: 0 0 base(1);
49
+ font-size: base(0.925);
50
+ line-height: 1.25;
51
+ letter-spacing: -0.5px;
52
+
53
+ @include small-break {
54
+ font-size: base(0.65);
55
+ line-height: 1.25;
56
+ }
57
+ }
58
+
59
+ %h4 {
60
+ margin: 0 0 $baseline;
61
+ font-size: base(0.75);
62
+ line-height: 1.5;
63
+ letter-spacing: -0.375px;
64
+ }
65
+
66
+ %h5 {
67
+ margin: 0;
68
+ font-size: base(0.5625);
69
+ line-height: 1.5;
70
+ }
71
+
72
+ %h6 {
73
+ margin: 0;
74
+ font-size: base(0.5);
75
+ line-height: 1.5;
76
+ }
77
+
78
+ %small {
79
+ margin: 0;
80
+ font-size: 11px;
81
+ line-height: 1.5;
82
+ }
83
+
84
+ /////////////////////////////
85
+ // TYPE STYLES
86
+ /////////////////////////////
87
+
88
+ %large-body {
89
+ font-size: base(0.6);
90
+ line-height: base(1);
91
+ letter-spacing: base(0.02);
92
+
93
+ @include mid-break {
94
+ font-size: base(0.7);
95
+ line-height: base(1);
96
+ }
97
+
98
+ @include small-break {
99
+ font-size: base(0.55);
100
+ line-height: base(0.75);
101
+ }
102
+ }
103
+
104
+ %body {
105
+ font-size: $baseline-body-size;
106
+ line-height: $baseline-px;
107
+ font-weight: normal;
108
+ }
109
+
110
+ %code {
111
+ font-size: base(0.4);
112
+ color: var(--theme-elevation-400);
113
+
114
+ span {
115
+ color: var(--theme-elevation-800);
116
+ }
117
+ }
@@ -0,0 +1,213 @@
1
+ @use 'sass:math';
2
+
3
+ /////////////////////////////
4
+ // BREAKPOINTS
5
+ /////////////////////////////
6
+
7
+ $breakpoint-xs-width: 400px !default;
8
+ $breakpoint-s-width: 768px !default;
9
+ $breakpoint-m-width: 1024px !default;
10
+ $breakpoint-l-width: 1440px !default;
11
+
12
+ //////////////////////////////
13
+ // BASELINE GRID
14
+ //////////////////////////////
15
+
16
+ $baseline-px: 25px !default;
17
+ $baseline-body-size: 13px !default;
18
+ $baseline: math.div($baseline-px, $baseline-body-size) + rem;
19
+
20
+ @function base($multiplier) {
21
+ @return (math.div($baseline-px, $baseline-body-size) * $multiplier) + rem;
22
+ }
23
+
24
+ //////////////////////////////
25
+ // COLORS (DEPRECATED. DO NOT USE. PREFER CSS VARIABLES)
26
+ //////////////////////////////
27
+
28
+ $color-dark-gray: #333333 !default;
29
+ $color-gray: #9a9a9a !default;
30
+ $color-light-gray: #dadada !default;
31
+ $color-background-gray: #f3f3f3 !default;
32
+ $color-red: #ff6f76 !default;
33
+ $color-yellow: #fdffa4 !default;
34
+ $color-green: #b2ffd6 !default;
35
+ $color-purple: #f3ddf3 !default;
36
+
37
+ //////////////////////////////
38
+ // STYLES
39
+ //////////////////////////////
40
+
41
+ $style-radius-s: 3px !default;
42
+ $style-radius-m: 4px !default;
43
+ $style-radius-l: 9px !default;
44
+ $style-stroke-width: 1px !default;
45
+
46
+ $style-stroke-width-s: 1px !default;
47
+ $style-stroke-width-m: 2px !default;
48
+
49
+ //////////////////////////////
50
+ // MISC
51
+ //////////////////////////////
52
+
53
+ $top-header-offset: calc(var(--base) - 1px);
54
+ $top-header-offset-m: calc(var(--base) * 3);
55
+ $focus-box-shadow: 0 0 0 $style-stroke-width-m var(--theme-success-500);
56
+
57
+ //////////////////////////////
58
+ // SHADOWS
59
+ //////////////////////////////
60
+
61
+ @mixin shadow-sm {
62
+ box-shadow:
63
+ 0 2px 3px 0 rgba(0, 2, 4, 0.05),
64
+ 0 10px 4px -8px rgba(0, 2, 4, 0.02);
65
+ }
66
+
67
+ @mixin shadow-m {
68
+ box-shadow:
69
+ 0 0 30px 0 rgb(0 2 4 / 12%),
70
+ 0 30px 25px -8px rgb(0 2 4 / 10%);
71
+ }
72
+
73
+ @mixin shadow-lg {
74
+ box-shadow:
75
+ 0 20px 35px -10px rgba(0, 2, 4, 0.2),
76
+ 0 6px 4px -4px rgba(0, 2, 4, 0.02);
77
+ }
78
+
79
+ @mixin shadow-lg-top {
80
+ box-shadow:
81
+ 0 -20px 35px -10px rgba(0, 2, 4, 0.2),
82
+ 0 -6px 4px -4px rgba(0, 2, 4, 0.02);
83
+ }
84
+
85
+ @mixin shadow {
86
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.07);
87
+
88
+ &:hover {
89
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
90
+ }
91
+ }
92
+
93
+ @mixin inputShadowActive {
94
+ box-shadow:
95
+ 0 2px 3px 0 rgba(0, 2, 4, 0.16),
96
+ 0 6px 4px -4px rgba(0, 2, 4, 0.13);
97
+ }
98
+
99
+ @mixin inputShadow {
100
+ @include shadow-sm;
101
+
102
+ &:not(:disabled) {
103
+ &:hover {
104
+ box-shadow:
105
+ 0 2px 3px 0 rgba(0, 2, 4, 0.13),
106
+ 0 6px 4px -4px rgba(0, 2, 4, 0.1);
107
+ }
108
+
109
+ &:active,
110
+ &:focus-within,
111
+ &:focus {
112
+ @include inputShadowActive;
113
+ }
114
+ }
115
+ }
116
+
117
+ @mixin soft-shadow-bottom {
118
+ box-shadow: 0 7px 14px 0px rgb(0 0 0 / 5%);
119
+ }
120
+
121
+ //////////////////////////////
122
+ // STYLE MIXINS
123
+ //////////////////////////////
124
+
125
+ @mixin blur-bg($color: var(--theme-bg), $opacity: 0.75) {
126
+ &:before,
127
+ &:after {
128
+ content: ' ';
129
+ position: absolute;
130
+ top: 0;
131
+ right: 0;
132
+ bottom: 0;
133
+ left: 0;
134
+ }
135
+
136
+ &:before {
137
+ background: $color;
138
+ opacity: $opacity;
139
+ }
140
+
141
+ &:after {
142
+ backdrop-filter: blur(8px);
143
+ }
144
+ }
145
+
146
+ @mixin blur-bg-light {
147
+ @include blur-bg(var(--theme-bg), 0.3);
148
+ }
149
+
150
+ @mixin formInput() {
151
+ @include inputShadow;
152
+ font-family: var(--font-body);
153
+ width: 100%;
154
+ border: 1px solid var(--theme-elevation-150);
155
+ background: var(--theme-input-bg);
156
+ color: var(--theme-elevation-800);
157
+ border-radius: 0;
158
+ font-size: 1rem;
159
+ height: base(2);
160
+ line-height: base(1);
161
+ padding: base(0.5) base(0.75);
162
+ -webkit-appearance: none;
163
+
164
+ &[data-rtl='true'] {
165
+ direction: rtl;
166
+ }
167
+
168
+ &::-webkit-input-placeholder {
169
+ color: var(--theme-elevation-400);
170
+ font-weight: normal;
171
+ font-size: 1rem;
172
+ }
173
+
174
+ &::-moz-placeholder {
175
+ color: var(--theme-elevation-400);
176
+ font-weight: normal;
177
+ font-size: 1rem;
178
+ }
179
+
180
+ &:hover {
181
+ border-color: var(--theme-elevation-250);
182
+ }
183
+
184
+ &:focus,
185
+ &:focus-within,
186
+ &:active {
187
+ border-color: var(--theme-elevation-400);
188
+ outline: 0;
189
+ }
190
+
191
+ &:disabled {
192
+ background: var(--theme-elevation-200);
193
+ color: var(--theme-elevation-450);
194
+
195
+ &:hover {
196
+ border-color: var(--theme-elevation-150);
197
+ }
198
+ }
199
+ }
200
+
201
+ @mixin lightInputError {
202
+ background-color: var(--theme-error-50);
203
+ border: 1px solid var(--theme-error-500);
204
+ }
205
+
206
+ @mixin darkInputError {
207
+ background-color: var(--theme-error-100);
208
+ border: 1px solid var(--theme-error-400);
209
+
210
+ &:hover {
211
+ border-color: var(--theme-error-500);
212
+ }
213
+ }
@@ -0,0 +1,9 @@
1
+ /////////////////////////////
2
+ // Z-INDEX CHART (DEPRECATED. DO NOT USE. PREFER CSS VARIABLES)
3
+ /////////////////////////////
4
+
5
+ $z-page: 20;
6
+ $z-page-content: 30;
7
+ $z-nav: 40;
8
+ $z-modal: 50;
9
+ $z-status: 60;
@@ -0,0 +1,25 @@
1
+ @import '../../../scss/styles.scss';
2
+
3
+ .template-default {
4
+ min-height: 100vh;
5
+ display: grid;
6
+ position: relative;
7
+ grid-template-columns: 0 auto;
8
+ transition: grid-template-columns var(--nav-trans-time) linear;
9
+ isolation: isolate;
10
+
11
+ @media (prefers-reduced-motion) {
12
+ transition: none;
13
+ }
14
+
15
+ &--nav-open {
16
+ width: 100%;
17
+ grid-template-columns: var(--nav-width) auto;
18
+
19
+ .template-default {
20
+ &__nav-overlay {
21
+ transition: opacity var(--nav-trans-time) linear;
22
+ }
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,67 @@
1
+ @import '../../scss/styles.scss';
2
+
3
+ .template-default {
4
+ background-color: var(--theme-bg);
5
+ color: var(--theme-text);
6
+
7
+ [dir='rtl'] &__nav-toggler-wrapper {
8
+ left: unset;
9
+ right: 0;
10
+ }
11
+
12
+ &__nav-toggler-wrapper {
13
+ position: fixed;
14
+ z-index: var(--z-modal);
15
+ top: 0;
16
+ left: 0;
17
+ height: var(--app-header-height);
18
+ width: var(--gutter-h);
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+ }
23
+
24
+ &__wrap {
25
+ min-width: 0;
26
+ width: 100%;
27
+ flex-grow: 1;
28
+ position: relative;
29
+ background-color: var(--theme-bg);
30
+ &:before {
31
+ content: '';
32
+ display: block;
33
+ position: absolute;
34
+ inset: 0;
35
+ background-color: inherit;
36
+ opacity: 0;
37
+ z-index: var(--z-status);
38
+ visibility: hidden;
39
+ transition: all var(--nav-trans-time) linear;
40
+ }
41
+ }
42
+
43
+ @include mid-break {
44
+ &__nav-toggler-wrapper {
45
+ .hamburger {
46
+ left: unset;
47
+ }
48
+ }
49
+ }
50
+
51
+ @include small-break {
52
+ &__nav-toggler-wrapper {
53
+ width: unset;
54
+ justify-content: unset;
55
+
56
+ .hamburger {
57
+ display: none;
58
+ }
59
+ }
60
+
61
+ .template-default {
62
+ &__wrap {
63
+ min-width: 100vw;
64
+ }
65
+ }
66
+ }
67
+ }
@@ -0,0 +1,28 @@
1
+ @import '../../scss/styles';
2
+
3
+ .template-minimal {
4
+ display: flex;
5
+ width: 100%;
6
+ justify-content: center;
7
+ align-items: center;
8
+ padding: base(3) $baseline;
9
+ margin-left: auto;
10
+ margin-right: auto;
11
+ min-height: 100%;
12
+ background-color: var(--theme-bg-color);
13
+ color: var(--theme-text);
14
+
15
+ &--width-normal {
16
+ .template-minimal__wrap {
17
+ max-width: 500px;
18
+ width: 100%;
19
+ }
20
+ }
21
+
22
+ &--width-wide {
23
+ .template-minimal__wrap {
24
+ max-width: 1024px;
25
+ width: 100%;
26
+ }
27
+ }
28
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"createPayloadRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/createPayloadRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkC,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAW9F,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,oBAAoB,gDAI9B,IAAI,KAAG,OAAO,CAAC,cAAc,CAmF/B,CAAA"}
1
+ {"version":3,"file":"createPayloadRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/createPayloadRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkC,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAW9F,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,oBAAoB,gDAI9B,IAAI,KAAG,OAAO,CAAC,cAAc,CAuF/B,CAAA"}
@@ -68,11 +68,13 @@ export const createPayloadRequest = async ({ config: configPromise, params, requ
68
68
  };
69
69
  const req = Object.assign(request, customRequest);
70
70
  req.payloadDataLoader = getDataLoader(req);
71
- req.user = await executeAuthStrategies({
71
+ const { responseHeaders, user } = await executeAuthStrategies({
72
72
  headers: req.headers,
73
73
  isGraphQL,
74
74
  payload
75
75
  });
76
+ req.user = user;
77
+ if (responseHeaders) req.responseHeaders = responseHeaders;
76
78
  return req;
77
79
  };
78
80
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/createPayloadRequest.ts"],"sourcesContent":["import type { CustomPayloadRequestProperties, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { executeAuthStrategies, getDataLoader, parseCookies } from 'payload'\nimport qs from 'qs'\nimport { URL } from 'url'\n\nimport { sanitizeLocales } from './addLocalesToRequest.js'\nimport { getPayloadHMR } from './getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: {\n collection: string\n }\n request: Request\n}\n\nexport const createPayloadRequest = async ({\n config: configPromise,\n params,\n request,\n}: Args): Promise<PayloadRequest> => {\n const cookies = parseCookies(request.headers)\n const payload = await getPayloadHMR({ config: configPromise })\n\n const { config } = payload\n\n const urlProperties = new URL(request.url)\n const { pathname, searchParams } = urlProperties\n\n const isGraphQL =\n !config.graphQL.disable && pathname === `${config.routes.api}${config.routes.graphQL}`\n\n const language = getRequestLanguage({\n config,\n cookies,\n headers: request.headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'api',\n language,\n })\n\n let locale\n let fallbackLocale\n if (config.localization) {\n const locales = sanitizeLocales({\n fallbackLocale: searchParams.get('fallback-locale'),\n locale: searchParams.get('locale'),\n localization: payload.config.localization,\n })\n locale = locales.locale\n fallbackLocale = locales.fallbackLocale\n }\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search\n\n const query = queryToParse\n ? qs.parse(queryToParse, {\n arrayLimit: 1000,\n depth: 10,\n ignoreQueryPrefix: true,\n })\n : {}\n\n const customRequest: CustomPayloadRequestProperties = {\n context: {},\n fallbackLocale,\n hash: urlProperties.hash,\n host: urlProperties.host,\n href: urlProperties.href,\n i18n,\n locale,\n origin: urlProperties.origin,\n pathname: urlProperties.pathname,\n payload,\n payloadAPI: isGraphQL ? 'GraphQL' : 'REST',\n payloadDataLoader: undefined,\n payloadUploadSizes: {},\n port: urlProperties.port,\n protocol: urlProperties.protocol,\n query,\n routeParams: params || {},\n search: urlProperties.search,\n searchParams: urlProperties.searchParams,\n t: i18n.t,\n transactionID: undefined,\n user: null,\n }\n\n const req: PayloadRequest = Object.assign(request, customRequest)\n\n req.payloadDataLoader = getDataLoader(req)\n\n req.user = await executeAuthStrategies({\n headers: req.headers,\n isGraphQL,\n payload,\n })\n\n return req\n}\n"],"names":["initI18n","executeAuthStrategies","getDataLoader","parseCookies","qs","URL","sanitizeLocales","getPayloadHMR","getRequestLanguage","createPayloadRequest","config","configPromise","params","request","cookies","headers","payload","urlProperties","url","pathname","searchParams","isGraphQL","graphQL","disable","routes","api","language","i18n","context","locale","fallbackLocale","localization","locales","get","overrideHttpMethod","queryToParse","text","search","query","parse","arrayLimit","depth","ignoreQueryPrefix","customRequest","hash","host","href","origin","payloadAPI","payloadDataLoader","undefined","payloadUploadSizes","port","protocol","routeParams","t","transactionID","user","req","Object","assign"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,qBAAqB,EAAEC,aAAa,EAAEC,YAAY,QAAQ,UAAS;AAC5E,OAAOC,QAAQ,KAAI;AACnB,SAASC,GAAG,QAAQ,MAAK;AAEzB,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,kBAAkB,QAAQ,0BAAyB;AAU5D,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,QAAQC,aAAa,EACrBC,MAAM,EACNC,OAAO,EACF;IACL,MAAMC,UAAUX,aAAaU,QAAQE,OAAO;IAC5C,MAAMC,UAAU,MAAMT,cAAc;QAAEG,QAAQC;IAAc;IAE5D,MAAM,EAAED,MAAM,EAAE,GAAGM;IAEnB,MAAMC,gBAAgB,IAAIZ,IAAIQ,QAAQK,GAAG;IACzC,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAAGH;IAEnC,MAAMI,YACJ,CAACX,OAAOY,OAAO,CAACC,OAAO,IAAIJ,aAAa,CAAC,EAAET,OAAOc,MAAM,CAACC,GAAG,CAAC,EAAEf,OAAOc,MAAM,CAACF,OAAO,CAAC,CAAC;IAExF,MAAMI,WAAWlB,mBAAmB;QAClCE;QACAI;QACAC,SAASF,QAAQE,OAAO;IAC1B;IAEA,MAAMY,OAAO,MAAM3B,SAAS;QAC1BU,QAAQA,OAAOiB,IAAI;QACnBC,SAAS;QACTF;IACF;IAEA,IAAIG;IACJ,IAAIC;IACJ,IAAIpB,OAAOqB,YAAY,EAAE;QACvB,MAAMC,UAAU1B,gBAAgB;YAC9BwB,gBAAgBV,aAAaa,GAAG,CAAC;YACjCJ,QAAQT,aAAaa,GAAG,CAAC;YACzBF,cAAcf,QAAQN,MAAM,CAACqB,YAAY;QAC3C;QACAF,SAASG,QAAQH,MAAM;QACvBC,iBAAiBE,QAAQF,cAAc;IACzC;IAEA,MAAMI,qBAAqBrB,QAAQE,OAAO,CAACkB,GAAG,CAAC;IAC/C,MAAME,eAAeD,uBAAuB,QAAQ,MAAMrB,QAAQuB,IAAI,KAAKnB,cAAcoB,MAAM;IAE/F,MAAMC,QAAQH,eACV/B,GAAGmC,KAAK,CAACJ,cAAc;QACrBK,YAAY;QACZC,OAAO;QACPC,mBAAmB;IACrB,KACA,CAAC;IAEL,MAAMC,gBAAgD;QACpDf,SAAS,CAAC;QACVE;QACAc,MAAM3B,cAAc2B,IAAI;QACxBC,MAAM5B,cAAc4B,IAAI;QACxBC,MAAM7B,cAAc6B,IAAI;QACxBnB;QACAE;QACAkB,QAAQ9B,cAAc8B,MAAM;QAC5B5B,UAAUF,cAAcE,QAAQ;QAChCH;QACAgC,YAAY3B,YAAY,YAAY;QACpC4B,mBAAmBC;QACnBC,oBAAoB,CAAC;QACrBC,MAAMnC,cAAcmC,IAAI;QACxBC,UAAUpC,cAAcoC,QAAQ;QAChCf;QACAgB,aAAa1C,UAAU,CAAC;QACxByB,QAAQpB,cAAcoB,MAAM;QAC5BjB,cAAcH,cAAcG,YAAY;QACxCmC,GAAG5B,KAAK4B,CAAC;QACTC,eAAeN;QACfO,MAAM;IACR;IAEA,MAAMC,MAAsBC,OAAOC,MAAM,CAAC/C,SAAS8B;IAEnDe,IAAIT,iBAAiB,GAAG/C,cAAcwD;IAEtCA,IAAID,IAAI,GAAG,MAAMxD,sBAAsB;QACrCc,SAAS2C,IAAI3C,OAAO;QACpBM;QACAL;IACF;IAEA,OAAO0C;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/createPayloadRequest.ts"],"sourcesContent":["import type { CustomPayloadRequestProperties, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { executeAuthStrategies, getDataLoader, parseCookies } from 'payload'\nimport qs from 'qs'\nimport { URL } from 'url'\n\nimport { sanitizeLocales } from './addLocalesToRequest.js'\nimport { getPayloadHMR } from './getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: {\n collection: string\n }\n request: Request\n}\n\nexport const createPayloadRequest = async ({\n config: configPromise,\n params,\n request,\n}: Args): Promise<PayloadRequest> => {\n const cookies = parseCookies(request.headers)\n const payload = await getPayloadHMR({ config: configPromise })\n\n const { config } = payload\n\n const urlProperties = new URL(request.url)\n const { pathname, searchParams } = urlProperties\n\n const isGraphQL =\n !config.graphQL.disable && pathname === `${config.routes.api}${config.routes.graphQL}`\n\n const language = getRequestLanguage({\n config,\n cookies,\n headers: request.headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'api',\n language,\n })\n\n let locale\n let fallbackLocale\n if (config.localization) {\n const locales = sanitizeLocales({\n fallbackLocale: searchParams.get('fallback-locale'),\n locale: searchParams.get('locale'),\n localization: payload.config.localization,\n })\n locale = locales.locale\n fallbackLocale = locales.fallbackLocale\n }\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search\n\n const query = queryToParse\n ? qs.parse(queryToParse, {\n arrayLimit: 1000,\n depth: 10,\n ignoreQueryPrefix: true,\n })\n : {}\n\n const customRequest: CustomPayloadRequestProperties = {\n context: {},\n fallbackLocale,\n hash: urlProperties.hash,\n host: urlProperties.host,\n href: urlProperties.href,\n i18n,\n locale,\n origin: urlProperties.origin,\n pathname: urlProperties.pathname,\n payload,\n payloadAPI: isGraphQL ? 'GraphQL' : 'REST',\n payloadDataLoader: undefined,\n payloadUploadSizes: {},\n port: urlProperties.port,\n protocol: urlProperties.protocol,\n query,\n routeParams: params || {},\n search: urlProperties.search,\n searchParams: urlProperties.searchParams,\n t: i18n.t,\n transactionID: undefined,\n user: null,\n }\n\n const req: PayloadRequest = Object.assign(request, customRequest)\n\n req.payloadDataLoader = getDataLoader(req)\n\n const { responseHeaders, user } = await executeAuthStrategies({\n headers: req.headers,\n isGraphQL,\n payload,\n })\n\n req.user = user\n\n if (responseHeaders) req.responseHeaders = responseHeaders\n\n return req\n}\n"],"names":["initI18n","executeAuthStrategies","getDataLoader","parseCookies","qs","URL","sanitizeLocales","getPayloadHMR","getRequestLanguage","createPayloadRequest","config","configPromise","params","request","cookies","headers","payload","urlProperties","url","pathname","searchParams","isGraphQL","graphQL","disable","routes","api","language","i18n","context","locale","fallbackLocale","localization","locales","get","overrideHttpMethod","queryToParse","text","search","query","parse","arrayLimit","depth","ignoreQueryPrefix","customRequest","hash","host","href","origin","payloadAPI","payloadDataLoader","undefined","payloadUploadSizes","port","protocol","routeParams","t","transactionID","user","req","Object","assign","responseHeaders"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,qBAAqB,EAAEC,aAAa,EAAEC,YAAY,QAAQ,UAAS;AAC5E,OAAOC,QAAQ,KAAI;AACnB,SAASC,GAAG,QAAQ,MAAK;AAEzB,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,kBAAkB,QAAQ,0BAAyB;AAU5D,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,QAAQC,aAAa,EACrBC,MAAM,EACNC,OAAO,EACF;IACL,MAAMC,UAAUX,aAAaU,QAAQE,OAAO;IAC5C,MAAMC,UAAU,MAAMT,cAAc;QAAEG,QAAQC;IAAc;IAE5D,MAAM,EAAED,MAAM,EAAE,GAAGM;IAEnB,MAAMC,gBAAgB,IAAIZ,IAAIQ,QAAQK,GAAG;IACzC,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAAGH;IAEnC,MAAMI,YACJ,CAACX,OAAOY,OAAO,CAACC,OAAO,IAAIJ,aAAa,CAAC,EAAET,OAAOc,MAAM,CAACC,GAAG,CAAC,EAAEf,OAAOc,MAAM,CAACF,OAAO,CAAC,CAAC;IAExF,MAAMI,WAAWlB,mBAAmB;QAClCE;QACAI;QACAC,SAASF,QAAQE,OAAO;IAC1B;IAEA,MAAMY,OAAO,MAAM3B,SAAS;QAC1BU,QAAQA,OAAOiB,IAAI;QACnBC,SAAS;QACTF;IACF;IAEA,IAAIG;IACJ,IAAIC;IACJ,IAAIpB,OAAOqB,YAAY,EAAE;QACvB,MAAMC,UAAU1B,gBAAgB;YAC9BwB,gBAAgBV,aAAaa,GAAG,CAAC;YACjCJ,QAAQT,aAAaa,GAAG,CAAC;YACzBF,cAAcf,QAAQN,MAAM,CAACqB,YAAY;QAC3C;QACAF,SAASG,QAAQH,MAAM;QACvBC,iBAAiBE,QAAQF,cAAc;IACzC;IAEA,MAAMI,qBAAqBrB,QAAQE,OAAO,CAACkB,GAAG,CAAC;IAC/C,MAAME,eAAeD,uBAAuB,QAAQ,MAAMrB,QAAQuB,IAAI,KAAKnB,cAAcoB,MAAM;IAE/F,MAAMC,QAAQH,eACV/B,GAAGmC,KAAK,CAACJ,cAAc;QACrBK,YAAY;QACZC,OAAO;QACPC,mBAAmB;IACrB,KACA,CAAC;IAEL,MAAMC,gBAAgD;QACpDf,SAAS,CAAC;QACVE;QACAc,MAAM3B,cAAc2B,IAAI;QACxBC,MAAM5B,cAAc4B,IAAI;QACxBC,MAAM7B,cAAc6B,IAAI;QACxBnB;QACAE;QACAkB,QAAQ9B,cAAc8B,MAAM;QAC5B5B,UAAUF,cAAcE,QAAQ;QAChCH;QACAgC,YAAY3B,YAAY,YAAY;QACpC4B,mBAAmBC;QACnBC,oBAAoB,CAAC;QACrBC,MAAMnC,cAAcmC,IAAI;QACxBC,UAAUpC,cAAcoC,QAAQ;QAChCf;QACAgB,aAAa1C,UAAU,CAAC;QACxByB,QAAQpB,cAAcoB,MAAM;QAC5BjB,cAAcH,cAAcG,YAAY;QACxCmC,GAAG5B,KAAK4B,CAAC;QACTC,eAAeN;QACfO,MAAM;IACR;IAEA,MAAMC,MAAsBC,OAAOC,MAAM,CAAC/C,SAAS8B;IAEnDe,IAAIT,iBAAiB,GAAG/C,cAAcwD;IAEtC,MAAM,EAAEG,eAAe,EAAEJ,IAAI,EAAE,GAAG,MAAMxD,sBAAsB;QAC5Dc,SAAS2C,IAAI3C,OAAO;QACpBM;QACAL;IACF;IAEA0C,IAAID,IAAI,GAAGA;IAEX,IAAII,iBAAiBH,IAAIG,eAAe,GAAGA;IAE3C,OAAOH;AACT,EAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function mergeHeaders(sourceHeaders: Headers, destinationHeaders: Headers): void;
2
+ //# sourceMappingURL=mergeHeaders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeHeaders.d.ts","sourceRoot":"","sources":["../../src/utilities/mergeHeaders.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,GAAG,IAAI,CA8BtF"}
@@ -0,0 +1,37 @@
1
+ const headersToJoin = [
2
+ 'set-cookie',
3
+ 'warning',
4
+ 'www-authenticate',
5
+ 'proxy-authenticate',
6
+ 'vary'
7
+ ];
8
+ export function mergeHeaders(sourceHeaders, destinationHeaders) {
9
+ // Create a map to store combined headers
10
+ const combinedHeaders = new Headers();
11
+ // Add existing destination headers to the combined map
12
+ destinationHeaders.forEach((value, key)=>{
13
+ combinedHeaders.set(key, value);
14
+ });
15
+ // Add source headers to the combined map, joining specific headers
16
+ sourceHeaders.forEach((value, key)=>{
17
+ const lowerKey = key.toLowerCase();
18
+ if (headersToJoin.includes(lowerKey)) {
19
+ if (combinedHeaders.has(key)) {
20
+ combinedHeaders.set(key, `${combinedHeaders.get(key)}, ${value}`);
21
+ } else {
22
+ combinedHeaders.set(key, value);
23
+ }
24
+ } else {
25
+ combinedHeaders.set(key, value);
26
+ }
27
+ });
28
+ // Clear the destination headers and set the combined headers
29
+ destinationHeaders.forEach((_, key)=>{
30
+ destinationHeaders.delete(key);
31
+ });
32
+ combinedHeaders.forEach((value, key)=>{
33
+ destinationHeaders.append(key, value);
34
+ });
35
+ }
36
+
37
+ //# sourceMappingURL=mergeHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/mergeHeaders.ts"],"sourcesContent":["const headersToJoin = ['set-cookie', 'warning', 'www-authenticate', 'proxy-authenticate', 'vary']\n\nexport function mergeHeaders(sourceHeaders: Headers, destinationHeaders: Headers): void {\n // Create a map to store combined headers\n const combinedHeaders = new Headers()\n\n // Add existing destination headers to the combined map\n destinationHeaders.forEach((value, key) => {\n combinedHeaders.set(key, value)\n })\n\n // Add source headers to the combined map, joining specific headers\n sourceHeaders.forEach((value, key) => {\n const lowerKey = key.toLowerCase()\n if (headersToJoin.includes(lowerKey)) {\n if (combinedHeaders.has(key)) {\n combinedHeaders.set(key, `${combinedHeaders.get(key)}, ${value}`)\n } else {\n combinedHeaders.set(key, value)\n }\n } else {\n combinedHeaders.set(key, value)\n }\n })\n\n // Clear the destination headers and set the combined headers\n destinationHeaders.forEach((_, key) => {\n destinationHeaders.delete(key)\n })\n combinedHeaders.forEach((value, key) => {\n destinationHeaders.append(key, value)\n })\n}\n"],"names":["headersToJoin","mergeHeaders","sourceHeaders","destinationHeaders","combinedHeaders","Headers","forEach","value","key","set","lowerKey","toLowerCase","includes","has","get","_","delete","append"],"mappings":"AAAA,MAAMA,gBAAgB;IAAC;IAAc;IAAW;IAAoB;IAAsB;CAAO;AAEjG,OAAO,SAASC,aAAaC,aAAsB,EAAEC,kBAA2B;IAC9E,yCAAyC;IACzC,MAAMC,kBAAkB,IAAIC;IAE5B,uDAAuD;IACvDF,mBAAmBG,OAAO,CAAC,CAACC,OAAOC;QACjCJ,gBAAgBK,GAAG,CAACD,KAAKD;IAC3B;IAEA,mEAAmE;IACnEL,cAAcI,OAAO,CAAC,CAACC,OAAOC;QAC5B,MAAME,WAAWF,IAAIG,WAAW;QAChC,IAAIX,cAAcY,QAAQ,CAACF,WAAW;YACpC,IAAIN,gBAAgBS,GAAG,CAACL,MAAM;gBAC5BJ,gBAAgBK,GAAG,CAACD,KAAK,CAAC,EAAEJ,gBAAgBU,GAAG,CAACN,KAAK,EAAE,EAAED,MAAM,CAAC;YAClE,OAAO;gBACLH,gBAAgBK,GAAG,CAACD,KAAKD;YAC3B;QACF,OAAO;YACLH,gBAAgBK,GAAG,CAACD,KAAKD;QAC3B;IACF;IAEA,6DAA6D;IAC7DJ,mBAAmBG,OAAO,CAAC,CAACS,GAAGP;QAC7BL,mBAAmBa,MAAM,CAACR;IAC5B;IACAJ,gBAAgBE,OAAO,CAAC,CAACC,OAAOC;QAC9BL,mBAAmBc,MAAM,CAACT,KAAKD;IACjC;AACF"}
@@ -0,0 +1,90 @@
1
+ @import '../../../scss/styles.scss';
2
+
3
+ .query-inspector {
4
+ &__json-children {
5
+ position: relative;
6
+
7
+ &:before {
8
+ content: '';
9
+ position: absolute;
10
+ top: 0;
11
+ left: 8px;
12
+ width: 1px;
13
+ height: 100%;
14
+ border-left: 1px dashed var(--theme-elevation-200);
15
+ }
16
+ }
17
+
18
+ &__list-wrap {
19
+ position: relative;
20
+ }
21
+
22
+ &__list-toggle {
23
+ all: unset;
24
+ width: 100%;
25
+ text-align: left;
26
+ cursor: pointer;
27
+ border-radius: 3px;
28
+ border-top-right-radius: 0;
29
+ border-bottom-right-radius: 0;
30
+ position: relative;
31
+ display: flex;
32
+ gap: 10px;
33
+ align-items: center;
34
+ left: -3px;
35
+ width: calc(100% + 3px);
36
+
37
+ svg {
38
+ margin-left: 5px;
39
+ }
40
+
41
+ svg .stroke {
42
+ stroke: var(--theme-elevation-400);
43
+ }
44
+
45
+ &:hover {
46
+ background-color: var(--theme-elevation-100);
47
+ }
48
+
49
+ &--empty {
50
+ cursor: default;
51
+ pointer-events: none;
52
+ }
53
+ }
54
+
55
+ &__toggle-row-icon {
56
+ &--open {
57
+ transform: rotate(0deg);
58
+ }
59
+ &--closed {
60
+ transform: rotate(-90deg);
61
+ }
62
+ }
63
+
64
+ &__value-type {
65
+ &--number {
66
+ .query-inspector__value {
67
+ color: var(--number-color);
68
+ }
69
+ }
70
+
71
+ &--string {
72
+ .query-inspector__value {
73
+ color: var(--string-color);
74
+ }
75
+ }
76
+ }
77
+
78
+ &__row-line--nested {
79
+ margin-left: 25px;
80
+ }
81
+
82
+ &__bracket {
83
+ position: relative;
84
+
85
+ &--position-end {
86
+ left: 5px;
87
+ width: calc(100% - 5px);
88
+ }
89
+ }
90
+ }