@wix/patterns-cms 1.11.0 → 1.14.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 (51) hide show
  1. package/dist/cjs/adapter/__tests__/transformCmsSchema.spec.js +9 -0
  2. package/dist/cjs/adapter/__tests__/transformCmsSchema.spec.js.map +1 -1
  3. package/dist/cjs/adapter/__tests__/useCmsSchemaSource.spec.js +142 -0
  4. package/dist/cjs/adapter/__tests__/useCmsSchemaSource.spec.js.map +1 -0
  5. package/dist/cjs/adapter/createCmsBackend.js +2 -0
  6. package/dist/cjs/adapter/createCmsBackend.js.map +1 -1
  7. package/dist/cjs/adapter/index.js +3 -3
  8. package/dist/cjs/adapter/index.js.map +1 -1
  9. package/dist/cjs/adapter/transformCmsSchema.js +4 -1
  10. package/dist/cjs/adapter/transformCmsSchema.js.map +1 -1
  11. package/dist/cjs/adapter/useCmsSchemaSource.js +72 -0
  12. package/dist/cjs/adapter/useCmsSchemaSource.js.map +1 -0
  13. package/dist/cjs/testkit/cmsFetchMocks.js +7 -6
  14. package/dist/cjs/testkit/cmsFetchMocks.js.map +1 -1
  15. package/dist/esm/adapter/__tests__/transformCmsSchema.spec.js +5 -0
  16. package/dist/esm/adapter/__tests__/transformCmsSchema.spec.js.map +1 -1
  17. package/dist/esm/adapter/__tests__/useCmsSchemaSource.spec.js +117 -0
  18. package/dist/esm/adapter/__tests__/useCmsSchemaSource.spec.js.map +1 -0
  19. package/dist/esm/adapter/createCmsBackend.js.map +1 -1
  20. package/dist/esm/adapter/index.js +1 -1
  21. package/dist/esm/adapter/index.js.map +1 -1
  22. package/dist/esm/adapter/transformCmsSchema.js +4 -1
  23. package/dist/esm/adapter/transformCmsSchema.js.map +1 -1
  24. package/dist/esm/adapter/useCmsSchemaSource.js +56 -0
  25. package/dist/esm/adapter/useCmsSchemaSource.js.map +1 -0
  26. package/dist/esm/testkit/cmsFetchMocks.js +4 -3
  27. package/dist/esm/testkit/cmsFetchMocks.js.map +1 -1
  28. package/dist/types/adapter/__tests__/useCmsSchemaSource.spec.d.ts +2 -0
  29. package/dist/types/adapter/__tests__/useCmsSchemaSource.spec.d.ts.map +1 -0
  30. package/dist/types/adapter/createCmsBackend.d.ts +4 -2
  31. package/dist/types/adapter/createCmsBackend.d.ts.map +1 -1
  32. package/dist/types/adapter/index.d.ts +1 -1
  33. package/dist/types/adapter/index.d.ts.map +1 -1
  34. package/dist/types/adapter/transformCmsSchema.d.ts.map +1 -1
  35. package/dist/types/adapter/useCmsSchemaSource.d.ts +19 -0
  36. package/dist/types/adapter/useCmsSchemaSource.d.ts.map +1 -0
  37. package/dist/types/testkit/cmsFetchMocks.d.ts +5 -4
  38. package/dist/types/testkit/cmsFetchMocks.d.ts.map +1 -1
  39. package/package.json +6 -5
  40. package/dist/cjs/adapter/__tests__/createCmsSchemaSource.spec.js +0 -37
  41. package/dist/cjs/adapter/__tests__/createCmsSchemaSource.spec.js.map +0 -1
  42. package/dist/cjs/adapter/createCmsSchemaSource.js +0 -35
  43. package/dist/cjs/adapter/createCmsSchemaSource.js.map +0 -1
  44. package/dist/esm/adapter/__tests__/createCmsSchemaSource.spec.js +0 -32
  45. package/dist/esm/adapter/__tests__/createCmsSchemaSource.spec.js.map +0 -1
  46. package/dist/esm/adapter/createCmsSchemaSource.js +0 -25
  47. package/dist/esm/adapter/createCmsSchemaSource.js.map +0 -1
  48. package/dist/types/adapter/__tests__/createCmsSchemaSource.spec.d.ts +0 -2
  49. package/dist/types/adapter/__tests__/createCmsSchemaSource.spec.d.ts.map +0 -1
  50. package/dist/types/adapter/createCmsSchemaSource.d.ts +0 -12
  51. package/dist/types/adapter/createCmsSchemaSource.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_fetchMock","require","_meta","_data","_cmsFieldTypeMap","itemsApi","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","toCmsFields","fields","idField","values","filter","field","map","key","id","displayName","type","PatternsFieldTypeToCmsFieldType","collections","Type","TEXT","systemField","collectionResponse","collectionId","displayField","referencedCollections","collection","collectionType","CollectionType","WIX_APP","pagingModes","PagingMode","OFFSET","plugins","mockCmsCollection","fetchMock","options","source","url","when","collectionsMeta","getDataCollection","withParams","dataCollectionId","reply","undefined","route","schema","loadSchema","data","queryDataItemsMeta","getUrl","context","reqOptions","queryDataItemsRequestOptions","httpMethod","method","path","httpPath","pathParams","__requestType","__originalRequestType","__responseType","__originalResponseType","decodeOffsetQuery","opts","_JSON$parse","_query$paging","_query$paging2","raw","queryParams","query","JSON","parse","atob","offset","paging","limit","toResolver","items","length","page","slice","total","hasNext","mockCmsItems","resolve","collectionConfig","fetchData","dataItems","pagingMetadata"],"sources":["../../../src/testkit/cmsFetchMocks.ts"],"sourcesContent":["import { when } from '@wix/sdk-testkit/fetch-mock';\nimport { collections as collectionsMeta } from '@wix/data/meta';\nimport { collections } from '@wix/data';\nimport type { Schema, SchemaSource } from '@wix/bex-core';\nimport { PatternsFieldTypeToCmsFieldType } from '../adapter/cmsFieldTypeMap';\n// The query endpoint's request options aren't exposed on any public entry, so\n// reach into the items SDK internals to derive its URL (no @wix/data/meta entry).\n// eslint-disable-next-line no-restricted-imports\nimport * as itemsApi from '@wix/wix-data-items-sdk/build/cjs/src/data-items-api-client';\nimport type { FetchMock } from 'fetch-mock';\n\nexport type WixDataFields = NonNullable<\n collections.GetDataCollectionResponse['collection']\n>['fields'];\n\n/**\n * Mock the collection schema (`getDataCollection`) either from explicit CMS fields\n * or straight from a schema source — a `createInMemorySchemaSource` becomes the\n * single source of truth for the schema, its contract fields converted back to CMS\n * fields (types with no CMS mapping fall back to text — enough to render).\n */\nexport type MockCmsCollectionOptions<\n T extends Record<string, unknown> = Record<string, unknown>,\n> =\n | { collectionId: string; fields: WixDataFields; displayField?: string }\n | { source: SchemaSource<T> };\n\nfunction toCmsFields(fields: Schema['fields'], idField: string): WixDataFields {\n return Object.values(fields)\n .filter((field): field is NonNullable<typeof field> => field != null)\n .map((field) => ({\n key: field.id,\n displayName: field.displayName,\n type:\n PatternsFieldTypeToCmsFieldType[field.type] ?? collections.Type.TEXT,\n ...(field.id === idField ? { systemField: true } : {}),\n }));\n}\n\nfunction collectionResponse(\n collectionId: string,\n fields: WixDataFields,\n displayField: string,\n): collections.GetDataCollectionResponse {\n return {\n referencedCollections: [],\n collection: {\n id: collectionId,\n collectionType: collections.CollectionType.WIX_APP,\n pagingModes: [collections.PagingMode.OFFSET],\n plugins: [],\n displayField,\n fields,\n },\n } as collections.GetDataCollectionResponse;\n}\n\n/**\n * Routes the collection schema (`getDataCollection`) that `createCmsSchemaSource`\n * loads. `@wix/data` issues real fetch calls; the caller's fetch-mock instance\n * intercepts them by URL.\n */\nexport function mockCmsCollection<\n T extends Record<string, unknown> = Record<string, unknown>,\n>(fetchMock: FetchMock, options: MockCmsCollectionOptions<T>): void {\n if ('source' in options) {\n const { source } = options;\n const [url] = when(collectionsMeta.getDataCollection())\n .withParams({ dataCollectionId: source.collectionId })\n .reply(undefined);\n\n fetchMock.route(url, async () => {\n const { schema } = await source.loadSchema();\n return collectionResponse(\n source.collectionId,\n toCmsFields(schema.fields, schema.idField),\n schema.displayField,\n );\n });\n return;\n }\n\n const { collectionId, fields, displayField = 'name' } = options;\n const [url, data] = when(collectionsMeta.getDataCollection())\n .withParams({ dataCollectionId: collectionId })\n .reply(collectionResponse(collectionId, fields, displayField));\n\n fetchMock.route(url, data);\n}\n\n// The items-query endpoint has no `@wix/data/meta` entry, so derive its URL from\n// the wix-data-items SDK request options.\nfunction queryDataItemsMeta() {\n return {\n getUrl: (context: unknown) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (itemsApi.reqOptions as any)(\n itemsApi.queryDataItemsRequestOptions,\n {},\n )(context).url,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n httpMethod: (itemsApi.queryDataItemsRequestOptions as any).method,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n path: (itemsApi.queryDataItemsRequestOptions as any).httpPath,\n pathParams: {},\n __requestType: null,\n __originalRequestType: null,\n __responseType: null,\n __originalResponseType: null,\n };\n}\n\n// A resolver reads a page of rows for a decoded query — this is exactly a schema\n// source's `collectionConfig.fetchData`, so an in-memory source wires straight\n// in. A plain array is normalized to one below.\ntype ItemsResolver<T> = SchemaSource<T>['collectionConfig']['fetchData'];\ntype OffsetQuery<T> = Parameters<ItemsResolver<T>>[0];\n\n/**\n * What `mockCmsItems` serves: either plain rows or a resolver that returns a page\n * per query (a schema source's `collectionConfig.fetchData` is exactly a resolver).\n */\nexport type CmsItems<T extends Record<string, unknown>> =\n | T[]\n | ItemsResolver<T>;\n\n/**\n * Mock the rows either from explicit items/resolver or straight from a schema\n * source — pass `{ source }` and a `createInMemorySchemaSource` becomes the single\n * source of truth for the rows too.\n */\nexport type MockCmsItemsOptions<T extends Record<string, unknown>> =\n | { items: CmsItems<T> }\n | { source: SchemaSource<T> };\n\n// The @wix/data query is sent as a base64 `.r` search param; decode it back to\n// the offset/limit a resolver expects.\ninterface QueryCall {\n queryParams: { get(name: string): string | null };\n}\n\nfunction decodeOffsetQuery<T extends Record<string, unknown>>(\n opts: QueryCall,\n): OffsetQuery<T> {\n const raw = opts.queryParams.get('.r');\n const query = raw ? JSON.parse(atob(raw))?.query : undefined;\n return {\n offset: query?.paging?.offset ?? 0,\n limit: query?.paging?.limit ?? 100,\n } as OffsetQuery<T>;\n}\n\nfunction toResolver<T extends Record<string, unknown>>(\n items: CmsItems<T>,\n): ItemsResolver<T> {\n if (typeof items === 'function') {\n return items;\n }\n // Plain array: slice by the requested page, report the full count as total.\n return (async (query: OffsetQuery<T>) => {\n const offset = query.offset ?? 0;\n const limit = query.limit ?? items.length;\n const page = items.slice(offset, offset + limit);\n return {\n items: page,\n total: items.length,\n hasNext: offset + page.length < items.length,\n };\n }) as ItemsResolver<T>;\n}\n\n/**\n * Routes the collection's rows (`items.query(...).find()`). Pass plain rows, or a\n * resolver `(query) => Promise<{ items, total }>` — the latter is a schema source's\n * `collectionConfig.fetchData`, so an in-memory source drives paging per request.\n */\nexport function mockCmsItems<T extends Record<string, unknown>>(\n fetchMock: FetchMock,\n options: MockCmsItemsOptions<T>,\n): void {\n const resolve =\n 'source' in options\n ? options.source.collectionConfig.fetchData\n : toResolver(options.items);\n const [url] = when(queryDataItemsMeta()).reply(null);\n\n fetchMock.route(url, async (opts: QueryCall) => {\n const { items: page, total } = await resolve(decodeOffsetQuery<T>(opts));\n return {\n dataItems: page.map((data) => ({ data })),\n pagingMetadata: { total },\n };\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fetchMock","require","_meta","_data","_bexCore","_cmsFieldTypeMap","itemsApi","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","toCmsFields","fields","idField","values","filter","field","map","key","id","displayName","type","PatternsFieldTypeToCmsFieldType","collections","Type","TEXT","systemField","collectionResponse","collectionId","displayField","referencedCollections","collection","collectionType","CollectionType","WIX_APP","pagingModes","PagingMode","OFFSET","plugins","mockCmsCollection","fetchMock","options","source","url","when","collectionsMeta","getDataCollection","withParams","dataCollectionId","reply","undefined","route","schema","loadSchema","data","queryDataItemsMeta","getUrl","context","reqOptions","queryDataItemsRequestOptions","httpMethod","method","path","httpPath","pathParams","__requestType","__originalRequestType","__responseType","__originalResponseType","decodeOffsetQuery","opts","_JSON$parse","_query$paging","_query$paging2","raw","queryParams","query","JSON","parse","atob","offset","paging","limit","toResolver","items","length","page","slice","total","hasNext","mockCmsItems","resolve","sourceFetchData","dataItems","pagingMetadata"],"sources":["../../../src/testkit/cmsFetchMocks.ts"],"sourcesContent":["import { when } from '@wix/sdk-testkit/fetch-mock';\nimport { collections as collectionsMeta } from '@wix/data/meta';\nimport { collections } from '@wix/data';\nimport { sourceFetchData } from '@wix/bex-core';\nimport type { Schema, SchemaSource } from '@wix/bex-core';\nimport { PatternsFieldTypeToCmsFieldType } from '../adapter/cmsFieldTypeMap';\n// The query endpoint's request options aren't exposed on any public entry, so\n// reach into the items SDK internals to derive its URL (no @wix/data/meta entry).\n// eslint-disable-next-line no-restricted-imports\nimport * as itemsApi from '@wix/wix-data-items-sdk/build/cjs/src/data-items-api-client';\nimport type { FetchMock } from 'fetch-mock';\n\nexport type WixDataFields = NonNullable<\n collections.GetDataCollectionResponse['collection']\n>['fields'];\n\n/**\n * Mock the collection schema (`getDataCollection`) either from explicit CMS fields\n * or straight from a schema source — a `createInMemorySchemaSource` becomes the\n * single source of truth for the schema, its contract fields converted back to CMS\n * fields (types with no CMS mapping fall back to text — enough to render).\n */\nexport type MockCmsCollectionOptions<\n T extends Record<string, unknown> = Record<string, unknown>,\n> =\n | { collectionId: string; fields: WixDataFields; displayField?: string }\n | { source: SchemaSource<T> };\n\nfunction toCmsFields(fields: Schema['fields'], idField: string): WixDataFields {\n return Object.values(fields)\n .filter((field): field is NonNullable<typeof field> => field != null)\n .map((field) => ({\n key: field.id,\n displayName: field.displayName,\n type:\n PatternsFieldTypeToCmsFieldType[field.type] ?? collections.Type.TEXT,\n ...(field.id === idField ? { systemField: true } : {}),\n }));\n}\n\nfunction collectionResponse(\n collectionId: string,\n fields: WixDataFields,\n displayField: string,\n): collections.GetDataCollectionResponse {\n return {\n referencedCollections: [],\n collection: {\n id: collectionId,\n collectionType: collections.CollectionType.WIX_APP,\n pagingModes: [collections.PagingMode.OFFSET],\n plugins: [],\n displayField,\n fields,\n },\n } as collections.GetDataCollectionResponse;\n}\n\n/**\n * Routes the collection schema (`getDataCollection`) that `useCmsSchemaSource`\n * loads. `@wix/data` issues real fetch calls; the caller's fetch-mock instance\n * intercepts them by URL.\n */\nexport function mockCmsCollection<\n T extends Record<string, unknown> = Record<string, unknown>,\n>(fetchMock: FetchMock, options: MockCmsCollectionOptions<T>): void {\n if ('source' in options) {\n const { source } = options;\n const [url] = when(collectionsMeta.getDataCollection())\n .withParams({ dataCollectionId: source.collectionId })\n .reply(undefined);\n\n fetchMock.route(url, async () => {\n const { schema } = await source.loadSchema();\n return collectionResponse(\n source.collectionId,\n toCmsFields(schema.fields, schema.idField),\n schema.displayField,\n );\n });\n return;\n }\n\n const { collectionId, fields, displayField = 'name' } = options;\n const [url, data] = when(collectionsMeta.getDataCollection())\n .withParams({ dataCollectionId: collectionId })\n .reply(collectionResponse(collectionId, fields, displayField));\n\n fetchMock.route(url, data);\n}\n\n// The items-query endpoint has no `@wix/data/meta` entry, so derive its URL from\n// the wix-data-items SDK request options.\nfunction queryDataItemsMeta() {\n return {\n getUrl: (context: unknown) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (itemsApi.reqOptions as any)(\n itemsApi.queryDataItemsRequestOptions,\n {},\n )(context).url,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n httpMethod: (itemsApi.queryDataItemsRequestOptions as any).method,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n path: (itemsApi.queryDataItemsRequestOptions as any).httpPath,\n pathParams: {},\n __requestType: null,\n __originalRequestType: null,\n __responseType: null,\n __originalResponseType: null,\n };\n}\n\n// A resolver reads a page of rows for a decoded query — this is exactly a schema\n// source's derived fetch (`sourceFetchData`), so an in-memory source wires\n// straight in. A plain array is normalized to one below.\ntype ItemsResolver<T> = ReturnType<typeof sourceFetchData<T>>;\ntype OffsetQuery<T> = Parameters<ItemsResolver<T>>[0];\n\n/**\n * What `mockCmsItems` serves: either plain rows or a resolver that returns a page\n * per query (a schema source's derived fetch is exactly a resolver).\n */\nexport type CmsItems<T extends Record<string, unknown>> =\n | T[]\n | ItemsResolver<T>;\n\n/**\n * Mock the rows either from explicit items/resolver or straight from a schema\n * source — pass `{ source }` and a `createInMemorySchemaSource` becomes the single\n * source of truth for the rows too.\n */\nexport type MockCmsItemsOptions<T extends Record<string, unknown>> =\n | { items: CmsItems<T> }\n | { source: SchemaSource<T> };\n\n// The @wix/data query is sent as a base64 `.r` search param; decode it back to\n// the offset/limit a resolver expects.\ninterface QueryCall {\n queryParams: { get(name: string): string | null };\n}\n\nfunction decodeOffsetQuery<T extends Record<string, unknown>>(\n opts: QueryCall,\n): OffsetQuery<T> {\n const raw = opts.queryParams.get('.r');\n const query = raw ? JSON.parse(atob(raw))?.query : undefined;\n return {\n offset: query?.paging?.offset ?? 0,\n limit: query?.paging?.limit ?? 100,\n } as OffsetQuery<T>;\n}\n\nfunction toResolver<T extends Record<string, unknown>>(\n items: CmsItems<T>,\n): ItemsResolver<T> {\n if (typeof items === 'function') {\n return items;\n }\n // Plain array: slice by the requested page, report the full count as total.\n return (async (query: OffsetQuery<T>) => {\n const offset = query.offset ?? 0;\n const limit = query.limit ?? items.length;\n const page = items.slice(offset, offset + limit);\n return {\n items: page,\n total: items.length,\n hasNext: offset + page.length < items.length,\n };\n }) as ItemsResolver<T>;\n}\n\n/**\n * Routes the collection's rows (`items.query(...).find()`). Pass plain rows, or a\n * resolver `(query) => Promise<{ items, total }>` — the latter is a schema source's\n * `sourceFetchData(source)`, so an in-memory source drives paging per request.\n */\nexport function mockCmsItems<T extends Record<string, unknown>>(\n fetchMock: FetchMock,\n options: MockCmsItemsOptions<T>,\n): void {\n const resolve =\n 'source' in options\n ? sourceFetchData(options.source)\n : toResolver(options.items);\n const [url] = when(queryDataItemsMeta()).reply(null);\n\n fetchMock.route(url, async (opts: QueryCall) => {\n const { items: page, total } = await resolve(decodeOffsetQuery<T>(opts));\n return {\n dataItems: page.map((data) => ({ data })),\n pagingMetadata: { total },\n };\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -99,6 +99,11 @@ describe('transformCmsSchema', () => {
