payload-intl 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -221
- package/dist/components/MessageController.d.ts +4 -6
- package/dist/components/MessageController.d.ts.map +1 -1
- package/dist/components/MessageController.js +25 -41
- package/dist/components/MessageController.js.map +1 -1
- package/dist/components/MessageFormContext.d.ts +29 -0
- package/dist/components/MessageFormContext.d.ts.map +1 -0
- package/dist/components/MessageFormContext.js +30 -0
- package/dist/components/MessageFormContext.js.map +1 -0
- package/dist/components/MessagesForm.d.ts +2 -2
- package/dist/components/MessagesForm.d.ts.map +1 -1
- package/dist/components/MessagesForm.js +126 -112
- package/dist/components/MessagesForm.js.map +1 -1
- package/dist/components/MessagesForm.module.css +41 -0
- package/dist/{exports/link.d.ts → components/MessagesLink.d.ts} +3 -3
- package/dist/components/MessagesLink.d.ts.map +1 -0
- package/dist/components/MessagesLink.js +19 -0
- package/dist/components/MessagesLink.js.map +1 -0
- package/dist/components/MessagesView.d.ts +10 -0
- package/dist/components/MessagesView.d.ts.map +1 -0
- package/dist/components/MessagesView.js +48 -0
- package/dist/components/MessagesView.js.map +1 -0
- package/dist/components/actions/JsonImport.d.ts.map +1 -1
- package/dist/components/actions/JsonImport.js +68 -61
- package/dist/components/actions/JsonImport.js.map +1 -1
- package/dist/components/actions/JsonImport.module.css +14 -0
- package/dist/components/actions/Move.d.ts.map +1 -1
- package/dist/components/actions/Move.js +41 -0
- package/dist/components/actions/Move.js.map +1 -0
- package/dist/components/actions/Move.module.css +8 -0
- package/dist/components/inputs/InputWrapper.d.ts +1 -1
- package/dist/components/inputs/InputWrapper.d.ts.map +1 -1
- package/dist/components/inputs/InputWrapper.js +31 -29
- package/dist/components/inputs/InputWrapper.js.map +1 -1
- package/dist/components/inputs/InputWrapper.module.css +34 -0
- package/dist/components/inputs/LexicalInput.d.ts +3 -3
- package/dist/components/inputs/LexicalInput.js +86 -0
- package/dist/components/inputs/LexicalInput.js.map +1 -0
- package/dist/components/inputs/MessageInput.d.ts +2 -2
- package/dist/components/inputs/MessageInput.d.ts.map +1 -1
- package/dist/components/inputs/MessageInput.js +110 -37
- package/dist/components/inputs/MessageInput.js.map +1 -1
- package/dist/components/inputs/MessageInput.module.css +25 -0
- package/dist/components/inputs/variables/VariableChip.d.ts +8 -2
- package/dist/components/inputs/variables/VariableChip.d.ts.map +1 -1
- package/dist/components/inputs/variables/VariableChip.js +86 -64
- package/dist/components/inputs/variables/VariableChip.js.map +1 -1
- package/dist/components/inputs/variables/VariableChip.module.css +66 -0
- package/dist/components/inputs/variables/VariableIcon.d.ts +1 -1
- package/dist/components/inputs/variables/VariableIcon.d.ts.map +1 -1
- package/dist/components/inputs/variables/VariableIcon.js +35 -0
- package/dist/components/inputs/variables/VariableIcon.js.map +1 -0
- package/dist/components/inputs/variables/VariableNode.d.ts +11 -0
- package/dist/components/inputs/variables/VariableNode.d.ts.map +1 -0
- package/dist/components/inputs/variables/VariableNode.js +36 -0
- package/dist/components/inputs/variables/VariableNode.js.map +1 -0
- package/dist/components/inputs/variables/VariableSuggestion.module.css +34 -0
- package/dist/components/inputs/variables/editors/DateVariableEditor.d.ts +2 -2
- package/dist/components/inputs/variables/editors/DateVariableEditor.d.ts.map +1 -1
- package/dist/components/inputs/variables/editors/DateVariableEditor.js +15 -0
- package/dist/components/inputs/variables/editors/DateVariableEditor.js.map +1 -0
- package/dist/components/inputs/variables/editors/PluralVariableEditor.d.ts +1 -1
- package/dist/components/inputs/variables/editors/PluralVariableEditor.d.ts.map +1 -1
- package/dist/components/inputs/variables/editors/PluralVariableEditor.js +191 -172
- package/dist/components/inputs/variables/editors/PluralVariableEditor.js.map +1 -1
- package/dist/components/inputs/variables/editors/PluralVariableEditor.module.css +149 -0
- package/dist/components/inputs/variables/editors/SelectVariableEditor.d.ts +1 -1
- package/dist/components/inputs/variables/editors/SelectVariableEditor.d.ts.map +1 -1
- package/dist/components/inputs/variables/editors/SelectVariableEditor.js +58 -52
- package/dist/components/inputs/variables/editors/SelectVariableEditor.js.map +1 -1
- package/dist/components/inputs/variables/editors/SelectVariableEditor.module.css +25 -0
- package/dist/components/inputs/variables/editors/TagVariableEditor.d.ts +1 -1
- package/dist/components/inputs/variables/editors/TagVariableEditor.d.ts.map +1 -1
- package/dist/components/inputs/variables/editors/TagVariableEditor.js +36 -32
- package/dist/components/inputs/variables/editors/TagVariableEditor.js.map +1 -1
- package/dist/components/inputs/variables/editors/TagVariableEditor.module.css +7 -0
- package/dist/components/inputs/variables/editors/TimeVariableEditor.d.ts +2 -2
- package/dist/components/inputs/variables/editors/TimeVariableEditor.d.ts.map +1 -1
- package/dist/components/inputs/variables/editors/TimeVariableEditor.js +15 -0
- package/dist/components/inputs/variables/editors/TimeVariableEditor.js.map +1 -0
- package/dist/components/inputs/variables/pickers/NumericVariablePicker.d.ts +1 -1
- package/dist/components/inputs/variables/pickers/NumericVariablePicker.d.ts.map +1 -1
- package/dist/components/inputs/variables/pickers/NumericVariablePicker.js +48 -51
- package/dist/components/inputs/variables/pickers/NumericVariablePicker.js.map +1 -1
- package/dist/components/inputs/variables/pickers/NumericVariablePicker.module.css +27 -0
- package/dist/components/inputs/variables/pickers/TemporalElementEditor.d.ts +1 -1
- package/dist/components/inputs/variables/pickers/TemporalElementEditor.d.ts.map +1 -1
- package/dist/components/inputs/variables/pickers/TemporalElementEditor.js +58 -0
- package/dist/components/inputs/variables/pickers/TemporalElementEditor.js.map +1 -0
- package/dist/components/inputs/variables/pickers/TemporalElementEditor.module.css +27 -0
- package/dist/components/layout/MessageField.d.ts +3 -3
- package/dist/components/layout/MessageField.d.ts.map +1 -1
- package/dist/components/layout/MessageField.js +56 -56
- package/dist/components/layout/MessageField.js.map +1 -1
- package/dist/components/layout/MessageField.module.css +19 -0
- package/dist/components/layout/MessagesTabs.d.ts +1 -1
- package/dist/components/layout/MessagesTabs.d.ts.map +1 -1
- package/dist/components/layout/MessagesTabs.js +40 -43
- package/dist/components/layout/MessagesTabs.js.map +1 -1
- package/dist/components/layout/MessagesTabs.module.css +21 -0
- package/dist/components/layout/MessagesTree.d.ts +3 -2
- package/dist/components/layout/MessagesTree.d.ts.map +1 -1
- package/dist/components/layout/MessagesTree.js +65 -67
- package/dist/components/layout/MessagesTree.js.map +1 -1
- package/dist/components/layout/MessagesTree.module.css +36 -0
- package/dist/const.d.ts +8 -9
- package/dist/const.d.ts.map +1 -1
- package/dist/const.js +16 -13
- package/dist/const.js.map +1 -1
- package/dist/endpoints/get-messages.d.ts +1 -1
- package/dist/endpoints/get-messages.d.ts.map +1 -1
- package/dist/endpoints/get-messages.js +7 -13
- package/dist/endpoints/get-messages.js.map +1 -1
- package/dist/endpoints/set-messages.d.ts +1 -1
- package/dist/endpoints/set-messages.d.ts.map +1 -1
- package/dist/endpoints/set-messages.js +61 -45
- package/dist/endpoints/set-messages.js.map +1 -1
- package/dist/entities.d.ts +5 -0
- package/dist/entities.d.ts.map +1 -0
- package/dist/entities.js +38 -0
- package/dist/entities.js.map +1 -0
- package/dist/exports/client.d.ts +2 -0
- package/dist/exports/client.d.ts.map +1 -0
- package/dist/exports/client.js +3 -0
- package/dist/exports/client.js.map +1 -0
- package/dist/exports/rsc.d.ts +2 -2
- package/dist/exports/rsc.d.ts.map +1 -1
- package/dist/exports/rsc.js +4 -7
- package/dist/exports/rsc.js.map +1 -1
- package/dist/hooks.d.ts +4 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +24 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +20 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -80
- package/dist/index.js.map +1 -1
- package/dist/payload-types.d.ts +258 -0
- package/dist/payload-types.d.ts.map +1 -0
- package/dist/payload-types.js +15 -0
- package/dist/payload-types.js.map +1 -0
- package/dist/requests/fetchMessageFromAPI.d.ts +10 -0
- package/dist/requests/fetchMessageFromAPI.d.ts.map +1 -0
- package/dist/requests/fetchMessageFromAPI.js +15 -0
- package/dist/requests/fetchMessageFromAPI.js.map +1 -0
- package/dist/requests/fetchMessageFromPayload.d.ts +3 -0
- package/dist/requests/fetchMessageFromPayload.d.ts.map +1 -0
- package/dist/requests/fetchMessageFromPayload.js +29 -0
- package/dist/requests/fetchMessageFromPayload.js.map +1 -0
- package/dist/requests/fetchMessages.d.ts +3 -11
- package/dist/requests/fetchMessages.d.ts.map +1 -1
- package/dist/requests/fetchMessages.js +10 -40
- package/dist/requests/fetchMessages.js.map +1 -1
- package/dist/types.d.ts +7 -23
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/config.d.ts +3 -3
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +27 -17
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/error-handling.js +14 -12
- package/dist/utils/error-handling.js.map +1 -1
- package/dist/utils/format.d.ts +1 -1
- package/dist/utils/format.js +21 -13
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/guards.d.ts +2 -1
- package/dist/utils/guards.js +8 -18
- package/dist/utils/guards.js.map +1 -1
- package/dist/utils/icu-tranform.d.ts +13 -18
- package/dist/utils/icu-tranform.d.ts.map +1 -1
- package/dist/utils/icu-tranform.js +140 -108
- package/dist/utils/icu-tranform.js.map +1 -1
- package/dist/utils/sanitize.d.ts +1 -1
- package/dist/utils/sanitize.js +36 -17
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/schema.d.ts +1 -3
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +42 -34
- package/dist/utils/schema.js.map +1 -1
- package/dist/utils/validate.d.ts +2 -2
- package/dist/utils/validate.js +52 -53
- package/dist/utils/validate.js.map +1 -1
- package/package.json +35 -52
- package/dist/components/inputs/variables/VariableSuggestion.d.ts +0 -9
- package/dist/components/inputs/variables/VariableSuggestion.d.ts.map +0 -1
- package/dist/components/inputs/variables/VariableSuggestion.js +0 -41
- package/dist/components/inputs/variables/VariableSuggestion.js.map +0 -1
- package/dist/components/inputs/variables/extension.d.ts +0 -4
- package/dist/components/inputs/variables/extension.d.ts.map +0 -1
- package/dist/components/inputs/variables/extension.js +0 -93
- package/dist/components/inputs/variables/extension.js.map +0 -1
- package/dist/context/messages-form.d.ts +0 -29
- package/dist/context/messages-form.d.ts.map +0 -1
- package/dist/context/messages-form.js +0 -26
- package/dist/context/messages-form.js.map +0 -1
- package/dist/exports/link.d.ts.map +0 -1
- package/dist/exports/link.js +0 -21
- package/dist/exports/link.js.map +0 -1
- package/dist/exports/view.d.ts +0 -10
- package/dist/exports/view.d.ts.map +0 -1
- package/dist/exports/view.js +0 -53
- package/dist/exports/view.js.map +0 -1
- package/dist/styles.css +0 -1
- package/dist/utils/cn.d.ts +0 -3
- package/dist/utils/cn.d.ts.map +0 -1
- package/dist/utils/cn.js +0 -9
- package/dist/utils/cn.js.map +0 -1
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
export {
|
|
11
|
-
c as getMessagesEndpoint
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=get-messages.js.map
|
|
1
|
+
import { ENDPOINTS } from '../const';
|
|
2
|
+
import { fetchMessagesFromPayload } from '../requests/fetchMessageFromPayload';
|
|
3
|
+
export const getMessagesEndpoint = ENDPOINTS.getMessages.endpoint(async (req, { locale })=>{
|
|
4
|
+
return await fetchMessagesFromPayload(req.payload, locale);
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=get-messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/endpoints/get-messages.ts"],"sourcesContent":["import type { Endpoint, PayloadRequest } from 'payload';\nimport { ENDPOINTS } from '@/const';\nimport { fetchMessagesFromPayload } from '@/requests/fetchMessageFromPayload';\n\nexport const getMessagesEndpoint: Endpoint = ENDPOINTS.getMessages.endpoint(\n async (req: PayloadRequest, { locale }) => {\n return await fetchMessagesFromPayload(req.payload, locale);\n },\n);\n"],"names":["ENDPOINTS","fetchMessagesFromPayload","getMessagesEndpoint","getMessages","endpoint","req","locale","payload"],"mappings":"AACA,SAASA,SAAS,QAAQ,UAAU;AACpC,SAASC,wBAAwB,QAAQ,qCAAqC;AAE9E,OAAO,MAAMC,sBAAgCF,UAAUG,WAAW,CAACC,QAAQ,CACzE,OAAOC,KAAqB,EAAEC,MAAM,EAAE;IACpC,OAAO,MAAML,yBAAyBI,IAAIE,OAAO,EAAED;AACrD,GACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-messages.d.ts","sourceRoot":"","sources":["../../src/endpoints/set-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAwB,MAAM,SAAS,CAAC;AAK9D,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"set-messages.d.ts","sourceRoot":"","sources":["../../src/endpoints/set-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAwB,MAAM,SAAS,CAAC;AAK9D,eAAO,MAAM,mBAAmB,EAAE,QAqDjC,CAAC"}
|
|
@@ -1,47 +1,63 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
if (!
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
import { ENDPOINTS } from '../const';
|
|
2
|
+
import { getPluginContext, getSupportedLocales } from '../utils/config';
|
|
3
|
+
export const setMessagesEndpoint = ENDPOINTS.setMessages.endpoint(async (req)=>{
|
|
4
|
+
const { user } = await req.payload.auth({
|
|
5
|
+
headers: req.headers
|
|
6
|
+
});
|
|
7
|
+
if (!user) {
|
|
8
|
+
return Response.json({
|
|
9
|
+
error: 'Unauthorized'
|
|
10
|
+
}, {
|
|
11
|
+
status: 401
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
const data = await req.json?.();
|
|
15
|
+
if (!data) {
|
|
16
|
+
return Response.json({
|
|
17
|
+
error: 'No data provided'
|
|
18
|
+
}, {
|
|
19
|
+
status: 400
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
const supportedLocales = getSupportedLocales(req.payload.config.localization);
|
|
23
|
+
const { collectionSlug } = getPluginContext(req.payload.config);
|
|
24
|
+
for (const locale of supportedLocales){
|
|
25
|
+
const messages = data[locale];
|
|
26
|
+
if (!messages) continue;
|
|
27
|
+
const rawFile = new File([
|
|
28
|
+
JSON.stringify(messages)
|
|
29
|
+
], `${locale}-${Date.now()}.json`, {
|
|
30
|
+
type: 'application/json'
|
|
31
|
+
});
|
|
32
|
+
const file = {
|
|
33
|
+
name: rawFile.name,
|
|
34
|
+
data: Buffer.from(await rawFile.arrayBuffer()),
|
|
35
|
+
mimetype: rawFile.type,
|
|
36
|
+
size: rawFile.size
|
|
37
|
+
};
|
|
38
|
+
const { docs } = await req.payload.update({
|
|
39
|
+
collection: collectionSlug,
|
|
40
|
+
data: {},
|
|
41
|
+
file,
|
|
42
|
+
where: {
|
|
43
|
+
locale: {
|
|
44
|
+
equals: locale
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
if (docs.length === 0) {
|
|
49
|
+
await req.payload.create({
|
|
50
|
+
collection: collectionSlug,
|
|
51
|
+
data: {
|
|
52
|
+
locale
|
|
53
|
+
},
|
|
54
|
+
file
|
|
55
|
+
});
|
|
23
56
|
}
|
|
24
|
-
), i = {
|
|
25
|
-
name: e.name,
|
|
26
|
-
data: Buffer.from(await e.arrayBuffer()),
|
|
27
|
-
mimetype: e.type,
|
|
28
|
-
size: e.size
|
|
29
|
-
}, { docs: r } = await o.payload.update({
|
|
30
|
-
collection: s,
|
|
31
|
-
data: {},
|
|
32
|
-
file: i,
|
|
33
|
-
where: { locale: { equals: a } }
|
|
34
|
-
});
|
|
35
|
-
r.length === 0 && await o.payload.create({
|
|
36
|
-
collection: s,
|
|
37
|
-
data: { locale: a },
|
|
38
|
-
file: i
|
|
39
|
-
});
|
|
40
57
|
}
|
|
41
|
-
return
|
|
42
|
-
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
//# sourceMappingURL=set-messages.js.map
|
|
58
|
+
return {
|
|
59
|
+
success: true
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=set-messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/endpoints/set-messages.ts"],"sourcesContent":["import type { Endpoint, File, PayloadRequest } from 'payload';\nimport { ENDPOINTS } from '@/const';\nimport type { Messages, Translations } from '@/types';\nimport { getPluginContext, getSupportedLocales } from '@/utils/config';\n\nexport const setMessagesEndpoint: Endpoint = ENDPOINTS.setMessages.endpoint(\n async (req: PayloadRequest) => {\n const { user } = await req.payload.auth({ headers: req.headers });\n if (!user) {\n return Response.json({ error: 'Unauthorized' }, { status: 401 });\n }\n\n const data = (await req.json?.()) as Translations<Messages> | undefined;\n if (!data) {\n return Response.json({ error: 'No data provided' }, { status: 400 });\n }\n\n const supportedLocales = getSupportedLocales(\n req.payload.config.localization,\n );\n const { collectionSlug } = getPluginContext(req.payload.config);\n\n for (const locale of supportedLocales) {\n const messages = data[locale];\n if (!messages) continue;\n\n const rawFile = new File(\n [JSON.stringify(messages)],\n `${locale}-${Date.now()}.json`,\n {\n type: 'application/json',\n },\n );\n\n const file: File = {\n name: rawFile.name,\n data: Buffer.from(await rawFile.arrayBuffer()),\n mimetype: rawFile.type,\n size: rawFile.size,\n };\n\n const { docs } = await req.payload.update({\n collection: collectionSlug as 'messages',\n data: {},\n file,\n where: { locale: { equals: locale } },\n });\n if (docs.length === 0) {\n await req.payload.create({\n collection: collectionSlug as 'messages',\n data: { locale },\n file,\n });\n }\n }\n\n return { success: true };\n },\n);\n"],"names":["ENDPOINTS","getPluginContext","getSupportedLocales","setMessagesEndpoint","setMessages","endpoint","req","user","payload","auth","headers","Response","json","error","status","data","supportedLocales","config","localization","collectionSlug","locale","messages","rawFile","File","JSON","stringify","Date","now","type","file","name","Buffer","from","arrayBuffer","mimetype","size","docs","update","collection","where","equals","length","create","success"],"mappings":"AACA,SAASA,SAAS,QAAQ,UAAU;AAEpC,SAASC,gBAAgB,EAAEC,mBAAmB,QAAQ,iBAAiB;AAEvE,OAAO,MAAMC,sBAAgCH,UAAUI,WAAW,CAACC,QAAQ,CACzE,OAAOC;IACL,MAAM,EAAEC,IAAI,EAAE,GAAG,MAAMD,IAAIE,OAAO,CAACC,IAAI,CAAC;QAAEC,SAASJ,IAAII,OAAO;IAAC;IAC/D,IAAI,CAACH,MAAM;QACT,OAAOI,SAASC,IAAI,CAAC;YAAEC,OAAO;QAAe,GAAG;YAAEC,QAAQ;QAAI;IAChE;IAEA,MAAMC,OAAQ,MAAMT,IAAIM,IAAI;IAC5B,IAAI,CAACG,MAAM;QACT,OAAOJ,SAASC,IAAI,CAAC;YAAEC,OAAO;QAAmB,GAAG;YAAEC,QAAQ;QAAI;IACpE;IAEA,MAAME,mBAAmBd,oBACvBI,IAAIE,OAAO,CAACS,MAAM,CAACC,YAAY;IAEjC,MAAM,EAAEC,cAAc,EAAE,GAAGlB,iBAAiBK,IAAIE,OAAO,CAACS,MAAM;IAE9D,KAAK,MAAMG,UAAUJ,iBAAkB;QACrC,MAAMK,WAAWN,IAAI,CAACK,OAAO;QAC7B,IAAI,CAACC,UAAU;QAEf,MAAMC,UAAU,IAAIC,KAClB;YAACC,KAAKC,SAAS,CAACJ;SAAU,EAC1B,GAAGD,OAAO,CAAC,EAAEM,KAAKC,GAAG,GAAG,KAAK,CAAC,EAC9B;YACEC,MAAM;QACR;QAGF,MAAMC,OAAa;YACjBC,MAAMR,QAAQQ,IAAI;YAClBf,MAAMgB,OAAOC,IAAI,CAAC,MAAMV,QAAQW,WAAW;YAC3CC,UAAUZ,QAAQM,IAAI;YACtBO,MAAMb,QAAQa,IAAI;QACpB;QAEA,MAAM,EAAEC,IAAI,EAAE,GAAG,MAAM9B,IAAIE,OAAO,CAAC6B,MAAM,CAAC;YACxCC,YAAYnB;YACZJ,MAAM,CAAC;YACPc;YACAU,OAAO;gBAAEnB,QAAQ;oBAAEoB,QAAQpB;gBAAO;YAAE;QACtC;QACA,IAAIgB,KAAKK,MAAM,KAAK,GAAG;YACrB,MAAMnC,IAAIE,OAAO,CAACkC,MAAM,CAAC;gBACvBJ,YAAYnB;gBACZJ,MAAM;oBAAEK;gBAAO;gBACfS;YACF;QACF;IACF;IAEA,OAAO;QAAEc,SAAS;IAAK;AACzB,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,eAAO,MAAM,QAAQ;;wCA0BlB,CAAC"}
|
package/dist/entities.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createCollectionConfigFactory } from '@repo/common';
|
|
2
|
+
import { getMessagesEndpoint } from './endpoints/get-messages';
|
|
3
|
+
import { setMessagesEndpoint } from './endpoints/set-messages';
|
|
4
|
+
import { createHooks } from './hooks';
|
|
5
|
+
export const Messages = createCollectionConfigFactory(({ hooks })=>({
|
|
6
|
+
admin: {
|
|
7
|
+
hidden: true
|
|
8
|
+
},
|
|
9
|
+
access: {
|
|
10
|
+
read: ()=>true
|
|
11
|
+
},
|
|
12
|
+
endpoints: [
|
|
13
|
+
setMessagesEndpoint,
|
|
14
|
+
getMessagesEndpoint
|
|
15
|
+
],
|
|
16
|
+
fields: [
|
|
17
|
+
{
|
|
18
|
+
name: 'locale',
|
|
19
|
+
type: 'text',
|
|
20
|
+
required: true
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
hooks: createHooks(hooks),
|
|
24
|
+
indexes: [
|
|
25
|
+
{
|
|
26
|
+
fields: [
|
|
27
|
+
'locale'
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
upload: {
|
|
32
|
+
mimeTypes: [
|
|
33
|
+
'application/json'
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
}));
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=entities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/entities.ts"],"sourcesContent":["import { createCollectionConfigFactory } from '@repo/common';\nimport { getMessagesEndpoint } from './endpoints/get-messages';\nimport { setMessagesEndpoint } from './endpoints/set-messages';\nimport { createHooks } from './hooks';\nimport type { ResolvedPluginOptions } from './types';\n\nexport const Messages = createCollectionConfigFactory<\n ResolvedPluginOptions<'hooks'>\n>(({ hooks }) => ({\n admin: {\n hidden: true,\n },\n access: {\n read: () => true,\n },\n endpoints: [setMessagesEndpoint, getMessagesEndpoint],\n fields: [\n {\n name: 'locale',\n type: 'text',\n required: true,\n },\n ],\n hooks: createHooks(hooks),\n indexes: [\n {\n fields: ['locale'],\n },\n ],\n upload: {\n mimeTypes: ['application/json'],\n },\n}));\n"],"names":["createCollectionConfigFactory","getMessagesEndpoint","setMessagesEndpoint","createHooks","Messages","hooks","admin","hidden","access","read","endpoints","fields","name","type","required","indexes","upload","mimeTypes"],"mappings":"AAAA,SAASA,6BAA6B,QAAQ,eAAe;AAC7D,SAASC,mBAAmB,QAAQ,2BAA2B;AAC/D,SAASC,mBAAmB,QAAQ,2BAA2B;AAC/D,SAASC,WAAW,QAAQ,UAAU;AAGtC,OAAO,MAAMC,WAAWJ,8BAEtB,CAAC,EAAEK,KAAK,EAAE,GAAM,CAAA;QAChBC,OAAO;YACLC,QAAQ;QACV;QACAC,QAAQ;YACNC,MAAM,IAAM;QACd;QACAC,WAAW;YAACR;YAAqBD;SAAoB;QACrDU,QAAQ;YACN;gBACEC,MAAM;gBACNC,MAAM;gBACNC,UAAU;YACZ;SACD;QACDT,OAAOF,YAAYE;QACnBU,SAAS;YACP;gBACEJ,QAAQ;oBAAC;iBAAS;YACpB;SACD;QACDK,QAAQ;YACNC,WAAW;gBAAC;aAAmB;QACjC;IACF,CAAA,GAAI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/exports/client.ts"],"sourcesContent":["export {};\n"],"names":[],"mappings":"AAAA,WAAU"}
|
package/dist/exports/rsc.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { MessagesLink } from '
|
|
2
|
-
export { MessagesView } from '
|
|
1
|
+
export { MessagesLink } from '../components/MessagesLink';
|
|
2
|
+
export { MessagesView } from '../components/MessagesView';
|
|
3
3
|
//# sourceMappingURL=rsc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rsc.d.ts","sourceRoot":"","sources":["../../src/exports/rsc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"rsc.d.ts","sourceRoot":"","sources":["../../src/exports/rsc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/exports/rsc.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
a as MessagesView
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=rsc.js.map
|
|
1
|
+
export { MessagesLink } from '../components/MessagesLink';
|
|
2
|
+
export { MessagesView } from '../components/MessagesView';
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=rsc.js.map
|
package/dist/exports/rsc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/exports/rsc.ts"],"sourcesContent":["export { MessagesLink } from '../components/MessagesLink';\nexport { MessagesView } from '../components/MessagesView';\n"],"names":["MessagesLink","MessagesView"],"mappings":"AAAA,SAASA,YAAY,QAAQ,6BAA6B;AAC1D,SAASC,YAAY,QAAQ,6BAA6B"}
|
package/dist/hooks.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,eAAO,MAAM,WAAW,UACf,qBAAqB,CAAC,OAAO,CAAC,KACpC,gBAAgB,CAAC,OAAO,CAmB1B,CAAC"}
|
package/dist/hooks.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const createHooks = (hooks)=>{
|
|
2
|
+
if (!hooks) {
|
|
3
|
+
return undefined;
|
|
4
|
+
}
|
|
5
|
+
const { afterUpdate, ...rest } = hooks;
|
|
6
|
+
if (!afterUpdate) {
|
|
7
|
+
return rest;
|
|
8
|
+
}
|
|
9
|
+
const afterUpdateHook = async ({ operation })=>{
|
|
10
|
+
if (operation === 'update') {
|
|
11
|
+
await afterUpdate();
|
|
12
|
+
}
|
|
13
|
+
return;
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
...rest,
|
|
17
|
+
afterChange: [
|
|
18
|
+
...rest.afterChange ?? [],
|
|
19
|
+
afterUpdateHook
|
|
20
|
+
]
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks.ts"],"sourcesContent":["import type { CollectionAfterChangeHook, CollectionConfig } from 'payload';\nimport type { ResolvedPluginOptions } from './types';\n\nexport const createHooks = (\n hooks: ResolvedPluginOptions['hooks'],\n): CollectionConfig['hooks'] => {\n if (!hooks) {\n return undefined;\n }\n const { afterUpdate, ...rest } = hooks;\n if (!afterUpdate) {\n return rest;\n }\n\n const afterUpdateHook: CollectionAfterChangeHook = async ({ operation }) => {\n if (operation === 'update') {\n await afterUpdate();\n }\n return;\n };\n return {\n ...rest,\n afterChange: [...(rest.afterChange ?? []), afterUpdateHook],\n };\n};\n"],"names":["createHooks","hooks","undefined","afterUpdate","rest","afterUpdateHook","operation","afterChange"],"mappings":"AAGA,OAAO,MAAMA,cAAc,CACzBC;IAEA,IAAI,CAACA,OAAO;QACV,OAAOC;IACT;IACA,MAAM,EAAEC,WAAW,EAAE,GAAGC,MAAM,GAAGH;IACjC,IAAI,CAACE,aAAa;QAChB,OAAOC;IACT;IAEA,MAAMC,kBAA6C,OAAO,EAAEC,SAAS,EAAE;QACrE,IAAIA,cAAc,UAAU;YAC1B,MAAMH;QACR;QACA;IACF;IACA,OAAO;QACL,GAAGC,IAAI;QACPG,aAAa;eAAKH,KAAKG,WAAW,IAAI,EAAE;YAAGF;SAAgB;IAC7D;AACF,EAAE"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
|
-
import { Plugin } from 'payload';
|
|
2
|
-
import {
|
|
1
|
+
import type { CollectionSlug, Plugin } from 'payload';
|
|
2
|
+
import type { MessagesGuard, MessagesHooks, MessagesSchema } from './types.ts';
|
|
3
|
+
export interface MessagesPluginConfig {
|
|
4
|
+
schema: MessagesSchema;
|
|
5
|
+
/**
|
|
6
|
+
* The slug of the collection to use for the messages.
|
|
7
|
+
*
|
|
8
|
+
* @default `messages`
|
|
9
|
+
*/
|
|
10
|
+
collectionSlug?: CollectionSlug;
|
|
11
|
+
/**
|
|
12
|
+
* Access control for allowing to edit the messages.
|
|
13
|
+
*
|
|
14
|
+
* @default `(req) => req.user !== null // Authenticated users only`
|
|
15
|
+
*/
|
|
16
|
+
editorAccess?: MessagesGuard;
|
|
17
|
+
hooks?: MessagesHooks;
|
|
18
|
+
tabs?: boolean;
|
|
19
|
+
}
|
|
3
20
|
export declare const intlPlugin: ({ schema, tabs, collectionSlug, hooks, editorAccess, }: MessagesPluginConfig) => Plugin;
|
|
4
21
|
export { fetchMessages } from './requests/fetchMessages';
|
|
5
|
-
export type { Messages,
|
|
22
|
+
export type { Messages, MessagesSchema, } from './types.ts';
|
|
6
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAKtD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG/E,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,UAAU,2DAOlB,oBAAoB,KAAG,MAgEzB,CAAC;AAEJ,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,YAAY,EACV,QAAQ,EACR,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,81 +1,65 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
collectionSlug: t = "messages",
|
|
10
|
-
hooks: n,
|
|
11
|
-
editorAccess: r = (e) => e.user !== null
|
|
12
|
-
}) => (e) => {
|
|
13
|
-
const i = d(e.localization);
|
|
14
|
-
if (!e.serverURL)
|
|
15
|
-
throw new Error(
|
|
16
|
-
"serverURL is required in your payload.config.ts file for payload-intl to work."
|
|
17
|
-
);
|
|
18
|
-
return e.admin ??= {}, e.admin.components ??= {}, e.admin.components.actions ??= [], e.admin.components.actions.push({
|
|
19
|
-
exportName: "MessagesLink",
|
|
20
|
-
path: "payload-intl/rsc#MessagesLink"
|
|
21
|
-
}), e.admin.components.views = {
|
|
22
|
-
...e.admin.components.views,
|
|
23
|
-
intl: {
|
|
24
|
-
Component: {
|
|
25
|
-
path: "payload-intl/rsc#MessagesView",
|
|
26
|
-
serverProps: {
|
|
27
|
-
access: r,
|
|
28
|
-
locales: i,
|
|
29
|
-
schema: s,
|
|
30
|
-
tabs: a
|
|
1
|
+
import { getMessagesEndpoint } from './endpoints/get-messages';
|
|
2
|
+
import { setMessagesEndpoint } from './endpoints/set-messages';
|
|
3
|
+
import { Messages } from './entities';
|
|
4
|
+
import { attachPluginContext, getSupportedLocales } from './utils/config';
|
|
5
|
+
export const intlPlugin = ({ schema, tabs, collectionSlug = 'messages', hooks = {}, editorAccess = (req)=>req.user !== null })=>(config)=>{
|
|
6
|
+
if (!config.localization) {
|
|
7
|
+
console.warn('[payload-intl] You have not set the localization option in your Payload config, so this plugin will have no effect.');
|
|
8
|
+
return config;
|
|
31
9
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
10
|
+
const locales = getSupportedLocales(config.localization);
|
|
11
|
+
config.admin ??= {};
|
|
12
|
+
config.admin.components ??= {};
|
|
13
|
+
config.admin.components.actions ??= [];
|
|
14
|
+
config.admin.components.actions.push({
|
|
15
|
+
exportName: 'MessagesLink',
|
|
16
|
+
path: 'payload-intl/rsc#MessagesLink'
|
|
17
|
+
});
|
|
18
|
+
config.admin.components.views = {
|
|
19
|
+
...config.admin.components.views,
|
|
20
|
+
intl: {
|
|
21
|
+
Component: {
|
|
22
|
+
path: 'payload-intl/rsc#MessagesView',
|
|
23
|
+
serverProps: {
|
|
24
|
+
access: editorAccess,
|
|
25
|
+
locales,
|
|
26
|
+
schema,
|
|
27
|
+
tabs
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
path: '/intl'
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
attachPluginContext(config, {
|
|
34
|
+
collectionSlug
|
|
35
|
+
});
|
|
36
|
+
// config.globals ??= [];
|
|
37
|
+
// config.globals.push({
|
|
38
|
+
// slug: 'intl-plugin',
|
|
39
|
+
// fields: [
|
|
40
|
+
// {
|
|
41
|
+
// name: 'editorTemplate',
|
|
42
|
+
// type: 'richText',
|
|
43
|
+
// editor: lexicalEditor({
|
|
44
|
+
// features: ({ defaultFeatures }) =>
|
|
45
|
+
// defaultFeatures.filter(
|
|
46
|
+
// ({ key }) => !['relationship', 'upload'].includes(key),
|
|
47
|
+
// ),
|
|
48
|
+
// }),
|
|
49
|
+
// admin: { hidden: true },
|
|
50
|
+
// },
|
|
51
|
+
// ],
|
|
52
|
+
// });
|
|
53
|
+
config.collections ??= [];
|
|
54
|
+
config.collections.push(Messages({
|
|
55
|
+
slug: collectionSlug,
|
|
56
|
+
hooks
|
|
57
|
+
}));
|
|
58
|
+
config.endpoints ??= [];
|
|
59
|
+
config.endpoints.push(getMessagesEndpoint);
|
|
60
|
+
config.endpoints.push(setMessagesEndpoint);
|
|
61
|
+
return config;
|
|
62
|
+
};
|
|
63
|
+
export { fetchMessages } from './requests/fetchMessages';
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { CollectionSlug, Plugin } from 'payload';\nimport type { MessagesViewProps } from './components/MessagesView';\nimport { getMessagesEndpoint } from './endpoints/get-messages';\nimport { setMessagesEndpoint } from './endpoints/set-messages';\nimport { Messages } from './entities';\nimport type { MessagesGuard, MessagesHooks, MessagesSchema } from './types.ts';\nimport { attachPluginContext, getSupportedLocales } from './utils/config';\n\nexport interface MessagesPluginConfig {\n schema: MessagesSchema;\n /**\n * The slug of the collection to use for the messages.\n *\n * @default `messages`\n */\n collectionSlug?: CollectionSlug;\n /**\n * Access control for allowing to edit the messages.\n *\n * @default `(req) => req.user !== null // Authenticated users only`\n */\n editorAccess?: MessagesGuard;\n hooks?: MessagesHooks;\n tabs?: boolean;\n}\n\nexport const intlPlugin =\n ({\n schema,\n tabs,\n collectionSlug = 'messages',\n hooks = {},\n editorAccess = (req) => req.user !== null,\n }: MessagesPluginConfig): Plugin =>\n (config) => {\n if (!config.localization) {\n console.warn(\n '[payload-intl] You have not set the localization option in your Payload config, so this plugin will have no effect.',\n );\n return config;\n }\n\n const locales = getSupportedLocales(config.localization);\n\n config.admin ??= {};\n config.admin.components ??= {};\n config.admin.components.actions ??= [];\n config.admin.components.actions.push({\n exportName: 'MessagesLink',\n path: 'payload-intl/rsc#MessagesLink',\n });\n\n config.admin.components.views = {\n ...config.admin.components.views,\n intl: {\n Component: {\n path: 'payload-intl/rsc#MessagesView',\n serverProps: {\n access: editorAccess,\n locales,\n schema,\n tabs,\n } satisfies MessagesViewProps,\n },\n path: '/intl',\n },\n };\n\n attachPluginContext(config, {\n collectionSlug,\n });\n // config.globals ??= [];\n // config.globals.push({\n // slug: 'intl-plugin',\n // fields: [\n // {\n // name: 'editorTemplate',\n // type: 'richText',\n // editor: lexicalEditor({\n // features: ({ defaultFeatures }) =>\n // defaultFeatures.filter(\n // ({ key }) => !['relationship', 'upload'].includes(key),\n // ),\n // }),\n // admin: { hidden: true },\n // },\n // ],\n // });\n\n config.collections ??= [];\n config.collections.push(Messages({ slug: collectionSlug, hooks }));\n\n config.endpoints ??= [];\n config.endpoints.push(getMessagesEndpoint);\n config.endpoints.push(setMessagesEndpoint);\n\n return config;\n };\n\nexport { fetchMessages } from './requests/fetchMessages';\n\nexport type {\n Messages,\n MessagesSchema,\n} from './types.ts';\n"],"names":["getMessagesEndpoint","setMessagesEndpoint","Messages","attachPluginContext","getSupportedLocales","intlPlugin","schema","tabs","collectionSlug","hooks","editorAccess","req","user","config","localization","console","warn","locales","admin","components","actions","push","exportName","path","views","intl","Component","serverProps","access","collections","slug","endpoints","fetchMessages"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,2BAA2B;AAC/D,SAASC,mBAAmB,QAAQ,2BAA2B;AAC/D,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,iBAAiB;AAoB1E,OAAO,MAAMC,aACX,CAAC,EACCC,MAAM,EACNC,IAAI,EACJC,iBAAiB,UAAU,EAC3BC,QAAQ,CAAC,CAAC,EACVC,eAAe,CAACC,MAAQA,IAAIC,IAAI,KAAK,IAAI,EACpB,GACvB,CAACC;QACC,IAAI,CAACA,OAAOC,YAAY,EAAE;YACxBC,QAAQC,IAAI,CACV;YAEF,OAAOH;QACT;QAEA,MAAMI,UAAUb,oBAAoBS,OAAOC,YAAY;QAEvDD,OAAOK,KAAK,KAAK,CAAC;QAClBL,OAAOK,KAAK,CAACC,UAAU,KAAK,CAAC;QAC7BN,OAAOK,KAAK,CAACC,UAAU,CAACC,OAAO,KAAK,EAAE;QACtCP,OAAOK,KAAK,CAACC,UAAU,CAACC,OAAO,CAACC,IAAI,CAAC;YACnCC,YAAY;YACZC,MAAM;QACR;QAEAV,OAAOK,KAAK,CAACC,UAAU,CAACK,KAAK,GAAG;YAC9B,GAAGX,OAAOK,KAAK,CAACC,UAAU,CAACK,KAAK;YAChCC,MAAM;gBACJC,WAAW;oBACTH,MAAM;oBACNI,aAAa;wBACXC,QAAQlB;wBACRO;wBACAX;wBACAC;oBACF;gBACF;gBACAgB,MAAM;YACR;QACF;QAEApB,oBAAoBU,QAAQ;YAC1BL;QACF;QACA,yBAAyB;QACzB,wBAAwB;QACxB,yBAAyB;QACzB,cAAc;QACd,QAAQ;QACR,gCAAgC;QAChC,0BAA0B;QAC1B,gCAAgC;QAChC,6CAA6C;QAC7C,oCAAoC;QACpC,sEAAsE;QACtE,eAAe;QACf,YAAY;QACZ,iCAAiC;QACjC,SAAS;QACT,OAAO;QACP,MAAM;QAENK,OAAOgB,WAAW,KAAK,EAAE;QACzBhB,OAAOgB,WAAW,CAACR,IAAI,CAACnB,SAAS;YAAE4B,MAAMtB;YAAgBC;QAAM;QAE/DI,OAAOkB,SAAS,KAAK,EAAE;QACvBlB,OAAOkB,SAAS,CAACV,IAAI,CAACrB;QACtBa,OAAOkB,SAAS,CAACV,IAAI,CAACpB;QAEtB,OAAOY;IACT,EAAE;AAEJ,SAASmB,aAAa,QAAQ,2BAA2B"}
|