@payloadcms/ui 3.23.0-canary.f63b80a → 3.23.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.
Files changed (118) hide show
  1. package/dist/elements/ListControls/index.d.ts.map +1 -1
  2. package/dist/elements/ListControls/index.js +1 -1
  3. package/dist/elements/ListControls/index.js.map +1 -1
  4. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  5. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +17 -1
  6. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  7. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  8. package/dist/elements/PublishButton/ScheduleDrawer/index.js +52 -7
  9. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  10. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -0
  11. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
  12. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  13. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  14. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +4 -11
  15. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  16. package/dist/elements/ViewDescription/index.d.ts +0 -1
  17. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  18. package/dist/elements/ViewDescription/index.js +1 -2
  19. package/dist/elements/ViewDescription/index.js.map +1 -1
  20. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +2 -2
  21. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -1
  22. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +1 -0
  23. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  24. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  25. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +59 -43
  26. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  27. package/dist/elements/WhereBuilder/Condition/Select/index.d.ts.map +1 -1
  28. package/dist/elements/WhereBuilder/Condition/Select/index.js +2 -0
  29. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  30. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts +1 -0
  31. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts.map +1 -1
  32. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  33. package/dist/elements/WhereBuilder/Condition/index.d.ts +5 -16
  34. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  35. package/dist/elements/WhereBuilder/Condition/index.js +114 -276
  36. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  37. package/dist/elements/WhereBuilder/Condition/types.d.ts +2 -2
  38. package/dist/elements/WhereBuilder/Condition/types.d.ts.map +1 -1
  39. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  40. package/dist/elements/WhereBuilder/field-types.d.ts +1 -92
  41. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  42. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  43. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  44. package/dist/elements/WhereBuilder/index.js +168 -259
  45. package/dist/elements/WhereBuilder/index.js.map +1 -1
  46. package/dist/elements/WhereBuilder/{reduceClientFields.d.ts → reduceFields.d.ts} +5 -4
  47. package/dist/elements/WhereBuilder/reduceFields.d.ts.map +1 -0
  48. package/dist/elements/WhereBuilder/{reduceClientFields.js → reduceFields.js} +8 -8
  49. package/dist/elements/WhereBuilder/reduceFields.js.map +1 -0
  50. package/dist/elements/WhereBuilder/types.d.ts +15 -2
  51. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  52. package/dist/elements/WhereBuilder/types.js.map +1 -1
  53. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -1
  54. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  55. package/dist/exports/client/{CodeEditor-G3Y4UHC4.js → CodeEditor-BMYVMDNZ.js} +2 -2
  56. package/dist/exports/client/chunk-CQQHQHCB.js +26 -0
  57. package/dist/exports/client/{chunk-4L367VSB.js.map → chunk-CQQHQHCB.js.map} +3 -3
  58. package/dist/exports/client/index.js +23 -23
  59. package/dist/exports/client/index.js.map +4 -4
  60. package/dist/exports/shared/index.js +2 -2
  61. package/dist/exports/shared/index.js.map +4 -4
  62. package/dist/fields/Blocks/BlockRow.d.ts +1 -1
  63. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  64. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  65. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +1 -1
  66. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  67. package/dist/fields/Blocks/BlocksDrawer/index.js +23 -31
  68. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  69. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  70. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  71. package/dist/fields/Blocks/RowActions.js.map +1 -1
  72. package/dist/fields/Blocks/index.d.ts.map +1 -1
  73. package/dist/fields/Blocks/index.js +4 -6
  74. package/dist/fields/Blocks/index.js.map +1 -1
  75. package/dist/fields/Join/index.d.ts.map +1 -1
  76. package/dist/fields/Join/index.js +2 -9
  77. package/dist/fields/Join/index.js.map +1 -1
  78. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  79. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -2
  80. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  81. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  82. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  83. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  84. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  85. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -2
  86. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  87. package/dist/providers/Config/index.d.ts +2 -2
  88. package/dist/providers/Config/index.d.ts.map +1 -1
  89. package/dist/providers/Config/index.js +2 -17
  90. package/dist/providers/Config/index.js.map +1 -1
  91. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  92. package/dist/providers/DocumentInfo/index.js +11 -2
  93. package/dist/providers/DocumentInfo/index.js.map +1 -1
  94. package/dist/styles.css +1 -1
  95. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  96. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +1 -3
  97. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  98. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  99. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -4
  100. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  101. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  102. package/dist/utilities/copyDataFromLocale.js +15 -13
  103. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  104. package/dist/utilities/formatDate.d.ts +2 -1
  105. package/dist/utilities/formatDate.d.ts.map +1 -1
  106. package/dist/utilities/formatDate.js +15 -3
  107. package/dist/utilities/formatDate.js.map +1 -1
  108. package/dist/utilities/getClientConfig.js.map +1 -1
  109. package/dist/utilities/schedulePublishHandler.d.ts +2 -1
  110. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  111. package/dist/utilities/schedulePublishHandler.js +3 -1
  112. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  113. package/package.json +5 -5
  114. package/dist/elements/ViewDescription/index.scss +0 -7
  115. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +0 -1
  116. package/dist/elements/WhereBuilder/reduceClientFields.js.map +0 -1
  117. package/dist/exports/client/chunk-4L367VSB.js +0 -26
  118. /package/dist/exports/client/{CodeEditor-G3Y4UHC4.js.map → CodeEditor-BMYVMDNZ.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildClientFieldSchemaMap/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAGzB,KAAK,cAAc,EACnB,KAAK,OAAO,EACb,MAAM,SAAS,CAAA;AAGhB,KAAK,IAAI,GAAG;IACV,eAAe,EAAE,oBAAoB,CAAA;IACrC,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,sGASxB,IAAI,SA4IN,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildClientFieldSchemaMap/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAGzB,KAAK,cAAc,EACnB,KAAK,OAAO,EACb,MAAM,SAAS,CAAA;AAGhB,KAAK,IAAI,GAAG;IACV,eAAe,EAAE,oBAAoB,CAAA;IACrC,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,sGASxB,IAAI,SAqIN,CAAA"}
@@ -37,9 +37,7 @@ export const traverseFields = ({
37
37
  });
38
38
  break;
39
39
  case 'blocks':
40
- ;
41
- (field.blockReferences ?? field.blocks).map(_block => {
42
- const block = typeof _block === 'string' ? config.blocksMap ? config.blocksMap[_block] : config.blocks.find(block => typeof block !== 'string' && block.slug === _block) : _block;
40
+ field.blocks.map(block => {
43
41
  const blockSchemaPath = `${schemaPath}.${block.slug}`;
44
42
  clientSchemaMap.set(blockSchemaPath, block);
45
43
  traverseFields({
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.js","names":["createClientFields","getFieldPaths","tabHasName","traverseFields","clientSchemaMap","config","fields","i18n","parentIndexPath","parentSchemaPath","payload","schemaMap","index","field","entries","indexPath","schemaPath","parentPath","set","type","blockReferences","blocks","map","_block","block","blocksMap","find","slug","blockSchemaPath","richTextFieldSchemaMap","Map","path","subField","startsWith","isFieldsOnly","Object","keys","length","clientFields","defaultIDType","db","disableAddingID","importMap","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabSchemaPath"],"sources":["../../../src/utilities/buildClientFieldSchemaMap/traverseFields.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\n\nimport {\n type ClientBlock,\n type ClientConfig,\n type ClientField,\n type ClientFieldSchemaMap,\n createClientFields,\n type Field,\n type FieldSchemaMap,\n type Payload,\n} from 'payload'\nimport { getFieldPaths, tabHasName } from 'payload/shared'\n\ntype Args = {\n clientSchemaMap: ClientFieldSchemaMap\n config: ClientConfig\n fields: ClientField[]\n i18n: I18n<any, any>\n parentIndexPath: string\n parentSchemaPath: string\n payload: Payload\n schemaMap: FieldSchemaMap\n}\n\nexport const traverseFields = ({\n clientSchemaMap,\n config,\n fields,\n i18n,\n parentIndexPath,\n parentSchemaPath,\n payload,\n schemaMap,\n}: Args) => {\n for (const [index, field] of fields.entries()) {\n const { indexPath, schemaPath } = getFieldPaths({\n field,\n index,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n clientSchemaMap.set(schemaPath, field)\n\n switch (field.type) {\n case 'array':\n case 'group':\n traverseFields({\n clientSchemaMap,\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: schemaPath,\n payload,\n schemaMap,\n })\n\n break\n\n case 'blocks':\n ;(field.blockReferences ?? field.blocks).map((_block) => {\n const block =\n typeof _block === 'string'\n ? config.blocksMap\n ? config.blocksMap[_block]\n : config.blocks.find((block) => typeof block !== 'string' && block.slug === _block)\n : _block\n\n const blockSchemaPath = `${schemaPath}.${block.slug}`\n\n clientSchemaMap.set(blockSchemaPath, block)\n traverseFields({\n clientSchemaMap,\n config,\n fields: block.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: blockSchemaPath,\n payload,\n schemaMap,\n })\n })\n\n break\n case 'collapsible':\n case 'row':\n traverseFields({\n clientSchemaMap,\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: indexPath,\n parentSchemaPath,\n payload,\n schemaMap,\n })\n break\n\n case 'richText': {\n // richText sub-fields are not part of the ClientConfig or the Config.\n // They only exist in the field schema map.\n // Thus, we need to\n // 1. get them from the field schema map\n // 2. convert them to client fields\n // 3. add them to the client schema map\n\n // So these would basically be all fields that are not part of the client config already\n const richTextFieldSchemaMap: FieldSchemaMap = new Map()\n for (const [path, subField] of schemaMap.entries()) {\n if (path.startsWith(`${schemaPath}.`)) {\n richTextFieldSchemaMap.set(path, subField)\n }\n }\n\n // Now loop through them, convert each entry to a client field and add it to the client schema map\n for (const [path, subField] of richTextFieldSchemaMap.entries()) {\n // check if fields is the only key in the subField object\n const isFieldsOnly = Object.keys(subField).length === 1 && 'fields' in subField\n\n const clientFields = createClientFields({\n defaultIDType: payload.config.db.defaultIDType,\n disableAddingID: true,\n fields: isFieldsOnly ? subField.fields : [subField as Field],\n i18n,\n importMap: payload.importMap,\n })\n\n clientSchemaMap.set(\n path,\n isFieldsOnly\n ? {\n fields: clientFields,\n }\n : clientFields[0],\n )\n }\n break\n }\n\n case 'tabs':\n field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n\n const { indexPath: tabIndexPath, schemaPath: tabSchemaPath } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n clientSchemaMap.set(tabSchemaPath, tab)\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: tab.fields,\n i18n,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,\n payload,\n schemaMap,\n })\n })\n\n break\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"traverseFields.js","names":["createClientFields","getFieldPaths","tabHasName","traverseFields","clientSchemaMap","config","fields","i18n","parentIndexPath","parentSchemaPath","payload","schemaMap","index","field","entries","indexPath","schemaPath","parentPath","set","type","blocks","map","block","blockSchemaPath","slug","richTextFieldSchemaMap","Map","path","subField","startsWith","isFieldsOnly","Object","keys","length","clientFields","defaultIDType","db","disableAddingID","importMap","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabSchemaPath"],"sources":["../../../src/utilities/buildClientFieldSchemaMap/traverseFields.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\n\nimport {\n type ClientConfig,\n type ClientField,\n type ClientFieldSchemaMap,\n createClientFields,\n type Field,\n type FieldSchemaMap,\n type Payload,\n} from 'payload'\nimport { getFieldPaths, tabHasName } from 'payload/shared'\n\ntype Args = {\n clientSchemaMap: ClientFieldSchemaMap\n config: ClientConfig\n fields: ClientField[]\n i18n: I18n<any, any>\n parentIndexPath: string\n parentSchemaPath: string\n payload: Payload\n schemaMap: FieldSchemaMap\n}\n\nexport const traverseFields = ({\n clientSchemaMap,\n config,\n fields,\n i18n,\n parentIndexPath,\n parentSchemaPath,\n payload,\n schemaMap,\n}: Args) => {\n for (const [index, field] of fields.entries()) {\n const { indexPath, schemaPath } = getFieldPaths({\n field,\n index,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n clientSchemaMap.set(schemaPath, field)\n\n switch (field.type) {\n case 'array':\n case 'group':\n traverseFields({\n clientSchemaMap,\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: schemaPath,\n payload,\n schemaMap,\n })\n\n break\n\n case 'blocks':\n field.blocks.map((block) => {\n const blockSchemaPath = `${schemaPath}.${block.slug}`\n\n clientSchemaMap.set(blockSchemaPath, block)\n traverseFields({\n clientSchemaMap,\n config,\n fields: block.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: blockSchemaPath,\n payload,\n schemaMap,\n })\n })\n\n break\n case 'collapsible':\n case 'row':\n traverseFields({\n clientSchemaMap,\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: indexPath,\n parentSchemaPath,\n payload,\n schemaMap,\n })\n break\n\n case 'richText': {\n // richText sub-fields are not part of the ClientConfig or the Config.\n // They only exist in the field schema map.\n // Thus, we need to\n // 1. get them from the field schema map\n // 2. convert them to client fields\n // 3. add them to the client schema map\n\n // So these would basically be all fields that are not part of the client config already\n const richTextFieldSchemaMap: FieldSchemaMap = new Map()\n for (const [path, subField] of schemaMap.entries()) {\n if (path.startsWith(`${schemaPath}.`)) {\n richTextFieldSchemaMap.set(path, subField)\n }\n }\n\n // Now loop through them, convert each entry to a client field and add it to the client schema map\n for (const [path, subField] of richTextFieldSchemaMap.entries()) {\n // check if fields is the only key in the subField object\n const isFieldsOnly = Object.keys(subField).length === 1 && 'fields' in subField\n\n const clientFields = createClientFields({\n defaultIDType: payload.config.db.defaultIDType,\n disableAddingID: true,\n fields: isFieldsOnly ? subField.fields : [subField as Field],\n i18n,\n importMap: payload.importMap,\n })\n\n clientSchemaMap.set(\n path,\n isFieldsOnly\n ? {\n fields: clientFields,\n }\n : clientFields[0],\n )\n }\n break\n }\n\n case 'tabs':\n field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n\n const { indexPath: tabIndexPath, schemaPath: tabSchemaPath } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n clientSchemaMap.set(tabSchemaPath, tab)\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: tab.fields,\n i18n,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,\n payload,\n schemaMap,\n })\n })\n\n break\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAKrE,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,4EAOxB,IAAI,SA8GN,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAKrE,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,4EAOxB,IAAI,SA0GN,CAAA"}
@@ -33,10 +33,7 @@ export const traverseFields = ({
33
33
  });
34
34
  break;
35
35
  case 'blocks':
36
- ;
37
- (field.blockReferences ?? field.blocks).map(_block => {
38
- // TODO: iterate over blocks mapped to block slug in v4, or pass through payload.blocks
39
- const block = typeof _block === 'string' ? config.blocks.find(b => b.slug === _block) : _block;
36
+ field.blocks.map(block => {
40
37
  const blockSchemaPath = `${schemaPath}.${block.slug}`;
41
38
  schemaMap.set(blockSchemaPath, block);
42
39
  traverseFields({
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.js","names":["MissingEditorProp","getFieldPaths","tabHasName","traverseFields","config","fields","i18n","parentIndexPath","parentSchemaPath","schemaMap","index","field","entries","indexPath","schemaPath","parentPath","set","type","blockReferences","blocks","map","_block","block","find","b","slug","blockSchemaPath","editor","Error","generateSchemaMap","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabSchemaPath"],"sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Field, FieldSchemaMap, SanitizedConfig } from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { getFieldPaths, tabHasName } from 'payload/shared'\n\ntype Args = {\n config: SanitizedConfig\n fields: Field[]\n i18n: I18n<any, any>\n parentIndexPath: string\n parentSchemaPath: string\n schemaMap: FieldSchemaMap\n}\n\nexport const traverseFields = ({\n config,\n fields,\n i18n,\n parentIndexPath,\n parentSchemaPath,\n schemaMap,\n}: Args) => {\n for (const [index, field] of fields.entries()) {\n const { indexPath, schemaPath } = getFieldPaths({\n field,\n index,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n schemaMap.set(schemaPath, field)\n\n switch (field.type) {\n case 'array':\n case 'group':\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: schemaPath,\n schemaMap,\n })\n\n break\n\n case 'blocks':\n ;(field.blockReferences ?? field.blocks).map((_block) => {\n // TODO: iterate over blocks mapped to block slug in v4, or pass through payload.blocks\n const block =\n typeof _block === 'string' ? config.blocks.find((b) => b.slug === _block) : _block\n\n const blockSchemaPath = `${schemaPath}.${block.slug}`\n\n schemaMap.set(blockSchemaPath, block)\n traverseFields({\n config,\n fields: block.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: blockSchemaPath,\n schemaMap,\n })\n })\n\n break\n case 'collapsible':\n case 'row':\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: indexPath,\n parentSchemaPath,\n schemaMap,\n })\n\n break\n\n case 'richText':\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (typeof field.editor.generateSchemaMap === 'function') {\n field.editor.generateSchemaMap({\n config,\n field,\n i18n,\n schemaMap,\n schemaPath,\n })\n }\n\n break\n\n case 'tabs':\n field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n\n const { indexPath: tabIndexPath, schemaPath: tabSchemaPath } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n schemaMap.set(tabSchemaPath, tab)\n\n traverseFields({\n config,\n fields: tab.fields,\n i18n,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,\n schemaMap,\n })\n })\n\n break\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"traverseFields.js","names":["MissingEditorProp","getFieldPaths","tabHasName","traverseFields","config","fields","i18n","parentIndexPath","parentSchemaPath","schemaMap","index","field","entries","indexPath","schemaPath","parentPath","set","type","blocks","map","block","blockSchemaPath","slug","editor","Error","generateSchemaMap","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabSchemaPath"],"sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Field, FieldSchemaMap, SanitizedConfig } from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { getFieldPaths, tabHasName } from 'payload/shared'\n\ntype Args = {\n config: SanitizedConfig\n fields: Field[]\n i18n: I18n<any, any>\n parentIndexPath: string\n parentSchemaPath: string\n schemaMap: FieldSchemaMap\n}\n\nexport const traverseFields = ({\n config,\n fields,\n i18n,\n parentIndexPath,\n parentSchemaPath,\n schemaMap,\n}: Args) => {\n for (const [index, field] of fields.entries()) {\n const { indexPath, schemaPath } = getFieldPaths({\n field,\n index,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n schemaMap.set(schemaPath, field)\n\n switch (field.type) {\n case 'array':\n case 'group':\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: schemaPath,\n schemaMap,\n })\n\n break\n\n case 'blocks':\n field.blocks.map((block) => {\n const blockSchemaPath = `${schemaPath}.${block.slug}`\n\n schemaMap.set(blockSchemaPath, block)\n traverseFields({\n config,\n fields: block.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: blockSchemaPath,\n schemaMap,\n })\n })\n\n break\n case 'collapsible':\n case 'row':\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: indexPath,\n parentSchemaPath,\n schemaMap,\n })\n\n break\n\n case 'richText':\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (typeof field.editor.generateSchemaMap === 'function') {\n field.editor.generateSchemaMap({\n config,\n field,\n i18n,\n schemaMap,\n schemaPath,\n })\n }\n\n break\n\n case 'tabs':\n field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n\n const { indexPath: tabIndexPath, schemaPath: tabSchemaPath } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n schemaMap.set(tabSchemaPath, tab)\n\n traverseFields({\n config,\n fields: tab.fields,\n i18n,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,\n schemaMap,\n })\n })\n\n break\n }\n }\n}\n"],"mappings":"AAGA,SAASA,iBAAiB,QAAQ;AAClC,SAASC,aAAa,EAAEC,UAAU,QAAQ;AAW1C,OAAO,MAAMC,cAAA,GAAiBA,CAAC;EAC7BC,MAAM;EACNC,MAAM;EACNC,IAAI;EACJC,eAAe;EACfC,gBAAgB;EAChBC;AAAS,CACJ;EACL,KAAK,MAAM,CAACC,KAAA,EAAOC,KAAA,CAAM,IAAIN,MAAA,CAAOO,OAAO,IAAI;IAC7C,MAAM;MAAEC,SAAS;MAAEC;IAAU,CAAE,GAAGb,aAAA,CAAc;MAC9CU,KAAA;MACAD,KAAA;MACAH,eAAA,EAAiB,UAAUI,KAAA,GAAQ,KAAKJ,eAAA;MACxCQ,UAAA,EAAY;MACZP;IACF;IAEAC,SAAA,CAAUO,GAAG,CAACF,UAAA,EAAYH,KAAA;IAE1B,QAAQA,KAAA,CAAMM,IAAI;MAChB,KAAK;MACL,KAAK;QACHd,cAAA,CAAe;UACbC,MAAA;UACAC,MAAA,EAAQM,KAAA,CAAMN,MAAM;UACpBC,IAAA;UACAC,eAAA,EAAiB;UACjBC,gBAAA,EAAkBM,UAAA;UAClBL;QACF;QAEA;MAEF,KAAK;QACHE,KAAA,CAAMO,MAAM,CAACC,GAAG,CAAEC,KAAA;UAChB,MAAMC,eAAA,GAAkB,GAAGP,UAAA,IAAcM,KAAA,CAAME,IAAI,EAAE;UAErDb,SAAA,CAAUO,GAAG,CAACK,eAAA,EAAiBD,KAAA;UAC/BjB,cAAA,CAAe;YACbC,MAAA;YACAC,MAAA,EAAQe,KAAA,CAAMf,MAAM;YACpBC,IAAA;YACAC,eAAA,EAAiB;YACjBC,gBAAA,EAAkBa,eAAA;YAClBZ;UACF;QACF;QAEA;MACF,KAAK;MACL,KAAK;QACHN,cAAA,CAAe;UACbC,MAAA;UACAC,MAAA,EAAQM,KAAA,CAAMN,MAAM;UACpBC,IAAA;UACAC,eAAA,EAAiBM,SAAA;UACjBL,gBAAA;UACAC;QACF;QAEA;MAEF,KAAK;QACH,IAAI,CAACE,KAAA,EAAOY,MAAA,EAAQ;UAClB,MAAM,IAAIvB,iBAAA,CAAkBW,KAAA,EAAO;UAAA;QACrC;QAEA,IAAI,OAAOA,KAAA,CAAMY,MAAM,KAAK,YAAY;UACtC,MAAM,IAAIC,KAAA,CAAM;QAClB;QAEA,IAAI,OAAOb,KAAA,CAAMY,MAAM,CAACE,iBAAiB,KAAK,YAAY;UACxDd,KAAA,CAAMY,MAAM,CAACE,iBAAiB,CAAC;YAC7BrB,MAAA;YACAO,KAAA;YACAL,IAAA;YACAG,SAAA;YACAK;UACF;QACF;QAEA;MAEF,KAAK;QACHH,KAAA,CAAMe,IAAI,CAACP,GAAG,CAAC,CAACQ,GAAA,EAAKC,QAAA;UACnB,MAAMC,UAAA,GAAa3B,UAAA,CAAWyB,GAAA;UAE9B,MAAM;YAAEd,SAAA,EAAWiB,YAAY;YAAEhB,UAAA,EAAYiB;UAAa,CAAE,GAAG9B,aAAA,CAAc;YAC3EU,KAAA,EAAO;cACL,GAAGgB,GAAG;cACNV,IAAA,EAAM;YACR;YACAP,KAAA,EAAOkB,QAAA;YACPrB,eAAA,EAAiBM,SAAA;YACjBE,UAAA,EAAY;YACZP;UACF;UAEAC,SAAA,CAAUO,GAAG,CAACe,aAAA,EAAeJ,GAAA;UAE7BxB,cAAA,CAAe;YACbC,MAAA;YACAC,MAAA,EAAQsB,GAAA,CAAItB,MAAM;YAClBC,IAAA;YACAC,eAAA,EAAiBsB,UAAA,GAAa,KAAKC,YAAA;YACnCtB,gBAAA,EAAkBqB,UAAA,GAAaE,aAAA,GAAgBvB,gBAAA;YAC/CC;UACF;QACF;QAEA;IACJ;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"copyDataFromLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/copyDataFromLocale.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAKnB,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAMhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAyID,eAAO,MAAM,yBAAyB,SAAgB,sBAAsB,0EAiB3E,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,sBAAsB,0CAsHpE,CAAA"}
1
+ {"version":3,"file":"copyDataFromLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/copyDataFromLocale.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAInB,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAMhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AA6HD,eAAO,MAAM,yBAAyB,SAAgB,sBAAsB,0EAiB3E,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,sBAAsB,0CAgHpE,CAAA"}
@@ -2,7 +2,7 @@ import ObjectIdImport from 'bson-objectid';
2
2
  import { formatErrors } from 'payload';
3
3
  import { fieldAffectsData, tabHasName } from 'payload/shared';
4
4
  const ObjectId = ObjectIdImport.default || ObjectIdImport;
5
- function iterateFields(fields, fromLocaleData, toLocaleData, req) {
5
+ function iterateFields(fields, fromLocaleData, toLocaleData) {
6
6
  fields.map(field => {
7
7
  if (fieldAffectsData(field)) {
8
8
  switch (field.type) {
@@ -22,7 +22,7 @@ function iterateFields(fields, fromLocaleData, toLocaleData, req) {
22
22
  if (field.localized) {
23
23
  toLocaleData[field.name][index].id = new ObjectId().toHexString();
24
24
  }
25
- iterateFields(field.fields, fromLocaleData[field.name][index], item, req);
25
+ iterateFields(field.fields, fromLocaleData[field.name][index], item);
26
26
  }
27
27
  });
28
28
  }
@@ -38,13 +38,15 @@ function iterateFields(fields, fromLocaleData, toLocaleData, req) {
38
38
  // if the field has a value - loop over the data from target
39
39
  if (field.name in toLocaleData) {
40
40
  toLocaleData[field.name].map((blockData, index) => {
41
- const block = req.payload.blocks[blockData.blockType] ?? (field.blockReferences ?? field.blocks).find(block => typeof block !== 'string' && block.slug === blockData.blockType);
41
+ const blockFields = field.blocks.find(({
42
+ slug
43
+ }) => slug === blockData.blockType)?.fields;
42
44
  // Generate new IDs if the field is localized to prevent errors with relational DBs.
43
45
  if (field.localized) {
44
46
  toLocaleData[field.name][index].id = new ObjectId().toHexString();
45
47
  }
46
- if (block?.fields?.length) {
47
- iterateFields(block?.fields, fromLocaleData[field.name][index], blockData, req);
48
+ if (blockFields?.length) {
49
+ iterateFields(blockFields, fromLocaleData[field.name][index], blockData);
48
50
  }
49
51
  });
50
52
  }
@@ -72,7 +74,7 @@ function iterateFields(fields, fromLocaleData, toLocaleData, req) {
72
74
  case 'group':
73
75
  {
74
76
  if (field.name in toLocaleData && fromLocaleData?.[field.name] !== undefined) {
75
- iterateFields(field.fields, fromLocaleData[field.name], toLocaleData[field.name], req);
77
+ iterateFields(field.fields, fromLocaleData[field.name], toLocaleData[field.name]);
76
78
  }
77
79
  break;
78
80
  }
@@ -81,16 +83,16 @@ function iterateFields(fields, fromLocaleData, toLocaleData, req) {
81
83
  switch (field.type) {
82
84
  case 'collapsible':
83
85
  case 'row':
84
- iterateFields(field.fields, fromLocaleData, toLocaleData, req);
86
+ iterateFields(field.fields, fromLocaleData, toLocaleData);
85
87
  break;
86
88
  case 'tabs':
87
89
  field.tabs.map(tab => {
88
90
  if (tabHasName(tab)) {
89
91
  if (tab.name in toLocaleData && fromLocaleData?.[tab.name] !== undefined) {
90
- iterateFields(tab.fields, fromLocaleData[tab.name], toLocaleData[tab.name], req);
92
+ iterateFields(tab.fields, fromLocaleData[tab.name], toLocaleData[tab.name]);
91
93
  }
92
94
  } else {
93
- iterateFields(tab.fields, fromLocaleData, toLocaleData, req);
95
+ iterateFields(tab.fields, fromLocaleData, toLocaleData);
94
96
  }
95
97
  });
96
98
  break;
@@ -98,8 +100,8 @@ function iterateFields(fields, fromLocaleData, toLocaleData, req) {
98
100
  }
99
101
  });
100
102
  }
101
- function mergeData(fromLocaleData, toLocaleData, fields, req) {
102
- iterateFields(fields, fromLocaleData, toLocaleData, req);
103
+ function mergeData(fromLocaleData, toLocaleData, fields) {
104
+ iterateFields(fields, fromLocaleData, toLocaleData);
103
105
  return toLocaleData;
104
106
  }
105
107
  export const copyDataFromLocaleHandler = async args => {
@@ -192,7 +194,7 @@ export const copyDataFromLocale = async args => {
192
194
  }
193
195
  return globalSlug ? await payload.updateGlobal({
194
196
  slug: globalSlug,
195
- data: overrideData ? fromLocaleData.value : mergeData(fromLocaleData.value, toLocaleData.value, globals[globalSlug].config.fields, req),
197
+ data: overrideData ? fromLocaleData.value : mergeData(fromLocaleData.value, toLocaleData.value, globals[globalSlug].config.fields),
196
198
  locale: toLocale,
197
199
  overrideAccess: false,
198
200
  req,
@@ -200,7 +202,7 @@ export const copyDataFromLocale = async args => {
200
202
  }) : await payload.update({
201
203
  id: docID,
202
204
  collection: collectionSlug,
203
- data: overrideData ? fromLocaleData.value : mergeData(fromLocaleData.value, toLocaleData.value, collections[collectionSlug].config.fields, req),
205
+ data: overrideData ? fromLocaleData.value : mergeData(fromLocaleData.value, toLocaleData.value, collections[collectionSlug].config.fields),
204
206
  locale: toLocale,
205
207
  overrideAccess: false,
206
208
  req,
@@ -1 +1 @@
1
- {"version":3,"file":"copyDataFromLocale.js","names":["ObjectIdImport","formatErrors","fieldAffectsData","tabHasName","ObjectId","default","iterateFields","fields","fromLocaleData","toLocaleData","req","map","field","type","name","undefined","includes","item","index","localized","id","toHexString","blockData","block","payload","blocks","blockType","blockReferences","find","slug","length","tabs","tab","mergeData","copyDataFromLocaleHandler","args","copyDataFromLocale","err","logger","error","msg","fromLocale","toLocale","message","collectionSlug","docID","globalSlug","overrideData","collections","globals","user","incomingUserSlug","collection","adminUserSlug","config","admin","adminAccessFunction","access","canAccessAdmin","Error","Promise","allSettled","findGlobal","depth","locale","overrideAccess","findByID","joins","status","updateGlobal","data","value","update"],"sources":["../../src/utilities/copyDataFromLocale.ts"],"sourcesContent":["import ObjectIdImport from 'bson-objectid'\nimport {\n type CollectionSlug,\n type Data,\n type Field,\n type FlattenedBlock,\n formatErrors,\n type PayloadRequest,\n} from 'payload'\nimport { fieldAffectsData, tabHasName } from 'payload/shared'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type CopyDataFromLocaleArgs = {\n collectionSlug?: CollectionSlug\n docID?: number | string\n fromLocale: string\n globalSlug?: string\n overrideData?: boolean\n req: PayloadRequest\n toLocale: string\n}\n\nfunction iterateFields(\n fields: Field[],\n fromLocaleData: Data,\n toLocaleData: Data,\n req: PayloadRequest,\n): void {\n fields.map((field) => {\n if (fieldAffectsData(field)) {\n switch (field.type) {\n case 'array':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((item: Data, index: number) => {\n if (fromLocaleData[field.name]?.[index]) {\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (field.localized) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n iterateFields(field.fields, fromLocaleData[field.name][index], item, req)\n }\n })\n }\n break\n\n case 'blocks':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((blockData: Data, index: number) => {\n const block =\n req.payload.blocks[blockData.blockType] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockData.blockType,\n ) as FlattenedBlock | undefined)\n\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (field.localized) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n if (block?.fields?.length) {\n iterateFields(block?.fields, fromLocaleData[field.name][index], blockData, req)\n }\n })\n }\n\n break\n\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'text':\n case 'textarea':\n case 'upload':\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n }\n break\n\n case 'group': {\n if (field.name in toLocaleData && fromLocaleData?.[field.name] !== undefined) {\n iterateFields(field.fields, fromLocaleData[field.name], toLocaleData[field.name], req)\n }\n break\n }\n }\n } else {\n switch (field.type) {\n case 'collapsible':\n case 'row':\n iterateFields(field.fields, fromLocaleData, toLocaleData, req)\n break\n\n case 'tabs':\n field.tabs.map((tab) => {\n if (tabHasName(tab)) {\n if (tab.name in toLocaleData && fromLocaleData?.[tab.name] !== undefined) {\n iterateFields(tab.fields, fromLocaleData[tab.name], toLocaleData[tab.name], req)\n }\n } else {\n iterateFields(tab.fields, fromLocaleData, toLocaleData, req)\n }\n })\n break\n }\n }\n })\n}\n\nfunction mergeData(\n fromLocaleData: Data,\n toLocaleData: Data,\n fields: Field[],\n req: PayloadRequest,\n): Data {\n iterateFields(fields, fromLocaleData, toLocaleData, req)\n\n return toLocaleData\n}\n\nexport const copyDataFromLocaleHandler = async (args: CopyDataFromLocaleArgs) => {\n const { req } = args\n\n try {\n return await copyDataFromLocale(args)\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error copying data from \"${args.fromLocale}\" to \"${args.toLocale}\"`,\n })\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const copyDataFromLocale = async (args: CopyDataFromLocaleArgs) => {\n const {\n collectionSlug,\n docID,\n fromLocale,\n globalSlug,\n overrideData = false,\n req: {\n payload,\n payload: { collections, globals },\n user,\n },\n req,\n toLocale,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req: args.req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n }\n\n const [fromLocaleData, toLocaleData] = await Promise.allSettled([\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n joins: false,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n joins: false,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n ])\n\n if (fromLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${fromLocale}\"`)\n }\n\n if (toLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${toLocale}\"`)\n }\n\n return globalSlug\n ? await payload.updateGlobal({\n slug: globalSlug,\n data: overrideData\n ? fromLocaleData.value\n : mergeData(\n fromLocaleData.value,\n toLocaleData.value,\n globals[globalSlug].config.fields,\n req,\n ),\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n : await payload.update({\n id: docID,\n collection: collectionSlug,\n data: overrideData\n ? fromLocaleData.value\n : mergeData(\n fromLocaleData.value,\n toLocaleData.value,\n collections[collectionSlug].config.fields,\n req,\n ),\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"copyDataFromLocale.js","names":["ObjectIdImport","formatErrors","fieldAffectsData","tabHasName","ObjectId","default","iterateFields","fields","fromLocaleData","toLocaleData","map","field","type","name","undefined","includes","item","index","localized","id","toHexString","blockData","blockFields","blocks","find","slug","blockType","length","tabs","tab","mergeData","copyDataFromLocaleHandler","args","req","copyDataFromLocale","err","payload","logger","error","msg","fromLocale","toLocale","message","collectionSlug","docID","globalSlug","overrideData","collections","globals","user","incomingUserSlug","collection","adminUserSlug","config","admin","adminAccessFunction","access","canAccessAdmin","Error","Promise","allSettled","findGlobal","depth","locale","overrideAccess","findByID","joins","status","updateGlobal","data","value","update"],"sources":["../../src/utilities/copyDataFromLocale.ts"],"sourcesContent":["import ObjectIdImport from 'bson-objectid'\nimport {\n type CollectionSlug,\n type Data,\n type Field,\n formatErrors,\n type PayloadRequest,\n} from 'payload'\nimport { fieldAffectsData, tabHasName } from 'payload/shared'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type CopyDataFromLocaleArgs = {\n collectionSlug?: CollectionSlug\n docID?: number | string\n fromLocale: string\n globalSlug?: string\n overrideData?: boolean\n req: PayloadRequest\n toLocale: string\n}\n\nfunction iterateFields(fields: Field[], fromLocaleData: Data, toLocaleData: Data): void {\n fields.map((field) => {\n if (fieldAffectsData(field)) {\n switch (field.type) {\n case 'array':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((item: Data, index: number) => {\n if (fromLocaleData[field.name]?.[index]) {\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (field.localized) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n iterateFields(field.fields, fromLocaleData[field.name][index], item)\n }\n })\n }\n break\n\n case 'blocks':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((blockData: Data, index: number) => {\n const blockFields = field.blocks.find(\n ({ slug }) => slug === blockData.blockType,\n )?.fields\n\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (field.localized) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n if (blockFields?.length) {\n iterateFields(blockFields, fromLocaleData[field.name][index], blockData)\n }\n })\n }\n\n break\n\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'text':\n case 'textarea':\n case 'upload':\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n }\n break\n\n case 'group': {\n if (field.name in toLocaleData && fromLocaleData?.[field.name] !== undefined) {\n iterateFields(field.fields, fromLocaleData[field.name], toLocaleData[field.name])\n }\n break\n }\n }\n } else {\n switch (field.type) {\n case 'collapsible':\n case 'row':\n iterateFields(field.fields, fromLocaleData, toLocaleData)\n break\n\n case 'tabs':\n field.tabs.map((tab) => {\n if (tabHasName(tab)) {\n if (tab.name in toLocaleData && fromLocaleData?.[tab.name] !== undefined) {\n iterateFields(tab.fields, fromLocaleData[tab.name], toLocaleData[tab.name])\n }\n } else {\n iterateFields(tab.fields, fromLocaleData, toLocaleData)\n }\n })\n break\n }\n }\n })\n}\n\nfunction mergeData(fromLocaleData: Data, toLocaleData: Data, fields: Field[]): Data {\n iterateFields(fields, fromLocaleData, toLocaleData)\n\n return toLocaleData\n}\n\nexport const copyDataFromLocaleHandler = async (args: CopyDataFromLocaleArgs) => {\n const { req } = args\n\n try {\n return await copyDataFromLocale(args)\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error copying data from \"${args.fromLocale}\" to \"${args.toLocale}\"`,\n })\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const copyDataFromLocale = async (args: CopyDataFromLocaleArgs) => {\n const {\n collectionSlug,\n docID,\n fromLocale,\n globalSlug,\n overrideData = false,\n req: {\n payload,\n payload: { collections, globals },\n user,\n },\n req,\n toLocale,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req: args.req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n }\n\n const [fromLocaleData, toLocaleData] = await Promise.allSettled([\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n joins: false,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n joins: false,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n ])\n\n if (fromLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${fromLocale}\"`)\n }\n\n if (toLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${toLocale}\"`)\n }\n\n return globalSlug\n ? await payload.updateGlobal({\n slug: globalSlug,\n data: overrideData\n ? fromLocaleData.value\n : mergeData(fromLocaleData.value, toLocaleData.value, globals[globalSlug].config.fields),\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n : await payload.update({\n id: docID,\n collection: collectionSlug,\n data: overrideData\n ? fromLocaleData.value\n : mergeData(\n fromLocaleData.value,\n toLocaleData.value,\n collections[collectionSlug].config.fields,\n ),\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n}\n"],"mappings":"AAAA,OAAOA,cAAA,MAAoB;AAC3B,SAIEC,YAAY,QAEP;AACP,SAASC,gBAAgB,EAAEC,UAAU,QAAQ;AAE7C,MAAMC,QAAA,GAAYJ,cAAA,CAAeK,OAAO,IACtCL,cAAA;AAYF,SAASM,cAAcC,MAAe,EAAEC,cAAoB,EAAEC,YAAkB;EAC9EF,MAAA,CAAOG,GAAG,CAAEC,KAAA;IACV,IAAIT,gBAAA,CAAiBS,KAAA,GAAQ;MAC3B,QAAQA,KAAA,CAAMC,IAAI;QAChB,KAAK;UACH;UACA,IACED,KAAA,CAAME,IAAI,IAAIJ,YAAA;UACd;UACA,CAAC,MAAMK,SAAA,CAAU,CAACC,QAAQ,CAACN,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,KACnDF,KAAA,CAAME,IAAI,IAAIL,cAAA,EACd;YACAC,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,GAAGL,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC;YACrD;UACF;UAEA;UACA,IAAIF,KAAA,CAAME,IAAI,IAAIJ,YAAA,EAAc;YAC9BA,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,CAACH,GAAG,CAAC,CAACM,IAAA,EAAYC,KAAA;cACxC,IAAIT,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC,GAAGI,KAAA,CAAM,EAAE;gBACvC;gBACA,IAAIN,KAAA,CAAMO,SAAS,EAAE;kBACnBT,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,CAACI,KAAA,CAAM,CAACE,EAAE,GAAG,IAAIf,QAAA,GAAWgB,WAAW;gBACjE;gBAEAd,aAAA,CAAcK,KAAA,CAAMJ,MAAM,EAAEC,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC,CAACI,KAAA,CAAM,EAAED,IAAA;cACjE;YACF;UACF;UACA;QAEF,KAAK;UACH;UACA,IACEL,KAAA,CAAME,IAAI,IAAIJ,YAAA;UACd;UACA,CAAC,MAAMK,SAAA,CAAU,CAACC,QAAQ,CAACN,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,KACnDF,KAAA,CAAME,IAAI,IAAIL,cAAA,EACd;YACAC,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,GAAGL,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC;YACrD;UACF;UAEA;UACA,IAAIF,KAAA,CAAME,IAAI,IAAIJ,YAAA,EAAc;YAC9BA,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,CAACH,GAAG,CAAC,CAACW,SAAA,EAAiBJ,KAAA;cAC7C,MAAMK,WAAA,GAAcX,KAAA,CAAMY,MAAM,CAACC,IAAI,CACnC,CAAC;gBAAEC;cAAI,CAAE,KAAKA,IAAA,KAASJ,SAAA,CAAUK,SAAS,GACzCnB,MAAA;cAEH;cACA,IAAII,KAAA,CAAMO,SAAS,EAAE;gBACnBT,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,CAACI,KAAA,CAAM,CAACE,EAAE,GAAG,IAAIf,QAAA,GAAWgB,WAAW;cACjE;cAEA,IAAIE,WAAA,EAAaK,MAAA,EAAQ;gBACvBrB,aAAA,CAAcgB,WAAA,EAAad,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC,CAACI,KAAA,CAAM,EAAEI,SAAA;cAChE;YACF;UACF;UAEA;QAEF,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;UACH,IACEV,KAAA,CAAME,IAAI,IAAIJ,YAAA;UACd;UACA,CAAC,MAAMK,SAAA,CAAU,CAACC,QAAQ,CAACN,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,KACnDF,KAAA,CAAME,IAAI,IAAIL,cAAA,EACd;YACAC,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,GAAGL,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC;UACvD;UACA;QAEF,KAAK;UAAS;YACZ,IAAIF,KAAA,CAAME,IAAI,IAAIJ,YAAA,IAAgBD,cAAA,GAAiBG,KAAA,CAAME,IAAI,CAAC,KAAKC,SAAA,EAAW;cAC5ER,aAAA,CAAcK,KAAA,CAAMJ,MAAM,EAAEC,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC,EAAEJ,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC;YAClF;YACA;UACF;MACF;IACF,OAAO;MACL,QAAQF,KAAA,CAAMC,IAAI;QAChB,KAAK;QACL,KAAK;UACHN,aAAA,CAAcK,KAAA,CAAMJ,MAAM,EAAEC,cAAA,EAAgBC,YAAA;UAC5C;QAEF,KAAK;UACHE,KAAA,CAAMiB,IAAI,CAAClB,GAAG,CAAEmB,GAAA;YACd,IAAI1B,UAAA,CAAW0B,GAAA,GAAM;cACnB,IAAIA,GAAA,CAAIhB,IAAI,IAAIJ,YAAA,IAAgBD,cAAA,GAAiBqB,GAAA,CAAIhB,IAAI,CAAC,KAAKC,SAAA,EAAW;gBACxER,aAAA,CAAcuB,GAAA,CAAItB,MAAM,EAAEC,cAAc,CAACqB,GAAA,CAAIhB,IAAI,CAAC,EAAEJ,YAAY,CAACoB,GAAA,CAAIhB,IAAI,CAAC;cAC5E;YACF,OAAO;cACLP,aAAA,CAAcuB,GAAA,CAAItB,MAAM,EAAEC,cAAA,EAAgBC,YAAA;YAC5C;UACF;UACA;MACJ;IACF;EACF;AACF;AAEA,SAASqB,UAAUtB,cAAoB,EAAEC,YAAkB,EAAEF,MAAe;EAC1ED,aAAA,CAAcC,MAAA,EAAQC,cAAA,EAAgBC,YAAA;EAEtC,OAAOA,YAAA;AACT;AAEA,OAAO,MAAMsB,yBAAA,GAA4B,MAAOC,IAAA;EAC9C,MAAM;IAAEC;EAAG,CAAE,GAAGD,IAAA;EAEhB,IAAI;IACF,OAAO,MAAME,kBAAA,CAAmBF,IAAA;EAClC,EAAE,OAAOG,GAAA,EAAK;IACZF,GAAA,CAAIG,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;MACvBH,GAAA;MACAI,GAAA,EAAK,yCAAyCP,IAAA,CAAKQ,UAAU,SAASR,IAAA,CAAKS,QAAQ;IACrF;IAEA,IAAIN,GAAA,CAAIO,OAAO,KAAK,gBAAgB;MAClC,OAAO;IACT;IAEA,OAAOzC,YAAA,CAAakC,GAAA;EACtB;AACF;AAEA,OAAO,MAAMD,kBAAA,GAAqB,MAAOF,IAAA;EACvC,MAAM;IACJW,cAAc;IACdC,KAAK;IACLJ,UAAU;IACVK,UAAU;IACVC,YAAA,GAAe,KAAK;IACpBb,GAAA,EAAK;MACHG,OAAO;MACPA,OAAA,EAAS;QAAEW,WAAW;QAAEC;MAAO,CAAE;MACjCC;IAAI,CACL;IACDhB,GAAG;IACHQ;EAAQ,CACT,GAAGT,IAAA;EAEJ,MAAMkB,gBAAA,GAAmBD,IAAA,EAAME,UAAA;EAE/B,MAAMC,aAAA,GAAgBhB,OAAA,CAAQiB,MAAM,CAACC,KAAK,CAACL,IAAI;EAE/C;EACA,IAAIC,gBAAA,EAAkB;IACpB,MAAMK,mBAAA,GAAsBnB,OAAA,CAAQW,WAAW,CAACG,gBAAA,CAAiB,CAACG,MAAM,CAACG,MAAM,EAAEF,KAAA;IAEjF;IACA,IAAIC,mBAAA,EAAqB;MACvB,MAAME,cAAA,GAAiB,MAAMF,mBAAA,CAAoB;QAAEtB,GAAA,EAAKD,IAAA,CAAKC;MAAI;MAEjE,IAAI,CAACwB,cAAA,EAAgB;QACnB,MAAM,IAAIC,KAAA,CAAM;MAClB;MACA;IACF,OAAO,IAAIN,aAAA,KAAkBF,gBAAA,EAAkB;MAC7C,MAAM,IAAIQ,KAAA,CAAM;IAClB;EACF;EAEA,MAAM,CAAClD,cAAA,EAAgBC,YAAA,CAAa,GAAG,MAAMkD,OAAA,CAAQC,UAAU,CAAC,CAC9Df,UAAA,GACIT,OAAA,CAAQyB,UAAU,CAAC;IACjBpC,IAAA,EAAMoB,UAAA;IACNiB,KAAA,EAAO;IACPC,MAAA,EAAQvB,UAAA;IACRwB,cAAA,EAAgB;IAChBf;EAEF,KACAb,OAAA,CAAQ6B,QAAQ,CAAC;IACf9C,EAAA,EAAIyB,KAAA;IACJO,UAAA,EAAYR,cAAA;IACZmB,KAAA,EAAO;IACPI,KAAA,EAAO;IACPH,MAAA,EAAQvB,UAAA;IACRwB,cAAA,EAAgB;IAChBf;EAEF,IACJJ,UAAA,GACIT,OAAA,CAAQyB,UAAU,CAAC;IACjBpC,IAAA,EAAMoB,UAAA;IACNiB,KAAA,EAAO;IACPC,MAAA,EAAQtB,QAAA;IACRuB,cAAA,EAAgB;IAChBf;EAEF,KACAb,OAAA,CAAQ6B,QAAQ,CAAC;IACf9C,EAAA,EAAIyB,KAAA;IACJO,UAAA,EAAYR,cAAA;IACZmB,KAAA,EAAO;IACPI,KAAA,EAAO;IACPH,MAAA,EAAQtB,QAAA;IACRuB,cAAA,EAAgB;IAChBf;EAEF,GACL;EAED,IAAIzC,cAAA,CAAe2D,MAAM,KAAK,YAAY;IACxC,MAAM,IAAIT,KAAA,CAAM,oCAAoClB,UAAA,GAAa;EACnE;EAEA,IAAI/B,YAAA,CAAa0D,MAAM,KAAK,YAAY;IACtC,MAAM,IAAIT,KAAA,CAAM,oCAAoCjB,QAAA,GAAW;EACjE;EAEA,OAAOI,UAAA,GACH,MAAMT,OAAA,CAAQgC,YAAY,CAAC;IACzB3C,IAAA,EAAMoB,UAAA;IACNwB,IAAA,EAAMvB,YAAA,GACFtC,cAAA,CAAe8D,KAAK,GACpBxC,SAAA,CAAUtB,cAAA,CAAe8D,KAAK,EAAE7D,YAAA,CAAa6D,KAAK,EAAEtB,OAAO,CAACH,UAAA,CAAW,CAACQ,MAAM,CAAC9C,MAAM;IACzFwD,MAAA,EAAQtB,QAAA;IACRuB,cAAA,EAAgB;IAChB/B,GAAA;IACAgB;EACF,KACA,MAAMb,OAAA,CAAQmC,MAAM,CAAC;IACnBpD,EAAA,EAAIyB,KAAA;IACJO,UAAA,EAAYR,cAAA;IACZ0B,IAAA,EAAMvB,YAAA,GACFtC,cAAA,CAAe8D,KAAK,GACpBxC,SAAA,CACEtB,cAAA,CAAe8D,KAAK,EACpB7D,YAAA,CAAa6D,KAAK,EAClBvB,WAAW,CAACJ,cAAA,CAAe,CAACU,MAAM,CAAC9C,MAAM;IAE/CwD,MAAA,EAAQtB,QAAA;IACRuB,cAAA,EAAgB;IAChB/B,GAAA;IACAgB;EACF;AACN","ignoreList":[]}
@@ -3,8 +3,9 @@ type FormatDateArgs = {
3
3
  date: Date | number | string | undefined;
4
4
  i18n: I18n<any, any>;
5
5
  pattern: string;
6
+ timezone?: string;
6
7
  };
7
- export declare const formatDate: ({ date, i18n, pattern }: FormatDateArgs) => string;
8
+ export declare const formatDate: ({ date, i18n, pattern, timezone }: FormatDateArgs) => string;
8
9
  type FormatTimeToNowArgs = {
9
10
  date: Date | number | string | undefined;
10
11
  i18n: I18n<any, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"formatDate.d.ts","sourceRoot":"","sources":["../../src/utilities/formatDate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAIpD,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACxC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,UAAU,4BAA6B,cAAc,KAAG,MAKpE,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACxC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,eAAe,mBAAoB,mBAAmB,KAAG,MAKrE,CAAA"}
1
+ {"version":3,"file":"formatDate.d.ts","sourceRoot":"","sources":["../../src/utilities/formatDate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAKpD,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACxC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,UAAU,sCAAuC,cAAc,KAAG,MAoB9E,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACxC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,eAAe,mBAAoB,mBAAmB,KAAG,MAKrE,CAAA"}
@@ -1,10 +1,22 @@
1
- import { format, formatDistanceToNow } from 'date-fns';
1
+ import { TZDateMini as TZDate } from '@date-fns/tz/date/mini';
2
+ import { format, formatDistanceToNow, transpose } from 'date-fns';
2
3
  export const formatDate = ({
3
4
  date,
4
5
  i18n,
5
- pattern
6
+ pattern,
7
+ timezone
6
8
  }) => {
7
- const theDate = new Date(date);
9
+ const theDate = new TZDate(new Date(date));
10
+ if (timezone) {
11
+ const DateWithOriginalTz = TZDate.tz(timezone);
12
+ const modifiedDate = theDate.withTimeZone(timezone);
13
+ // Transpose the date to the selected timezone
14
+ const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz);
15
+ // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone
16
+ return i18n.dateFNS ? format(dateWithTimezone, pattern, {
17
+ locale: i18n.dateFNS
18
+ }) : `${i18n.t('general:loading')}...`;
19
+ }
8
20
  return i18n.dateFNS ? format(theDate, pattern, {
9
21
  locale: i18n.dateFNS
10
22
  }) : `${i18n.t('general:loading')}...`;
@@ -1 +1 @@
1
- {"version":3,"file":"formatDate.js","names":["format","formatDistanceToNow","formatDate","date","i18n","pattern","theDate","Date","dateFNS","locale","t","formatTimeToNow"],"sources":["../../src/utilities/formatDate.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\n\nimport { format, formatDistanceToNow } from 'date-fns'\n\ntype FormatDateArgs = {\n date: Date | number | string | undefined\n i18n: I18n<any, any>\n pattern: string\n}\n\nexport const formatDate = ({ date, i18n, pattern }: FormatDateArgs): string => {\n const theDate = new Date(date)\n return i18n.dateFNS\n ? format(theDate, pattern, { locale: i18n.dateFNS })\n : `${i18n.t('general:loading')}...`\n}\n\ntype FormatTimeToNowArgs = {\n date: Date | number | string | undefined\n i18n: I18n<any, any>\n}\n\nexport const formatTimeToNow = ({ date, i18n }: FormatTimeToNowArgs): string => {\n const theDate = new Date(date)\n return i18n?.dateFNS\n ? formatDistanceToNow(theDate, { locale: i18n.dateFNS })\n : `${i18n.t('general:loading')}...`\n}\n"],"mappings":"AAEA,SAASA,MAAM,EAAEC,mBAAmB,QAAQ;AAQ5C,OAAO,MAAMC,UAAA,GAAaA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAO,CAAkB;EAChE,MAAMC,OAAA,GAAU,IAAIC,IAAA,CAAKJ,IAAA;EACzB,OAAOC,IAAA,CAAKI,OAAO,GACfR,MAAA,CAAOM,OAAA,EAASD,OAAA,EAAS;IAAEI,MAAA,EAAQL,IAAA,CAAKI;EAAQ,KAChD,GAAGJ,IAAA,CAAKM,CAAC,CAAC,uBAAuB;AACvC;AAOA,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAAER,IAAI;EAAEC;AAAI,CAAuB;EACjE,MAAME,OAAA,GAAU,IAAIC,IAAA,CAAKJ,IAAA;EACzB,OAAOC,IAAA,EAAMI,OAAA,GACTP,mBAAA,CAAoBK,OAAA,EAAS;IAAEG,MAAA,EAAQL,IAAA,CAAKI;EAAQ,KACpD,GAAGJ,IAAA,CAAKM,CAAC,CAAC,uBAAuB;AACvC","ignoreList":[]}
1
+ {"version":3,"file":"formatDate.js","names":["TZDateMini","TZDate","format","formatDistanceToNow","transpose","formatDate","date","i18n","pattern","timezone","theDate","Date","DateWithOriginalTz","tz","modifiedDate","withTimeZone","dateWithTimezone","dateFNS","locale","t","formatTimeToNow"],"sources":["../../src/utilities/formatDate.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { format, formatDistanceToNow, transpose } from 'date-fns'\n\ntype FormatDateArgs = {\n date: Date | number | string | undefined\n i18n: I18n<any, any>\n pattern: string\n timezone?: string\n}\n\nexport const formatDate = ({ date, i18n, pattern, timezone }: FormatDateArgs): string => {\n const theDate = new TZDate(new Date(date))\n\n if (timezone) {\n const DateWithOriginalTz = TZDate.tz(timezone)\n\n const modifiedDate = theDate.withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n return i18n.dateFNS\n ? format(dateWithTimezone, pattern, { locale: i18n.dateFNS })\n : `${i18n.t('general:loading')}...`\n }\n\n return i18n.dateFNS\n ? format(theDate, pattern, { locale: i18n.dateFNS })\n : `${i18n.t('general:loading')}...`\n}\n\ntype FormatTimeToNowArgs = {\n date: Date | number | string | undefined\n i18n: I18n<any, any>\n}\n\nexport const formatTimeToNow = ({ date, i18n }: FormatTimeToNowArgs): string => {\n const theDate = new Date(date)\n return i18n?.dateFNS\n ? formatDistanceToNow(theDate, { locale: i18n.dateFNS })\n : `${i18n.t('general:loading')}...`\n}\n"],"mappings":"AAEA,SAASA,UAAA,IAAcC,MAAM,QAAQ;AACrC,SAASC,MAAM,EAAEC,mBAAmB,EAAEC,SAAS,QAAQ;AASvD,OAAO,MAAMC,UAAA,GAAaA,CAAC;EAAEC,IAAI;EAAEC,IAAI;EAAEC,OAAO;EAAEC;AAAQ,CAAkB;EAC1E,MAAMC,OAAA,GAAU,IAAIT,MAAA,CAAO,IAAIU,IAAA,CAAKL,IAAA;EAEpC,IAAIG,QAAA,EAAU;IACZ,MAAMG,kBAAA,GAAqBX,MAAA,CAAOY,EAAE,CAACJ,QAAA;IAErC,MAAMK,YAAA,GAAeJ,OAAA,CAAQK,YAAY,CAACN,QAAA;IAE1C;IACA,MAAMO,gBAAA,GAAmBZ,SAAA,CAAUU,YAAA,EAAcF,kBAAA;IAEjD;IACA,OAAOL,IAAA,CAAKU,OAAO,GACff,MAAA,CAAOc,gBAAA,EAAkBR,OAAA,EAAS;MAAEU,MAAA,EAAQX,IAAA,CAAKU;IAAQ,KACzD,GAAGV,IAAA,CAAKY,CAAC,CAAC,uBAAuB;EACvC;EAEA,OAAOZ,IAAA,CAAKU,OAAO,GACff,MAAA,CAAOQ,OAAA,EAASF,OAAA,EAAS;IAAEU,MAAA,EAAQX,IAAA,CAAKU;EAAQ,KAChD,GAAGV,IAAA,CAAKY,CAAC,CAAC,uBAAuB;AACvC;AAOA,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAAEd,IAAI;EAAEC;AAAI,CAAuB;EACjE,MAAMG,OAAA,GAAU,IAAIC,IAAA,CAAKL,IAAA;EACzB,OAAOC,IAAA,EAAMU,OAAA,GACTd,mBAAA,CAAoBO,OAAA,EAAS;IAAEQ,MAAA,EAAQX,IAAA,CAAKU;EAAQ,KACpD,GAAGV,IAAA,CAAKY,CAAC,CAAC,uBAAuB;AACvC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getClientConfig.js","names":["createClientConfig","cache","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","_payload_doNotCacheClientConfig","config","i18n","importMap"],"sources":["../../src/utilities/getClientConfig.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientConfig, ImportMap, SanitizedConfig } from 'payload'\n\nimport { createClientConfig } from 'payload'\nimport { cache } from 'react'\n\nlet cachedClientConfig: ClientConfig | null = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = cache(\n (args: { config: SanitizedConfig; i18n: I18nClient; importMap: ImportMap }): ClientConfig => {\n if (cachedClientConfig && !global._payload_doNotCacheClientConfig) {\n return cachedClientConfig\n }\n\n const { config, i18n, importMap } = args\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n importMap,\n })\n\n global._payload_clientConfig = cachedClientConfig\n\n global._payload_doNotCacheClientConfig = false\n\n return cachedClientConfig\n },\n)\n"],"mappings":"AAGA,SAASA,kBAAkB,QAAQ;AACnC,SAASC,KAAK,QAAQ;AAEtB,IAAIC,kBAAA,GAA0CC,MAAA,CAAOC,qBAAqB;AAE1E,IAAI,CAACF,kBAAA,EAAoB;EACvBA,kBAAA,GAAqBC,MAAA,CAAOC,qBAAqB,GAAG;AACtD;AAEA,OAAO,MAAMC,eAAA,GAAkBJ,KAAA,CAC5BK,IAAA;EACC,IAAIJ,kBAAA,IAAsB,CAACC,MAAA,CAAOI,+BAA+B,EAAE;IACjE,OAAOL,kBAAA;EACT;EAEA,MAAM;IAAEM,MAAM;IAAEC,IAAI;IAAEC;EAAS,CAAE,GAAGJ,IAAA;EAEpCJ,kBAAA,GAAqBF,kBAAA,CAAmB;IACtCQ,MAAA;IACAC,IAAA;IACAC;EACF;EAEAP,MAAA,CAAOC,qBAAqB,GAAGF,kBAAA;EAE/BC,MAAA,CAAOI,+BAA+B,GAAG;EAEzC,OAAOL,kBAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getClientConfig.js","names":["createClientConfig","cache","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","_payload_doNotCacheClientConfig","config","i18n","importMap"],"sources":["../../src/utilities/getClientConfig.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientConfig, ImportMap, SanitizedConfig } from 'payload'\n\nimport { createClientConfig } from 'payload'\nimport { cache } from 'react'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = cache(\n (args: { config: SanitizedConfig; i18n: I18nClient; importMap: ImportMap }): ClientConfig => {\n if (cachedClientConfig && !global._payload_doNotCacheClientConfig) {\n return cachedClientConfig\n }\n\n const { config, i18n, importMap } = args\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n importMap,\n })\n\n global._payload_clientConfig = cachedClientConfig\n\n global._payload_doNotCacheClientConfig = false\n\n return cachedClientConfig\n },\n)\n"],"mappings":"AAGA,SAASA,kBAAkB,QAAQ;AACnC,SAASC,KAAK,QAAQ;AAEtB,IAAIC,kBAAA,GAAqBC,MAAA,CAAOC,qBAAqB;AAErD,IAAI,CAACF,kBAAA,EAAoB;EACvBA,kBAAA,GAAqBC,MAAA,CAAOC,qBAAqB,GAAG;AACtD;AAEA,OAAO,MAAMC,eAAA,GAAkBJ,KAAA,CAC5BK,IAAA;EACC,IAAIJ,kBAAA,IAAsB,CAACC,MAAA,CAAOI,+BAA+B,EAAE;IACjE,OAAOL,kBAAA;EACT;EAEA,MAAM;IAAEM,MAAM;IAAEC,IAAI;IAAEC;EAAS,CAAE,GAAGJ,IAAA;EAEpCJ,kBAAA,GAAqBF,kBAAA,CAAmB;IACtCQ,MAAA;IACAC,IAAA;IACAC;EACF;EAEAP,MAAA,CAAOC,qBAAqB,GAAGF,kBAAA;EAE/BC,MAAA,CAAOI,+BAA+B,GAAG;EAEzC,OAAOL,kBAAA;AACT","ignoreList":[]}
@@ -6,8 +6,9 @@ export type SchedulePublishHandlerArgs = {
6
6
  */
7
7
  deleteID?: number | string;
8
8
  req: PayloadRequest;
9
+ timezone?: string;
9
10
  } & SchedulePublishTaskInput;
10
- export declare const schedulePublishHandler: ({ type, date, deleteID, doc, global, locale, req, }: SchedulePublishHandlerArgs) => Promise<{
11
+ export declare const schedulePublishHandler: ({ type, date, deleteID, doc, global, locale, req, timezone, }: SchedulePublishHandlerArgs) => Promise<{
11
12
  error: any;
12
13
  message?: undefined;
13
14
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"schedulePublishHandler.d.ts","sourceRoot":"","sources":["../../src/utilities/schedulePublishHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEvE,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,CAAC,EAAE,IAAI,CAAA;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;CACpB,GAAG,wBAAwB,CAAA;AAE5B,eAAO,MAAM,sBAAsB,wDAQhC,0BAA0B;;;;;;EAkE5B,CAAA"}
1
+ {"version":3,"file":"schedulePublishHandler.d.ts","sourceRoot":"","sources":["../../src/utilities/schedulePublishHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEvE,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,CAAC,EAAE,IAAI,CAAA;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,wBAAwB,CAAA;AAE5B,eAAO,MAAM,sBAAsB,kEAShC,0BAA0B;;;;;;EAmE5B,CAAA"}
@@ -5,7 +5,8 @@ export const schedulePublishHandler = async ({
5
5
  doc,
6
6
  global,
7
7
  locale,
8
- req
8
+ req,
9
+ timezone
9
10
  }) => {
10
11
  const {
11
12
  i18n,
@@ -48,6 +49,7 @@ export const schedulePublishHandler = async ({
48
49
  doc,
49
50
  global,
50
51
  locale,
52
+ timezone,
51
53
  user: user.id
52
54
  },
53
55
  task: 'schedulePublish',
@@ -1 +1 @@
1
- {"version":3,"file":"schedulePublishHandler.js","names":["schedulePublishHandler","type","date","deleteID","doc","global","locale","req","i18n","payload","user","incomingUserSlug","collection","adminUserSlug","config","admin","Error","adminAccessFunction","collections","access","canAccessAdmin","delete","where","id","equals","jobs","queue","input","task","waitUntil","err","error","value","relationTo","logger","message","t"],"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import type { PayloadRequest, SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date?: Date\n /**\n * The job id to delete to remove a scheduled publish event\n */\n deleteID?: number | string\n req: PayloadRequest\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n deleteID,\n doc,\n global,\n locale,\n req,\n}: SchedulePublishHandlerArgs) => {\n const { i18n, payload, user } = req\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = payload.config.admin.user\n\n if (!incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n try {\n if (deleteID) {\n await payload.delete({\n collection: 'payload-jobs',\n req,\n where: { id: { equals: deleteID } },\n })\n }\n\n await payload.jobs.queue({\n input: {\n type,\n doc,\n global,\n locale,\n user: user.id,\n },\n task: 'schedulePublish',\n waitUntil: date,\n })\n } catch (err) {\n let error\n\n if (deleteID) {\n error = `Error deleting scheduled publish event with ID ${deleteID}`\n } else {\n error = `Error scheduling ${type} for `\n if (doc) {\n error += `document with ID ${doc.value} in collection ${doc.relationTo}`\n }\n }\n\n payload.logger.error(error)\n payload.logger.error(err)\n\n return {\n error,\n }\n }\n\n return { message: i18n.t('general:success') }\n}\n"],"mappings":"AAWA,OAAO,MAAMA,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,IAAI;EACJC,IAAI;EACJC,QAAQ;EACRC,GAAG;EACHC,MAAM;EACNC,MAAM;EACNC;AAAG,CACwB;EAC3B,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAE,GAAGH,GAAA;EAEhC,MAAMI,gBAAA,GAAmBD,IAAA,EAAME,UAAA;EAE/B,MAAMC,aAAA,GAAgBJ,OAAA,CAAQK,MAAM,CAACC,KAAK,CAACL,IAAI;EAE/C,IAAI,CAACC,gBAAA,EAAkB;IACrB,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,MAAMC,mBAAA,GAAsBR,OAAA,CAAQS,WAAW,CAACP,gBAAA,CAAiB,CAACG,MAAM,CAACK,MAAM,EAAEJ,KAAA;EAEjF;EACA,IAAIE,mBAAA,EAAqB;IACvB,MAAMG,cAAA,GAAiB,MAAMH,mBAAA,CAAoB;MAAEV;IAAI;IAEvD,IAAI,CAACa,cAAA,EAAgB;MACnB,MAAM,IAAIJ,KAAA,CAAM;IAClB;IACA;EACF,OAAO,IAAIH,aAAA,KAAkBF,gBAAA,EAAkB;IAC7C,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,IAAI;IACF,IAAIb,QAAA,EAAU;MACZ,MAAMM,OAAA,CAAQY,MAAM,CAAC;QACnBT,UAAA,EAAY;QACZL,GAAA;QACAe,KAAA,EAAO;UAAEC,EAAA,EAAI;YAAEC,MAAA,EAAQrB;UAAS;QAAE;MACpC;IACF;IAEA,MAAMM,OAAA,CAAQgB,IAAI,CAACC,KAAK,CAAC;MACvBC,KAAA,EAAO;QACL1B,IAAA;QACAG,GAAA;QACAC,MAAA;QACAC,MAAA;QACAI,IAAA,EAAMA,IAAA,CAAKa;MACb;MACAK,IAAA,EAAM;MACNC,SAAA,EAAW3B;IACb;EACF,EAAE,OAAO4B,GAAA,EAAK;IACZ,IAAIC,KAAA;IAEJ,IAAI5B,QAAA,EAAU;MACZ4B,KAAA,GAAQ,kDAAkD5B,QAAA,EAAU;IACtE,OAAO;MACL4B,KAAA,GAAQ,oBAAoB9B,IAAA,OAAW;MACvC,IAAIG,GAAA,EAAK;QACP2B,KAAA,IAAS,oBAAoB3B,GAAA,CAAI4B,KAAK,kBAAkB5B,GAAA,CAAI6B,UAAU,EAAE;MAC1E;IACF;IAEAxB,OAAA,CAAQyB,MAAM,CAACH,KAAK,CAACA,KAAA;IACrBtB,OAAA,CAAQyB,MAAM,CAACH,KAAK,CAACD,GAAA;IAErB,OAAO;MACLC;IACF;EACF;EAEA,OAAO;IAAEI,OAAA,EAAS3B,IAAA,CAAK4B,CAAC,CAAC;EAAmB;AAC9C","ignoreList":[]}
1
+ {"version":3,"file":"schedulePublishHandler.js","names":["schedulePublishHandler","type","date","deleteID","doc","global","locale","req","timezone","i18n","payload","user","incomingUserSlug","collection","adminUserSlug","config","admin","Error","adminAccessFunction","collections","access","canAccessAdmin","delete","where","id","equals","jobs","queue","input","task","waitUntil","err","error","value","relationTo","logger","message","t"],"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import type { PayloadRequest, SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date?: Date\n /**\n * The job id to delete to remove a scheduled publish event\n */\n deleteID?: number | string\n req: PayloadRequest\n timezone?: string\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n deleteID,\n doc,\n global,\n locale,\n req,\n timezone,\n}: SchedulePublishHandlerArgs) => {\n const { i18n, payload, user } = req\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = payload.config.admin.user\n\n if (!incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n try {\n if (deleteID) {\n await payload.delete({\n collection: 'payload-jobs',\n req,\n where: { id: { equals: deleteID } },\n })\n }\n\n await payload.jobs.queue({\n input: {\n type,\n doc,\n global,\n locale,\n timezone,\n user: user.id,\n },\n task: 'schedulePublish',\n waitUntil: date,\n })\n } catch (err) {\n let error\n\n if (deleteID) {\n error = `Error deleting scheduled publish event with ID ${deleteID}`\n } else {\n error = `Error scheduling ${type} for `\n if (doc) {\n error += `document with ID ${doc.value} in collection ${doc.relationTo}`\n }\n }\n\n payload.logger.error(error)\n payload.logger.error(err)\n\n return {\n error,\n }\n }\n\n return { message: i18n.t('general:success') }\n}\n"],"mappings":"AAYA,OAAO,MAAMA,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,IAAI;EACJC,IAAI;EACJC,QAAQ;EACRC,GAAG;EACHC,MAAM;EACNC,MAAM;EACNC,GAAG;EACHC;AAAQ,CACmB;EAC3B,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAE,GAAGJ,GAAA;EAEhC,MAAMK,gBAAA,GAAmBD,IAAA,EAAME,UAAA;EAE/B,MAAMC,aAAA,GAAgBJ,OAAA,CAAQK,MAAM,CAACC,KAAK,CAACL,IAAI;EAE/C,IAAI,CAACC,gBAAA,EAAkB;IACrB,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,MAAMC,mBAAA,GAAsBR,OAAA,CAAQS,WAAW,CAACP,gBAAA,CAAiB,CAACG,MAAM,CAACK,MAAM,EAAEJ,KAAA;EAEjF;EACA,IAAIE,mBAAA,EAAqB;IACvB,MAAMG,cAAA,GAAiB,MAAMH,mBAAA,CAAoB;MAAEX;IAAI;IAEvD,IAAI,CAACc,cAAA,EAAgB;MACnB,MAAM,IAAIJ,KAAA,CAAM;IAClB;IACA;EACF,OAAO,IAAIH,aAAA,KAAkBF,gBAAA,EAAkB;IAC7C,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,IAAI;IACF,IAAId,QAAA,EAAU;MACZ,MAAMO,OAAA,CAAQY,MAAM,CAAC;QACnBT,UAAA,EAAY;QACZN,GAAA;QACAgB,KAAA,EAAO;UAAEC,EAAA,EAAI;YAAEC,MAAA,EAAQtB;UAAS;QAAE;MACpC;IACF;IAEA,MAAMO,OAAA,CAAQgB,IAAI,CAACC,KAAK,CAAC;MACvBC,KAAA,EAAO;QACL3B,IAAA;QACAG,GAAA;QACAC,MAAA;QACAC,MAAA;QACAE,QAAA;QACAG,IAAA,EAAMA,IAAA,CAAKa;MACb;MACAK,IAAA,EAAM;MACNC,SAAA,EAAW5B;IACb;EACF,EAAE,OAAO6B,GAAA,EAAK;IACZ,IAAIC,KAAA;IAEJ,IAAI7B,QAAA,EAAU;MACZ6B,KAAA,GAAQ,kDAAkD7B,QAAA,EAAU;IACtE,OAAO;MACL6B,KAAA,GAAQ,oBAAoB/B,IAAA,OAAW;MACvC,IAAIG,GAAA,EAAK;QACP4B,KAAA,IAAS,oBAAoB5B,GAAA,CAAI6B,KAAK,kBAAkB7B,GAAA,CAAI8B,UAAU,EAAE;MAC1E;IACF;IAEAxB,OAAA,CAAQyB,MAAM,CAACH,KAAK,CAACA,KAAA;IACrBtB,OAAA,CAAQyB,MAAM,CAACH,KAAK,CAACD,GAAA;IAErB,OAAO;MACLC;IACF;EACF;EAEA,OAAO;IAAEI,OAAA,EAAS3B,IAAA,CAAK4B,CAAC,CAAC;EAAmB;AAC9C","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.23.0-canary.f63b80a",
3
+ "version": "3.23.0",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -132,7 +132,7 @@
132
132
  "ts-essentials": "10.0.3",
133
133
  "use-context-selector": "2.0.0",
134
134
  "uuid": "10.0.0",
135
- "@payloadcms/translations": "3.23.0-canary.f63b80a"
135
+ "@payloadcms/translations": "3.23.0"
136
136
  },
137
137
  "devDependencies": {
138
138
  "@babel/cli": "7.26.4",
@@ -148,14 +148,14 @@
148
148
  "esbuild": "0.24.2",
149
149
  "esbuild-sass-plugin": "3.3.1",
150
150
  "eslint-plugin-react-compiler": "19.0.0-beta-714736e-20250131",
151
- "@payloadcms/eslint-config": "3.9.0",
152
- "payload": "3.23.0-canary.f63b80a"
151
+ "payload": "3.23.0",
152
+ "@payloadcms/eslint-config": "3.9.0"
153
153
  },
154
154
  "peerDependencies": {
155
155
  "next": "^15.0.0",
156
156
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
157
157
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
158
- "payload": "3.23.0-canary.f63b80a"
158
+ "payload": "3.23.0"
159
159
  },
160
160
  "engines": {
161
161
  "node": "^18.20.2 || >=20.9.0"
@@ -1,7 +0,0 @@
1
- @import '../../scss/styles.scss';
2
-
3
- @layer payload-default {
4
- .view-description {
5
- margin-block-end: calc(var(--base));
6
- }
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"reduceClientFields.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/reduceClientFields.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAMhD,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,+CAK5B,sBAAsB,KAAG,cAAc,EA2IzC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"reduceClientFields.js","names":["getTranslation","fieldIsHiddenOrDisabled","fieldIsID","tabHasName","createNestedClientFieldPath","combineLabel","fieldTypes","reduceClientFields","fields","i18n","labelPrefix","pathPrefix","reduce","reduced","field","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","name","push","translatedLabel","pathWithPrefix","operatorKeys","Set","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","formattedValue","formattedField"],"sources":["../../../src/elements/WhereBuilder/reduceClientFields.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared'\n\nimport type { FieldCondition } from './types.js'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { combineLabel } from '../FieldSelect/index.js'\nimport fieldTypes from './field-types.js'\n\nexport type ReduceClientFieldsArgs = {\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Reduces a field map to a flat array of fields with labels and values.\n * Used in the WhereBuilder component to render the fields in the dropdown.\n */\nexport const reduceClientFields = ({\n fields,\n i18n,\n labelPrefix,\n pathPrefix,\n}: ReduceClientFieldsArgs): FieldCondition[] => {\n return fields.reduce((reduced, field) => {\n // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query\n if (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) {\n return reduced\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceClientFields({\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceClientFields({\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceClientFields({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceClientFields({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n return reduced\n }\n\n if (typeof fieldTypes[field.type] === 'object') {\n const operatorKeys = new Set()\n const operators = fieldTypes[field.type].operators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n const formattedValue = pathPrefix\n ? createNestedClientFieldPath(pathPrefix, field)\n : field.name\n\n const formattedField: FieldCondition = {\n label: formattedLabel,\n value: formattedValue,\n ...fieldTypes[field.type],\n field,\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n return reduced\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,26 +0,0 @@
1
- "use client";
2
- // Workaround for react-datepicker and other cjs dependencies potentially inserting require("react") statements
3
- import * as requireReact from 'react';
4
- import * as requireReactDom from 'react-dom';
5
-
6
- function require(m) {
7
- if (m === 'react') return requireReact;
8
- if (m === 'react-dom') return requireReactDom;
9
- throw new Error(`Unknown module ${m}`);
10
- }
11
- // Workaround end
12
-
13
- import{c as Sr}from"react/compiler-runtime";import{jsx as Ue}from"react/jsx-runtime";function Fe(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function se(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function re(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?se(Object(r),!0).forEach(function(n){Fe(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):se(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function ze(t,e){if(t==null)return{};var r={},n=Object.keys(t),o,i;for(i=0;i<n.length;i++)o=n[i],!(e.indexOf(o)>=0)&&(r[o]=t[o]);return r}function de(t,e){if(t==null)return{};var r=ze(t,e),n,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o<i.length;o++)n=i[o],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function me(t,e){return Ke(t)||Ge(t,e)||Ye(t,e)||Je()}function Ke(t){if(Array.isArray(t))return t}function Ge(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var r=[],n=!0,o=!1,i=void 0;try{for(var c=t[Symbol.iterator](),a;!(n=(a=c.next()).done)&&(r.push(a.value),!(e&&r.length===e));n=!0);}catch(u){o=!0,i=u}finally{try{!n&&c.return!=null&&c.return()}finally{if(o)throw i}}return r}}function Ye(t,e){if(t){if(typeof t=="string")return fe(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fe(t,e)}}function fe(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Je(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
14
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qe(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function pe(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function ge(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?pe(Object(r),!0).forEach(function(n){Qe(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):pe(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Xe(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(n){return e.reduceRight(function(o,i){return i(o)},n)}}function W(t){return function e(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=t.length?t.apply(this,o):function(){for(var c=arguments.length,a=new Array(c),u=0;u<c;u++)a[u]=arguments[u];return e.apply(r,[].concat(o,a))}}}function G(t){return{}.toString.call(t).includes("Object")}function Ze(t){return!Object.keys(t).length}function H(t){return typeof t=="function"}function et(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function tt(t,e){return G(e)||A("changeType"),Object.keys(e).some(function(r){return!et(t,r)})&&A("changeField"),e}function rt(t){H(t)||A("selectorType")}function nt(t){H(t)||G(t)||A("handlerType"),G(t)&&Object.values(t).some(function(e){return!H(e)})&&A("handlersType")}function ot(t){t||A("initialIsRequired"),G(t)||A("initialType"),Ze(t)&&A("initialContent")}function it(t,e){throw new Error(t[e]||t.default)}var at={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},A=W(it)(at),K={changes:tt,selector:rt,handler:nt,initial:ot};function ct(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};K.initial(t),K.handler(e);var r={current:t},n=W(st)(r,e),o=W(lt)(r),i=W(K.changes)(t),c=W(ut)(r);function a(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(m){return m};return K.selector(l),l(r.current)}function u(l){Xe(n,o,i,c)(l)}return[a,u]}function ut(t,e){return H(e)?e(t.current):e}function lt(t,e){return t.current=ge(ge({},t.current),e),e}function st(t,e,r){return H(e)?e(t.current):Object.keys(r).forEach(function(n){var o;return(o=e[n])===null||o===void 0?void 0:o.call(e,t.current[n])}),r}var ft={create:ct},he=ft;var dt={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}},ve=dt;function mt(t){return function e(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=t.length?t.apply(this,o):function(){for(var c=arguments.length,a=new Array(c),u=0;u<c;u++)a[u]=arguments[u];return e.apply(r,[].concat(o,a))}}}var be=mt;function pt(t){return{}.toString.call(t).includes("Object")}var ye=pt;function gt(t){return t||we("configIsRequired"),ye(t)||we("configType"),t.urls?(ht(),{paths:{vs:t.urls.monacoBase}}):t}function ht(){console.warn(Oe.deprecation)}function vt(t,e){throw new Error(t[e]||t.default)}var Oe={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
15
- You are using deprecated way of configuration.
16
-
17
- Instead of using
18
- monaco.config({ urls: { monacoBase: '...' } })
19
- use
20
- monaco.config({ paths: { vs: '...' } })
21
-
22
- For more please check the link https://github.com/suren-atoyan/monaco-loader#config
23
- `},we=be(vt)(Oe),bt={config:gt},je=bt;var yt=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return function(o){return r.reduceRight(function(i,c){return c(i)},o)}},Me=yt;function xe(t,e){return Object.keys(e).forEach(function(r){e[r]instanceof Object&&t[r]&&Object.assign(e[r],xe(t[r],e[r]))}),re(re({},t),e)}var Se=xe;var wt={type:"cancelation",msg:"operation is manually canceled"};function Ot(t){var e=!1,r=new Promise(function(n,o){t.then(function(i){return e?o(wt):n(i)}),t.catch(o)});return r.cancel=function(){return e=!0},r}var Y=Ot;var jt=he.create({config:ve,isInitialized:!1,resolve:null,reject:null,monaco:null}),Ee=me(jt,2),B=Ee[0],J=Ee[1];function Mt(t){var e=je.config(t),r=e.monaco,n=de(e,["monaco"]);J(function(o){return{config:Se(o.config,n),monaco:r}})}function xt(){var t=B(function(e){var r=e.monaco,n=e.isInitialized,o=e.resolve;return{monaco:r,isInitialized:n,resolve:o}});if(!t.isInitialized){if(J({isInitialized:!0}),t.monaco)return t.resolve(t.monaco),Y(ne);if(window.monaco&&window.monaco.editor)return Ce(window.monaco),t.resolve(window.monaco),Y(ne);Me(St,Ct)(Pt)}return Y(ne)}function St(t){return document.body.appendChild(t)}function Et(t){var e=document.createElement("script");return t&&(e.src=t),e}function Ct(t){var e=B(function(n){var o=n.config,i=n.reject;return{config:o,reject:i}}),r=Et("".concat(e.config.paths.vs,"/loader.js"));return r.onload=function(){return t()},r.onerror=e.reject,r}function Pt(){var t=B(function(r){var n=r.config,o=r.resolve,i=r.reject;return{config:n,resolve:o,reject:i}}),e=window.require;e.config(t.config),e(["vs/editor/editor.main"],function(r){Ce(r),t.resolve(r)},function(r){t.reject(r)})}function Ce(t){B().monaco||J({monaco:t})}function Tt(){return B(function(t){var e=t.monaco;return e})}var ne=new Promise(function(t,e){return J({resolve:t,reject:e})}),It={config:Mt,init:xt,__getMonacoInstance:Tt},D=It;import{memo as Rt}from"react";import At,{useState as Pe,useRef as L,useCallback as Te,useEffect as Ie}from"react";import{memo as Dt}from"react";import oe from"react";import Lt from"react";import{useEffect as Ut}from"react";import{useEffect as Ft,useRef as zt}from"react";import{useState as dn}from"react";import{memo as Xt}from"react";import Zt,{useState as Re,useEffect as Q,useRef as I,useCallback as er}from"react";import{useEffect as tr,useRef as rr}from"react";var kt={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},ie=kt,_t={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},$t=_t;function Nt({children:t}){return Lt.createElement("div",{style:$t.container},t)}var Vt=Nt,Wt=Vt;function Ht({width:t,height:e,isEditorReady:r,loading:n,_ref:o,className:i,wrapperProps:c}){return oe.createElement("section",{style:{...ie.wrapper,width:t,height:e},...c},!r&&oe.createElement(Wt,null,n),oe.createElement("div",{ref:o,style:{...ie.fullWidth,...!r&&ie.hide},className:i}))}var Bt=Ht,Ae=Dt(Bt);function qt(t){Ut(t,[])}var De=qt;function Kt(t,e,r=!0){let n=zt(!0);Ft(n.current||!r?()=>{n.current=!1}:t,e)}var C=Kt;function U(){}function _(t,e,r,n){return Gt(t,n)||Yt(t,e,r,n)}function Gt(t,e){return t.editor.getModel(ke(t,e))}function Yt(t,e,r,n){return t.editor.createModel(e,r,n?ke(t,n):void 0)}function ke(t,e){return t.Uri.parse(e)}function Jt({original:t,modified:e,language:r,originalLanguage:n,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:c,keepCurrentOriginalModel:a=!1,keepCurrentModifiedModel:u=!1,theme:l="light",loading:m="Loading...",options:s={},height:x="100%",width:v="100%",className:S,wrapperProps:O={},beforeMount:h=U,onMount:E=U}){let[p,P]=Pe(!1),[T,b]=Pe(!0),y=L(null),g=L(null),N=L(null),j=L(E),f=L(h),k=L(!1);De(()=>{let d=D.init();return d.then(w=>(g.current=w)&&b(!1)).catch(w=>w?.type!=="cancelation"&&console.error("Monaco initialization: error:",w)),()=>y.current?V():d.cancel()}),C(()=>{if(y.current&&g.current){let d=y.current.getOriginalEditor(),w=_(g.current,t||"",n||r||"text",i||"");w!==d.getModel()&&d.setModel(w)}},[i],p),C(()=>{if(y.current&&g.current){let d=y.current.getModifiedEditor(),w=_(g.current,e||"",o||r||"text",c||"");w!==d.getModel()&&d.setModel(w)}},[c],p),C(()=>{let d=y.current.getModifiedEditor();d.getOption(g.current.editor.EditorOption.readOnly)?d.setValue(e||""):e!==d.getValue()&&(d.executeEdits("",[{range:d.getModel().getFullModelRange(),text:e||"",forceMoveMarkers:!0}]),d.pushUndoStop())},[e],p),C(()=>{y.current?.getModel()?.original.setValue(t||"")},[t],p),C(()=>{let{original:d,modified:w}=y.current.getModel();g.current.editor.setModelLanguage(d,n||r||"text"),g.current.editor.setModelLanguage(w,o||r||"text")},[r,n,o],p),C(()=>{g.current?.editor.setTheme(l)},[l],p),C(()=>{y.current?.updateOptions(s)},[s],p);let F=Te(()=>{if(!g.current)return;f.current(g.current);let d=_(g.current,t||"",n||r||"text",i||""),w=_(g.current,e||"",o||r||"text",c||"");y.current?.setModel({original:d,modified:w})},[r,e,o,t,n,i,c]),z=Te(()=>{!k.current&&N.current&&(y.current=g.current.editor.createDiffEditor(N.current,{automaticLayout:!0,...s}),F(),g.current?.editor.setTheme(l),P(!0),k.current=!0)},[s,l,F]);Ie(()=>{p&&j.current(y.current,g.current)},[p]),Ie(()=>{!T&&!p&&z()},[T,p,z]);function V(){let d=y.current?.getModel();a||d?.original?.dispose(),u||d?.modified?.dispose(),y.current?.dispose()}return At.createElement(Ae,{width:v,height:x,isEditorReady:p,loading:m,_ref:N,className:S,wrapperProps:O})}var Qt=Jt,sn=Rt(Qt);function nr(t){let e=rr();return tr(()=>{e.current=t},[t]),e.current}var or=nr,X=new Map;function ir({defaultValue:t,defaultLanguage:e,defaultPath:r,value:n,language:o,path:i,theme:c="light",line:a,loading:u="Loading...",options:l={},overrideServices:m={},saveViewState:s=!0,keepCurrentModel:x=!1,width:v="100%",height:S="100%",className:O,wrapperProps:h={},beforeMount:E=U,onMount:p=U,onChange:P,onValidate:T=U}){let[b,y]=Re(!1),[g,N]=Re(!0),j=I(null),f=I(null),k=I(null),F=I(p),z=I(E),V=I(),d=I(n),w=or(i),ue=I(!1),Z=I(!1);De(()=>{let M=D.init();return M.then(R=>(j.current=R)&&N(!1)).catch(R=>R?.type!=="cancelation"&&console.error("Monaco initialization: error:",R)),()=>f.current?qe():M.cancel()}),C(()=>{let M=_(j.current,t||n||"",e||o||"",i||r||"");M!==f.current?.getModel()&&(s&&X.set(w,f.current?.saveViewState()),f.current?.setModel(M),s&&f.current?.restoreViewState(X.get(i)))},[i],b),C(()=>{f.current?.updateOptions(l)},[l],b),C(()=>{!f.current||n===void 0||(f.current.getOption(j.current.editor.EditorOption.readOnly)?f.current.setValue(n):n!==f.current.getValue()&&(Z.current=!0,f.current.executeEdits("",[{range:f.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),f.current.pushUndoStop(),Z.current=!1))},[n],b),C(()=>{let M=f.current?.getModel();M&&o&&j.current?.editor.setModelLanguage(M,o)},[o],b),C(()=>{a!==void 0&&f.current?.revealLine(a)},[a],b),C(()=>{j.current?.editor.setTheme(c)},[c],b);let le=er(()=>{if(!(!k.current||!j.current)&&!ue.current){z.current(j.current);let M=i||r,R=_(j.current,n||t||"",e||o||"",M||"");f.current=j.current?.editor.create(k.current,{model:R,automaticLayout:!0,...l},m),s&&f.current.restoreViewState(X.get(M)),j.current.editor.setTheme(c),a!==void 0&&f.current.revealLine(a),y(!0),ue.current=!0}},[t,e,r,n,o,i,l,m,s,c,a]);Q(()=>{b&&F.current(f.current,j.current)},[b]),Q(()=>{!g&&!b&&le()},[g,b,le]),d.current=n,Q(()=>{b&&P&&(V.current?.dispose(),V.current=f.current?.onDidChangeModelContent(M=>{Z.current||P(f.current.getValue(),M)}))},[b,P]),Q(()=>{if(b){let M=j.current.editor.onDidChangeMarkers(R=>{let ee=f.current.getModel()?.uri;if(ee&&R.find(te=>te.path===ee.path)){let te=j.current.editor.getModelMarkers({resource:ee});T?.(te)}});return()=>{M?.dispose()}}return()=>{}},[b,T]);function qe(){V.current?.dispose(),x?s&&X.set(i,f.current.saveViewState()):f.current.getModel()?.dispose(),f.current.dispose()}return Zt.createElement(Ae,{width:v,height:S,isEditorReady:b,loading:u,_ref:k,className:O,wrapperProps:h})}var ar=ir,cr=Xt(ar),ae=cr;import{useState as Er}from"react";import{c as gr}from"react/compiler-runtime";import{jsx as hr}from"react/jsx-runtime";import{createContext as vr,useContext as br,useEffect as yr,useState as Ne}from"react";import{jsx as ur}from"react/jsx-runtime";import{createContext as lr,useCallback as sr,useContext as fr,useEffect as dr,useMemo as mr,useState as pr}from"react";var _e=lr(void 0);function Le(t){if(!t?.blocks?.length||t.blocksMap)return t.blocksMap={},t;let e={...t};e.blocksMap={};for(let r of t.blocks)e.blocksMap[r.slug]=r;return e}var jn=({children:t,config:e})=>{let[r,n]=pr(()=>Le(e));dr(()=>{n(Le(e))},[e]);let{collectionsBySlug:o,globalsBySlug:i}=mr(()=>{let a={},u={};for(let l of r.collections)a[l.slug]=l;for(let l of r.globals)u[l.slug]=l;return{collectionsBySlug:a,globalsBySlug:u}},[r]),c=sr(a=>"collectionSlug"in a?o[a.collectionSlug]??null:"globalSlug"in a?i[a.globalSlug]??null:null,[o,i]);return ur(_e.Provider,{value:{config:r,getEntityConfig:c,setConfig:n},children:t})},$e=()=>fr(_e);var wr={autoMode:!0,setTheme:()=>null,theme:"light"},We=vr(wr);function Ve(t,e,r){let n=new Date;n.setTime(n.getTime()+r*24*60*60*1e3);let o="expires="+n.toUTCString();document.cookie=t+"="+e+";"+o+";path=/"}var Or=t=>{let e,r=window.document.cookie.split("; ").find(n=>n.startsWith(`${t}=`))?.split("=")[1];return r==="light"||r==="dark"?e=r:e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",e),{theme:e,themeFromCookies:r}},jr="light",In=t=>{let e=gr(11),{children:r,theme:n}=t,{config:o}=$e(),i=o.admin.theme,c=`${o.cookiePrefix||"payload"}-theme`,[a,u]=Ne(n||jr),[l,m]=Ne(),s,x;e[0]!==c||e[1]!==i?(s=()=>{if(i!=="all")return;let{theme:h,themeFromCookies:E}=Or(c);u(h),m(!E)},x=[i,c],e[0]=c,e[1]=i,e[2]=s,e[3]=x):(s=e[2],x=e[3]),yr(s,x);let v;e[4]!==c?(v=h=>{if(h==="light"||h==="dark")u(h),m(!1),Ve(c,h,365),document.documentElement.setAttribute("data-theme",h);else if(h==="auto"){Ve(c,h,-1);let E=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";document.documentElement.setAttribute("data-theme",E),m(!0),u(E)}},e[4]=c,e[5]=v):v=e[5];let S=v,O;return e[6]!==l||e[7]!==r||e[8]!==S||e[9]!==a?(O=hr(We.Provider,{value:{autoMode:l,setTheme:S,theme:a},children:r}),e[6]=l,e[7]=r,e[8]=S,e[9]=a,e[10]=O):O=e[10],O},He=()=>br(We);import{c as xr}from"react/compiler-runtime";import{jsx as q}from"react/jsx-runtime";import"react";import{c as Mr}from"react/compiler-runtime";import*as $ from"react";var Be=(t,e)=>{let r=Mr(9),n=e===void 0?!1:e,[o,i]=$.useState(!1),c=$.useRef(void 0),a;r[0]!==t?(a=()=>(i(!1),clearTimeout(c.current),c.current=setTimeout(()=>{i(!0)},t),()=>{clearTimeout(c.current)}),r[0]=t,r[1]=a):a=r[1];let u=a,l,m;r[2]!==u||r[3]!==n?(l=()=>{n&&u()},m=[u,n],r[2]=u,r[3]=n,r[4]=l,r[5]=m):(l=r[4],m=r[5]),$.useEffect(l,m);let s;return r[6]!==o||r[7]!==u?(s=[o,u],r[6]=o,r[7]=u,r[8]=s):s=r[8],s};var ce=({animationDelay:t="0ms",height:e="60px",width:r="100%"})=>q("div",{className:"shimmer-effect",style:{height:typeof e=="number"?`${e}px`:e,width:typeof r=="number"?`${r}px`:r},children:q("div",{className:"shimmer-effect__shine",style:{animationDelay:t}})}),Nn=t=>{let e=xr(7),{className:r,count:n,height:o,renderDelay:i,shimmerDelay:c,shimmerItemClassName:a,width:u}=t,l=i===void 0?500:i,m=c===void 0?25:c,s=typeof m=="number"?`${m}ms`:m,[x]=Be(l,!0);if(!x)return null;let v;return e[0]!==r||e[1]!==n||e[2]!==o||e[3]!==s||e[4]!==a||e[5]!==u?(v=q("div",{className:r,children:[...Array(n)].map((S,O)=>q("div",{className:a,children:q(ce,{animationDelay:`calc(${O} * ${s})`,height:o,width:u})},O))}),e[0]=r,e[1]=n,e[2]=o,e[3]=s,e[4]=a,e[5]=u,e[6]=v):v=e[6],v};var Cr=ae.default||ae,Pr="code-editor",Tr=t=>{let e=Sr(24),r,n,o,i,c,a;e[0]!==t?({className:r,maxHeight:n,minHeight:o,options:i,readOnly:c,...a}=t,e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=i,e[5]=c,e[6]=a):(r=e[1],n=e[2],o=e[3],i=e[4],c=e[5],a=e[6]);let u=o??56,[l,m]=Er(u),{theme:s}=He(),x=a?.defaultLanguage?`language--${a.defaultLanguage}`:"",v=c&&"read-only",S;e[7]!==r||e[8]!==x||e[9]!==v?(S=[Pr,r,x,v].filter(Boolean),e[7]=r,e[8]=x,e[9]=v,e[10]=S):S=e[10];let O=S.join(" "),h;if(e[11]!==u||e[12]!==O||e[13]!==l||e[14]!==n||e[15]!==i||e[16]!==c||e[17]!==a||e[18]!==s){let E,p;e[20]!==u||e[21]!==a?(E=(P,T)=>{a.onChange?.(P,T),m(Math.max(u,P.split(`
24
- `).length*18+2))},p=(P,T)=>{a.onMount?.(P,T),m(Math.max(u,P.getValue().split(`
25
- `).length*18+2))},e[20]=u,e[21]=a,e[22]=E,e[23]=p):(E=e[22],p=e[23]),h=Ue(Cr,{className:O,loading:Ue(ce,{height:l}),options:{detectIndentation:!0,hideCursorInOverviewRuler:!0,minimap:{enabled:!1},overviewRulerBorder:!1,readOnly:!!c,scrollbar:{alwaysConsumeMouseWheel:!1},scrollBeyondLastLine:!1,tabSize:2,wordWrap:"on",...i},theme:s==="dark"?"vs-dark":"vs",...a,height:n?Math.min(l,n):l,onChange:E,onMount:p}),e[11]=u,e[12]=O,e[13]=l,e[14]=n,e[15]=i,e[16]=c,e[17]=a,e[18]=s,e[19]=h}else h=e[19];return h},Kn=Tr;export{jn as a,$e as b,Be as c,ce as d,Nn as e,jr as f,In as g,He as h,Kn as i};
26
- //# sourceMappingURL=chunk-4L367VSB.js.map