99
99
  expect(schema.fields.secret?.helpText).toBe('A hint');
100
100
  expect(schema.fields.secret?.isSystem).toBe(true);
101
101
  });
102
+ it('treats the manual-sort field as system even when not flagged by @wix/data', () => {
103
+ const key = '_manualSort_48382113-d33d-415b-b416-b65642f65483';
104
+ const schema = transformCmsSchema(makeCollection([makeField({ key, systemField: false })]));
105
+ expect(schema.fields[key]?.isSystem).toBe(true);
106
+ });
102
107
  it('maps validation ranges and required', () => {
103
108
  const schema = transformCmsSchema(makeCollection([
104
109
  makeField({
@@ -1 +1 @@
1
- {"version":3,"file":"transformCmsSchema.spec.js","sourceRoot":"","sources":["../../../../src/adapter/__tests__/transformCmsSchema.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformCmsSchema.spec.js","sourceRoot":"","sources":["../../../../src/adapter/__tests__/transformCmsSchema.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import { defineSchemaSource } from '@wix/bex-core';
2
+ import { collections } from '@wix/data';
3
+ import { cmsSchemaSourceInput } from '../useCmsSchemaSource';
4
+ import { fetchUserPermissions } from '../fetchUserPermissions';
5
+ import { fetchExternalDbConnections } from '../fetchExternalDbConnections';
6
+ // loadCmsSchema imports errorHandler at evaluation time; stub it so importing
7
+ // the source builder is side-effect free.
8
+ jest.mock('@wix/essentials', () => ({
9
+ errorHandler: {
10
+ withErrorHandler: (fn) => fn(),
11
+ },
12
+ }));
13
+ // Keep @wix/data real (cmsFieldTypeMap reads `collections.Type` at evaluation
14
+ // time) and stub only the collection fetch, so loadSchema runs the real
15
+ // loader + transform against a fixed collection.
16
+ jest.mock('@wix/data', () => {
17
+ const actual = jest.requireActual('@wix/data');
18
+ return {
19
+ ...actual,
20
+ collections: {
21
+ ...actual.collections,
22
+ getDataCollection: jest.fn(),
23
+ },
24
+ };
25
+ });
26
+ jest.mock('../fetchUserPermissions', () => ({
27
+ fetchUserPermissions: jest.fn(),
28
+ }));
29
+ jest.mock('../fetchExternalDbConnections', () => ({
30
+ fetchExternalDbConnections: jest.fn(),
31
+ }));
32
+ const getDataCollection = collections.getDataCollection;
33
+ const fetchUserPermissionsMock = fetchUserPermissions;
34
+ const fetchExternalDbConnectionsMock = fetchExternalDbConnections;
35
+ const httpClient = {};
36
+ // A collection with one reference field pointing at "Camels".
37
+ const collectionWithReference = () => ({
38
+ _id: 'Products',
39
+ collectionType: 'NATIVE',
40
+ displayField: 'title',
41
+ capabilities: { dataOperations: ['SAVE', 'UPDATE', 'REMOVE'] },
42
+ permissions: {
43
+ read: 'ANYONE',
44
+ insert: 'SITE_MEMBER',
45
+ update: 'SITE_MEMBER',
46
+ remove: 'SITE_MEMBER',
47
+ },
48
+ plugins: [],
49
+ fields: [
50
+ {
51
+ key: 'title',
52
+ type: collections.Type.TEXT,
53
+ systemField: false,
54
+ encrypted: false,
55
+ plugins: [],
56
+ displayName: 'Title',
57
+ capabilities: { queryOperators: [], sortable: true },
58
+ },
59
+ {
60
+ key: 'supplier',
61
+ type: collections.Type.REFERENCE,
62
+ systemField: false,
63
+ encrypted: false,
64
+ plugins: [],
65
+ displayName: 'Supplier',
66
+ capabilities: { queryOperators: [], sortable: false },
67
+ typeMetadata: { reference: { referencedCollectionId: 'Camels' } },
68
+ },
69
+ ],
70
+ });
71
+ describe('useCmsSchemaSource', () => {
72
+ beforeEach(() => {
73
+ jest.clearAllMocks();
74
+ getDataCollection.mockResolvedValue(collectionWithReference());
75
+ fetchUserPermissionsMock.mockResolvedValue([]);
76
+ fetchExternalDbConnectionsMock.mockResolvedValue([]);
77
+ });
78
+ it('declares the creatable types in display order — labels come from the standard names in the UI', () => {
79
+ const source = defineSchemaSource(cmsSchemaSourceInput({
80
+ collectionId: 'Pokemon',
81
+ httpClient,
82
+ }));
83
+ expect(source.creatableFieldTypes).toEqual([
84
+ { patternsType: 'SHORT_TEXT' },
85
+ { patternsType: 'NUMBER' },
86
+ { patternsType: 'BOOLEAN' },
87
+ { patternsType: 'DATE' },
88
+ ]);
89
+ });
90
+ it('builds an offset source keyed by the collectionId', () => {
91
+ const source = defineSchemaSource(cmsSchemaSourceInput({
92
+ collectionId: 'Pokemon',
93
+ httpClient,
94
+ }));
95
+ expect(source.collectionId).toBe('Pokemon');
96
+ expect(source.paginationMode).toBe('offset');
97
+ });
98
+ it('auto-builds a reference source per reference field once the schema loads', async () => {
99
+ const source = defineSchemaSource(cmsSchemaSourceInput({ collectionId: 'Products', httpClient }));
100
+ // Nothing is wired until the schema (and its reference fields) is known.
101
+ expect(source.references).toEqual({});
102
+ await source.loadSchema();
103
+ expect(source.references.Camels).toBeDefined();
104
+ expect(source.references.Camels.collectionId).toBe('Camels');
105
+ });
106
+ it('keeps a seeded reference source instead of auto-building it', async () => {
107
+ const seeded = defineSchemaSource(cmsSchemaSourceInput({ collectionId: 'Camels', httpClient }));
108
+ const source = defineSchemaSource(cmsSchemaSourceInput({
109
+ collectionId: 'Products',
110
+ httpClient,
111
+ references: { Camels: seeded },
112
+ }));
113
+ await source.loadSchema();
114
+ expect(source.references.Camels).toBe(seeded);
115
+ });
116
+ });
117
+ //# sourceMappingURL=useCmsSchemaSource.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCmsSchemaSource.spec.js","sourceRoot":"","sources":["../../../../src/adapter/__tests__/useCmsSchemaSource.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createCmsBackend.js","sourceRoot":"","sources":["../../../src/adapter/createCmsBackend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createCmsBackend.js","sourceRoot":"","sources":["../../../src/adapter/createCmsBackend.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { createCmsSchemaLoader, fetchCmsCollection, } from './loadCmsSchema';
2
- export { createCmsSchemaSource, } from './createCmsSchemaSource';
2
+ export { useCmsSchemaSource, } from './useCmsSchemaSource';
3
3
  export { listCmsCollections, } from './listCmsCollections';
4
4
  export { transformCmsSchema, } from './transformCmsSchema';
5
5
  export { createCmsBackend } from './createCmsBackend';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,qBAAqB,GAGtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAoB,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,qBAAqB,GAGtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAoB,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -17,7 +17,10 @@ export function transformCmsSchema(schema, options = {}) {
17
17
  isPrimary: field.key === schema.displayField,
18
18
  isPii: field.encrypted ?? false,
19
19
  helpText: field.description ?? undefined,
20
- isSystem: field.systemField ?? false,
20
+ // `@wix/data` does not flag the manual-sort field (`_manualSort_<id>`)
21
+ // as `systemField`, but it is internal and must not surface as an
22
+ // editable field — treat it as system, matching auto-patterns.
23
+ isSystem: (field.systemField ?? false) || field.key.startsWith('_manualSort'),
21
24
  validation: {
22
25
  numberRange: field.numberRange
23
26
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"transformCmsSchema.js","sourceRoot":"","sources":["../../../src/adapter/transformCmsSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformCmsSchema.js","sourceRoot":"","sources":["../../../src/adapter/transformCmsSchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { useSchemaSource, useWixPatternsContainer } from '@wix/bex-core/react';
2
+ import { defineSchemaSource } from '@wix/bex-core';
3
+ import { createCmsSchemaLoader, } from './loadCmsSchema';
4
+ // The field types the add/edit modal offers, in display order. These are the
5
+ // only types @wix/data can create (see PatternsFieldTypeToCmsFieldType).
6
+ const CMS_CREATABLE_TYPES = [
7
+ { patternsType: 'SHORT_TEXT' },
8
+ { patternsType: 'NUMBER' },
9
+ { patternsType: 'BOOLEAN' },
10
+ { patternsType: 'DATE' },
11
+ ];
12
+ export function cmsSchemaSourceInput(deps) {
13
+ const { collectionId, references: seedReferences, ...loaderDeps } = deps;
14
+ const loader = createCmsSchemaLoader(loaderDeps);
15
+ // Reference fields are wired automatically: when the schema loads, each
16
+ // REFERENCE / MULTI_REFERENCE field's referencedCollectionId gets a child CMS
17
+ // source (same loader deps) added to `references`, so entity-page reference
18
+ // inputs can query the referenced collection with no manual wiring. The object
19
+ // is shared with the resolved source; seeded entries win over auto-built ones.
20
+ const references = { ...seedReferences };
21
+ const loadSchema = async () => {
22
+ const loaded = await loader(collectionId);
23
+ Object.values(loaded.schema.fields).forEach((field) => {
24
+ if (field?.type !== 'REFERENCE' && field?.type !== 'MULTI_REFERENCE') {
25
+ return;
26
+ }
27
+ const referencedCollectionId = field.referenceMetadata.referencedCollectionId;
28
+ if (referencedCollectionId && !references[referencedCollectionId]) {
29
+ references[referencedCollectionId] = defineSchemaSource(cmsSchemaSourceInput({
30
+ collectionId: referencedCollectionId,
31
+ ...loaderDeps,
32
+ }));
33
+ }
34
+ });
35
+ return loaded;
36
+ };
37
+ return {
38
+ collectionId,
39
+ loadSchema,
40
+ creatableFieldTypes: CMS_CREATABLE_TYPES,
41
+ references,
42
+ };
43
+ }
44
+ /**
45
+ * A ready-to-use `SchemaSource` for a CMS collection: wraps the CMS schema
46
+ * loader and supplies the CMS field types. Pass it to a `@wix/patterns/schema`
47
+ * collection hook.
48
+ */
49
+ export function useCmsSchemaSource(deps) {
50
+ const container = useWixPatternsContainer();
51
+ return useSchemaSource(cmsSchemaSourceInput({
52
+ ...deps,
53
+ httpClient: deps.httpClient ?? container.httpClient,
54
+ }));
55
+ }
56
+ //# sourceMappingURL=useCmsSchemaSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCmsSchemaSource.js","sourceRoot":"","sources":["../../../src/adapter/useCmsSchemaSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAMnD,OAAO,EACL,qBAAqB,GAEtB,MAAM,iBAAiB,CAAC;AAEzB,6EAA6E;AAC7E,yEAAyE;AACzE,MAAM,mBAAmB,GAAyB;IAChD,EAAE,YAAY,EAAE,YAAY,EAAE;IAC9B,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC1B,EAAE,YAAY,EAAE,SAAS,EAAE;IAC3B,EAAE,YAAY,EAAE,MAAM,EAAE;CACzB,CAAC;AAaF,MAAM,UAAU,oBAAoB,CAGlC,IAA4E;IAE5E,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC;IACzE,MAAM,MAAM,GAAG,qBAAqB,CAAI,UAAU,CAAC,CAAC;IAEpD,wEAAwE;IACxE,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,MAAM,UAAU,GAAsC,EAAE,GAAG,cAAc,EAAE,CAAC;IAE5E,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACpD,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW,IAAI,KAAK,EAAE,IAAI,KAAK,iBAAiB,EAAE;gBACpE,OAAO;aACR;YACD,MAAM,sBAAsB,GAC1B,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YACjD,IAAI,sBAAsB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE;gBACjE,UAAU,CAAC,sBAAsB,CAAC,GAAG,kBAAkB,CACrD,oBAAoB,CAAC;oBACnB,YAAY,EAAE,sBAAsB;oBACpC,GAAG,UAAU;iBACd,CAAC,CACH,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,UAAU;QACV,mBAAmB,EAAE,mBAAmB;QACxC,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAEhC,IAA4B;IAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;IAC5C,OAAO,eAAe,CACpB,oBAAoB,CAAI;QACtB,GAAG,IAAI;QACP,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU;KACpD,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { when } from '@wix/sdk-testkit/fetch-mock';
2
2
  import { collections as collectionsMeta } from '@wix/data/meta';
3
3
  import { collections } from '@wix/data';
4
+ import { sourceFetchData } from '@wix/bex-core';
4
5
  import { PatternsFieldTypeToCmsFieldType } from '../adapter/cmsFieldTypeMap';
5
6
  // The query endpoint's request options aren't exposed on any public entry, so
6
7
  // reach into the items SDK internals to derive its URL (no @wix/data/meta entry).
@@ -30,7 +31,7 @@ function collectionResponse(collectionId, fields, displayField) {
30
31
  };
31
32
  }
32
33
  /**
33
- * Routes the collection schema (`getDataCollection`) that `createCmsSchemaSource`
34
+ * Routes the collection schema (`getDataCollection`) that `useCmsSchemaSource`
34
35
  * loads. `@wix/data` issues real fetch calls; the caller's fetch-mock instance
35
36
  * intercepts them by URL.
36
37
  */
@@ -97,11 +98,11 @@ function toResolver(items) {
97
98
  /**
98
99
  * Routes the collection's rows (`items.query(...).find()`). Pass plain rows, or a
99
100
  * resolver `(query) => Promise<{ items, total }>` — the latter is a schema source's
100
- * `collectionConfig.fetchData`, so an in-memory source drives paging per request.
101
+ * `sourceFetchData(source)`, so an in-memory source drives paging per request.
101
102
  */
102
103
  export function mockCmsItems(fetchMock, options) {
103
104
  const resolve = 'source' in options
104
- ? options.source.collectionConfig.fetchData
105
+ ? sourceFetchData(options.source)
105
106
  : toResolver(options.items);
106
107
  const [url] = when(queryDataItemsMeta()).reply(null);
107
108
  fetchMock.route(url, async (opts) => {
@@ -1 +1 @@
1
- {"version":3,"file":"cmsFetchMocks.js","sourceRoot":"","sources":["../../../src/testkit/cmsFetchMocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,8EAA8E;AAC9E,kFAAkF;AAClF,iDAAiD;AACjD,OAAO,KAAK,QAAQ,MAAM,6DAA6D,CAAC;AAmBxF,SAAS,WAAW,CAAC,MAAwB,EAAE,OAAe;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SACzB,MAAM,CAAC,CAAC,KAAK,EAAsC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;SACpE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,EAAE,KAAK,CAAC,EAAE;QACb,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,IAAI,EACF,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI;QACtE,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,kBAAkB,CACzB,YAAoB,EACpB,MAAqB,EACrB,YAAoB;IAEpB,OAAO;QACL,qBAAqB,EAAE,EAAE;QACzB,UAAU,EAAE;YACV,EAAE,EAAE,YAAY;YAChB,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,OAAO;YAClD,WAAW,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5C,OAAO,EAAE,EAAE;YACX,YAAY;YACZ,MAAM;SACP;KACuC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAE/B,SAAoB,EAAE,OAAoC;IAC1D,IAAI,QAAQ,IAAI,OAAO,EAAE;QACvB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;aACpD,UAAU,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;aACrD,KAAK,CAAC,SAAS,CAAC,CAAC;QAEpB,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7C,OAAO,kBAAkB,CACvB,MAAM,CAAC,YAAY,EACnB,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EAC1C,MAAM,CAAC,YAAY,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO;KACR;IAED,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAChE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;SAC1D,UAAU,CAAC,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;SAC9C,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAEjE,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,iFAAiF;AACjF,0CAA0C;AAC1C,SAAS,kBAAkB;IACzB,OAAO;QACL,MAAM,EAAE,CAAC,OAAgB,EAAE,EAAE;QAC3B,8DAA8D;QAC7D,QAAQ,CAAC,UAAkB,CAC1B,QAAQ,CAAC,4BAA4B,EACrC,EAAE,CACH,CAAC,OAAO,CAAC,CAAC,GAAG;QAChB,8DAA8D;QAC9D,UAAU,EAAG,QAAQ,CAAC,4BAAoC,CAAC,MAAM;QACjE,8DAA8D;QAC9D,IAAI,EAAG,QAAQ,CAAC,4BAAoC,CAAC,QAAQ;QAC7D,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,IAAI;QACnB,qBAAqB,EAAE,IAAI;QAC3B,cAAc,EAAE,IAAI;QACpB,sBAAsB,EAAE,IAAI;KAC7B,CAAC;AACJ,CAAC;AA+BD,SAAS,iBAAiB,CACxB,IAAe;IAEf,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;QAClC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG;KACjB,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CACjB,KAAkB;IAElB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAO,KAAK,CAAC;KACd;IACD,4EAA4E;IAC5E,OAAO,CAAC,KAAK,EAAE,KAAqB,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;QACjD,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;SAC7C,CAAC;IACJ,CAAC,CAAqB,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAoB,EACpB,OAA+B;IAE/B,MAAM,OAAO,GACX,QAAQ,IAAI,OAAO;QACjB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS;QAC3C,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErD,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAe,EAAE,EAAE;QAC7C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAI,IAAI,CAAC,CAAC,CAAC;QACzE,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,cAAc,EAAE,EAAE,KAAK,EAAE;SAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cmsFetchMocks.js","sourceRoot":"","sources":["../../../src/testkit/cmsFetchMocks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useCmsSchemaSource.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCmsSchemaSource.spec.d.ts","sourceRoot":"","sources":["../../../../src/adapter/__tests__/useCmsSchemaSource.spec.ts"],"names":[],"mappings":""}
@@ -1,9 +1,11 @@
1
- import type { CollectionBackend, Schema } from '@wix/bex-core';
1
+ import type { CollectionBackend, CollectionBackendBase, Schema } from '@wix/bex-core';
2
2
  type SchemaFields = Schema['fields'];
3
+ /** CMS supports every item capability except `move`. */
4
+ export type CmsCollectionBackend<T extends Record<string, unknown> = Record<string, unknown>> = CollectionBackend<T> & Required<Omit<CollectionBackendBase<T>, 'move'>>;
3
5
  /**
4
6
  * Builds the `CollectionBackend` for a CMS collection over `@wix/data`. Reference
5
7
  * fields are expanded via `.include(...)` on `get`/`find`.
6
8
  */
7
- export declare function createCmsBackend<T extends Record<string, unknown> = Record<string, unknown>>(collectionId: string, fields: SchemaFields): CollectionBackend<T>;
9
+ export declare function createCmsBackend<T extends Record<string, unknown> = Record<string, unknown>>(collectionId: string, fields: SchemaFields): CmsCollectionBackend<T>;
8
10
  export {};
9
11
  //# sourceMappingURL=createCmsBackend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createCmsBackend.d.ts","sourceRoot":"","sources":["../../../src/adapter/createCmsBackend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,iBAAiB,EAIjB,MAAM,EACP,MAAM,eAAe,CAAC;AAMvB,KAAK,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAuCrC;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CA6HlE"}
1
+ {"version":3,"file":"createCmsBackend.d.ts","sourceRoot":"","sources":["../../../src/adapter/createCmsBackend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,iBAAiB,EACjB,qBAAqB,EAIrB,MAAM,EACP,MAAM,eAAe,CAAC;AAMvB,KAAK,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAuCrC,wDAAwD;AACxD,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACzD,iBAAiB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5E;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,oBAAoB,CAAC,CAAC,CAAC,CA6HrE"}
@@ -1,5 +1,5 @@
1
1
  export { createCmsSchemaLoader, fetchCmsCollection, type CreateCmsSchemaLoaderDeps, } from './loadCmsSchema';
2
- export { createCmsSchemaSource, type CreateCmsSchemaSourceDeps, } from './createCmsSchemaSource';
2
+ export { useCmsSchemaSource, type UseCmsSchemaSourceDeps, } from './useCmsSchemaSource';
3
3
  export { listCmsCollections, type CmsCollectionSummary, } from './listCmsCollections';
4
4
  export { transformCmsSchema, type TransformCmsSchemaOptions, } from './transformCmsSchema';
5
5
  export { createCmsBackend } from './createCmsBackend';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transformCmsSchema.d.ts","sourceRoot":"","sources":["../../../src/adapter/transformCmsSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAS,MAAM,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,yBAAyB;IACxC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uEAAuE;IACvE,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAChD;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,CAAC,cAAc,EAClC,OAAO,GAAE,yBAA8B,GACtC,MAAM,CAkFR"}
1
+ {"version":3,"file":"transformCmsSchema.d.ts","sourceRoot":"","sources":["../../../src/adapter/transformCmsSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAS,MAAM,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,yBAAyB;IACxC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uEAAuE;IACvE,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAChD;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,CAAC,cAAc,EAClC,OAAO,GAAE,yBAA8B,GACtC,MAAM,CAsFR"}
@@ -0,0 +1,19 @@
1
+ import type { SchemaSource, SchemaSourceInput } from '@wix/bex-core';
2
+ import { type CreateCmsSchemaLoaderDeps } from './loadCmsSchema';
3
+ export interface UseCmsSchemaSourceDeps extends Omit<CreateCmsSchemaLoaderDeps, 'httpClient'> {
4
+ collectionId: string;
5
+ /** Default: the patterns container's client. */
6
+ httpClient?: CreateCmsSchemaLoaderDeps['httpClient'];
7
+ /** Seed sources for referenced collections, keyed by referenced collection
8
+ * id. Usually unnecessary — reference fields are resolved automatically from
9
+ * the loaded schema. Provide an entry only to override the auto-built one. */
10
+ references?: Record<string, SchemaSource<any>>;
11
+ }
12
+ export declare function cmsSchemaSourceInput<T extends Record<string, unknown> = Record<string, unknown>>(deps: UseCmsSchemaSourceDeps & Pick<CreateCmsSchemaLoaderDeps, 'httpClient'>): SchemaSourceInput<T>;
13
+ /**
14
+ * A ready-to-use `SchemaSource` for a CMS collection: wraps the CMS schema
15
+ * loader and supplies the CMS field types. Pass it to a `@wix/patterns/schema`
16
+ * collection hook.
17
+ */
18
+ export declare function useCmsSchemaSource<T extends Record<string, unknown> = Record<string, unknown>>(deps: UseCmsSchemaSourceDeps): SchemaSource<T>;
19
+ //# sourceMappingURL=useCmsSchemaSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCmsSchemaSource.d.ts","sourceRoot":"","sources":["../../../src/adapter/useCmsSchemaSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,YAAY,EACZ,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AAWzB,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,yBAAyB,EAAE,YAAY,CAAC;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,UAAU,CAAC,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACrD;;mFAE+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;CAChD;AAED,wBAAgB,oBAAoB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE3D,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,EAAE,YAAY,CAAC,GAC3E,iBAAiB,CAAC,CAAC,CAAC,CAqCtB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,IAAI,EAAE,sBAAsB,GAAG,YAAY,CAAC,CAAC,CAAC,CAQ/C"}
@@ -1,4 +1,5 @@
1
1
  import { collections } from '@wix/data';
2
+ import { sourceFetchData } from '@wix/bex-core';
2
3
  import type { SchemaSource } from '@wix/bex-core';
3
4
  import type { FetchMock } from 'fetch-mock';
4
5
  export type WixDataFields = NonNullable<collections.GetDataCollectionResponse['collection']>['fields'];
@@ -16,15 +17,15 @@ export type MockCmsCollectionOptions<T extends Record<string, unknown> = Record<
16
17
  source: SchemaSource<T>;
17
18
  };
18
19
  /**
19
- * Routes the collection schema (`getDataCollection`) that `createCmsSchemaSource`
20
+ * Routes the collection schema (`getDataCollection`) that `useCmsSchemaSource`
20
21
  * loads. `@wix/data` issues real fetch calls; the caller's fetch-mock instance
21
22
  * intercepts them by URL.
22
23
  */
23
24
  export declare function mockCmsCollection<T extends Record<string, unknown> = Record<string, unknown>>(fetchMock: FetchMock, options: MockCmsCollectionOptions<T>): void;
24
- type ItemsResolver<T> = SchemaSource<T>['collectionConfig']['fetchData'];
25
+ type ItemsResolver<T> = ReturnType<typeof sourceFetchData<T>>;
25
26
  /**
26
27
  * What `mockCmsItems` serves: either plain rows or a resolver that returns a page
27
- * per query (a schema source's `collectionConfig.fetchData` is exactly a resolver).
28
+ * per query (a schema source's derived fetch is exactly a resolver).
28
29
  */
29
30
  export type CmsItems<T extends Record<string, unknown>> = T[] | ItemsResolver<T>;
30
31
  /**
@@ -40,7 +41,7 @@ export type MockCmsItemsOptions<T extends Record<string, unknown>> = {
40
41
  /**
41
42
  * Routes the collection's rows (`items.query(...).find()`). Pass plain rows, or a
42
43
  * resolver `(query) => Promise<{ items, total }>` — the latter is a schema source's
43
- * `collectionConfig.fetchData`, so an in-memory source drives paging per request.
44
+ * `sourceFetchData(source)`, so an in-memory source drives paging per request.
44
45
  */
45
46
  export declare function mockCmsItems<T extends Record<string, unknown>>(fetchMock: FetchMock, options: MockCmsItemsOptions<T>): void;
46
47
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"cmsFetchMocks.d.ts","sourceRoot":"","sources":["../../../src/testkit/cmsFetchMocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AAM1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,WAAW,CACrC,WAAW,CAAC,yBAAyB,CAAC,YAAY,CAAC,CACpD,CAAC,QAAQ,CAAC,CAAC;AAEZ;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAEzD;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAgChC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,CAwBlE;AA2BD,KAAK,aAAa,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,CAAC;AAGzE;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAClD,CAAC,EAAE,GACH,aAAa,CAAC,CAAC,CAAC,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC7D;IAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;CAAE,GACtB;IAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAsChC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,IAAI,CAcN"}
1
+ {"version":3,"file":"cmsFetchMocks.d.ts","sourceRoot":"","sources":["../../../src/testkit/cmsFetchMocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AAM1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,WAAW,CACrC,WAAW,CAAC,yBAAyB,CAAC,YAAY,CAAC,CACpD,CAAC,QAAQ,CAAC,CAAC;AAEZ;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAEzD;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAgChC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,CAwBlE;AA2BD,KAAK,aAAa,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAG9D;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAClD,CAAC,EAAE,GACH,aAAa,CAAC,CAAC,CAAC,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC7D;IAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;CAAE,GACtB;IAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAsChC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,IAAI,CAcN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/patterns-cms",
3
- "version": "1.11.0",
3
+ "version": "1.14.0",
4
4
  "license": "UNLICENSED",
5
5
  "author": {
6
6
  "name": "Cairo",
@@ -28,8 +28,8 @@
28
28
  ],
29
29
  "dependencies": {
30
30
  "@babel/runtime": "^7.0.0",
31
- "@wix/bex-core": "2.333.0",
32
- "@wix/bex-utils": "2.120.0",
31
+ "@wix/bex-core": "2.336.0",
32
+ "@wix/bex-utils": "2.123.0",
33
33
  "@wix/data": "^1.0.323",
34
34
  "@wix/wix-data-items-sdk": "^1.0.504",
35
35
  "lodash": "^4.17.20",
@@ -38,7 +38,8 @@
38
38
  "peerDependencies": {
39
39
  "@wix/essentials": ">=0.1.26",
40
40
  "@wix/sdk-testkit": ">=0.1.6",
41
- "fetch-mock": ">=12.5.2"
41
+ "fetch-mock": ">=12.5.2",
42
+ "react": "^16.13.1 || ^17.0.0 || ^18.0.0"
42
43
  },
43
44
  "peerDependenciesMeta": {
44
45
  "@wix/sdk-testkit": {
@@ -133,5 +134,5 @@
133
134
  "wallaby": {
134
135
  "autoDetect": true
135
136
  },
136
- "falconPackageHash": "b778bb61a618d44cd686bc11c5646a2fdc4f7b2ea33908335200bd2f"
137
+ "falconPackageHash": "27c83118bf877a3a4fd8b401b06ecd9864e85679cfe165d8b1d9c36d"
137
138
  }