@wix/bex-core 2.332.0 → 2.336.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 (186) hide show
  1. package/dist/cjs/assets/locale/messages_ar.json +13 -2
  2. package/dist/cjs/assets/locale/messages_bg.json +13 -2
  3. package/dist/cjs/assets/locale/messages_ca.json +13 -2
  4. package/dist/cjs/assets/locale/messages_cs.json +11 -0
  5. package/dist/cjs/assets/locale/messages_da.json +11 -0
  6. package/dist/cjs/assets/locale/messages_de.json +11 -0
  7. package/dist/cjs/assets/locale/messages_el.json +13 -2
  8. package/dist/cjs/assets/locale/messages_en.json +13 -2
  9. package/dist/cjs/assets/locale/messages_es.json +11 -0
  10. package/dist/cjs/assets/locale/messages_fi.json +13 -2
  11. package/dist/cjs/assets/locale/messages_fr.json +11 -0
  12. package/dist/cjs/assets/locale/messages_he.json +13 -2
  13. package/dist/cjs/assets/locale/messages_hi.json +11 -0
  14. package/dist/cjs/assets/locale/messages_hu.json +13 -2
  15. package/dist/cjs/assets/locale/messages_id.json +11 -0
  16. package/dist/cjs/assets/locale/messages_it.json +11 -0
  17. package/dist/cjs/assets/locale/messages_ja.json +11 -0
  18. package/dist/cjs/assets/locale/messages_ko.json +11 -0
  19. package/dist/cjs/assets/locale/messages_lt.json +13 -2
  20. package/dist/cjs/assets/locale/messages_ms.json +13 -2
  21. package/dist/cjs/assets/locale/messages_nl.json +11 -0
  22. package/dist/cjs/assets/locale/messages_no.json +11 -0
  23. package/dist/cjs/assets/locale/messages_pl.json +11 -0
  24. package/dist/cjs/assets/locale/messages_pt.json +11 -0
  25. package/dist/cjs/assets/locale/messages_ro.json +13 -2
  26. package/dist/cjs/assets/locale/messages_ru.json +11 -0
  27. package/dist/cjs/assets/locale/messages_sk.json +13 -2
  28. package/dist/cjs/assets/locale/messages_sl.json +13 -2
  29. package/dist/cjs/assets/locale/messages_sv.json +11 -0
  30. package/dist/cjs/assets/locale/messages_th.json +11 -0
  31. package/dist/cjs/assets/locale/messages_tl.json +13 -2
  32. package/dist/cjs/assets/locale/messages_tr.json +11 -0
  33. package/dist/cjs/assets/locale/messages_uk.json +11 -0
  34. package/dist/cjs/assets/locale/messages_vi.json +11 -0
  35. package/dist/cjs/assets/locale/messages_zh.json +11 -0
  36. package/dist/cjs/assets/locale/version_file +1 -1
  37. package/dist/cjs/assets/visual-e2e-locale/messages_visuale2e.json +29 -2
  38. package/dist/cjs/hooks/index.js +6 -6
  39. package/dist/cjs/hooks/index.js.map +1 -1
  40. package/dist/cjs/hooks/useImport.js +4 -0
  41. package/dist/cjs/hooks/useImport.js.map +1 -1
  42. package/dist/cjs/hooks/useSchemaSource.js +11 -0
  43. package/dist/cjs/hooks/useSchemaSource.js.map +1 -0
  44. package/dist/cjs/index.js +4 -9
  45. package/dist/cjs/index.js.map +1 -1
  46. package/dist/cjs/services/translations.js.map +1 -1
  47. package/dist/cjs/state/CustomFieldModalState.js +12 -0
  48. package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
  49. package/dist/cjs/state/ImportState/ImportState.js +415 -136
  50. package/dist/cjs/state/ImportState/ImportState.js.map +1 -1
  51. package/dist/cjs/state/ImportState/__tests__/ImportState.engine.spec.js +417 -82
  52. package/dist/cjs/state/ImportState/__tests__/ImportState.engine.spec.js.map +1 -1
  53. package/dist/cjs/state/ImportState/__tests__/buildImportConfig.spec.js +156 -0
  54. package/dist/cjs/state/ImportState/__tests__/buildImportConfig.spec.js.map +1 -0
  55. package/dist/cjs/state/ImportState/detectFieldType.js +41 -0
  56. package/dist/cjs/state/ImportState/detectFieldType.js.map +1 -1
  57. package/dist/cjs/state/ImportState/fieldEdit.js +49 -0
  58. package/dist/cjs/state/ImportState/fieldEdit.js.map +1 -1
  59. package/dist/cjs/state/SourceState.js +150 -0
  60. package/dist/cjs/state/SourceState.js.map +1 -0
  61. package/dist/cjs/state/index.js +7 -0
  62. package/dist/cjs/state/index.js.map +1 -1
  63. package/dist/cjs/testkit/createInMemorySchemaSource.js +190 -0
  64. package/dist/cjs/testkit/createInMemorySchemaSource.js.map +1 -0
  65. package/dist/cjs/testkit/hubJobImportMocks.js +18 -2
  66. package/dist/cjs/testkit/hubJobImportMocks.js.map +1 -1
  67. package/dist/cjs/testkit/index.js +6 -0
  68. package/dist/cjs/testkit/index.js.map +1 -1
  69. package/dist/cjs/types/Field.js.map +1 -1
  70. package/dist/cjs/types/Schema.js.map +1 -1
  71. package/dist/cjs/types/SchemaSource.js +31 -21
  72. package/dist/cjs/types/SchemaSource.js.map +1 -1
  73. package/dist/esm/assets/locale/messages_ar.json +13 -2
  74. package/dist/esm/assets/locale/messages_bg.json +13 -2
  75. package/dist/esm/assets/locale/messages_ca.json +13 -2
  76. package/dist/esm/assets/locale/messages_cs.json +11 -0
  77. package/dist/esm/assets/locale/messages_da.json +11 -0
  78. package/dist/esm/assets/locale/messages_de.json +11 -0
  79. package/dist/esm/assets/locale/messages_el.json +13 -2
  80. package/dist/esm/assets/locale/messages_en.json +13 -2
  81. package/dist/esm/assets/locale/messages_es.json +11 -0
  82. package/dist/esm/assets/locale/messages_fi.json +13 -2
  83. package/dist/esm/assets/locale/messages_fr.json +11 -0
  84. package/dist/esm/assets/locale/messages_he.json +13 -2
  85. package/dist/esm/assets/locale/messages_hi.json +11 -0
  86. package/dist/esm/assets/locale/messages_hu.json +13 -2
  87. package/dist/esm/assets/locale/messages_id.json +11 -0
  88. package/dist/esm/assets/locale/messages_it.json +11 -0
  89. package/dist/esm/assets/locale/messages_ja.json +11 -0
  90. package/dist/esm/assets/locale/messages_ko.json +11 -0
  91. package/dist/esm/assets/locale/messages_lt.json +13 -2
  92. package/dist/esm/assets/locale/messages_ms.json +13 -2
  93. package/dist/esm/assets/locale/messages_nl.json +11 -0
  94. package/dist/esm/assets/locale/messages_no.json +11 -0
  95. package/dist/esm/assets/locale/messages_pl.json +11 -0
  96. package/dist/esm/assets/locale/messages_pt.json +11 -0
  97. package/dist/esm/assets/locale/messages_ro.json +13 -2
  98. package/dist/esm/assets/locale/messages_ru.json +11 -0
  99. package/dist/esm/assets/locale/messages_sk.json +13 -2
  100. package/dist/esm/assets/locale/messages_sl.json +13 -2
  101. package/dist/esm/assets/locale/messages_sv.json +11 -0
  102. package/dist/esm/assets/locale/messages_th.json +11 -0
  103. package/dist/esm/assets/locale/messages_tl.json +13 -2
  104. package/dist/esm/assets/locale/messages_tr.json +11 -0
  105. package/dist/esm/assets/locale/messages_uk.json +11 -0
  106. package/dist/esm/assets/locale/messages_vi.json +11 -0
  107. package/dist/esm/assets/locale/messages_zh.json +11 -0
  108. package/dist/esm/assets/locale/version_file +1 -1
  109. package/dist/esm/assets/visual-e2e-locale/messages_visuale2e.json +29 -2
  110. package/dist/esm/hooks/index.js +1 -1
  111. package/dist/esm/hooks/index.js.map +1 -1
  112. package/dist/esm/hooks/useImport.js +3 -1
  113. package/dist/esm/hooks/useImport.js.map +1 -1
  114. package/dist/esm/hooks/useSchemaSource.js +7 -0
  115. package/dist/esm/hooks/useSchemaSource.js.map +1 -0
  116. package/dist/esm/index.js +1 -2
  117. package/dist/esm/index.js.map +1 -1
  118. package/dist/esm/state/CustomFieldModalState.js +8 -0
  119. package/dist/esm/state/CustomFieldModalState.js.map +1 -1
  120. package/dist/esm/state/ImportState/ImportState.js +306 -113
  121. package/dist/esm/state/ImportState/ImportState.js.map +1 -1
  122. package/dist/esm/state/ImportState/__tests__/ImportState.engine.spec.js +297 -70
  123. package/dist/esm/state/ImportState/__tests__/ImportState.engine.spec.js.map +1 -1
  124. package/dist/esm/state/ImportState/__tests__/buildImportConfig.spec.js +100 -0
  125. package/dist/esm/state/ImportState/__tests__/buildImportConfig.spec.js.map +1 -0
  126. package/dist/esm/state/ImportState/detectFieldType.js +34 -15
  127. package/dist/esm/state/ImportState/detectFieldType.js.map +1 -1
  128. package/dist/esm/state/ImportState/fieldEdit.js +44 -0
  129. package/dist/esm/state/ImportState/fieldEdit.js.map +1 -1
  130. package/dist/esm/state/SourceState.js +131 -0
  131. package/dist/esm/state/SourceState.js.map +1 -0
  132. package/dist/esm/state/index.js +1 -0
  133. package/dist/esm/state/index.js.map +1 -1
  134. package/dist/esm/testkit/createInMemorySchemaSource.js +141 -0
  135. package/dist/esm/testkit/createInMemorySchemaSource.js.map +1 -0
  136. package/dist/esm/testkit/hubJobImportMocks.js +17 -1
  137. package/dist/esm/testkit/hubJobImportMocks.js.map +1 -1
  138. package/dist/esm/testkit/index.js +1 -0
  139. package/dist/esm/testkit/index.js.map +1 -1
  140. package/dist/esm/types/SchemaSource.js +21 -14
  141. package/dist/esm/types/SchemaSource.js.map +1 -1
  142. package/dist/types/hooks/index.d.ts +1 -1
  143. package/dist/types/hooks/index.d.ts.map +1 -1
  144. package/dist/types/hooks/useImport.d.ts +9 -3
  145. package/dist/types/hooks/useImport.d.ts.map +1 -1
  146. package/dist/types/hooks/useSchemaSource.d.ts +4 -0
  147. package/dist/types/hooks/useSchemaSource.d.ts.map +1 -0
  148. package/dist/types/index.d.ts +2 -3
  149. package/dist/types/index.d.ts.map +1 -1
  150. package/dist/types/services/translations.d.ts +7 -1
  151. package/dist/types/services/translations.d.ts.map +1 -1
  152. package/dist/types/state/CustomFieldModalState.d.ts +9 -0
  153. package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
  154. package/dist/types/state/ImportState/ImportState.d.ts +208 -65
  155. package/dist/types/state/ImportState/ImportState.d.ts.map +1 -1
  156. package/dist/types/state/ImportState/__tests__/buildImportConfig.spec.d.ts +2 -0
  157. package/dist/types/state/ImportState/__tests__/buildImportConfig.spec.d.ts.map +1 -0
  158. package/dist/types/state/ImportState/detectFieldType.d.ts +5 -0
  159. package/dist/types/state/ImportState/detectFieldType.d.ts.map +1 -1
  160. package/dist/types/state/ImportState/fieldEdit.d.ts +6 -0
  161. package/dist/types/state/ImportState/fieldEdit.d.ts.map +1 -1
  162. package/dist/types/state/SourceState.d.ts +39 -0
  163. package/dist/types/state/SourceState.d.ts.map +1 -0
  164. package/dist/types/state/index.d.ts +1 -0
  165. package/dist/types/state/index.d.ts.map +1 -1
  166. package/dist/types/testkit/WixPatternsContainer.driver.d.ts +4 -0
  167. package/dist/types/testkit/WixPatternsContainer.driver.d.ts.map +1 -1
  168. package/dist/types/testkit/createInMemorySchemaSource.d.ts +43 -0
  169. package/dist/types/testkit/createInMemorySchemaSource.d.ts.map +1 -0
  170. package/dist/types/testkit/hubJobImportMocks.d.ts +11 -1
  171. package/dist/types/testkit/hubJobImportMocks.d.ts.map +1 -1
  172. package/dist/types/testkit/index.d.ts +1 -0
  173. package/dist/types/testkit/index.d.ts.map +1 -1
  174. package/dist/types/types/Field.d.ts +3 -0
  175. package/dist/types/types/Field.d.ts.map +1 -1
  176. package/dist/types/types/Schema.d.ts +10 -6
  177. package/dist/types/types/Schema.d.ts.map +1 -1
  178. package/dist/types/types/SchemaSource.d.ts +30 -13
  179. package/dist/types/types/SchemaSource.d.ts.map +1 -1
  180. package/package.json +4 -4
  181. package/dist/cjs/hooks/useImportConfig.js +0 -12
  182. package/dist/cjs/hooks/useImportConfig.js.map +0 -1
  183. package/dist/esm/hooks/useImportConfig.js +0 -6
  184. package/dist/esm/hooks/useImportConfig.js.map +0 -1
  185. package/dist/types/hooks/useImportConfig.d.ts +0 -5
  186. package/dist/types/hooks/useImportConfig.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["TYPE_SAMPLE_SIZE","exports","MAJORITY","NUMBER_RE","SLASH_DATE_RE","ISO_DATE_RE","WEBSITE_PROTOCOLS","EMAIL_PROTOCOL","PHONE_PROTOCOLS","RELATIVE_PREFIXES","PHONE_RE","EMAIL_RE","startsWithAny","value","prefixes","some","prefix","startsWith","isValidWebsiteUrl","parsed","URL","includes","protocol","isEmailUrl","test","slice","length","isPhoneUrl","isUrl","isDate","Number","isNaN","Date","getTime","swapped","replace","detectValueType","lower","toLowerCase","detectColumnType","values","detectValue","samples","counts","Map","forEach","type","set","get","best","bestCount","count"],"sources":["../../../../src/state/ImportState/detectFieldType.ts"],"sourcesContent":["// Field-type detection for new fields created during CSV import (CAIRO-4131).\n//\n// Ported from cm-import (`wix-data-client/cm-import`):\n// - per-cell rules from `src/field-configuration/detectFieldConfig.js`\n// (`detectPrimitiveType`) and `src/types/validators/{number,url}.js`\n// - the column-level majority vote from\n// `src/field-configuration/guessFieldConfigFromSamples.js`\n//\n// This module owns the shared `NewFieldType` vocabulary and the primitive\n// detector (number / date / boolean / url, else text). Media detection (image /\n// video / document / audio) lives in `@wix/patterns-fields` — it needs the media\n// URI parser, which core must not depend on — and is injected into `ImportState`\n// via `detectColumnType` (see `ImportStateProps`). `detectColumnType` here takes\n// the per-value detector as a parameter so the fields detector reuses this\n// sampling/majority logic instead of re-implementing it.\n\n// All field types a new column can be detected as. The primitive detector below\n// only ever returns the first five; image/video/document/audio come from the\n// injected fields detector.\nexport type NewFieldType =\n | 'text'\n | 'number'\n | 'date'\n | 'boolean'\n | 'url'\n | 'image'\n | 'video'\n | 'document'\n | 'audio';\n\n// Infers a column's field type from its values. Injected into `ImportState`.\nexport type DetectColumnType = (values: string[]) => NewFieldType;\n\n// Infers a single cell's field type.\nexport type DetectValueType = (value: string) => NewFieldType;\n\n// Column-detection sampling: look at the first `TYPE_SAMPLE_SIZE` values and\n// require a >= `MAJORITY` share to agree on a non-text type. We use the same 2/3\n// vote as cm-import but a **larger sample** — cm-import's `constants.sampleSize`\n// is 6; we deliberately sample more so the inference is steadier on messy\n// columns. Exported so callers pass only the head of a column to\n// `detectColumnType` instead of copying it whole.\nexport const TYPE_SAMPLE_SIZE = 50;\nconst MAJORITY = 2 / 3;\n\n// cm-import `validators/number.js` `validateString`.\nconst NUMBER_RE = /^[+-]?(?:\\d+\\.?\\d*)?$/;\n\n// cm-import `detectFieldConfig.js` date patterns.\nconst SLASH_DATE_RE = /^\\d{1,2}\\/\\d{1,2}\\/\\d{4}(?: \\d{1,2}:\\d{1,2})?$/;\nconst ISO_DATE_RE = /\\d{4}-\\d{2}-\\d{2}/;\n\n// Approximates cm-import `validators/url.js` (website / email / phone / relative\n// links). cm-import delegates structural validation to `@wix/santa-core-utils`\n// `isValidUrl`/`isValidEmail`, which aren't available here — so website URLs are\n// validated with the platform `URL` parser instead (rejects empty/whitespace/\n// malformed authorities). It's still an approximation: `URL` accepts some\n// odd-but-parseable hosts santa would reject.\nconst WEBSITE_PROTOCOLS = ['http:', 'https:', 'ftp:'];\nconst EMAIL_PROTOCOL = 'mailto:';\nconst PHONE_PROTOCOLS = ['sms:', 'tel:'];\nconst RELATIVE_PREFIXES = ['/', '#', '?'];\nconst PHONE_RE = /^[\\s\\d()+\\-/_]+$/;\nconst EMAIL_RE = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n\nconst startsWithAny = (value: string, prefixes: readonly string[]): boolean =>\n prefixes.some((prefix) => value.startsWith(prefix));\n\nconst isValidWebsiteUrl = (value: string): boolean => {\n let parsed: URL;\n try {\n parsed = new URL(value);\n } catch {\n return false;\n }\n return WEBSITE_PROTOCOLS.includes(parsed.protocol);\n};\n\nconst isEmailUrl = (value: string): boolean =>\n value.startsWith(EMAIL_PROTOCOL) &&\n EMAIL_RE.test(value.slice(EMAIL_PROTOCOL.length));\n\nconst isPhoneUrl = (value: string): boolean =>\n PHONE_PROTOCOLS.some(\n (protocol) =>\n value.startsWith(protocol) && PHONE_RE.test(value.slice(protocol.length)),\n );\n\nconst isUrl = (value: string): boolean =>\n isValidWebsiteUrl(value) ||\n isEmailUrl(value) ||\n isPhoneUrl(value) ||\n startsWithAny(value, RELATIVE_PREFIXES);\n\nconst isDate = (value: string): boolean => {\n if (SLASH_DATE_RE.test(value)) {\n if (!Number.isNaN(new Date(value).getTime())) {\n return true;\n }\n // cm-import also accepts dd/mm/yyyy by swapping day and month.\n const swapped = value.replace(/(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})/, '$2/$1/$3');\n if (!Number.isNaN(new Date(swapped).getTime())) {\n return true;\n }\n }\n return ISO_DATE_RE.test(value) && !Number.isNaN(new Date(value).getTime());\n};\n\n/**\n * Infer the field type of a single CSV cell, in cm-import's order:\n * empty → number → boolean → date → url, else text.\n */\nexport function detectValueType(value: string): NewFieldType {\n if (value === '') {\n return 'text';\n }\n if (NUMBER_RE.test(value)) {\n return 'number';\n }\n const lower = value.toLowerCase();\n if (lower === 'true' || lower === 'false') {\n return 'boolean';\n }\n if (isDate(value)) {\n return 'date';\n }\n if (isUrl(value)) {\n return 'url';\n }\n return 'text';\n}\n\n/**\n * Infer a column's field type from its first values: the most common detected\n * type, but only when it covers at least two-thirds of the samples (otherwise\n * `text`). Same majority-vote algorithm as cm-import\n * `guessFieldConfigFromSamples`, with a larger sample (see `TYPE_SAMPLE_SIZE`).\n *\n * `detectValue` defaults to the primitive {@link detectValueType}; the fields\n * detector passes a media-aware variant so it reuses this sampling/majority\n * logic.\n */\nexport function detectColumnType(\n values: string[],\n detectValue: DetectValueType = detectValueType,\n): NewFieldType {\n const samples = values.slice(0, TYPE_SAMPLE_SIZE);\n if (samples.length === 0) {\n return 'text';\n }\n\n const counts = new Map<NewFieldType, number>();\n samples.forEach((value) => {\n const type = detectValue(value);\n counts.set(type, (counts.get(type) ?? 0) + 1);\n });\n\n let best: NewFieldType = 'text';\n let bestCount = 0;\n counts.forEach((count, type) => {\n if (count > bestCount) {\n best = type;\n bestCount = count;\n }\n });\n\n return bestCount >= samples.length * MAJORITY ? best : 'text';\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TYPE_SAMPLE_SIZE","exports","MAJORITY","NUMBER_RE","SLASH_DATE_RE","ISO_DATE_RE","WEBSITE_PROTOCOLS","EMAIL_PROTOCOL","PHONE_PROTOCOLS","RELATIVE_PREFIXES","PHONE_RE","EMAIL_RE","startsWithAny","value","prefixes","some","prefix","startsWith","isValidWebsiteUrl","parsed","URL","includes","protocol","isEmailUrl","test","slice","length","isPhoneUrl","isUrl","isDate","Number","isNaN","Date","getTime","swapped","replace","detectValueType","lower","toLowerCase","NEW_FIELD_TYPE_TO_DATA_EXTENSION","text","number","date","boolean","url","image","video","document","audio","toDataExtensionFieldType","type","NEW_FIELD_TYPE_TO_PATTERNS","toPatternsFieldType","detectColumnType","values","detectValue","samples","counts","Map","forEach","set","get","best","bestCount","count"],"sources":["../../../../src/state/ImportState/detectFieldType.ts"],"sourcesContent":["import type { PatternsFieldType } from '../../types/Field';\n\n// Field-type detection for new fields created during CSV import (CAIRO-4131).\n//\n// Ported from cm-import (`wix-data-client/cm-import`):\n// - per-cell rules from `src/field-configuration/detectFieldConfig.js`\n// (`detectPrimitiveType`) and `src/types/validators/{number,url}.js`\n// - the column-level majority vote from\n// `src/field-configuration/guessFieldConfigFromSamples.js`\n//\n// This module owns the shared `NewFieldType` vocabulary and the primitive\n// detector (number / date / boolean / url, else text). Media detection (image /\n// video / document / audio) lives in `@wix/patterns-fields` — it needs the media\n// URI parser, which core must not depend on — and is injected into `ImportState`\n// via `detectColumnType` (see `ImportStateProps`). `detectColumnType` here takes\n// the per-value detector as a parameter so the fields detector reuses this\n// sampling/majority logic instead of re-implementing it.\n\n// All field types a new column can be detected as. The primitive detector below\n// only ever returns the first five; image/video/document/audio come from the\n// injected fields detector.\nexport type NewFieldType =\n | 'text'\n | 'number'\n | 'date'\n | 'boolean'\n | 'url'\n | 'image'\n | 'video'\n | 'document'\n | 'audio';\n\n// Infers a column's field type from its values. Injected into `ImportState`.\nexport type DetectColumnType = (values: string[]) => NewFieldType;\n\n// Infers a single cell's field type.\nexport type DetectValueType = (value: string) => NewFieldType;\n\n// Column-detection sampling: look at the first `TYPE_SAMPLE_SIZE` values and\n// require a >= `MAJORITY` share to agree on a non-text type. We use the same 2/3\n// vote as cm-import but a **larger sample** — cm-import's `constants.sampleSize`\n// is 6; we deliberately sample more so the inference is steadier on messy\n// columns. Exported so callers pass only the head of a column to\n// `detectColumnType` instead of copying it whole.\nexport const TYPE_SAMPLE_SIZE = 50;\nconst MAJORITY = 2 / 3;\n\n// cm-import `validators/number.js` `validateString`.\nconst NUMBER_RE = /^[+-]?(?:\\d+\\.?\\d*)?$/;\n\n// cm-import `detectFieldConfig.js` date patterns.\nconst SLASH_DATE_RE = /^\\d{1,2}\\/\\d{1,2}\\/\\d{4}(?: \\d{1,2}:\\d{1,2})?$/;\nconst ISO_DATE_RE = /\\d{4}-\\d{2}-\\d{2}/;\n\n// Approximates cm-import `validators/url.js` (website / email / phone / relative\n// links). cm-import delegates structural validation to `@wix/santa-core-utils`\n// `isValidUrl`/`isValidEmail`, which aren't available here — so website URLs are\n// validated with the platform `URL` parser instead (rejects empty/whitespace/\n// malformed authorities). It's still an approximation: `URL` accepts some\n// odd-but-parseable hosts santa would reject.\nconst WEBSITE_PROTOCOLS = ['http:', 'https:', 'ftp:'];\nconst EMAIL_PROTOCOL = 'mailto:';\nconst PHONE_PROTOCOLS = ['sms:', 'tel:'];\nconst RELATIVE_PREFIXES = ['/', '#', '?'];\nconst PHONE_RE = /^[\\s\\d()+\\-/_]+$/;\nconst EMAIL_RE = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n\nconst startsWithAny = (value: string, prefixes: readonly string[]): boolean =>\n prefixes.some((prefix) => value.startsWith(prefix));\n\nconst isValidWebsiteUrl = (value: string): boolean => {\n let parsed: URL;\n try {\n parsed = new URL(value);\n } catch {\n return false;\n }\n return WEBSITE_PROTOCOLS.includes(parsed.protocol);\n};\n\nconst isEmailUrl = (value: string): boolean =>\n value.startsWith(EMAIL_PROTOCOL) &&\n EMAIL_RE.test(value.slice(EMAIL_PROTOCOL.length));\n\nconst isPhoneUrl = (value: string): boolean =>\n PHONE_PROTOCOLS.some(\n (protocol) =>\n value.startsWith(protocol) && PHONE_RE.test(value.slice(protocol.length)),\n );\n\nconst isUrl = (value: string): boolean =>\n isValidWebsiteUrl(value) ||\n isEmailUrl(value) ||\n isPhoneUrl(value) ||\n startsWithAny(value, RELATIVE_PREFIXES);\n\nconst isDate = (value: string): boolean => {\n if (SLASH_DATE_RE.test(value)) {\n if (!Number.isNaN(new Date(value).getTime())) {\n return true;\n }\n // cm-import also accepts dd/mm/yyyy by swapping day and month.\n const swapped = value.replace(/(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})/, '$2/$1/$3');\n if (!Number.isNaN(new Date(swapped).getTime())) {\n return true;\n }\n }\n return ISO_DATE_RE.test(value) && !Number.isNaN(new Date(value).getTime());\n};\n\n/**\n * Infer the field type of a single CSV cell, in cm-import's order:\n * empty → number → boolean → date → url, else text.\n */\nexport function detectValueType(value: string): NewFieldType {\n if (value === '') {\n return 'text';\n }\n if (NUMBER_RE.test(value)) {\n return 'number';\n }\n const lower = value.toLowerCase();\n if (lower === 'true' || lower === 'false') {\n return 'boolean';\n }\n if (isDate(value)) {\n return 'date';\n }\n if (isUrl(value)) {\n return 'url';\n }\n return 'text';\n}\n\n// Default DataExtension `CustomFieldType` id for a detected `NewFieldType`, used\n// to seed a new DataExtension field before the user edits it (they can then pick\n// a finer type — e.g. decimal, longText — in the editor). DataExtension has no\n// media types, so image/video/audio fall back to `shortText`; a document column\n// maps to `files`. See the DataExtension creatable-type list in\n// `dataExtensionFieldManagement`.\nconst NEW_FIELD_TYPE_TO_DATA_EXTENSION: Record<NewFieldType, string> = {\n text: 'shortText',\n number: 'integer',\n date: 'date',\n boolean: 'checkbox',\n url: 'url',\n image: 'shortText',\n video: 'shortText',\n document: 'files',\n audio: 'shortText',\n};\n\n/** Default DataExtension field-type id for a detected `NewFieldType`. */\nexport const toDataExtensionFieldType = (type: NewFieldType): string =>\n NEW_FIELD_TYPE_TO_DATA_EXTENSION[type];\n\n// Maps the import flow's `NewFieldType` (lowercase, data-driven detection) to the\n// schema's `PatternsFieldType` (uppercase) used by `Field` / the field editor.\nconst NEW_FIELD_TYPE_TO_PATTERNS: Record<NewFieldType, PatternsFieldType> = {\n text: 'SHORT_TEXT',\n number: 'NUMBER',\n date: 'DATE',\n boolean: 'BOOLEAN',\n url: 'URL',\n image: 'IMAGE',\n video: 'VIDEO',\n document: 'DOCUMENT',\n audio: 'AUDIO',\n};\n\n/** Schema `PatternsFieldType` for a detected `NewFieldType`. */\nexport const toPatternsFieldType = (type: NewFieldType): PatternsFieldType =>\n NEW_FIELD_TYPE_TO_PATTERNS[type];\n\n/**\n * Infer a column's field type from its first values: the most common detected\n * type, but only when it covers at least two-thirds of the samples (otherwise\n * `text`). Same majority-vote algorithm as cm-import\n * `guessFieldConfigFromSamples`, with a larger sample (see `TYPE_SAMPLE_SIZE`).\n *\n * `detectValue` defaults to the primitive {@link detectValueType}; the fields\n * detector passes a media-aware variant so it reuses this sampling/majority\n * logic.\n */\nexport function detectColumnType(\n values: string[],\n detectValue: DetectValueType = detectValueType,\n): NewFieldType {\n const samples = values.slice(0, TYPE_SAMPLE_SIZE);\n if (samples.length === 0) {\n return 'text';\n }\n\n const counts = new Map<NewFieldType, number>();\n samples.forEach((value) => {\n const type = detectValue(value);\n counts.set(type, (counts.get(type) ?? 0) + 1);\n });\n\n let best: NewFieldType = 'text';\n let bestCount = 0;\n counts.forEach((count, type) => {\n if (count > bestCount) {\n best = type;\n bestCount = count;\n }\n });\n\n return bestCount >= samples.length * MAJORITY ? best : 'text';\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ exports.toDataExtensionFieldEdit = toDataExtensionFieldEdit;
4
5
  exports.toFieldEdit = toFieldEdit;
5
6
  exports.toNewFieldType = void 0;
6
7
  // Reverse of the import detector's vocabulary: maps a schema field type
@@ -43,4 +44,52 @@ function toFieldEdit(field) {
43
44
  config: Object.keys(config).length > 0 ? config : undefined
44
45
  };
45
46
  }
