@payloadcms/ui 3.23.0 → 3.24.0-canary.10637cd

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 (94) hide show
  1. package/dist/elements/ListControls/index.d.ts +2 -1
  2. package/dist/elements/ListControls/index.d.ts.map +1 -1
  3. package/dist/elements/ListControls/index.js +5 -3
  4. package/dist/elements/ListControls/index.js.map +1 -1
  5. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  6. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +12 -4
  7. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  8. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  9. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +2 -1
  10. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -1
  11. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +2 -0
  12. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  13. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  14. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +4 -0
  15. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  16. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +2 -1
  17. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  18. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  19. package/dist/elements/WhereBuilder/Condition/index.d.ts +2 -1
  20. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  21. package/dist/elements/WhereBuilder/Condition/index.js +2 -0
  22. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  23. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  24. package/dist/elements/WhereBuilder/index.js +3 -1
  25. package/dist/elements/WhereBuilder/index.js.map +1 -1
  26. package/dist/elements/WhereBuilder/types.d.ts +2 -1
  27. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  28. package/dist/elements/WhereBuilder/types.js.map +1 -1
  29. package/dist/exports/client/{CodeEditor-BMYVMDNZ.js → CodeEditor-G3Y4UHC4.js} +2 -2
  30. package/dist/exports/client/chunk-4L367VSB.js +26 -0
  31. package/dist/exports/client/{chunk-CQQHQHCB.js.map → chunk-4L367VSB.js.map} +3 -3
  32. package/dist/exports/client/index.js +10 -10
  33. package/dist/exports/client/index.js.map +3 -3
  34. package/dist/exports/rsc/index.d.ts +1 -0
  35. package/dist/exports/rsc/index.d.ts.map +1 -1
  36. package/dist/exports/rsc/index.js +1 -0
  37. package/dist/exports/rsc/index.js.map +1 -1
  38. package/dist/fields/Blocks/BlockRow.d.ts +1 -1
  39. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  40. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  41. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +1 -1
  42. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  43. package/dist/fields/Blocks/BlocksDrawer/index.js +31 -23
  44. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  45. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  46. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  47. package/dist/fields/Blocks/RowActions.js.map +1 -1
  48. package/dist/fields/Blocks/index.d.ts.map +1 -1
  49. package/dist/fields/Blocks/index.js +6 -4
  50. package/dist/fields/Blocks/index.js.map +1 -1
  51. package/dist/fields/Join/index.d.ts.map +1 -1
  52. package/dist/fields/Join/index.js +9 -2
  53. package/dist/fields/Join/index.js.map +1 -1
  54. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  55. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +4 -3
  56. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  57. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  58. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  59. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  60. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  61. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  62. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  63. package/dist/providers/Config/index.d.ts +2 -2
  64. package/dist/providers/Config/index.d.ts.map +1 -1
  65. package/dist/providers/Config/index.js +17 -2
  66. package/dist/providers/Config/index.js.map +1 -1
  67. package/dist/styles.css +1 -1
  68. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  69. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +3 -1
  70. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  71. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  72. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +4 -1
  73. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  74. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  75. package/dist/utilities/copyDataFromLocale.js +13 -15
  76. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  77. package/dist/utilities/getClientConfig.js.map +1 -1
  78. package/dist/utilities/renderTable.d.ts.map +1 -1
  79. package/dist/utilities/renderTable.js +37 -0
  80. package/dist/utilities/renderTable.js.map +1 -1
  81. package/dist/utilities/resolveFilterOptions.d.ts +5 -0
  82. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -0
  83. package/dist/{forms/fieldSchemasToFormState/getFilterOptionsQuery.js → utilities/resolveFilterOptions.js} +2 -2
  84. package/dist/utilities/resolveFilterOptions.js.map +1 -0
  85. package/dist/views/List/index.d.ts +2 -1
  86. package/dist/views/List/index.d.ts.map +1 -1
  87. package/dist/views/List/index.js +3 -1
  88. package/dist/views/List/index.js.map +1 -1
  89. package/package.json +5 -5
  90. package/dist/exports/client/chunk-CQQHQHCB.js +0 -26
  91. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts +0 -7
  92. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts.map +0 -1
  93. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.js.map +0 -1
  94. /package/dist/exports/client/{CodeEditor-BMYVMDNZ.js.map → CodeEditor-G3Y4UHC4.js.map} +0 -0