47
+
48
+ // Coarse `NewFieldType` for a DataExtension `CustomFieldType` id — only used for
49
+ // the config-step helper text ("This will be a new {type} field."). The precise
50
+ // DataExtension type the user picked is preserved separately on `config.deType`.
51
+ const DATA_EXTENSION_TO_NEW_FIELD_TYPE = {
52
+ shortText: 'text',
53
+ longText: 'text',
54
+ url: 'url',
55
+ date: 'date',
56
+ dateTime: 'date',
57
+ integer: 'number',
58
+ decimal: 'number',
59
+ checkbox: 'boolean',
60
+ multiSelect: 'text',
61
+ files: 'document'
62
+ };
63
+
64
+ // Converts the DataExtension field editor's output (a source-neutral `FieldDraft`
65
+ // carrying per-audience read/write permissions) into the per-column new-field
66
+ // type + config the import flow stores via `setNewFieldConfig`. The precise
67
+ // DataExtension type is kept on `config.deType`; `_createPendingFields` reads it
68
+ // when building the create-field call.
69
+ function toDataExtensionFieldEdit(draft) {
70
+ const permissions = {
71
+ installedApps: {
72
+ defaultRead: draft.readApps,
73
+ defaultWrite: draft.writeApps
74
+ },
75
+ siteVisitors: {
76
+ defaultRead: draft.readUsers,
77
+ defaultWrite: draft.writeUsers
78
+ }
79
+ };
80
+ const config = {
81
+ permissions,
82
+ ...(draft.type && {
83
+ deType: draft.type
84
+ }),
85
+ ...(draft.containsPii && {
86
+ isPii: true
87
+ })
88
+ };
89
+ return {
90
+ fieldType: draft.type ? DATA_EXTENSION_TO_NEW_FIELD_TYPE[draft.type] ?? 'text' : 'text',
91
+ displayName: draft.name,
92
+ config
93
+ };
94
+ }
46
95
  //# sourceMappingURL=fieldEdit.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PATTERNS_TO_NEW_FIELD_TYPE","SHORT_TEXT","LONG_TEXT","NUMBER","DATE","DATETIME","BOOLEAN","URL","IMAGE","VIDEO","DOCUMENT","AUDIO","toNewFieldType","type","exports","toFieldEdit","field","config","validation","isPii","helpText","fieldType","displayName","Object","keys","length","undefined"],"sources":["../../../../src/state/ImportState/fieldEdit.ts"],"sourcesContent":["import type { FieldSpec, PatternsFieldType } from '../../types/Field';\nimport type { NewFieldType } from './detectFieldType';\nimport type { NewFieldConfig } from './ImportState';\n\n// Reverse of the import detector's vocabulary: maps a schema field type\n// (`PatternsFieldType`, uppercase) back to the import flow's `NewFieldType`. Only\n// the types the field editor can produce need entries; anything else falls back\n// to `text`.\nconst PATTERNS_TO_NEW_FIELD_TYPE: Partial<\n Record<PatternsFieldType, NewFieldType>\n> = {\n SHORT_TEXT: 'text',\n LONG_TEXT: 'text',\n NUMBER: 'number',\n DATE: 'date',\n DATETIME: 'date',\n BOOLEAN: 'boolean',\n URL: 'url',\n IMAGE: 'image',\n VIDEO: 'video',\n DOCUMENT: 'document',\n AUDIO: 'audio',\n};\n\nexport const toNewFieldType = (type: PatternsFieldType): NewFieldType =>\n PATTERNS_TO_NEW_FIELD_TYPE[type] ?? 'text';\n\n// Converts an edited field spec (the field editor's output) into the per-column\n// new-field type + config the import flow stores via `setNewFieldConfig`.\nexport function toFieldEdit(field: FieldSpec): {\n fieldType: NewFieldType;\n displayName: string;\n config?: NewFieldConfig;\n} {\n const config: NewFieldConfig = {\n ...(field.validation && { validation: field.validation }),\n ...(field.isPii && { isPii: true }),\n ...(field.helpText && { helpText: field.helpText }),\n };\n return {\n fieldType: toNewFieldType(field.type),\n displayName: field.displayName,\n config: Object.keys(config).length > 0 ? config : undefined,\n };\n}\n"],"mappings":";;;;;AAIA;AACA;AACA;AACA;AACA,MAAMA,0BAEL,GAAG;EACFC,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE,MAAM;EACjBC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,MAAM;EAChBC,OAAO,EAAE,SAAS;EAClBC,GAAG,EAAE,KAAK;EACVC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE;AACT,CAAC;AAEM,MAAMC,cAAc,GAAIC,IAAuB,IACpDb,0BAA0B,CAACa,IAAI,CAAC,IAAI,MAAM;;AAE5C;AACA;AAAAC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AACO,SAASG,WAAWA,CAACC,KAAgB,EAI1C;EACA,MAAMC,MAAsB,GAAG;IAC7B,IAAID,KAAK,CAACE,UAAU,IAAI;MAAEA,UAAU,EAAEF,KAAK,CAACE;IAAW,CAAC,CAAC;IACzD,IAAIF,KAAK,CAACG,KAAK,IAAI;MAAEA,KAAK,EAAE;IAAK,CAAC,CAAC;IACnC,IAAIH,KAAK,CAACI,QAAQ,IAAI;MAAEA,QAAQ,EAAEJ,KAAK,CAACI;IAAS,CAAC;EACpD,CAAC;EACD,OAAO;IACLC,SAAS,EAAET,cAAc,CAACI,KAAK,CAACH,IAAI,CAAC;IACrCS,WAAW,EAAEN,KAAK,CAACM,WAAW;IAC9BL,MAAM,EAAEM,MAAM,CAACC,IAAI,CAACP,MAAM,CAAC,CAACQ,MAAM,GAAG,CAAC,GAAGR,MAAM,GAAGS;EACpD,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["PATTERNS_TO_NEW_FIELD_TYPE","SHORT_TEXT","LONG_TEXT","NUMBER","DATE","DATETIME","BOOLEAN","URL","IMAGE","VIDEO","DOCUMENT","AUDIO","toNewFieldType","type","exports","toFieldEdit","field","config","validation","isPii","helpText","fieldType","displayName","Object","keys","length","undefined","DATA_EXTENSION_TO_NEW_FIELD_TYPE","shortText","longText","url","date","dateTime","integer","decimal","checkbox","multiSelect","files","toDataExtensionFieldEdit","draft","permissions","installedApps","defaultRead","readApps","defaultWrite","writeApps","siteVisitors","readUsers","writeUsers","deType","containsPii","name"],"sources":["../../../../src/state/ImportState/fieldEdit.ts"],"sourcesContent":["import type { FieldSpec, PatternsFieldType } from '../../types/Field';\nimport type { FieldDraft, FieldPermissions } from '../../types/FieldsSource';\nimport type { NewFieldType } from './detectFieldType';\nimport type { NewFieldConfig } from './ImportState';\n\n// Reverse of the import detector's vocabulary: maps a schema field type\n// (`PatternsFieldType`, uppercase) back to the import flow's `NewFieldType`. Only\n// the types the field editor can produce need entries; anything else falls back\n// to `text`.\nconst PATTERNS_TO_NEW_FIELD_TYPE: Partial<\n Record<PatternsFieldType, NewFieldType>\n> = {\n SHORT_TEXT: 'text',\n LONG_TEXT: 'text',\n NUMBER: 'number',\n DATE: 'date',\n DATETIME: 'date',\n BOOLEAN: 'boolean',\n URL: 'url',\n IMAGE: 'image',\n VIDEO: 'video',\n DOCUMENT: 'document',\n AUDIO: 'audio',\n};\n\nexport const toNewFieldType = (type: PatternsFieldType): NewFieldType =>\n PATTERNS_TO_NEW_FIELD_TYPE[type] ?? 'text';\n\n// Converts an edited field spec (the field editor's output) into the per-column\n// new-field type + config the import flow stores via `setNewFieldConfig`.\nexport function toFieldEdit(field: FieldSpec): {\n fieldType: NewFieldType;\n displayName: string;\n config?: NewFieldConfig;\n} {\n const config: NewFieldConfig = {\n ...(field.validation && { validation: field.validation }),\n ...(field.isPii && { isPii: true }),\n ...(field.helpText && { helpText: field.helpText }),\n };\n return {\n fieldType: toNewFieldType(field.type),\n displayName: field.displayName,\n config: Object.keys(config).length > 0 ? config : undefined,\n };\n}\n\n// Coarse `NewFieldType` for a DataExtension `CustomFieldType` id — only used for\n// the config-step helper text (\"This will be a new {type} field.\"). The precise\n// DataExtension type the user picked is preserved separately on `config.deType`.\nconst DATA_EXTENSION_TO_NEW_FIELD_TYPE: Record<string, NewFieldType> = {\n shortText: 'text',\n longText: 'text',\n url: 'url',\n date: 'date',\n dateTime: 'date',\n integer: 'number',\n decimal: 'number',\n checkbox: 'boolean',\n multiSelect: 'text',\n files: 'document',\n};\n\n// Converts the DataExtension field editor's output (a source-neutral `FieldDraft`\n// carrying per-audience read/write permissions) into the per-column new-field\n// type + config the import flow stores via `setNewFieldConfig`. The precise\n// DataExtension type is kept on `config.deType`; `_createPendingFields` reads it\n// when building the create-field call.\nexport function toDataExtensionFieldEdit(draft: FieldDraft): {\n fieldType: NewFieldType;\n displayName: string;\n config?: NewFieldConfig;\n} {\n const permissions: FieldPermissions = {\n installedApps: {\n defaultRead: draft.readApps,\n defaultWrite: draft.writeApps,\n },\n siteVisitors: {\n defaultRead: draft.readUsers,\n defaultWrite: draft.writeUsers,\n },\n };\n const config: NewFieldConfig = {\n permissions,\n ...(draft.type && { deType: draft.type }),\n ...(draft.containsPii && { isPii: true }),\n };\n return {\n fieldType: draft.type\n ? DATA_EXTENSION_TO_NEW_FIELD_TYPE[draft.type] ?? 'text'\n : 'text',\n displayName: draft.name,\n config,\n };\n}\n"],"mappings":";;;;;;AAKA;AACA;AACA;AACA;AACA,MAAMA,0BAEL,GAAG;EACFC,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE,MAAM;EACjBC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,MAAM;EAChBC,OAAO,EAAE,SAAS;EAClBC,GAAG,EAAE,KAAK;EACVC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE;AACT,CAAC;AAEM,MAAMC,cAAc,GAAIC,IAAuB,IACpDb,0BAA0B,CAACa,IAAI,CAAC,IAAI,MAAM;;AAE5C;AACA;AAAAC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AACO,SAASG,WAAWA,CAACC,KAAgB,EAI1C;EACA,MAAMC,MAAsB,GAAG;IAC7B,IAAID,KAAK,CAACE,UAAU,IAAI;MAAEA,UAAU,EAAEF,KAAK,CAACE;IAAW,CAAC,CAAC;IACzD,IAAIF,KAAK,CAACG,KAAK,IAAI;MAAEA,KAAK,EAAE;IAAK,CAAC,CAAC;IACnC,IAAIH,KAAK,CAACI,QAAQ,IAAI;MAAEA,QAAQ,EAAEJ,KAAK,CAACI;IAAS,CAAC;EACpD,CAAC;EACD,OAAO;IACLC,SAAS,EAAET,cAAc,CAACI,KAAK,CAACH,IAAI,CAAC;IACrCS,WAAW,EAAEN,KAAK,CAACM,WAAW;IAC9BL,MAAM,EAAEM,MAAM,CAACC,IAAI,CAACP,MAAM,CAAC,CAACQ,MAAM,GAAG,CAAC,GAAGR,MAAM,GAAGS;EACpD,CAAC;AACH;;AAEA;AACA;AACA;AACA,MAAMC,gCAA8D,GAAG;EACrEC,SAAS,EAAE,MAAM;EACjBC,QAAQ,EAAE,MAAM;EAChBC,GAAG,EAAE,KAAK;EACVC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,MAAM;EAChBC,OAAO,EAAE,QAAQ;EACjBC,OAAO,EAAE,QAAQ;EACjBC,QAAQ,EAAE,SAAS;EACnBC,WAAW,EAAE,MAAM;EACnBC,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,SAASC,wBAAwBA,CAACC,KAAiB,EAIxD;EACA,MAAMC,WAA6B,GAAG;IACpCC,aAAa,EAAE;MACbC,WAAW,EAAEH,KAAK,CAACI,QAAQ;MAC3BC,YAAY,EAAEL,KAAK,CAACM;IACtB,CAAC;IACDC,YAAY,EAAE;MACZJ,WAAW,EAAEH,KAAK,CAACQ,SAAS;MAC5BH,YAAY,EAAEL,KAAK,CAACS;IACtB;EACF,CAAC;EACD,MAAM/B,MAAsB,GAAG;IAC7BuB,WAAW;IACX,IAAID,KAAK,CAAC1B,IAAI,IAAI;MAAEoC,MAAM,EAAEV,KAAK,CAAC1B;IAAK,CAAC,CAAC;IACzC,IAAI0B,KAAK,CAACW,WAAW,IAAI;MAAE/B,KAAK,EAAE;IAAK,CAAC;EAC1C,CAAC;EACD,OAAO;IACLE,SAAS,EAAEkB,KAAK,CAAC1B,IAAI,GACjBc,gCAAgC,CAACY,KAAK,CAAC1B,IAAI,CAAC,IAAI,MAAM,GACtD,MAAM;IACVS,WAAW,EAAEiB,KAAK,CAACY,IAAI;IACvBlC;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.SourceState = void 0;
6
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _mobx = require("mobx");
8
+ var _TaskState = require("./TaskState");
9
+ /**
10
+ * Holds a source's loaded schema, page-neutral: loads it once, exposes its
11
+ * fields, and runs the source's field mutations with toasts and retry. Page
12
+ * adapters (collection page, entity page) read from it.
13
+ */
14
+ class SourceState {
15
+ constructor(params) {
16
+ (0, _defineProperty2.default)(this, "container", void 0);
17
+ (0, _defineProperty2.default)(this, "source", void 0);
18
+ (0, _defineProperty2.default)(this, "makePrimaryTask", new _TaskState.TaskState());
19
+ (0, _defineProperty2.default)(this, "duplicateTask", new _TaskState.TaskState());
20
+ (0, _defineProperty2.default)(this, "duplicateWithContentTask", new _TaskState.TaskState());
21
+ (0, _defineProperty2.default)(this, "loadedSchema", undefined);
22
+ /** Loads the schema. The consuming page adapter runs this, tracks its status,
23
+ * and shows a retry toast on failure. */
24
+ (0, _defineProperty2.default)(this, "load", async () => {
25
+ const loaded = await this.source.loadSchema();
26
+ (0, _mobx.runInAction)(() => {
27
+ this.loadedSchema = loaded;
28
+ });
29
+ });
30
+ (0, _defineProperty2.default)(this, "makePrimary", fieldId => {
31
+ var _this$fieldActions;
32
+ const run = (_this$fieldActions = this.fieldActions) == null ? void 0 : _this$fieldActions.makePrimary;
33
+ if (!run) {
34
+ return;
35
+ }
36
+ void this.runFieldMutation(this.makePrimaryTask, () => run(fieldId), {
37
+ successMessage: 'Primary field updated',
38
+ successBi: 'cairo-field-action-make-primary-success',
39
+ errorMessage: "Couldn't update primary field",
40
+ errorBi: 'cairo-field-action-make-primary-error'
41
+ }, () => this.makePrimary(fieldId));
42
+ });
43
+ (0, _defineProperty2.default)(this, "duplicateField", fieldId => {
44
+ var _this$fieldActions2;
45
+ const run = (_this$fieldActions2 = this.fieldActions) == null ? void 0 : _this$fieldActions2.duplicateField;
46
+ if (!run) {
47
+ return;
48
+ }
49
+ void this.runFieldMutation(this.duplicateTask, () => run(fieldId), {
50
+ successMessage: 'Field duplicated',
51
+ successBi: 'cairo-field-action-duplicate-success',
52
+ errorMessage: "Couldn't duplicate field",
53
+ errorBi: 'cairo-field-action-duplicate-error'
54
+ }, () => this.duplicateField(fieldId));
55
+ });
56
+ (0, _defineProperty2.default)(this, "duplicateFieldWithContent", fieldId => {
57
+ var _this$fieldActions3;
58
+ const run = (_this$fieldActions3 = this.fieldActions) == null ? void 0 : _this$fieldActions3.duplicateFieldWithContent;
59
+ if (!run) {
60
+ return;
61
+ }
62
+ void this.runFieldMutation(this.duplicateWithContentTask, () => run(fieldId), {
63
+ successMessage: 'Field duplicated with content',
64
+ successBi: 'cairo-field-action-duplicate-with-content-success',
65
+ errorMessage: "Couldn't duplicate field with content",
66
+ errorBi: 'cairo-field-action-duplicate-with-content-error'
67
+ }, () => this.duplicateFieldWithContent(fieldId));
68
+ });
69
+ // makePrimary/duplicate return the updated fields map (like add/edit/delete),
70
+ // so merge it locally — same path as the modal actions, no full re-fetch.
71
+ // Toasts + loading mirror the field-management actions, so the header and the
72
+ // side panel report the same outcome.
73
+ (0, _defineProperty2.default)(this, "runFieldMutation", async (task, run, toasts, retry) => {
74
+ if (task.status.isLoading) {
75
+ return;
76
+ }
77
+ await task.run(async () => {
78
+ const fields = await run();
79
+ (0, _mobx.runInAction)(() => this.mergeFields(fields));
80
+ });
81
+ if (task.status.isSuccess) {
82
+ this.notify({
83
+ type: 'SUCCESS',
84
+ message: toasts.successMessage,
85
+ biName: toasts.successBi
86
+ });
87
+ } else if (task.status.isError) {
88
+ this.notify({
89
+ type: 'ERROR',
90
+ message: toasts.errorMessage,
91
+ biName: toasts.errorBi,
92
+ action: {
93
+ text: 'Try again',
94
+ onClick: retry,
95
+ removeToastOnClick: true
96
+ }
97
+ });
98
+ }
99
+ });
100
+ (0, _defineProperty2.default)(this, "currentToastRemove", void 0);
101
+ // Shared by the source's field mutations (make-primary / duplicate / delete) to
102
+ // surface a toast; deduped against the previous one.
103
+ (0, _defineProperty2.default)(this, "notify", config => {
104
+ var _this$currentToastRem;
105
+ const show = this.container.showToast;
106
+ if (!show) {
107
+ return;
108
+ }
109
+ (_this$currentToastRem = this.currentToastRemove) == null || _this$currentToastRem.call(this);
110
+ this.currentToastRemove = show(config).remove;
111
+ });
112
+ this.container = params.container;
113
+ this.source = params.source;
114
+ (0, _mobx.makeObservable)(this, {
115
+ loadedSchema: _mobx.observable.ref,
116
+ schema: _mobx.computed,
117
+ fields: _mobx.computed,
118
+ mergeFields: _mobx.action
119
+ });
120
+ }
121
+ get schema() {
122
+ var _this$loadedSchema;
123
+ return (_this$loadedSchema = this.loadedSchema) == null ? void 0 : _this$loadedSchema.schema;
124
+ }
125
+ get fieldActions() {
126
+ var _this$loadedSchema2;
127
+ return (_this$loadedSchema2 = this.loadedSchema) == null ? void 0 : _this$loadedSchema2.fieldActions;
128
+ }
129
+ get fields() {
130
+ var _this$schema;
131
+ const fields = ((_this$schema = this.schema) == null ? void 0 : _this$schema.fields) ?? {};
132
+ return Object.values(fields).filter(f => Boolean(f));
133
+ }
134
+ /** Replaces the loaded schema's fields with the map returned by a mutation. */
135
+ mergeFields(fields) {
136
+ const current = this.loadedSchema;
137
+ if (!current) {
138
+ return;
139
+ }
140
+ this.loadedSchema = {
141
+ ...current,
142
+ schema: {
143
+ ...current.schema,
144
+ fields
145
+ }
146
+ };
147
+ }
148
+ }
149
+ exports.SourceState = SourceState;
150
+ //# sourceMappingURL=SourceState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_mobx","require","_TaskState","SourceState","constructor","params","_defineProperty2","default","TaskState","undefined","loaded","source","loadSchema","runInAction","loadedSchema","fieldId","_this$fieldActions","run","fieldActions","makePrimary","runFieldMutation","makePrimaryTask","successMessage","successBi","errorMessage","errorBi","_this$fieldActions2","duplicateField","duplicateTask","_this$fieldActions3","duplicateFieldWithContent","duplicateWithContentTask","task","toasts","retry","status","isLoading","fields","mergeFields","isSuccess","notify","type","message","biName","isError","action","text","onClick","removeToastOnClick","config","_this$currentToastRem","show","container","showToast","currentToastRemove","call","remove","makeObservable","observable","ref","schema","computed","_this$loadedSchema","_this$loadedSchema2","_this$schema","Object","values","filter","f","Boolean","current","exports"],"sources":["../../../src/state/SourceState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport type { Field } from '../types/Field';\nimport type { LoadedSchema, Schema } from '../types/Schema';\nimport type { SchemaSource } from '../types/SchemaSource';\nimport type { RemoveToast, ToastConfig } from '../model/toast';\nimport { TaskState } from './TaskState';\nimport type { WixPatternsContainer } from './WixPatternsContainer';\n\nexport interface SourceStateParams<T> {\n container: WixPatternsContainer;\n source: SchemaSource<T>;\n}\n\n/**\n * Holds a source's loaded schema, page-neutral: loads it once, exposes its\n * fields, and runs the source's field mutations with toasts and retry. Page\n * adapters (collection page, entity page) read from it.\n */\nexport class SourceState<T = Record<string, unknown>> {\n readonly container: WixPatternsContainer;\n readonly source: SchemaSource<T>;\n readonly makePrimaryTask = new TaskState();\n readonly duplicateTask = new TaskState();\n readonly duplicateWithContentTask = new TaskState();\n\n loadedSchema?: LoadedSchema<T> = undefined;\n\n constructor(params: SourceStateParams<T>) {\n this.container = params.container;\n this.source = params.source;\n\n makeObservable(this, {\n loadedSchema: observable.ref,\n schema: computed,\n fields: computed,\n mergeFields: action,\n });\n }\n\n get schema(): Schema | undefined {\n return this.loadedSchema?.schema;\n }\n\n get fieldActions() {\n return this.loadedSchema?.fieldActions;\n }\n\n get fields(): Field[] {\n const fields = this.schema?.fields ?? {};\n return Object.values(fields).filter((f): f is Field => Boolean(f));\n }\n\n /** Loads the schema. The consuming page adapter runs this, tracks its status,\n * and shows a retry toast on failure. */\n load = async (): Promise<void> => {\n const loaded = await this.source.loadSchema();\n runInAction(() => {\n this.loadedSchema = loaded;\n });\n };\n\n /** Replaces the loaded schema's fields with the map returned by a mutation. */\n mergeFields(fields: Schema['fields']) {\n const current = this.loadedSchema;\n if (!current) {\n return;\n }\n this.loadedSchema = {\n ...current,\n schema: { ...current.schema, fields },\n };\n }\n\n makePrimary = (fieldId: string): void => {\n const run = this.fieldActions?.makePrimary;\n if (!run) {\n return;\n }\n void this.runFieldMutation(\n this.makePrimaryTask,\n () => run(fieldId),\n {\n successMessage: 'Primary field updated',\n successBi: 'cairo-field-action-make-primary-success',\n errorMessage: \"Couldn't update primary field\",\n errorBi: 'cairo-field-action-make-primary-error',\n },\n () => this.makePrimary(fieldId),\n );\n };\n\n duplicateField = (fieldId: string): void => {\n const run = this.fieldActions?.duplicateField;\n if (!run) {\n return;\n }\n void this.runFieldMutation(\n this.duplicateTask,\n () => run(fieldId),\n {\n successMessage: 'Field duplicated',\n successBi: 'cairo-field-action-duplicate-success',\n errorMessage: \"Couldn't duplicate field\",\n errorBi: 'cairo-field-action-duplicate-error',\n },\n () => this.duplicateField(fieldId),\n );\n };\n\n duplicateFieldWithContent = (fieldId: string): void => {\n const run = this.fieldActions?.duplicateFieldWithContent;\n if (!run) {\n return;\n }\n void this.runFieldMutation(\n this.duplicateWithContentTask,\n () => run(fieldId),\n {\n successMessage: 'Field duplicated with content',\n successBi: 'cairo-field-action-duplicate-with-content-success',\n errorMessage: \"Couldn't duplicate field with content\",\n errorBi: 'cairo-field-action-duplicate-with-content-error',\n },\n () => this.duplicateFieldWithContent(fieldId),\n );\n };\n\n // makePrimary/duplicate return the updated fields map (like add/edit/delete),\n // so merge it locally — same path as the modal actions, no full re-fetch.\n // Toasts + loading mirror the field-management actions, so the header and the\n // side panel report the same outcome.\n private runFieldMutation = async (\n task: TaskState<unknown>,\n run: () => Promise<Schema['fields']>,\n toasts: {\n successMessage: string;\n successBi: string;\n errorMessage: string;\n errorBi: string;\n },\n retry: () => void,\n ) => {\n if (task.status.isLoading) {\n return;\n }\n await task.run(async () => {\n const fields = await run();\n runInAction(() => this.mergeFields(fields));\n });\n if (task.status.isSuccess) {\n this.notify({\n type: 'SUCCESS',\n message: toasts.successMessage,\n biName: toasts.successBi,\n });\n } else if (task.status.isError) {\n this.notify({\n type: 'ERROR',\n message: toasts.errorMessage,\n biName: toasts.errorBi,\n action: {\n text: 'Try again',\n onClick: retry,\n removeToastOnClick: true,\n },\n });\n }\n };\n\n private currentToastRemove: RemoveToast | undefined;\n\n // Shared by the source's field mutations (make-primary / duplicate / delete) to\n // surface a toast; deduped against the previous one.\n notify = (config: ToastConfig) => {\n const show = this.container.showToast;\n if (!show) {\n return;\n }\n this.currentToastRemove?.();\n this.currentToastRemove = show(config).remove;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -124,6 +124,13 @@ Object.keys(_TaskState).forEach(function (key) {
124
124
  if (key in exports && exports[key] === _TaskState[key]) return;