@@ -21,7 +21,8 @@ export const WhereBuilder = props => {
21
21
  const {
22
22
  collectionPluralLabel,
23
23
  fields,
24
- renderedFilters
24
+ renderedFilters,
25
+ resolvedFilterOptions
25
26
  } = props;
26
27
  const {
27
28
  i18n,
@@ -154,6 +155,7 @@ export const WhereBuilder = props => {
154
155
  addCondition: addCondition,
155
156
  andIndex: andIndex_2,
156
157
  fieldName: fieldName,
158
+ filterOptions: resolvedFilterOptions?.get(fieldName),
157
159
  operator: operator_0,
158
160
  orIndex: orIndex_2,
159
161
  reducedFields: reducedFields,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useMemo","useListQuery","useTranslation","Button","Condition","fieldTypes","reduceFields","transformWhereQuery","validateWhereQuery","baseClass","WhereBuilder","props","collectionPluralLabel","fields","renderedFilters","i18n","t","reducedFields","handleWhereChange","query","shouldUpdateQuery","setShouldUpdateQuery","useState","conditions","setConditions","whereFromSearch","where","or","transformedWhere","console","warn","JSON","stringify","addCondition","useCallback","andIndex","field","orIndex","relation","newConditions","defaultOperator","type","operators","value","and","splice","undefined","push","updateCondition","operator","incomingOperator","valueArg","existingRowCondition","defaults","newRowCondition","removeCondition","length","useEffect","handleChange","_jsxs","className","Fragment","_jsx","label","map","compoundOrKey","Array","isArray","_","condition","fieldName","Object","keys","RenderedFilter","get","buttonStyle","icon","iconPosition","iconStyle","onClick","find","admin","disableListFilter"],"sources":["../../../src/elements/WhereBuilder/index.tsx"],"sourcesContent":["'use client'\nimport type { Operator, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useMemo } from 'react'\n\nimport type { AddCondition, UpdateCondition, WhereBuilderProps } from './types.js'\n\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Condition } from './Condition/index.js'\nimport fieldTypes from './field-types.js'\nimport { reduceFields } from './reduceFields.js'\nimport { transformWhereQuery } from './transformWhereQuery.js'\nimport validateWhereQuery from './validateWhereQuery.js'\nimport './index.scss'\n\nconst baseClass = 'where-builder'\n\nexport { WhereBuilderProps }\n\n/**\n * The WhereBuilder component is used to render the filter controls for a collection's list view.\n * It is part of the {@link ListControls} component which is used to render the controls (search, filter, where).\n */\nexport const WhereBuilder: React.FC<WhereBuilderProps> = (props) => {\n const { collectionPluralLabel, fields, renderedFilters } = props\n const { i18n, t } = useTranslation()\n\n const reducedFields = useMemo(() => reduceFields({ fields, i18n }), [fields, i18n])\n\n const { handleWhereChange, query } = useListQuery()\n const [shouldUpdateQuery, setShouldUpdateQuery] = React.useState(false)\n\n const [conditions, setConditions] = React.useState<Where[]>(() => {\n const whereFromSearch = query.where\n\n if (whereFromSearch) {\n if (validateWhereQuery(whereFromSearch)) {\n return whereFromSearch.or\n }\n\n // Transform the where query to be in the right format. This will transform something simple like [text][equals]=example%20post to the right format\n const transformedWhere = transformWhereQuery(whereFromSearch)\n\n if (validateWhereQuery(transformedWhere)) {\n return transformedWhere.or\n }\n\n console.warn(`Invalid where query in URL: ${JSON.stringify(whereFromSearch)}`) // eslint-disable-line no-console\n }\n\n return []\n })\n\n const addCondition: AddCondition = React.useCallback(\n ({ andIndex, field, orIndex, relation }) => {\n const newConditions = [...conditions]\n\n const defaultOperator = fieldTypes[field.field.type].operators[0].value\n\n if (relation === 'and') {\n newConditions[orIndex].and.splice(andIndex, 0, {\n [field.value]: {\n [defaultOperator]: undefined,\n },\n })\n } else {\n newConditions.push({\n and: [\n {\n [field.value]: {\n [defaultOperator]: undefined,\n },\n },\n ],\n })\n }\n\n setConditions(newConditions)\n },\n [conditions],\n )\n\n const updateCondition: UpdateCondition = React.useCallback(\n ({ andIndex, field, operator: incomingOperator, orIndex, value: valueArg }) => {\n const existingRowCondition = conditions[orIndex].and[andIndex]\n\n const defaults = fieldTypes[field.field.type]\n const operator = incomingOperator || defaults.operators[0].value\n\n if (typeof existingRowCondition === 'object' && field.value) {\n const value = valueArg ?? existingRowCondition?.[operator]\n\n const newRowCondition = {\n [field.value]: { [operator]: value },\n }\n\n const newConditions = [...conditions]\n newConditions[orIndex].and[andIndex] = newRowCondition\n\n setConditions(newConditions)\n setShouldUpdateQuery(true)\n }\n },\n [conditions],\n )\n\n const removeCondition = React.useCallback(\n ({ andIndex, orIndex }) => {\n const newConditions = [...conditions]\n newConditions[orIndex].and.splice(andIndex, 1)\n\n if (newConditions[orIndex].and.length === 0) {\n newConditions.splice(orIndex, 1)\n }\n\n setConditions(newConditions)\n setShouldUpdateQuery(true)\n },\n [conditions],\n )\n\n React.useEffect(() => {\n if (shouldUpdateQuery) {\n async function handleChange() {\n await handleWhereChange({ or: conditions })\n setShouldUpdateQuery(false)\n }\n void handleChange()\n }\n }, [conditions, handleWhereChange, shouldUpdateQuery])\n\n return (\n <div className={baseClass}>\n {conditions.length > 0 && (\n <React.Fragment>\n <div className={`${baseClass}__label`}>\n {t('general:filterWhere', { label: getTranslation(collectionPluralLabel, i18n) })}\n </div>\n <ul className={`${baseClass}__or-filters`}>\n {conditions.map((or, orIndex) => {\n const compoundOrKey = `${orIndex}_${Array.isArray(or?.and) ? or.and.length : ''}`\n\n return (\n <li key={compoundOrKey}>\n {orIndex !== 0 && <div className={`${baseClass}__label`}>{t('general:or')}</div>}\n <ul className={`${baseClass}__and-filters`}>\n {Array.isArray(or?.and) &&\n or.and.map((_, andIndex) => {\n const condition = conditions[orIndex].and[andIndex]\n const fieldName = Object.keys(condition)[0]\n\n const operator =\n (Object.keys(condition?.[fieldName] || {})?.[0] as Operator) || undefined\n\n const value = condition?.[fieldName]?.[operator] || undefined\n\n return (\n <li key={andIndex}>\n {andIndex !== 0 && (\n <div className={`${baseClass}__label`}>{t('general:and')}</div>\n )}\n <Condition\n addCondition={addCondition}\n andIndex={andIndex}\n fieldName={fieldName}\n operator={operator}\n orIndex={orIndex}\n reducedFields={reducedFields}\n removeCondition={removeCondition}\n RenderedFilter={renderedFilters?.get(fieldName)}\n updateCondition={updateCondition}\n value={value}\n />\n </li>\n )\n })}\n </ul>\n </li>\n )\n })}\n </ul>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-or`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n addCondition({\n andIndex: 0,\n field: reducedFields[0],\n orIndex: conditions.length,\n relation: 'or',\n })\n }}\n >\n {t('general:or')}\n </Button>\n </React.Fragment>\n )}\n {conditions.length === 0 && (\n <div className={`${baseClass}__no-filters`}>\n <div className={`${baseClass}__label`}>{t('general:noFiltersSet')}</div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-first-filter`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n if (reducedFields.length > 0) {\n addCondition({\n andIndex: 0,\n field: reducedFields.find((field) => !field.field.admin?.disableListFilter),\n orIndex: conditions.length,\n relation: 'or',\n })\n }\n }}\n >\n {t('general:addFilter')}\n </Button>\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useMemo","useListQuery","useTranslation","Button","Condition","fieldTypes","reduceFields","transformWhereQuery","validateWhereQuery","baseClass","WhereBuilder","props","collectionPluralLabel","fields","renderedFilters","resolvedFilterOptions","i18n","t","reducedFields","handleWhereChange","query","shouldUpdateQuery","setShouldUpdateQuery","useState","conditions","setConditions","whereFromSearch","where","or","transformedWhere","console","warn","JSON","stringify","addCondition","useCallback","andIndex","field","orIndex","relation","newConditions","defaultOperator","type","operators","value","and","splice","undefined","push","updateCondition","operator","incomingOperator","valueArg","existingRowCondition","defaults","newRowCondition","removeCondition","length","useEffect","handleChange","_jsxs","className","Fragment","_jsx","label","map","compoundOrKey","Array","isArray","_","condition","fieldName","Object","keys","filterOptions","get","RenderedFilter","buttonStyle","icon","iconPosition","iconStyle","onClick","find","admin","disableListFilter"],"sources":["../../../src/elements/WhereBuilder/index.tsx"],"sourcesContent":["'use client'\nimport type { Operator, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useMemo } from 'react'\n\nimport type { AddCondition, UpdateCondition, WhereBuilderProps } from './types.js'\n\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Condition } from './Condition/index.js'\nimport fieldTypes from './field-types.js'\nimport { reduceFields } from './reduceFields.js'\nimport { transformWhereQuery } from './transformWhereQuery.js'\nimport validateWhereQuery from './validateWhereQuery.js'\nimport './index.scss'\n\nconst baseClass = 'where-builder'\n\nexport { WhereBuilderProps }\n\n/**\n * The WhereBuilder component is used to render the filter controls for a collection's list view.\n * It is part of the {@link ListControls} component which is used to render the controls (search, filter, where).\n */\nexport const WhereBuilder: React.FC<WhereBuilderProps> = (props) => {\n const { collectionPluralLabel, fields, renderedFilters, resolvedFilterOptions } = props\n const { i18n, t } = useTranslation()\n\n const reducedFields = useMemo(() => reduceFields({ fields, i18n }), [fields, i18n])\n\n const { handleWhereChange, query } = useListQuery()\n const [shouldUpdateQuery, setShouldUpdateQuery] = React.useState(false)\n\n const [conditions, setConditions] = React.useState<Where[]>(() => {\n const whereFromSearch = query.where\n\n if (whereFromSearch) {\n if (validateWhereQuery(whereFromSearch)) {\n return whereFromSearch.or\n }\n\n // Transform the where query to be in the right format. This will transform something simple like [text][equals]=example%20post to the right format\n const transformedWhere = transformWhereQuery(whereFromSearch)\n\n if (validateWhereQuery(transformedWhere)) {\n return transformedWhere.or\n }\n\n console.warn(`Invalid where query in URL: ${JSON.stringify(whereFromSearch)}`) // eslint-disable-line no-console\n }\n\n return []\n })\n\n const addCondition: AddCondition = React.useCallback(\n ({ andIndex, field, orIndex, relation }) => {\n const newConditions = [...conditions]\n\n const defaultOperator = fieldTypes[field.field.type].operators[0].value\n\n if (relation === 'and') {\n newConditions[orIndex].and.splice(andIndex, 0, {\n [field.value]: {\n [defaultOperator]: undefined,\n },\n })\n } else {\n newConditions.push({\n and: [\n {\n [field.value]: {\n [defaultOperator]: undefined,\n },\n },\n ],\n })\n }\n\n setConditions(newConditions)\n },\n [conditions],\n )\n\n const updateCondition: UpdateCondition = React.useCallback(\n ({ andIndex, field, operator: incomingOperator, orIndex, value: valueArg }) => {\n const existingRowCondition = conditions[orIndex].and[andIndex]\n\n const defaults = fieldTypes[field.field.type]\n const operator = incomingOperator || defaults.operators[0].value\n\n if (typeof existingRowCondition === 'object' && field.value) {\n const value = valueArg ?? existingRowCondition?.[operator]\n\n const newRowCondition = {\n [field.value]: { [operator]: value },\n }\n\n const newConditions = [...conditions]\n newConditions[orIndex].and[andIndex] = newRowCondition\n\n setConditions(newConditions)\n setShouldUpdateQuery(true)\n }\n },\n [conditions],\n )\n\n const removeCondition = React.useCallback(\n ({ andIndex, orIndex }) => {\n const newConditions = [...conditions]\n newConditions[orIndex].and.splice(andIndex, 1)\n\n if (newConditions[orIndex].and.length === 0) {\n newConditions.splice(orIndex, 1)\n }\n\n setConditions(newConditions)\n setShouldUpdateQuery(true)\n },\n [conditions],\n )\n\n React.useEffect(() => {\n if (shouldUpdateQuery) {\n async function handleChange() {\n await handleWhereChange({ or: conditions })\n setShouldUpdateQuery(false)\n }\n void handleChange()\n }\n }, [conditions, handleWhereChange, shouldUpdateQuery])\n\n return (\n <div className={baseClass}>\n {conditions.length > 0 && (\n <React.Fragment>\n <div className={`${baseClass}__label`}>\n {t('general:filterWhere', { label: getTranslation(collectionPluralLabel, i18n) })}\n </div>\n <ul className={`${baseClass}__or-filters`}>\n {conditions.map((or, orIndex) => {\n const compoundOrKey = `${orIndex}_${Array.isArray(or?.and) ? or.and.length : ''}`\n\n return (\n <li key={compoundOrKey}>\n {orIndex !== 0 && <div className={`${baseClass}__label`}>{t('general:or')}</div>}\n <ul className={`${baseClass}__and-filters`}>\n {Array.isArray(or?.and) &&\n or.and.map((_, andIndex) => {\n const condition = conditions[orIndex].and[andIndex]\n const fieldName = Object.keys(condition)[0]\n\n const operator =\n (Object.keys(condition?.[fieldName] || {})?.[0] as Operator) || undefined\n\n const value = condition?.[fieldName]?.[operator] || undefined\n\n return (\n <li key={andIndex}>\n {andIndex !== 0 && (\n <div className={`${baseClass}__label`}>{t('general:and')}</div>\n )}\n <Condition\n addCondition={addCondition}\n andIndex={andIndex}\n fieldName={fieldName}\n filterOptions={resolvedFilterOptions?.get(fieldName)}\n operator={operator}\n orIndex={orIndex}\n reducedFields={reducedFields}\n removeCondition={removeCondition}\n RenderedFilter={renderedFilters?.get(fieldName)}\n updateCondition={updateCondition}\n value={value}\n />\n </li>\n )\n })}\n </ul>\n </li>\n )\n })}\n </ul>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-or`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n addCondition({\n andIndex: 0,\n field: reducedFields[0],\n orIndex: conditions.length,\n relation: 'or',\n })\n }}\n >\n {t('general:or')}\n </Button>\n </React.Fragment>\n )}\n {conditions.length === 0 && (\n <div className={`${baseClass}__no-filters`}>\n <div className={`${baseClass}__label`}>{t('general:noFiltersSet')}</div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-first-filter`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n if (reducedFields.length > 0) {\n addCondition({\n andIndex: 0,\n field: reducedFields.find((field) => !field.field.admin?.disableListFilter),\n orIndex: conditions.length,\n relation: 'or',\n })\n }\n }}\n >\n {t('general:addFilter')}\n </Button>\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,10 @@
1
- import type { ClientField, Operator, SanitizedCollectionConfig, Where } from 'payload';
1
+ import type { ClientField, Operator, ResolvedFilterOptions, SanitizedCollectionConfig, Where } from 'payload';
2
2
  export type WhereBuilderProps = {
3
3
  readonly collectionPluralLabel: SanitizedCollectionConfig['labels']['plural'];
4
4
  readonly collectionSlug: SanitizedCollectionConfig['slug'];
5
5
  readonly fields?: ClientField[];
6
6
  readonly renderedFilters?: Map<string, React.ReactNode>;
7
+ readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>;
7
8
  };
8
9
  export type ReducedField = {
9
10
  field: ClientField;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEtF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC7E,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,QAAQ,CAAA;KAChB,EAAE,CAAA;IACH,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAA;AAEnC,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,CAAA;AAE1C,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,KAAK,EAAE,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAA;CACvB,KAAK,IAAI,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,CAAC,EAC7B,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,YAAY,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,KAAK,IAAI,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,qBAAqB,EACrB,yBAAyB,EACzB,KAAK,EACN,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC7E,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACvD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CACpE,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,QAAQ,CAAA;KAChB,EAAE,CAAA;IACH,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAA;AAEnC,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,CAAA;AAE1C,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,KAAK,EAAE,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAA;CACvB,KAAK,IAAI,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,CAAC,EAC7B,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,YAAY,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,KAAK,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/WhereBuilder/types.ts"],"sourcesContent":["import type { ClientField, Operator, SanitizedCollectionConfig, Where } from 'payload'\n\nexport type WhereBuilderProps = {\n readonly collectionPluralLabel: SanitizedCollectionConfig['labels']['plural']\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly fields?: ClientField[]\n readonly renderedFilters?: Map<string, React.ReactNode>\n}\n\nexport type ReducedField = {\n field: ClientField\n label: React.ReactNode\n operators: {\n label: string\n value: Operator\n }[]\n value: string\n}\n\nexport type Relation = 'and' | 'or'\n\nexport type ADD = {\n andIndex?: number\n field: string\n orIndex?: number\n relation?: Relation\n type: 'add'\n}\n\nexport type REMOVE = {\n andIndex: number\n orIndex: number\n type: 'remove'\n}\n\nexport type UPDATE = {\n andIndex: number\n field?: string\n operator?: string\n orIndex: number\n type: 'update'\n value?: unknown\n}\n\nexport type Action = ADD | REMOVE | UPDATE\n\nexport type State = {\n or: Where[]\n}\n\nexport type AddCondition = ({\n andIndex,\n field,\n orIndex,\n relation,\n}: {\n andIndex: number\n field: ReducedField\n orIndex: number\n relation: 'and' | 'or'\n}) => void\n\nexport type UpdateCondition = ({\n andIndex,\n field,\n operator,\n orIndex,\n value,\n}: {\n andIndex: number\n field: ReducedField\n operator: string\n orIndex: number\n value: string\n}) => void\n"],"mappings":"AA8DA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/WhereBuilder/types.ts"],"sourcesContent":["import type {\n ClientField,\n Operator,\n ResolvedFilterOptions,\n SanitizedCollectionConfig,\n Where,\n} from 'payload'\n\nexport type WhereBuilderProps = {\n readonly collectionPluralLabel: SanitizedCollectionConfig['labels']['plural']\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly fields?: ClientField[]\n readonly renderedFilters?: Map<string, React.ReactNode>\n readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>\n}\n\nexport type ReducedField = {\n field: ClientField\n label: React.ReactNode\n operators: {\n label: string\n value: Operator\n }[]\n value: string\n}\n\nexport type Relation = 'and' | 'or'\n\nexport type ADD = {\n andIndex?: number\n field: string\n orIndex?: number\n relation?: Relation\n type: 'add'\n}\n\nexport type REMOVE = {\n andIndex: number\n orIndex: number\n type: 'remove'\n}\n\nexport type UPDATE = {\n andIndex: number\n field?: string\n operator?: string\n orIndex: number\n type: 'update'\n value?: unknown\n}\n\nexport type Action = ADD | REMOVE | UPDATE\n\nexport type State = {\n or: Where[]\n}\n\nexport type AddCondition = ({\n andIndex,\n field,\n orIndex,\n relation,\n}: {\n andIndex: number\n field: ReducedField\n orIndex: number\n relation: 'and' | 'or'\n}) => void\n\nexport type UpdateCondition = ({\n andIndex,\n field,\n operator,\n orIndex,\n value,\n}: {\n andIndex: number\n field: ReducedField\n operator: string\n orIndex: number\n value: string\n}) => void\n"],"mappings":"AAqEA","ignoreList":[]}
@@ -10,5 +10,5 @@ function require(m) {
10
10
  }
11
11
  // Workaround end
12
12
 
13
- import{i as a}from"./chunk-CQQHQHCB.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
- //# sourceMappingURL=CodeEditor-BMYVMDNZ.js.map
13
+ import{i as a}from"./chunk-4L367VSB.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
+ //# sourceMappingURL=CodeEditor-G3Y4UHC4.js.map
@@ -0,0 +1,26 @@
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