125
125
  exports[key] = _TaskState[key];
126
126
  });
127
+ var _SourceState = require("./SourceState");
128
+ Object.keys(_SourceState).forEach(function (key) {
129
+ if (key === "default" || key === "__esModule") return;
130
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
131
+ if (key in exports && exports[key] === _SourceState[key]) return;
132
+ exports[key] = _SourceState[key];
133
+ });
127
134
  var _WixPatternsContainer = require("./WixPatternsContainer");
128
135
  Object.keys(_WixPatternsContainer).forEach(function (key) {
129
136
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"names":["_QueryState","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","_SelectState","_QueryResultState","_CollectionState","_CollectionBIReporter","_ToggleState","_ModalState","_ArrayFilterState","_StringFilterState","_CustomFilterState","_RangeFilterState","_OperatorFilterState","_PromiseState","_PromisesState","_PickerState","_PaginationMode","_TaskState","_WixPatternsContainer","_ValueBox","_BulkSelectState","_OptimisticActions","_CollectionOptimisticActions","_CollectionOptimisticExecutor","EventuallyUpdated","_CollectionOptimisticSequenceExecutor","_QueryResultSimulation","_OnlineState","_ConditionalModalState","_TransitionState","_buildWixPatternsContainer","_warmUpPickerStandalone","_ExportState","_ImportState","_DataExtensionState","_CustomFieldModalState","_CollectionPageState","_PageState","_FormPageState","_WidgetsFormState","_SelectionStatus","_SelectionStatusWixPatternsPreset","_SidePanelState","_MultiCollectionSupport","_BulkActionModalState","_TextOverflowState","_resizeObserverCompat","_QueryPendingState","_mutationObserverCompat","_FedopsReporter","_CustomFieldsViewWidgetState","_SetupWidgetState","_ArchiveFieldModalState","_DeleteFieldModalState","_onItemsCreated","_TagsState","_SortState","_AppsState","_CollectionDatasetSyncState"],"sources":["../../../src/state/index.ts"],"sourcesContent":["export * from './QueryState';\nexport * from './QueryState';\nexport * from './SelectState';\nexport * from './QueryResultState';\nexport * from './CollectionState';\nexport * from './CollectionBIReporter';\nexport * from './ToggleState';\nexport * from './ModalState';\nexport * from './ArrayFilterState';\nexport * from './StringFilterState';\nexport * from './CustomFilterState';\nexport * from './RangeFilterState';\nexport * from './OperatorFilterState';\nexport * from './PromiseState';\nexport * from './PromisesState';\nexport * from './PickerState';\nexport * from './PaginationMode';\nexport * from './TaskState';\nexport * from './WixPatternsContainer';\nexport * from './ValueBox';\nexport * from './BulkSelectState';\nexport * from './OptimisticActions';\nexport * from './CollectionOptimisticActions';\nexport { EventuallyUpdated } from './CollectionOptimisticExecutor';\nexport * from './CollectionOptimisticSequenceExecutor';\nexport * from './QueryResultSimulation';\nexport * from './OnlineState';\nexport * from './ConditionalModalState';\nexport * from './TransitionState';\nexport * from './buildWixPatternsContainer';\nexport * from './warmUpPickerStandalone';\nexport * from './ExportState';\nexport * from './ImportState';\nexport * from './DataExtensionState';\nexport * from './CustomFieldModalState';\nexport * from './CollectionPageState';\nexport * from './PageState';\nexport * from './FormPageState';\nexport * from './WidgetsFormState';\nexport * from './SelectionStatus';\nexport * from './SelectionStatusWixPatternsPreset';\nexport * from './SidePanelState';\nexport * from './MultiCollectionSupport';\nexport * from './BulkActionModalState';\nexport * from './TextOverflowState';\nexport * from './resizeObserverCompat';\nexport * from './QueryPendingState';\nexport * from './mutationObserverCompat';\nexport * from './FedopsReporter';\nexport * from './CustomFieldsViewWidgetState';\nexport * from './SetupWidgetState';\nexport * from './ArchiveFieldModalState';\nexport * from './DeleteFieldModalState';\nexport * from './onItemsCreated';\nexport * from './TagsState';\nexport * from './SortState';\nexport * from './AppsState';\nexport * from './CollectionDatasetSync/CollectionDatasetSyncState';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_QueryState","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","_SelectState","_QueryResultState","_CollectionState","_CollectionBIReporter","_ToggleState","_ModalState","_ArrayFilterState","_StringFilterState","_CustomFilterState","_RangeFilterState","_OperatorFilterState","_PromiseState","_PromisesState","_PickerState","_PaginationMode","_TaskState","_SourceState","_WixPatternsContainer","_ValueBox","_BulkSelectState","_OptimisticActions","_CollectionOptimisticActions","_CollectionOptimisticExecutor","EventuallyUpdated","_CollectionOptimisticSequenceExecutor","_QueryResultSimulation","_OnlineState","_ConditionalModalState","_TransitionState","_buildWixPatternsContainer","_warmUpPickerStandalone","_ExportState","_ImportState","_DataExtensionState","_CustomFieldModalState","_CollectionPageState","_PageState","_FormPageState","_WidgetsFormState","_SelectionStatus","_SelectionStatusWixPatternsPreset","_SidePanelState","_MultiCollectionSupport","_BulkActionModalState","_TextOverflowState","_resizeObserverCompat","_QueryPendingState","_mutationObserverCompat","_FedopsReporter","_CustomFieldsViewWidgetState","_SetupWidgetState","_ArchiveFieldModalState","_DeleteFieldModalState","_onItemsCreated","_TagsState","_SortState","_AppsState","_CollectionDatasetSyncState"],"sources":["../../../src/state/index.ts"],"sourcesContent":["export * from './QueryState';\nexport * from './QueryState';\nexport * from './SelectState';\nexport * from './QueryResultState';\nexport * from './CollectionState';\nexport * from './CollectionBIReporter';\nexport * from './ToggleState';\nexport * from './ModalState';\nexport * from './ArrayFilterState';\nexport * from './StringFilterState';\nexport * from './CustomFilterState';\nexport * from './RangeFilterState';\nexport * from './OperatorFilterState';\nexport * from './PromiseState';\nexport * from './PromisesState';\nexport * from './PickerState';\nexport * from './PaginationMode';\nexport * from './TaskState';\nexport * from './SourceState';\nexport * from './WixPatternsContainer';\nexport * from './ValueBox';\nexport * from './BulkSelectState';\nexport * from './OptimisticActions';\nexport * from './CollectionOptimisticActions';\nexport { EventuallyUpdated } from './CollectionOptimisticExecutor';\nexport * from './CollectionOptimisticSequenceExecutor';\nexport * from './QueryResultSimulation';\nexport * from './OnlineState';\nexport * from './ConditionalModalState';\nexport * from './TransitionState';\nexport * from './buildWixPatternsContainer';\nexport * from './warmUpPickerStandalone';\nexport * from './ExportState';\nexport * from './ImportState';\nexport * from './DataExtensionState';\nexport * from './CustomFieldModalState';\nexport * from './CollectionPageState';\nexport * from './PageState';\nexport * from './FormPageState';\nexport * from './WidgetsFormState';\nexport * from './SelectionStatus';\nexport * from './SelectionStatusWixPatternsPreset';\nexport * from './SidePanelState';\nexport * from './MultiCollectionSupport';\nexport * from './BulkActionModalState';\nexport * from './TextOverflowState';\nexport * from './resizeObserverCompat';\nexport * from './QueryPendingState';\nexport * from './mutationObserverCompat';\nexport * from './FedopsReporter';\nexport * from './CustomFieldsViewWidgetState';\nexport * from './SetupWidgetState';\nexport * from './ArchiveFieldModalState';\nexport * from './DeleteFieldModalState';\nexport * from './onItemsCreated';\nexport * from './TagsState';\nexport * from './SortState';\nexport * from './AppsState';\nexport * from './CollectionDatasetSync/CollectionDatasetSyncState';\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.createInMemorySchemaSource = createInMemorySchemaSource;
5
+ var _SchemaSource = require("../types/SchemaSource");
6
+ var _InMemoryBackend = require("../InMemoryBackend");
7
+ const ALL_PERMISSIONS = {
8
+ createField: true,
9
+ updateField: true,
10
+ deleteField: true
11
+ };
12
+
13
+ // The types the add/edit modal offers by default (the ones @wix/data can create).
14
+ const DEFAULT_CREATABLE_FIELD_TYPES = [{
15
+ patternsType: 'SHORT_TEXT'
16
+ }, {
17
+ patternsType: 'NUMBER'
18
+ }, {
19
+ patternsType: 'BOOLEAN'
20
+ }, {
21
+ patternsType: 'DATE'
22
+ }];
23
+ /**
24
+ * Builds a real `SchemaSource<T>` backed by in-memory state — no data source (no
25
+ * `@wix/data`, no network). Its backend `find` serves the seeded `items`, and
26
+ * its `fieldActions` mutate the in-memory schema and return the updated fields
27
+ * map, so the create-new-field import flow works end to end (the created column
28
+ * surfaces via the schema-source merge).
29
+ *
30
+ * Returns `{ source, backend }`. Pass `source` anywhere a `SchemaSource` is
31
+ * accepted — a `@wix/patterns/schema` collection hook, or `<Table
32
+ * fieldsSource={...} />` (which the import reads from). Use `backend` to read or
33
+ * assert on the in-memory rows directly.
34
+ */
35
+ function createInMemorySchemaSource(config) {
36
+ var _config$fields$;
37
+ const {
38
+ collectionId,
39
+ idField = '_id',
40
+ displayField = ((_config$fields$ = config.fields[0]) == null ? void 0 : _config$fields$.id) ?? idField,
41
+ schemaPermissions = ALL_PERMISSIONS,
42
+ itemPermissions,
43
+ creatableFieldTypes = DEFAULT_CREATABLE_FIELD_TYPES,
44
+ supportsPii = false,
45
+ references
46
+ } = config;
47
+
48
+ // Mutable in-memory state shared by the backend, schema, and field actions.
49
+ const fields = {};
50
+ config.fields.forEach(field => {
51
+ fields[field.id] = field;
52
+ });
53
+ const schema = {
54
+ id: collectionId,
55
+ fields,
56
+ displayField,
57
+ idField,
58
+ schemaPermissions,
59
+ ...(itemPermissions && {
60
+ itemPermissions
61
+ })
62
+ };
63
+ const keyOf = item => String(item[idField] ?? '');
64
+ // A fresh copy each mutation, so the schema-source merge sees a new map.
65
+ const fieldsSnapshot = () => ({
66
+ ...fields
67
+ });
68
+
69
+ // The shared `InMemoryBackend` holds the rows and runs the query logic
70
+ // (ordering, filtering, pagination). The `collectionBackend` below adapts it
71
+ // to the source-neutral contract. Mutations write straight to `backend.map`
72
+ // and reads use the synchronous surface, so operations resolve without the
73
+ // util's simulated async delay (which relies on timers the test suite freezes).
74
+ const seed = config.items ?? [];
75
+ const backend = new _InMemoryBackend.InMemoryBackend({
76
+ paginationMode: 'offset',
77
+ total: seed.length,
78
+ createOne: index => seed[index],
79
+ itemKey: keyOf
80
+ });
81
+ const collectionBackend = {
82
+ paginationMode: 'offset',
83
+ find: async query => {
84
+ const offset = query.offset ?? 0;
85
+ const {
86
+ items,
87
+ total = 0
88
+ } = backend.fetchDataSync(query);
89
+ return {
90
+ items,
91
+ total,
92
+ hasNext: offset + items.length < total
93
+ };
94
+ },
95
+ get: async entityId => {
96
+ const item = backend.get(entityId);
97
+ if (!item) {
98
+ throw new Error(`Item "${entityId}" not found`);
99
+ }
100
+ return item;
101
+ },
102
+ create: async entity => {
103
+ const created = {
104
+ ...entity
105
+ };
106
+ backend.map.set(keyOf(created), created);
107
+ return created;
108
+ },
109
+ update: async entity => {
110
+ backend.map.set(keyOf(entity), entity);
111
+ return entity;
112
+ },
113
+ delete: async entityId => {
114
+ backend.map.delete(entityId);
115
+ },
116
+ bulkDelete: async entityIds => {
117
+ entityIds.forEach(entityId => backend.map.delete(entityId));
118
+ },
119
+ bulkInsert: async entities => {
120
+ entities.forEach(entity => {
121
+ const created = {
122
+ ...entity
123
+ };
124
+ backend.map.set(keyOf(created), created);
125
+ });
126
+ return {
127
+ succeeded: entities.length,
128
+ failed: 0
129
+ };
130
+ }
131
+ };
132
+ const fieldActions = {
133
+ addField: async field => {
134
+ fields[field.id] = field;
135
+ return fieldsSnapshot();
136
+ },
137
+ addFields: async newFields => {
138
+ newFields.forEach(field => {
139
+ fields[field.id] = field;
140
+ });
141
+ return fieldsSnapshot();
142
+ },
143
+ editField: async (fieldId, updates) => {
144
+ const current = fields[fieldId];
145
+ if (current) {
146
+ fields[fieldId] = {
147
+ ...current,
148
+ ...updates
149
+ };
150
+ }
151
+ return fieldsSnapshot();
152
+ },
153
+ deleteField: async fieldId => {
154
+ Reflect.deleteProperty(fields, fieldId);
155
+ return fieldsSnapshot();
156
+ },
157
+ renameField: async (fieldId, newName) => {
158
+ const current = fields[fieldId];
159
+ if (current) {
160
+ fields[fieldId] = {
161
+ ...current,
162
+ displayName: newName
163
+ };
164
+ }
165
+ },
166
+ makePrimary: async fieldId => {
167
+ schema.displayField = fieldId;
168
+ return fieldsSnapshot();
169
+ }
170
+ };
171
+ const loadSchema = async () => ({
172
+ schema,
173
+ backend: collectionBackend,
174
+ fieldActions
175
+ });
176
+ const source = (0, _SchemaSource.defineSchemaSource)({
177
+ collectionId,
178
+ loadSchema,
179
+ creatableFieldTypes,
180
+ supportsPii,
181
+ ...(references && {
182
+ references
183
+ })
184
+ });
185
+ return {
186
+ source,
187
+ backend
188
+ };
189
+ }
190
+ //# sourceMappingURL=createInMemorySchemaSource.js.map