@open-mercato/core 0.9.1-develop.7473.1.de5b22888f → 0.9.1-develop.7475.1.28ca93ed97

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 (597) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/dist/generated/entities/catalog_price_history_entry/index.js +53 -0
  3. package/dist/generated/entities/catalog_price_history_entry/index.js.map +7 -0
  4. package/dist/generated/entities/customer_group_terms/index.js +2 -0
  5. package/dist/generated/entities/customer_group_terms/index.js.map +2 -2
  6. package/dist/generated/entities/ecommerce_store/index.js +33 -0
  7. package/dist/generated/entities/ecommerce_store/index.js.map +7 -0
  8. package/dist/generated/entities/ecommerce_store_channel_binding/index.js +29 -0
  9. package/dist/generated/entities/ecommerce_store_channel_binding/index.js.map +7 -0
  10. package/dist/generated/entities/ecommerce_store_domain_binding/index.js +23 -0
  11. package/dist/generated/entities/ecommerce_store_domain_binding/index.js.map +7 -0
  12. package/dist/generated/entities.ids.generated.js +8 -1
  13. package/dist/generated/entities.ids.generated.js.map +2 -2
  14. package/dist/generated/entity-fields-registry.js +72 -0
  15. package/dist/generated/entity-fields-registry.js.map +2 -2
  16. package/dist/helpers/integration/customerGroupsFixtures.js.map +2 -2
  17. package/dist/modules/catalog/acl.js +8 -1
  18. package/dist/modules/catalog/acl.js.map +2 -2
  19. package/dist/modules/catalog/api/config/omnibus/route.js +184 -0
  20. package/dist/modules/catalog/api/config/omnibus/route.js.map +7 -0
  21. package/dist/modules/catalog/api/prices/history/route.js +131 -0
  22. package/dist/modules/catalog/api/prices/history/route.js.map +7 -0
  23. package/dist/modules/catalog/api/prices/omnibus-preview/route.js +184 -0
  24. package/dist/modules/catalog/api/prices/omnibus-preview/route.js.map +7 -0
  25. package/dist/modules/catalog/api/products/route.js +54 -245
  26. package/dist/modules/catalog/api/products/route.js.map +3 -3
  27. package/dist/modules/catalog/api/tags/route.js +6 -0
  28. package/dist/modules/catalog/api/tags/route.js.map +2 -2
  29. package/dist/modules/catalog/backend/config/catalog/page.js +3 -1
  30. package/dist/modules/catalog/backend/config/catalog/page.js.map +2 -2
  31. package/dist/modules/catalog/cli.js +80 -2
  32. package/dist/modules/catalog/cli.js.map +2 -2
  33. package/dist/modules/catalog/commands/categories.js +51 -2
  34. package/dist/modules/catalog/commands/categories.js.map +2 -2
  35. package/dist/modules/catalog/commands/prices.js +43 -1
  36. package/dist/modules/catalog/commands/prices.js.map +2 -2
  37. package/dist/modules/catalog/commands/products.js +71 -0
  38. package/dist/modules/catalog/commands/products.js.map +2 -2
  39. package/dist/modules/catalog/commands/variants.js +7 -0
  40. package/dist/modules/catalog/commands/variants.js.map +2 -2
  41. package/dist/modules/catalog/components/OmnibusSettings.js +703 -0
  42. package/dist/modules/catalog/components/OmnibusSettings.js.map +7 -0
  43. package/dist/modules/catalog/components/PriceEditorOmnibusRow.js +152 -0
  44. package/dist/modules/catalog/components/PriceEditorOmnibusRow.js.map +7 -0
  45. package/dist/modules/catalog/components/lookupSources.js +31 -0
  46. package/dist/modules/catalog/components/lookupSources.js.map +7 -0
  47. package/dist/modules/catalog/components/prices/PriceScopeSelectors.js +8 -2
  48. package/dist/modules/catalog/components/prices/PriceScopeSelectors.js.map +2 -2
  49. package/dist/modules/catalog/components/products/VariantBuilder.js +11 -1
  50. package/dist/modules/catalog/components/products/VariantBuilder.js.map +2 -2
  51. package/dist/modules/catalog/data/entities.js +122 -1
  52. package/dist/modules/catalog/data/entities.js.map +2 -2
  53. package/dist/modules/catalog/data/validators.js +78 -0
  54. package/dist/modules/catalog/data/validators.js.map +2 -2
  55. package/dist/modules/catalog/di.js +18 -0
  56. package/dist/modules/catalog/di.js.map +2 -2
  57. package/dist/modules/catalog/lib/omnibus.js +285 -0
  58. package/dist/modules/catalog/lib/omnibus.js.map +7 -0
  59. package/dist/modules/catalog/lib/omnibusBackfill.js +146 -0
  60. package/dist/modules/catalog/lib/omnibusBackfill.js.map +7 -0
  61. package/dist/modules/catalog/lib/omnibusCache.js +89 -0
  62. package/dist/modules/catalog/lib/omnibusCache.js.map +7 -0
  63. package/dist/modules/catalog/lib/omnibusConfig.js +64 -0
  64. package/dist/modules/catalog/lib/omnibusConfig.js.map +7 -0
  65. package/dist/modules/catalog/lib/omnibusHistoryQueries.js +191 -0
  66. package/dist/modules/catalog/lib/omnibusHistoryQueries.js.map +7 -0
  67. package/dist/modules/catalog/lib/omnibusPresentedEntry.js +73 -0
  68. package/dist/modules/catalog/lib/omnibusPresentedEntry.js.map +7 -0
  69. package/dist/modules/catalog/lib/omnibusProductListEnrichment.js +94 -0
  70. package/dist/modules/catalog/lib/omnibusProductListEnrichment.js.map +7 -0
  71. package/dist/modules/catalog/lib/omnibusTypes.js +115 -0
  72. package/dist/modules/catalog/lib/omnibusTypes.js.map +7 -0
  73. package/dist/modules/catalog/lib/optionSchemaTranslations.js +55 -0
  74. package/dist/modules/catalog/lib/optionSchemaTranslations.js.map +7 -0
  75. package/dist/modules/catalog/lib/priceHistoryQuery.js +103 -0
  76. package/dist/modules/catalog/lib/priceHistoryQuery.js.map +7 -0
  77. package/dist/modules/catalog/lib/pricing.js +26 -2
  78. package/dist/modules/catalog/lib/pricing.js.map +2 -2
  79. package/dist/modules/catalog/lib/productFilters.js +273 -0
  80. package/dist/modules/catalog/lib/productFilters.js.map +7 -0
  81. package/dist/modules/catalog/lib/productScopeKeys.js +105 -0
  82. package/dist/modules/catalog/lib/productScopeKeys.js.map +7 -0
  83. package/dist/modules/catalog/lib/productScopeReindex.js +73 -0
  84. package/dist/modules/catalog/lib/productScopeReindex.js.map +7 -0
  85. package/dist/modules/catalog/migrations/Migration20261005105352_catalog.js +39 -0
  86. package/dist/modules/catalog/migrations/Migration20261005105352_catalog.js.map +7 -0
  87. package/dist/modules/catalog/migrations/Migration20261005150824_catalog.js +39 -0
  88. package/dist/modules/catalog/migrations/Migration20261005150824_catalog.js.map +7 -0
  89. package/dist/modules/catalog/services/catalogOmnibusService.js +480 -0
  90. package/dist/modules/catalog/services/catalogOmnibusService.js.map +7 -0
  91. package/dist/modules/catalog/setup.js +3 -1
  92. package/dist/modules/catalog/setup.js.map +2 -2
  93. package/dist/modules/catalog/subscribers/product-scope-keys-category-deleted.js +16 -0
  94. package/dist/modules/catalog/subscribers/product-scope-keys-category-deleted.js.map +7 -0
  95. package/dist/modules/catalog/subscribers/product-scope-keys-category-updated.js +17 -0
  96. package/dist/modules/catalog/subscribers/product-scope-keys-category-updated.js.map +7 -0
  97. package/dist/modules/catalog/translations.js +10 -0
  98. package/dist/modules/catalog/translations.js.map +2 -2
  99. package/dist/modules/configs/lib/upgrade-actions.js +28 -0
  100. package/dist/modules/configs/lib/upgrade-actions.js.map +2 -2
  101. package/dist/modules/customer_groups/api/customer-groups/[id]/terms/route.js +5 -0
  102. package/dist/modules/customer_groups/api/customer-groups/[id]/terms/route.js.map +2 -2
  103. package/dist/modules/customer_groups/components/CustomerGroupTermsSection.js +111 -3
  104. package/dist/modules/customer_groups/components/CustomerGroupTermsSection.js.map +2 -2
  105. package/dist/modules/customer_groups/components/customerGroupAssortmentScope.js +43 -0
  106. package/dist/modules/customer_groups/components/customerGroupAssortmentScope.js.map +7 -0
  107. package/dist/modules/customer_groups/data/entities.js +3 -0
  108. package/dist/modules/customer_groups/data/entities.js.map +2 -2
  109. package/dist/modules/customer_groups/data/validators.js +9 -0
  110. package/dist/modules/customer_groups/data/validators.js.map +2 -2
  111. package/dist/modules/customer_groups/migrations/Migration20261005110250_customer_groups.js +17 -0
  112. package/dist/modules/customer_groups/migrations/Migration20261005110250_customer_groups.js.map +7 -0
  113. package/dist/modules/customer_groups/services/customerGroupsService.js +62 -15
  114. package/dist/modules/customer_groups/services/customerGroupsService.js.map +2 -2
  115. package/dist/modules/ecommerce/acl.js +13 -0
  116. package/dist/modules/ecommerce/acl.js.map +7 -0
  117. package/dist/modules/ecommerce/api/domain-mappings/route.js +72 -0
  118. package/dist/modules/ecommerce/api/domain-mappings/route.js.map +7 -0
  119. package/dist/modules/ecommerce/api/openapi.js +27 -0
  120. package/dist/modules/ecommerce/api/openapi.js.map +7 -0
  121. package/dist/modules/ecommerce/api/store-channel-bindings/[id]/assortment-count/route.js +109 -0
  122. package/dist/modules/ecommerce/api/store-channel-bindings/[id]/assortment-count/route.js.map +7 -0
  123. package/dist/modules/ecommerce/api/store-channel-bindings/crud.js +265 -0
  124. package/dist/modules/ecommerce/api/store-channel-bindings/crud.js.map +7 -0
  125. package/dist/modules/ecommerce/api/store-channel-bindings/route.js +67 -0
  126. package/dist/modules/ecommerce/api/store-channel-bindings/route.js.map +7 -0
  127. package/dist/modules/ecommerce/api/store-domain-bindings/crud.js +296 -0
  128. package/dist/modules/ecommerce/api/store-domain-bindings/crud.js.map +7 -0
  129. package/dist/modules/ecommerce/api/store-domain-bindings/route.js +73 -0
  130. package/dist/modules/ecommerce/api/store-domain-bindings/route.js.map +7 -0
  131. package/dist/modules/ecommerce/api/storefront/categories/[slug]/route.js +87 -0
  132. package/dist/modules/ecommerce/api/storefront/categories/[slug]/route.js.map +7 -0
  133. package/dist/modules/ecommerce/api/storefront/categories/openapiSchemas.js +50 -0
  134. package/dist/modules/ecommerce/api/storefront/categories/openapiSchemas.js.map +7 -0
  135. package/dist/modules/ecommerce/api/storefront/categories/route.js +75 -0
  136. package/dist/modules/ecommerce/api/storefront/categories/route.js.map +7 -0
  137. package/dist/modules/ecommerce/api/storefront/context/route.js +163 -0
  138. package/dist/modules/ecommerce/api/storefront/context/route.js.map +7 -0
  139. package/dist/modules/ecommerce/api/storefront/products/[idOrHandle]/route.js +87 -0
  140. package/dist/modules/ecommerce/api/storefront/products/[idOrHandle]/route.js.map +7 -0
  141. package/dist/modules/ecommerce/api/storefront/products/openapiSchemas.js +177 -0
  142. package/dist/modules/ecommerce/api/storefront/products/openapiSchemas.js.map +7 -0
  143. package/dist/modules/ecommerce/api/storefront/products/route.js +78 -0
  144. package/dist/modules/ecommerce/api/storefront/products/route.js.map +7 -0
  145. package/dist/modules/ecommerce/api/storefront/search/suggest/openapiSchemas.js +25 -0
  146. package/dist/modules/ecommerce/api/storefront/search/suggest/openapiSchemas.js.map +7 -0
  147. package/dist/modules/ecommerce/api/storefront/search/suggest/route.js +75 -0
  148. package/dist/modules/ecommerce/api/storefront/search/suggest/route.js.map +7 -0
  149. package/dist/modules/ecommerce/api/storefront/storefrontRouteSupport.js +58 -0
  150. package/dist/modules/ecommerce/api/storefront/storefrontRouteSupport.js.map +7 -0
  151. package/dist/modules/ecommerce/api/stores/[id]/branding/route.js +183 -0
  152. package/dist/modules/ecommerce/api/stores/[id]/branding/route.js.map +7 -0
  153. package/dist/modules/ecommerce/api/stores/[id]/preview-branding/route.js +92 -0
  154. package/dist/modules/ecommerce/api/stores/[id]/preview-branding/route.js.map +7 -0
  155. package/dist/modules/ecommerce/api/stores/crud.js +401 -0
  156. package/dist/modules/ecommerce/api/stores/crud.js.map +7 -0
  157. package/dist/modules/ecommerce/api/stores/route.js +64 -0
  158. package/dist/modules/ecommerce/api/stores/route.js.map +7 -0
  159. package/dist/modules/ecommerce/backend/config/ecommerce/[id]/page.js +9 -0
  160. package/dist/modules/ecommerce/backend/config/ecommerce/[id]/page.js.map +7 -0
  161. package/dist/modules/ecommerce/backend/config/ecommerce/[id]/page.meta.js +16 -0
  162. package/dist/modules/ecommerce/backend/config/ecommerce/[id]/page.meta.js.map +7 -0
  163. package/dist/modules/ecommerce/backend/config/ecommerce/page.js +9 -0
  164. package/dist/modules/ecommerce/backend/config/ecommerce/page.js.map +7 -0
  165. package/dist/modules/ecommerce/backend/config/ecommerce/page.meta.js +16 -0
  166. package/dist/modules/ecommerce/backend/config/ecommerce/page.meta.js.map +7 -0
  167. package/dist/modules/ecommerce/commands/stores.js +110 -0
  168. package/dist/modules/ecommerce/commands/stores.js.map +7 -0
  169. package/dist/modules/ecommerce/components/ChannelAssortmentCount.js +90 -0
  170. package/dist/modules/ecommerce/components/ChannelAssortmentCount.js.map +7 -0
  171. package/dist/modules/ecommerce/components/ChannelBindingFormSections.js +33 -0
  172. package/dist/modules/ecommerce/components/ChannelBindingFormSections.js.map +7 -0
  173. package/dist/modules/ecommerce/components/ChannelLookupPicker.js +11 -0
  174. package/dist/modules/ecommerce/components/ChannelLookupPicker.js.map +7 -0
  175. package/dist/modules/ecommerce/components/DomainStatusWarning.js +24 -0
  176. package/dist/modules/ecommerce/components/DomainStatusWarning.js.map +7 -0
  177. package/dist/modules/ecommerce/components/StoreAvailabilityDefaultsSection.js +190 -0
  178. package/dist/modules/ecommerce/components/StoreAvailabilityDefaultsSection.js.map +7 -0
  179. package/dist/modules/ecommerce/components/StoreBrandingControls.js +67 -0
  180. package/dist/modules/ecommerce/components/StoreBrandingControls.js.map +7 -0
  181. package/dist/modules/ecommerce/components/StoreBrandingPreview.js +69 -0
  182. package/dist/modules/ecommerce/components/StoreBrandingPreview.js.map +7 -0
  183. package/dist/modules/ecommerce/components/StoreBrandingTab.js +218 -0
  184. package/dist/modules/ecommerce/components/StoreBrandingTab.js.map +7 -0
  185. package/dist/modules/ecommerce/components/StoreChannelBindingDialog.js +270 -0
  186. package/dist/modules/ecommerce/components/StoreChannelBindingDialog.js.map +7 -0
  187. package/dist/modules/ecommerce/components/StoreChannelsTab.js +313 -0
  188. package/dist/modules/ecommerce/components/StoreChannelsTab.js.map +7 -0
  189. package/dist/modules/ecommerce/components/StoreCreateDialog.js +164 -0
  190. package/dist/modules/ecommerce/components/StoreCreateDialog.js.map +7 -0
  191. package/dist/modules/ecommerce/components/StoreDomainBindingDialog.js +162 -0
  192. package/dist/modules/ecommerce/components/StoreDomainBindingDialog.js.map +7 -0
  193. package/dist/modules/ecommerce/components/StoreDomainsTab.js +357 -0
  194. package/dist/modules/ecommerce/components/StoreDomainsTab.js.map +7 -0
  195. package/dist/modules/ecommerce/components/StoreEditPage.js +155 -0
  196. package/dist/modules/ecommerce/components/StoreEditPage.js.map +7 -0
  197. package/dist/modules/ecommerce/components/StoreGeneralTab.js +167 -0
  198. package/dist/modules/ecommerce/components/StoreGeneralTab.js.map +7 -0
  199. package/dist/modules/ecommerce/components/StoreListPage.js +290 -0
  200. package/dist/modules/ecommerce/components/StoreListPage.js.map +7 -0
  201. package/dist/modules/ecommerce/components/StoreSeoTab.js +132 -0
  202. package/dist/modules/ecommerce/components/StoreSeoTab.js.map +7 -0
  203. package/dist/modules/ecommerce/components/StoreStatusBadge.js +20 -0
  204. package/dist/modules/ecommerce/components/StoreStatusBadge.js.map +7 -0
  205. package/dist/modules/ecommerce/components/channelLookups.js +28 -0
  206. package/dist/modules/ecommerce/components/channelLookups.js.map +7 -0
  207. package/dist/modules/ecommerce/components/storeAdmin.js +41 -0
  208. package/dist/modules/ecommerce/components/storeAdmin.js.map +7 -0
  209. package/dist/modules/ecommerce/components/storeBrandingForm.js +197 -0
  210. package/dist/modules/ecommerce/components/storeBrandingForm.js.map +7 -0
  211. package/dist/modules/ecommerce/components/storeChannels.js +140 -0
  212. package/dist/modules/ecommerce/components/storeChannels.js.map +7 -0
  213. package/dist/modules/ecommerce/components/storeDomains.js +167 -0
  214. package/dist/modules/ecommerce/components/storeDomains.js.map +7 -0
  215. package/dist/modules/ecommerce/components/storeEditTabs.js +62 -0
  216. package/dist/modules/ecommerce/components/storeEditTabs.js.map +7 -0
  217. package/dist/modules/ecommerce/components/storeGeneral.js +95 -0
  218. package/dist/modules/ecommerce/components/storeGeneral.js.map +7 -0
  219. package/dist/modules/ecommerce/components/storeSeo.js +69 -0
  220. package/dist/modules/ecommerce/components/storeSeo.js.map +7 -0
  221. package/dist/modules/ecommerce/components/useChannelAssortmentCount.js +45 -0
  222. package/dist/modules/ecommerce/components/useChannelAssortmentCount.js.map +7 -0
  223. package/dist/modules/ecommerce/components/useStoreAccess.js +28 -0
  224. package/dist/modules/ecommerce/components/useStoreAccess.js.map +7 -0
  225. package/dist/modules/ecommerce/data/enrichers.js +157 -0
  226. package/dist/modules/ecommerce/data/enrichers.js.map +7 -0
  227. package/dist/modules/ecommerce/data/entities.js +197 -0
  228. package/dist/modules/ecommerce/data/entities.js.map +7 -0
  229. package/dist/modules/ecommerce/data/validators.js +406 -0
  230. package/dist/modules/ecommerce/data/validators.js.map +7 -0
  231. package/dist/modules/ecommerce/di.js +11 -0
  232. package/dist/modules/ecommerce/di.js.map +7 -0
  233. package/dist/modules/ecommerce/events.js +27 -0
  234. package/dist/modules/ecommerce/events.js.map +7 -0
  235. package/dist/modules/ecommerce/index.js +16 -0
  236. package/dist/modules/ecommerce/index.js.map +7 -0
  237. package/dist/modules/ecommerce/lib/assortmentCount.js +112 -0
  238. package/dist/modules/ecommerce/lib/assortmentCount.js.map +7 -0
  239. package/dist/modules/ecommerce/lib/brandingStyles.js +184 -0
  240. package/dist/modules/ecommerce/lib/brandingStyles.js.map +7 -0
  241. package/dist/modules/ecommerce/lib/buyerContext.js +284 -0
  242. package/dist/modules/ecommerce/lib/buyerContext.js.map +7 -0
  243. package/dist/modules/ecommerce/lib/cacheInvalidation.js +186 -0
  244. package/dist/modules/ecommerce/lib/cacheInvalidation.js.map +7 -0
  245. package/dist/modules/ecommerce/lib/cacheKeys.js +236 -0
  246. package/dist/modules/ecommerce/lib/cacheKeys.js.map +7 -0
  247. package/dist/modules/ecommerce/lib/createConflictRecheck.js +29 -0
  248. package/dist/modules/ecommerce/lib/createConflictRecheck.js.map +7 -0
  249. package/dist/modules/ecommerce/lib/crudEvents.js +94 -0
  250. package/dist/modules/ecommerce/lib/crudEvents.js.map +7 -0
  251. package/dist/modules/ecommerce/lib/crudSupport.js +64 -0
  252. package/dist/modules/ecommerce/lib/crudSupport.js.map +7 -0
  253. package/dist/modules/ecommerce/lib/domainBindingRebind.js +99 -0
  254. package/dist/modules/ecommerce/lib/domainBindingRebind.js.map +7 -0
  255. package/dist/modules/ecommerce/lib/domainMappingSummaries.js +39 -0
  256. package/dist/modules/ecommerce/lib/domainMappingSummaries.js.map +7 -0
  257. package/dist/modules/ecommerce/lib/exclusiveFlag.js +57 -0
  258. package/dist/modules/ecommerce/lib/exclusiveFlag.js.map +7 -0
  259. package/dist/modules/ecommerce/lib/references.js +70 -0
  260. package/dist/modules/ecommerce/lib/references.js.map +7 -0
  261. package/dist/modules/ecommerce/lib/seedDraftStore.js +99 -0
  262. package/dist/modules/ecommerce/lib/seedDraftStore.js.map +7 -0
  263. package/dist/modules/ecommerce/lib/storeBindingCascade.js +109 -0
  264. package/dist/modules/ecommerce/lib/storeBindingCascade.js.map +7 -0
  265. package/dist/modules/ecommerce/lib/storeBranding.js +40 -0
  266. package/dist/modules/ecommerce/lib/storeBranding.js.map +7 -0
  267. package/dist/modules/ecommerce/lib/storeBrandingRoute.js +76 -0
  268. package/dist/modules/ecommerce/lib/storeBrandingRoute.js.map +7 -0
  269. package/dist/modules/ecommerce/lib/storeContext.js +393 -0
  270. package/dist/modules/ecommerce/lib/storeContext.js.map +7 -0
  271. package/dist/modules/ecommerce/lib/storeContextService.js +43 -0
  272. package/dist/modules/ecommerce/lib/storeContextService.js.map +7 -0
  273. package/dist/modules/ecommerce/lib/storeLocale.js +60 -0
  274. package/dist/modules/ecommerce/lib/storeLocale.js.map +7 -0
  275. package/dist/modules/ecommerce/lib/storeNotifications.js +41 -0
  276. package/dist/modules/ecommerce/lib/storeNotifications.js.map +7 -0
  277. package/dist/modules/ecommerce/lib/storefrontCatalogSupport.js +248 -0
  278. package/dist/modules/ecommerce/lib/storefrontCatalogSupport.js.map +7 -0
  279. package/dist/modules/ecommerce/lib/storefrontCategories.js +241 -0
  280. package/dist/modules/ecommerce/lib/storefrontCategories.js.map +7 -0
  281. package/dist/modules/ecommerce/lib/storefrontCategoryCache.js +71 -0
  282. package/dist/modules/ecommerce/lib/storefrontCategoryCache.js.map +7 -0
  283. package/dist/modules/ecommerce/lib/storefrontDetail.js +447 -0
  284. package/dist/modules/ecommerce/lib/storefrontDetail.js.map +7 -0
  285. package/dist/modules/ecommerce/lib/storefrontFacets.js +441 -0
  286. package/dist/modules/ecommerce/lib/storefrontFacets.js.map +7 -0
  287. package/dist/modules/ecommerce/lib/storefrontOptionFilter.js +15 -0
  288. package/dist/modules/ecommerce/lib/storefrontOptionFilter.js.map +7 -0
  289. package/dist/modules/ecommerce/lib/storefrontPricing.js +393 -0
  290. package/dist/modules/ecommerce/lib/storefrontPricing.js.map +7 -0
  291. package/dist/modules/ecommerce/lib/storefrontProductCache.js +90 -0
  292. package/dist/modules/ecommerce/lib/storefrontProductCache.js.map +7 -0
  293. package/dist/modules/ecommerce/lib/storefrontProductScope.js +107 -0
  294. package/dist/modules/ecommerce/lib/storefrontProductScope.js.map +7 -0
  295. package/dist/modules/ecommerce/lib/storefrontProducts.js +670 -0
  296. package/dist/modules/ecommerce/lib/storefrontProducts.js.map +7 -0
  297. package/dist/modules/ecommerce/lib/storefrontQuery.js +156 -0
  298. package/dist/modules/ecommerce/lib/storefrontQuery.js.map +7 -0
  299. package/dist/modules/ecommerce/lib/storefrontRateLimit.js +99 -0
  300. package/dist/modules/ecommerce/lib/storefrontRateLimit.js.map +7 -0
  301. package/dist/modules/ecommerce/lib/storefrontSearch.js +303 -0
  302. package/dist/modules/ecommerce/lib/storefrontSearch.js.map +7 -0
  303. package/dist/modules/ecommerce/lib/storefrontSearchCache.js +35 -0
  304. package/dist/modules/ecommerce/lib/storefrontSearchCache.js.map +7 -0
  305. package/dist/modules/ecommerce/lib/subscriberSupport.js +33 -0
  306. package/dist/modules/ecommerce/lib/subscriberSupport.js.map +7 -0
  307. package/dist/modules/ecommerce/lib/types.js +1 -0
  308. package/dist/modules/ecommerce/lib/types.js.map +7 -0
  309. package/dist/modules/ecommerce/migrations/Migration20261005113233_ecommerce.js +32 -0
  310. package/dist/modules/ecommerce/migrations/Migration20261005113233_ecommerce.js.map +7 -0
  311. package/dist/modules/ecommerce/migrations/Migration20261006112733_ecommerce.js +17 -0
  312. package/dist/modules/ecommerce/migrations/Migration20261006112733_ecommerce.js.map +7 -0
  313. package/dist/modules/ecommerce/notifications.client.js +47 -0
  314. package/dist/modules/ecommerce/notifications.client.js.map +7 -0
  315. package/dist/modules/ecommerce/notifications.js +48 -0
  316. package/dist/modules/ecommerce/notifications.js.map +7 -0
  317. package/dist/modules/ecommerce/search.js +83 -0
  318. package/dist/modules/ecommerce/search.js.map +7 -0
  319. package/dist/modules/ecommerce/setup.js +17 -0
  320. package/dist/modules/ecommerce/setup.js.map +7 -0
  321. package/dist/modules/ecommerce/subscribers/assortment-empty-notifications.js +14 -0
  322. package/dist/modules/ecommerce/subscribers/assortment-empty-notifications.js.map +7 -0
  323. package/dist/modules/ecommerce/subscribers/availability-policy-cache-invalidation.js +14 -0
  324. package/dist/modules/ecommerce/subscribers/availability-policy-cache-invalidation.js.map +7 -0
  325. package/dist/modules/ecommerce/subscribers/catalog-category-cache-invalidation.js +14 -0
  326. package/dist/modules/ecommerce/subscribers/catalog-category-cache-invalidation.js.map +7 -0
  327. package/dist/modules/ecommerce/subscribers/catalog-price-cache-invalidation.js +14 -0
  328. package/dist/modules/ecommerce/subscribers/catalog-price-cache-invalidation.js.map +7 -0
  329. package/dist/modules/ecommerce/subscribers/catalog-product-cache-invalidation.js +14 -0
  330. package/dist/modules/ecommerce/subscribers/catalog-product-cache-invalidation.js.map +7 -0
  331. package/dist/modules/ecommerce/subscribers/catalog-variant-cache-invalidation.js +14 -0
  332. package/dist/modules/ecommerce/subscribers/catalog-variant-cache-invalidation.js.map +7 -0
  333. package/dist/modules/ecommerce/subscribers/customer-group-cache-invalidation.js +14 -0
  334. package/dist/modules/ecommerce/subscribers/customer-group-cache-invalidation.js.map +7 -0
  335. package/dist/modules/ecommerce/subscribers/customer-group-membership-cache-invalidation.js +14 -0
  336. package/dist/modules/ecommerce/subscribers/customer-group-membership-cache-invalidation.js.map +7 -0
  337. package/dist/modules/ecommerce/subscribers/customer-group-terms-cache-invalidation.js +14 -0
  338. package/dist/modules/ecommerce/subscribers/customer-group-terms-cache-invalidation.js.map +7 -0
  339. package/dist/modules/ecommerce/subscribers/customer-user-deleted-cache-invalidation.js +14 -0
  340. package/dist/modules/ecommerce/subscribers/customer-user-deleted-cache-invalidation.js.map +7 -0
  341. package/dist/modules/ecommerce/subscribers/customer-user-updated-cache-invalidation.js +14 -0
  342. package/dist/modules/ecommerce/subscribers/customer-user-updated-cache-invalidation.js.map +7 -0
  343. package/dist/modules/ecommerce/subscribers/domain-binding-rebind.js +16 -0
  344. package/dist/modules/ecommerce/subscribers/domain-binding-rebind.js.map +7 -0
  345. package/dist/modules/ecommerce/subscribers/domain-mapping-cache-invalidation.js +14 -0
  346. package/dist/modules/ecommerce/subscribers/domain-mapping-cache-invalidation.js.map +7 -0
  347. package/dist/modules/ecommerce/subscribers/store-cache-invalidation.js +14 -0
  348. package/dist/modules/ecommerce/subscribers/store-cache-invalidation.js.map +7 -0
  349. package/dist/modules/ecommerce/subscribers/store-channel-binding-cache-invalidation.js +14 -0
  350. package/dist/modules/ecommerce/subscribers/store-channel-binding-cache-invalidation.js.map +7 -0
  351. package/dist/modules/ecommerce/subscribers/store-domain-binding-cache-invalidation.js +14 -0
  352. package/dist/modules/ecommerce/subscribers/store-domain-binding-cache-invalidation.js.map +7 -0
  353. package/dist/modules/ecommerce/subscribers/store-notifications.js +14 -0
  354. package/dist/modules/ecommerce/subscribers/store-notifications.js.map +7 -0
  355. package/dist/modules/query_index/lib/batch.js +23 -9
  356. package/dist/modules/query_index/lib/batch.js.map +2 -2
  357. package/dist/modules/query_index/lib/doc-enrichers.js +212 -0
  358. package/dist/modules/query_index/lib/doc-enrichers.js.map +7 -0
  359. package/dist/modules/query_index/lib/document.js +2 -0
  360. package/dist/modules/query_index/lib/document.js.map +2 -2
  361. package/dist/modules/query_index/lib/engine.js +68 -1
  362. package/dist/modules/query_index/lib/engine.js.map +2 -2
  363. package/dist/modules/query_index/lib/indexer.js +7 -0
  364. package/dist/modules/query_index/lib/indexer.js.map +2 -2
  365. package/dist/modules/query_index/lib/search-tokens.js +2 -0
  366. package/dist/modules/query_index/lib/search-tokens.js.map +2 -2
  367. package/dist/modules/query_index/migrations/Migration20261005201500_query_index.js +17 -0
  368. package/dist/modules/query_index/migrations/Migration20261005201500_query_index.js.map +7 -0
  369. package/dist/modules/translations/components/TranslationManager.js +3 -3
  370. package/dist/modules/translations/components/TranslationManager.js.map +2 -2
  371. package/dist/modules/translations/data/validators.js +1 -1
  372. package/dist/modules/translations/data/validators.js.map +1 -1
  373. package/dist/modules/translations/lib/batch.js +21 -1
  374. package/dist/modules/translations/lib/batch.js.map +2 -2
  375. package/dist/modules/translations/lib/helpers.js +3 -0
  376. package/dist/modules/translations/lib/helpers.js.map +2 -2
  377. package/dist/modules/translations/lib/resolve-field-list.js +14 -2
  378. package/dist/modules/translations/lib/resolve-field-list.js.map +2 -2
  379. package/generated/entities/catalog_price_history_entry/index.ts +25 -0
  380. package/generated/entities/customer_group_terms/index.ts +1 -0
  381. package/generated/entities/ecommerce_store/index.ts +15 -0
  382. package/generated/entities/ecommerce_store_channel_binding/index.ts +13 -0
  383. package/generated/entities/ecommerce_store_domain_binding/index.ts +10 -0
  384. package/generated/entities.ids.generated.ts +8 -1
  385. package/generated/entity-fields-registry.ts +72 -0
  386. package/package.json +7 -7
  387. package/src/helpers/integration/customerGroupsFixtures.ts +2 -0
  388. package/src/modules/auth/i18n/de.json +8 -0
  389. package/src/modules/auth/i18n/en.json +8 -0
  390. package/src/modules/auth/i18n/es.json +8 -0
  391. package/src/modules/auth/i18n/ko.json +8 -0
  392. package/src/modules/auth/i18n/pl.json +8 -0
  393. package/src/modules/catalog/AGENTS.md +5 -2
  394. package/src/modules/catalog/acl.ts +7 -0
  395. package/src/modules/catalog/api/config/omnibus/route.ts +204 -0
  396. package/src/modules/catalog/api/prices/history/route.ts +139 -0
  397. package/src/modules/catalog/api/prices/omnibus-preview/route.ts +202 -0
  398. package/src/modules/catalog/api/products/route.ts +53 -308
  399. package/src/modules/catalog/api/tags/route.ts +6 -0
  400. package/src/modules/catalog/backend/config/catalog/page.tsx +2 -0
  401. package/src/modules/catalog/cli.ts +84 -1
  402. package/src/modules/catalog/commands/categories.ts +54 -2
  403. package/src/modules/catalog/commands/prices.ts +43 -1
  404. package/src/modules/catalog/commands/products.ts +84 -1
  405. package/src/modules/catalog/commands/variants.ts +7 -0
  406. package/src/modules/catalog/components/OmnibusSettings.tsx +832 -0
  407. package/src/modules/catalog/components/PriceEditorOmnibusRow.tsx +219 -0
  408. package/src/modules/catalog/components/lookupSources.ts +29 -0
  409. package/src/modules/catalog/components/prices/PriceScopeSelectors.tsx +9 -0
  410. package/src/modules/catalog/components/products/VariantBuilder.tsx +9 -0
  411. package/src/modules/catalog/data/entities.ts +123 -1
  412. package/src/modules/catalog/data/validators.ts +118 -0
  413. package/src/modules/catalog/di.ts +23 -0
  414. package/src/modules/catalog/i18n/de.json +77 -0
  415. package/src/modules/catalog/i18n/en.json +77 -0
  416. package/src/modules/catalog/i18n/es.json +77 -0
  417. package/src/modules/catalog/i18n/ko.json +77 -0
  418. package/src/modules/catalog/i18n/pl.json +77 -0
  419. package/src/modules/catalog/lib/omnibus.ts +406 -0
  420. package/src/modules/catalog/lib/omnibusBackfill.ts +198 -0
  421. package/src/modules/catalog/lib/omnibusCache.ts +111 -0
  422. package/src/modules/catalog/lib/omnibusConfig.ts +73 -0
  423. package/src/modules/catalog/lib/omnibusHistoryQueries.ts +248 -0
  424. package/src/modules/catalog/lib/omnibusPresentedEntry.ts +76 -0
  425. package/src/modules/catalog/lib/omnibusProductListEnrichment.ts +125 -0
  426. package/src/modules/catalog/lib/omnibusTypes.ts +202 -0
  427. package/src/modules/catalog/lib/optionSchemaTranslations.ts +55 -0
  428. package/src/modules/catalog/lib/priceHistoryQuery.ts +155 -0
  429. package/src/modules/catalog/lib/pricing.ts +42 -4
  430. package/src/modules/catalog/lib/productFilters.ts +349 -0
  431. package/src/modules/catalog/lib/productScopeKeys.ts +162 -0
  432. package/src/modules/catalog/lib/productScopeReindex.ts +139 -0
  433. package/src/modules/catalog/migrations/.snapshot-open-mercato.json +572 -0
  434. package/src/modules/catalog/migrations/Migration20261005105352_catalog.ts +39 -0
  435. package/src/modules/catalog/migrations/Migration20261005150824_catalog.ts +39 -0
  436. package/src/modules/catalog/services/catalogOmnibusService.ts +642 -0
  437. package/src/modules/catalog/setup.ts +2 -0
  438. package/src/modules/catalog/subscribers/product-scope-keys-category-deleted.ts +18 -0
  439. package/src/modules/catalog/subscribers/product-scope-keys-category-updated.ts +19 -0
  440. package/src/modules/catalog/translations.ts +12 -0
  441. package/src/modules/configs/i18n/de.json +5 -1
  442. package/src/modules/configs/i18n/en.json +5 -1
  443. package/src/modules/configs/i18n/es.json +5 -1
  444. package/src/modules/configs/i18n/ko.json +5 -1
  445. package/src/modules/configs/i18n/pl.json +5 -1
  446. package/src/modules/configs/lib/upgrade-actions.ts +35 -0
  447. package/src/modules/customer_groups/api/customer-groups/[id]/terms/route.ts +7 -0
  448. package/src/modules/customer_groups/components/CustomerGroupTermsSection.tsx +124 -2
  449. package/src/modules/customer_groups/components/customerGroupAssortmentScope.ts +46 -0
  450. package/src/modules/customer_groups/data/entities.ts +4 -0
  451. package/src/modules/customer_groups/data/validators.ts +14 -0
  452. package/src/modules/customer_groups/i18n/de.json +12 -0
  453. package/src/modules/customer_groups/i18n/en.json +12 -0
  454. package/src/modules/customer_groups/i18n/es.json +12 -0
  455. package/src/modules/customer_groups/i18n/ko.json +12 -0
  456. package/src/modules/customer_groups/i18n/pl.json +12 -0
  457. package/src/modules/customer_groups/migrations/.snapshot-open-mercato.json +17 -0
  458. package/src/modules/customer_groups/migrations/Migration20261005110250_customer_groups.ts +15 -0
  459. package/src/modules/customer_groups/services/customerGroupsService.ts +74 -23
  460. package/src/modules/ecommerce/acl.ts +9 -0
  461. package/src/modules/ecommerce/api/domain-mappings/route.ts +76 -0
  462. package/src/modules/ecommerce/api/openapi.ts +28 -0
  463. package/src/modules/ecommerce/api/store-channel-bindings/[id]/assortment-count/route.ts +141 -0
  464. package/src/modules/ecommerce/api/store-channel-bindings/crud.ts +283 -0
  465. package/src/modules/ecommerce/api/store-channel-bindings/route.ts +67 -0
  466. package/src/modules/ecommerce/api/store-domain-bindings/crud.ts +324 -0
  467. package/src/modules/ecommerce/api/store-domain-bindings/route.ts +73 -0
  468. package/src/modules/ecommerce/api/storefront/categories/[slug]/route.ts +94 -0
  469. package/src/modules/ecommerce/api/storefront/categories/openapiSchemas.ts +63 -0
  470. package/src/modules/ecommerce/api/storefront/categories/route.ts +78 -0
  471. package/src/modules/ecommerce/api/storefront/context/route.ts +203 -0
  472. package/src/modules/ecommerce/api/storefront/products/[idOrHandle]/route.ts +94 -0
  473. package/src/modules/ecommerce/api/storefront/products/openapiSchemas.ts +193 -0
  474. package/src/modules/ecommerce/api/storefront/products/route.ts +81 -0
  475. package/src/modules/ecommerce/api/storefront/search/suggest/openapiSchemas.ts +25 -0
  476. package/src/modules/ecommerce/api/storefront/search/suggest/route.ts +78 -0
  477. package/src/modules/ecommerce/api/storefront/storefrontRouteSupport.ts +68 -0
  478. package/src/modules/ecommerce/api/stores/[id]/branding/route.ts +205 -0
  479. package/src/modules/ecommerce/api/stores/[id]/preview-branding/route.ts +99 -0
  480. package/src/modules/ecommerce/api/stores/crud.ts +457 -0
  481. package/src/modules/ecommerce/api/stores/route.ts +66 -0
  482. package/src/modules/ecommerce/backend/config/ecommerce/[id]/page.meta.ts +12 -0
  483. package/src/modules/ecommerce/backend/config/ecommerce/[id]/page.tsx +5 -0
  484. package/src/modules/ecommerce/backend/config/ecommerce/page.meta.ts +12 -0
  485. package/src/modules/ecommerce/backend/config/ecommerce/page.tsx +5 -0
  486. package/src/modules/ecommerce/commands/stores.ts +154 -0
  487. package/src/modules/ecommerce/components/ChannelAssortmentCount.tsx +138 -0
  488. package/src/modules/ecommerce/components/ChannelBindingFormSections.tsx +40 -0
  489. package/src/modules/ecommerce/components/ChannelLookupPicker.tsx +5 -0
  490. package/src/modules/ecommerce/components/DomainStatusWarning.tsx +32 -0
  491. package/src/modules/ecommerce/components/StoreAvailabilityDefaultsSection.tsx +219 -0
  492. package/src/modules/ecommerce/components/StoreBrandingControls.tsx +73 -0
  493. package/src/modules/ecommerce/components/StoreBrandingPreview.tsx +77 -0
  494. package/src/modules/ecommerce/components/StoreBrandingTab.tsx +242 -0
  495. package/src/modules/ecommerce/components/StoreChannelBindingDialog.tsx +306 -0
  496. package/src/modules/ecommerce/components/StoreChannelsTab.tsx +375 -0
  497. package/src/modules/ecommerce/components/StoreCreateDialog.tsx +204 -0
  498. package/src/modules/ecommerce/components/StoreDomainBindingDialog.tsx +198 -0
  499. package/src/modules/ecommerce/components/StoreDomainsTab.tsx +426 -0
  500. package/src/modules/ecommerce/components/StoreEditPage.tsx +193 -0
  501. package/src/modules/ecommerce/components/StoreGeneralTab.tsx +189 -0
  502. package/src/modules/ecommerce/components/StoreListPage.tsx +326 -0
  503. package/src/modules/ecommerce/components/StoreSeoTab.tsx +152 -0
  504. package/src/modules/ecommerce/components/StoreStatusBadge.tsx +22 -0
  505. package/src/modules/ecommerce/components/channelLookups.ts +24 -0
  506. package/src/modules/ecommerce/components/storeAdmin.ts +56 -0
  507. package/src/modules/ecommerce/components/storeBrandingForm.ts +230 -0
  508. package/src/modules/ecommerce/components/storeChannels.ts +210 -0
  509. package/src/modules/ecommerce/components/storeDomains.ts +221 -0
  510. package/src/modules/ecommerce/components/storeEditTabs.tsx +76 -0
  511. package/src/modules/ecommerce/components/storeGeneral.ts +155 -0
  512. package/src/modules/ecommerce/components/storeSeo.ts +78 -0
  513. package/src/modules/ecommerce/components/useChannelAssortmentCount.ts +67 -0
  514. package/src/modules/ecommerce/components/useStoreAccess.ts +36 -0
  515. package/src/modules/ecommerce/data/enrichers.ts +213 -0
  516. package/src/modules/ecommerce/data/entities.ts +168 -0
  517. package/src/modules/ecommerce/data/validators.ts +587 -0
  518. package/src/modules/ecommerce/di.ts +9 -0
  519. package/src/modules/ecommerce/events.ts +27 -0
  520. package/src/modules/ecommerce/i18n/de.json +341 -0
  521. package/src/modules/ecommerce/i18n/en.json +341 -0
  522. package/src/modules/ecommerce/i18n/es.json +341 -0
  523. package/src/modules/ecommerce/i18n/ko.json +341 -0
  524. package/src/modules/ecommerce/i18n/pl.json +341 -0
  525. package/src/modules/ecommerce/index.ts +14 -0
  526. package/src/modules/ecommerce/lib/assortmentCount.ts +175 -0
  527. package/src/modules/ecommerce/lib/brandingStyles.ts +215 -0
  528. package/src/modules/ecommerce/lib/buyerContext.ts +401 -0
  529. package/src/modules/ecommerce/lib/cacheInvalidation.ts +302 -0
  530. package/src/modules/ecommerce/lib/cacheKeys.ts +340 -0
  531. package/src/modules/ecommerce/lib/createConflictRecheck.ts +31 -0
  532. package/src/modules/ecommerce/lib/crudEvents.ts +128 -0
  533. package/src/modules/ecommerce/lib/crudSupport.ts +85 -0
  534. package/src/modules/ecommerce/lib/domainBindingRebind.ts +138 -0
  535. package/src/modules/ecommerce/lib/domainMappingSummaries.ts +71 -0
  536. package/src/modules/ecommerce/lib/exclusiveFlag.ts +90 -0
  537. package/src/modules/ecommerce/lib/references.ts +93 -0
  538. package/src/modules/ecommerce/lib/seedDraftStore.ts +125 -0
  539. package/src/modules/ecommerce/lib/storeBindingCascade.ts +138 -0
  540. package/src/modules/ecommerce/lib/storeBranding.ts +48 -0
  541. package/src/modules/ecommerce/lib/storeBrandingRoute.ts +91 -0
  542. package/src/modules/ecommerce/lib/storeContext.ts +669 -0
  543. package/src/modules/ecommerce/lib/storeContextService.ts +71 -0
  544. package/src/modules/ecommerce/lib/storeLocale.ts +88 -0
  545. package/src/modules/ecommerce/lib/storeNotifications.ts +55 -0
  546. package/src/modules/ecommerce/lib/storefrontCatalogSupport.ts +427 -0
  547. package/src/modules/ecommerce/lib/storefrontCategories.ts +419 -0
  548. package/src/modules/ecommerce/lib/storefrontCategoryCache.ts +113 -0
  549. package/src/modules/ecommerce/lib/storefrontDetail.ts +654 -0
  550. package/src/modules/ecommerce/lib/storefrontFacets.ts +697 -0
  551. package/src/modules/ecommerce/lib/storefrontOptionFilter.ts +44 -0
  552. package/src/modules/ecommerce/lib/storefrontPricing.ts +583 -0
  553. package/src/modules/ecommerce/lib/storefrontProductCache.ts +126 -0
  554. package/src/modules/ecommerce/lib/storefrontProductScope.ts +181 -0
  555. package/src/modules/ecommerce/lib/storefrontProducts.ts +963 -0
  556. package/src/modules/ecommerce/lib/storefrontQuery.ts +215 -0
  557. package/src/modules/ecommerce/lib/storefrontRateLimit.ts +126 -0
  558. package/src/modules/ecommerce/lib/storefrontSearch.ts +454 -0
  559. package/src/modules/ecommerce/lib/storefrontSearchCache.ts +49 -0
  560. package/src/modules/ecommerce/lib/subscriberSupport.ts +41 -0
  561. package/src/modules/ecommerce/lib/types.ts +69 -0
  562. package/src/modules/ecommerce/migrations/.snapshot-open-mercato.json +829 -0
  563. package/src/modules/ecommerce/migrations/Migration20261005113233_ecommerce.ts +32 -0
  564. package/src/modules/ecommerce/migrations/Migration20261006112733_ecommerce.ts +15 -0
  565. package/src/modules/ecommerce/notifications.client.ts +46 -0
  566. package/src/modules/ecommerce/notifications.ts +46 -0
  567. package/src/modules/ecommerce/search.ts +93 -0
  568. package/src/modules/ecommerce/setup.ts +15 -0
  569. package/src/modules/ecommerce/subscribers/assortment-empty-notifications.ts +12 -0
  570. package/src/modules/ecommerce/subscribers/availability-policy-cache-invalidation.ts +12 -0
  571. package/src/modules/ecommerce/subscribers/catalog-category-cache-invalidation.ts +12 -0
  572. package/src/modules/ecommerce/subscribers/catalog-price-cache-invalidation.ts +12 -0
  573. package/src/modules/ecommerce/subscribers/catalog-product-cache-invalidation.ts +12 -0
  574. package/src/modules/ecommerce/subscribers/catalog-variant-cache-invalidation.ts +12 -0
  575. package/src/modules/ecommerce/subscribers/customer-group-cache-invalidation.ts +12 -0
  576. package/src/modules/ecommerce/subscribers/customer-group-membership-cache-invalidation.ts +12 -0
  577. package/src/modules/ecommerce/subscribers/customer-group-terms-cache-invalidation.ts +12 -0
  578. package/src/modules/ecommerce/subscribers/customer-user-deleted-cache-invalidation.ts +12 -0
  579. package/src/modules/ecommerce/subscribers/customer-user-updated-cache-invalidation.ts +12 -0
  580. package/src/modules/ecommerce/subscribers/domain-binding-rebind.ts +14 -0
  581. package/src/modules/ecommerce/subscribers/domain-mapping-cache-invalidation.ts +12 -0
  582. package/src/modules/ecommerce/subscribers/store-cache-invalidation.ts +12 -0
  583. package/src/modules/ecommerce/subscribers/store-channel-binding-cache-invalidation.ts +12 -0
  584. package/src/modules/ecommerce/subscribers/store-domain-binding-cache-invalidation.ts +12 -0
  585. package/src/modules/ecommerce/subscribers/store-notifications.ts +12 -0
  586. package/src/modules/query_index/lib/batch.ts +25 -9
  587. package/src/modules/query_index/lib/doc-enrichers.ts +306 -0
  588. package/src/modules/query_index/lib/document.ts +2 -0
  589. package/src/modules/query_index/lib/engine.ts +58 -1
  590. package/src/modules/query_index/lib/indexer.ts +8 -0
  591. package/src/modules/query_index/lib/search-tokens.ts +2 -0
  592. package/src/modules/query_index/migrations/Migration20261005201500_query_index.ts +42 -0
  593. package/src/modules/translations/components/TranslationManager.tsx +3 -3
  594. package/src/modules/translations/data/validators.ts +1 -1
  595. package/src/modules/translations/lib/batch.ts +47 -0
  596. package/src/modules/translations/lib/helpers.ts +4 -0
  597. package/src/modules/translations/lib/resolve-field-list.ts +16 -2
@@ -0,0 +1,341 @@
1
+ {
2
+ "ecommerce.audit.stores.branding.update": "Shop-Branding aktualisieren",
3
+ "ecommerce.backend.store.actions.retry": "Erneut versuchen",
4
+ "ecommerce.backend.store.availability.allowBackorder": "Nachbestellungen erlauben",
5
+ "ecommerce.backend.store.availability.allowBackorderHint": "Kunden können Produkte bestellen, die nicht vorrätig sind.",
6
+ "ecommerce.backend.store.availability.description": "Standardregeln für den Lagerbestand aller Produkte in diesem Shop. Eine für ein Produkt oder eine Variante festgelegte Richtlinie überschreibt diese Standards, sodass solche Richtlinien nur Ausnahmen beschreiben müssen.",
7
+ "ecommerce.backend.store.availability.errors.load": "Die Verfügbarkeits-Standards konnten nicht geladen werden.",
8
+ "ecommerce.backend.store.availability.errors.save": "Die Verfügbarkeits-Standards konnten nicht gespeichert werden.",
9
+ "ecommerce.backend.store.availability.flash.saved": "Verfügbarkeits-Standards gespeichert",
10
+ "ecommerce.backend.store.availability.hideWhenOutOfStock": "Nicht vorrätige Produkte ausblenden",
11
+ "ecommerce.backend.store.availability.hideWhenOutOfStockHint": "Produkte ohne Lagerbestand werden in diesem Shop nicht angezeigt.",
12
+ "ecommerce.backend.store.availability.leadTime": "Lieferzeit bei Nachbestellung (Tage)",
13
+ "ecommerce.backend.store.availability.leadTimeHint": "Wie viele Tage ein nachbestelltes Produkt bis zum Versand benötigt. Erforderlich, solange Nachbestellungen erlaubt sind.",
14
+ "ecommerce.backend.store.availability.loading": "Verfügbarkeits-Standards werden geladen...",
15
+ "ecommerce.backend.store.availability.readOnly.noAvailabilityManage": "Sie können diese Standards ansehen, aber nicht ändern. Zum Speichern ist die Berechtigung zum Verwalten von Verfügbarkeitsrichtlinien erforderlich.",
16
+ "ecommerce.backend.store.availability.readOnly.noStoreManage": "Sie können diese Standards ansehen, aber nicht ändern. Zum Ändern ist die Berechtigung zum Verwalten von Shops erforderlich.",
17
+ "ecommerce.backend.store.availability.readOnly.noView": "Sie haben keinen Zugriff auf Verfügbarkeitsrichtlinien, daher können die Shop-Standards nicht angezeigt werden.",
18
+ "ecommerce.backend.store.availability.save": "Verfügbarkeits-Standards speichern",
19
+ "ecommerce.backend.store.availability.title": "Verfügbarkeits-Standards",
20
+ "ecommerce.backend.store.backToList": "Zurück zu den Shops",
21
+ "ecommerce.backend.store.branding.accentColor": "Akzentfarbe",
22
+ "ecommerce.backend.store.branding.accentForeground": "Text auf Akzentfarbe",
23
+ "ecommerce.backend.store.branding.assetUrlHint": "Eine http(s)-Adresse oder ein Pfad, der mit / beginnt. Leer lassen für keine.",
24
+ "ecommerce.backend.store.branding.assetsTitle": "Logo und Favicon",
25
+ "ecommerce.backend.store.branding.backgroundColor": "Hintergrundfarbe",
26
+ "ecommerce.backend.store.branding.colorPlaceholder": "oklch(0.3 0.15 270) oder #1a2b3c",
27
+ "ecommerce.backend.store.branding.coloursTitle": "Farben",
28
+ "ecommerce.backend.store.branding.description": "Die Farben, Eckenradien, Schriften und das Logo, die Ihr Shop verwendet. Leere Werte verwenden die angezeigten Standardwerte.",
29
+ "ecommerce.backend.store.branding.errors.save": "Das Branding konnte nicht gespeichert werden.",
30
+ "ecommerce.backend.store.branding.faviconUrl": "Favicon-URL",
31
+ "ecommerce.backend.store.branding.flash.saved": "Branding gespeichert",
32
+ "ecommerce.backend.store.branding.font.systemMono": "System-Monospace",
33
+ "ecommerce.backend.store.branding.font.systemSans": "System-Serifenlos",
34
+ "ecommerce.backend.store.branding.font.systemSerif": "System-Serif",
35
+ "ecommerce.backend.store.branding.fontBase": "Textschrift",
36
+ "ecommerce.backend.store.branding.fontHeading": "Überschriftenschrift",
37
+ "ecommerce.backend.store.branding.fontInherit": "Wie die Textschrift",
38
+ "ecommerce.backend.store.branding.foregroundColor": "Textfarbe",
39
+ "ecommerce.backend.store.branding.logoUrl": "Logo-URL",
40
+ "ecommerce.backend.store.branding.preview.groupTitle": "Live-Vorschau",
41
+ "ecommerce.backend.store.branding.preview.heroButton": "Jetzt einkaufen",
42
+ "ecommerce.backend.store.branding.preview.heroText": "Eine Vorschau Ihres Shops mit den gewählten Farben, Ecken und Schriften.",
43
+ "ecommerce.backend.store.branding.preview.heroTitle": "Neuheiten",
44
+ "ecommerce.backend.store.branding.preview.hint": "Die Vorschau aktualisiert sich beim Bearbeiten und wird erst gespeichert, wenn Sie das Branding speichern.",
45
+ "ecommerce.backend.store.branding.preview.navCart": "Warenkorb",
46
+ "ecommerce.backend.store.branding.preview.navCategories": "Kategorien",
47
+ "ecommerce.backend.store.branding.preview.navShop": "Shop",
48
+ "ecommerce.backend.store.branding.preview.productName": "Beispielprodukt",
49
+ "ecommerce.backend.store.branding.preview.title": "Shop-Vorschau",
50
+ "ecommerce.backend.store.branding.primaryColor": "Primärfarbe",
51
+ "ecommerce.backend.store.branding.primaryForeground": "Text auf Primärfarbe",
52
+ "ecommerce.backend.store.branding.radius": "Eckenradius",
53
+ "ecommerce.backend.store.branding.radiusHint": "Wie stark Schaltflächen, Karten und Eingabefelder abgerundet sind, von eckig (0) bis 5rem.",
54
+ "ecommerce.backend.store.branding.readOnly": "Sie können dieses Branding ansehen, aber nicht ändern. Dafür ist die Berechtigung zur Verwaltung des Shop-Brandings erforderlich.",
55
+ "ecommerce.backend.store.branding.save": "Branding speichern",
56
+ "ecommerce.backend.store.branding.styleTitle": "Form und Typografie",
57
+ "ecommerce.backend.store.branding.title": "Branding",
58
+ "ecommerce.backend.store.channels.actions.add": "Kanal-Zuordnung hinzufügen",
59
+ "ecommerce.backend.store.channels.actions.delete": "Entfernen",
60
+ "ecommerce.backend.store.channels.actions.edit": "Bearbeiten",
61
+ "ecommerce.backend.store.channels.actions.makeDefault": "Als Standard festlegen",
62
+ "ecommerce.backend.store.channels.actions.view": "Ansehen",
63
+ "ecommerce.backend.store.channels.add.submit": "Zuordnung hinzufügen",
64
+ "ecommerce.backend.store.channels.add.title": "Kanal-Zuordnung hinzufügen",
65
+ "ecommerce.backend.store.channels.columns.channel": "Vertriebskanal",
66
+ "ecommerce.backend.store.channels.columns.count": "Angezeigte Produkte",
67
+ "ecommerce.backend.store.channels.columns.default": "Standard",
68
+ "ecommerce.backend.store.channels.columns.priceKind": "Preisart",
69
+ "ecommerce.backend.store.channels.columns.priceSortFallback": "Preissortierung bei großem Katalog",
70
+ "ecommerce.backend.store.channels.columns.requireAuthentication": "Anmeldung",
71
+ "ecommerce.backend.store.channels.columns.scope": "Sortiment",
72
+ "ecommerce.backend.store.channels.count.authenticationEmpty": "0 Produkte für anonyme Besucher sichtbar: Eine Anmeldung ist erforderlich, und der Umfang erfasst auch ohne diese Anforderung keine Produkte.",
73
+ "ecommerce.backend.store.channels.count.basis": "Gezählt für einen anonymen Besucher, einschließlich der Einschränkungen der Standard-Kundengruppe. Nicht gespeicherte Änderungen werden ebenfalls gezählt.",
74
+ "ecommerce.backend.store.channels.count.cellReduced": "0 ({count} ohne Anmeldepflicht)",
75
+ "ecommerce.backend.store.channels.count.error": "Die Produktanzahl ist gerade nicht verfügbar.",
76
+ "ecommerce.backend.store.channels.count.loading": "Produkte werden gezählt…",
77
+ "ecommerce.backend.store.channels.count.reducedByAuthentication": "0 Produkte für anonyme Besucher, weil eine Anmeldung erforderlich ist; {count} ohne diese Anforderung.",
78
+ "ecommerce.backend.store.channels.count.restricted": "Produkte, die diesem Umfang entsprechen: {count}.",
79
+ "ecommerce.backend.store.channels.count.saveFirst": "Speichern Sie die Zuordnung, um zu sehen, wie viele Produkte sie zeigt. Danach aktualisiert sich die Zahl, während Sie den Umfang ändern.",
80
+ "ecommerce.backend.store.channels.count.title": "Aktuelle Produktanzahl",
81
+ "ecommerce.backend.store.channels.count.unindexed": "{count} aktive Produkte sind noch nicht für die Sichtbarkeit indiziert. Bei eingeschränktem Umfang bleiben sie ausgeblendet und werden erst gezählt, wenn die Indizierung aufgeholt hat.",
82
+ "ecommerce.backend.store.channels.count.unrestricted": "Alle Produkte im Katalog dieses Kanals: {count}.",
83
+ "ecommerce.backend.store.channels.defaultBadge": "Standard",
84
+ "ecommerce.backend.store.channels.delete.confirmButton": "Zuordnung entfernen",
85
+ "ecommerce.backend.store.channels.delete.confirmText": "Der Shop verwendet diesen Kanal nicht mehr. Der Vertriebskanal selbst wird nicht gelöscht und kann erneut zugeordnet werden.",
86
+ "ecommerce.backend.store.channels.delete.confirmTextDefault": "Dies ist die Standardzuordnung. Bis Sie eine andere Zuordnung als Standard festlegen, kann der Shop nicht ausliefern und beantwortet jede Anfrage mit einem Fehler. Der Vertriebskanal selbst wird nicht gelöscht.",
87
+ "ecommerce.backend.store.channels.delete.confirmTitle": "Zuordnung „{channel}“ entfernen?",
88
+ "ecommerce.backend.store.channels.description": "Die Vertriebskanäle, über die dieser Shop verkauft. Jede Zuordnung legt fest, was der Kanal wem zeigt: Preisart, Sortimentsumfang, Anmeldepflicht und Preissortierung bei großem Katalog.",
89
+ "ecommerce.backend.store.channels.dialog.description": "Ordnen Sie diesem Shop einen Vertriebskanal zu und legen Sie fest, was er wem zeigt: Sortimentsumfang, Anmeldepflicht und das Verhalten der Preissortierung bei großem Katalog.",
90
+ "ecommerce.backend.store.channels.edit.submit": "Zuordnung speichern",
91
+ "ecommerce.backend.store.channels.edit.title": "Kanal-Zuordnung bearbeiten",
92
+ "ecommerce.backend.store.channels.empty.description": "Ordnen Sie einen Vertriebskanal zu und legen Sie ihn als Standard fest. Ohne Standard-Kanalzuordnung kann der Shop nicht ausliefern.",
93
+ "ecommerce.backend.store.channels.empty.title": "Noch kein Vertriebskanal zugeordnet",
94
+ "ecommerce.backend.store.channels.entityPlural": "Kanal-Zuordnungen",
95
+ "ecommerce.backend.store.channels.errors.create": "Die Kanal-Zuordnung konnte nicht hinzugefügt werden.",
96
+ "ecommerce.backend.store.channels.errors.delete": "Die Kanal-Zuordnung konnte nicht entfernt werden.",
97
+ "ecommerce.backend.store.channels.errors.load": "Kanal-Zuordnungen konnten nicht geladen werden.",
98
+ "ecommerce.backend.store.channels.errors.makeDefault": "Die Zuordnung konnte nicht als Standard festgelegt werden.",
99
+ "ecommerce.backend.store.channels.errors.update": "Die Kanal-Zuordnung konnte nicht aktualisiert werden.",
100
+ "ecommerce.backend.store.channels.flash.created": "Kanal-Zuordnung hinzugefügt",
101
+ "ecommerce.backend.store.channels.flash.defaultSet": "{channel} ist jetzt der Standardkanal dieses Shops.",
102
+ "ecommerce.backend.store.channels.flash.deleted": "Kanal-Zuordnung entfernt",
103
+ "ecommerce.backend.store.channels.flash.updated": "Kanal-Zuordnung aktualisiert",
104
+ "ecommerce.backend.store.channels.form.categoryIds": "Kategorien",
105
+ "ecommerce.backend.store.channels.form.categoryPlaceholder": "Kategorien suchen",
106
+ "ecommerce.backend.store.channels.form.excludeCategoryIds": "Kategorien",
107
+ "ecommerce.backend.store.channels.form.excludeHint": "Ausgeblendete Produkte, Kategorien und Tags haben Vorrang vor der Auswahl oben.",
108
+ "ecommerce.backend.store.channels.form.excludeProductIds": "Produkte",
109
+ "ecommerce.backend.store.channels.form.excludeTagIds": "Tags",
110
+ "ecommerce.backend.store.channels.form.excludeTitle": "Immer ausblenden",
111
+ "ecommerce.backend.store.channels.form.includeHint": "Ein Produkt erscheint, wenn es in einer der gewählten Kategorien liegt und einen der gewählten Tags trägt. Ein leeres Feld filtert nicht; lassen Sie beide leer, um den ganzen Katalog des Kanals zu zeigen. Ein geleertes Feld blendet nie alles aus.",
112
+ "ecommerce.backend.store.channels.form.includeTitle": "Nur Produkte zeigen aus",
113
+ "ecommerce.backend.store.channels.form.isDefault": "Standardkanal dieses Shops",
114
+ "ecommerce.backend.store.channels.form.isDefaultHint": "Der Shop liefert über die Standardzuordnung aus. Wird diese Zuordnung zum Standard, verliert die bisherige Standardzuordnung die Markierung.",
115
+ "ecommerce.backend.store.channels.form.isDefaultLocked": "Dies ist die Standardzuordnung. Um das zu ändern, legen Sie eine andere Zuordnung als Standard fest; ein Shop ohne Standardkanal kann nicht ausliefern.",
116
+ "ecommerce.backend.store.channels.form.policiesTitle": "Katalogrichtlinien",
117
+ "ecommerce.backend.store.channels.form.priceKind": "Preisart überschreiben",
118
+ "ecommerce.backend.store.channels.form.priceKindHint": "Optional. Die Preisart, die anonyme Besucher in diesem Kanal sehen. Leer lassen, um die Standard-Preisart zu verwenden.",
119
+ "ecommerce.backend.store.channels.form.priceKindPlaceholder": "Standard-Preisart",
120
+ "ecommerce.backend.store.channels.form.priceSortFallback": "Preissortierung über {cap} Produkte",
121
+ "ecommerce.backend.store.channels.form.priceSortFallbackHint": "Der Shop sortiert höchstens {cap} passende Produkte nach Preis. Wählen Sie, was in diesem Kanal passiert, wenn mehr Produkte passen.",
122
+ "ecommerce.backend.store.channels.form.productPlaceholder": "Produkte suchen",
123
+ "ecommerce.backend.store.channels.form.requireAuthentication": "Anmeldung zum Anzeigen von Produkten verlangen",
124
+ "ecommerce.backend.store.channels.form.requireAuthenticationHint": "Anonyme Besucher sehen in diesem Kanal keine Produkte; angemeldete Käufer sehen ihr übliches Sortiment. Dies betrifft nur die Sichtbarkeit des Katalogs, nicht den gesamten Shop: Seiten und Anmeldung bleiben erreichbar. Wirksam nach dem Speichern.",
125
+ "ecommerce.backend.store.channels.form.salesChannel": "Vertriebskanal",
126
+ "ecommerce.backend.store.channels.form.salesChannelPlaceholder": "Vertriebskanal auswählen…",
127
+ "ecommerce.backend.store.channels.form.tagIds": "Tags",
128
+ "ecommerce.backend.store.channels.form.tagPlaceholder": "Tags suchen",
129
+ "ecommerce.backend.store.channels.noDefault": "Keine Zuordnung ist Standard, daher kann der Shop nicht ausliefern. Legen Sie eine Zuordnung als Standard fest.",
130
+ "ecommerce.backend.store.channels.priceKindDefault": "Standard-Preisart",
131
+ "ecommerce.backend.store.channels.priceSortFallback.approximate": "Ungefähre Reihenfolge aus der Standard-Preisart",
132
+ "ecommerce.backend.store.channels.priceSortFallback.approximateConsequence": "Wenn mehr als {cap} Produkte passen, wird die Preisreihenfolge aus der Standard-Preisart berechnet, nicht aus den Preisen des Käufers. Das einzige Signal ist ein Antwort-Header, den kein Kunde sieht; Käufer mit Vertragspreisen sehen also womöglich eine Reihenfolge, die nicht zu ihren Preisen passt.",
133
+ "ecommerce.backend.store.channels.priceSortFallback.unavailable": "Preissortierung zurückziehen",
134
+ "ecommerce.backend.store.channels.priceSortFallback.unavailableConsequence": "Wenn mehr als {cap} Produkte passen, wird die Preissortierung in diesem Kanal zurückgezogen: Preis auf- und absteigend wird nicht mehr angeboten, und ein Käufer über einen geteilten preissortierten Link erhält den Katalog in der Standardreihenfolge statt eines Fehlers.",
135
+ "ecommerce.backend.store.channels.public": "Öffentlich",
136
+ "ecommerce.backend.store.channels.readOnly": "Sie können diese Zuordnungen ansehen, aber nicht ändern. Dafür ist die Berechtigung zum Verwalten von Shop-Kanälen erforderlich.",
137
+ "ecommerce.backend.store.channels.requireAuthenticationBadge": "Anmeldung erforderlich",
138
+ "ecommerce.backend.store.channels.scopeAll": "Alle Produkte",
139
+ "ecommerce.backend.store.channels.scopeRestricted": "Eingeschränkt ({count} Regeln)",
140
+ "ecommerce.backend.store.channels.title": "Kanäle",
141
+ "ecommerce.backend.store.channels.view.title": "Kanal-Zuordnung",
142
+ "ecommerce.backend.store.domains.actions.add": "Domain-Zuordnung hinzufügen",
143
+ "ecommerce.backend.store.domains.actions.delete": "Entfernen",
144
+ "ecommerce.backend.store.domains.actions.edit": "Bearbeiten",
145
+ "ecommerce.backend.store.domains.actions.makePrimary": "Als primär festlegen",
146
+ "ecommerce.backend.store.domains.add.description": "Ordnen Sie eine registrierte Domain zu, optional mit einem Pfadpräfix, damit der Shop dort erreichbar ist. Nur eine aktive Domain liefert aus.",
147
+ "ecommerce.backend.store.domains.add.submit": "Zuordnung hinzufügen",
148
+ "ecommerce.backend.store.domains.add.title": "Domain-Zuordnung hinzufügen",
149
+ "ecommerce.backend.store.domains.columns.domain": "Domain",
150
+ "ecommerce.backend.store.domains.columns.failureReason": "Fehlergrund",
151
+ "ecommerce.backend.store.domains.columns.lastDnsCheck": "Letzte DNS-Prüfung",
152
+ "ecommerce.backend.store.domains.columns.primary": "Primär",
153
+ "ecommerce.backend.store.domains.columns.status": "Status",
154
+ "ecommerce.backend.store.domains.delete.confirmButton": "Zuordnung entfernen",
155
+ "ecommerce.backend.store.domains.delete.confirmText": "Der Shop antwortet unter dieser Adresse nicht mehr. Die Domain selbst wird nicht gelöscht und kann erneut zugeordnet werden.",
156
+ "ecommerce.backend.store.domains.delete.confirmTextPrimary": "Dies ist die primäre Zuordnung. Der Shop antwortet unter dieser Adresse nicht mehr und hat keine primäre Domain, bis Sie eine andere wählen. Die Domain selbst wird nicht gelöscht.",
157
+ "ecommerce.backend.store.domains.delete.confirmTitle": "Zuordnung „{address}“ entfernen?",
158
+ "ecommerce.backend.store.domains.description": "Die Domains, unter denen dieser Shop ausgeliefert wird. Der Domain-Status wird in der Domainverwaltung gepflegt und hier nur angezeigt. Nur eine aktive Domain liefert aus.",
159
+ "ecommerce.backend.store.domains.edit.submit": "Zuordnung speichern",
160
+ "ecommerce.backend.store.domains.edit.title": "Domain-Zuordnung bearbeiten",
161
+ "ecommerce.backend.store.domains.empty.description": "Ordnen Sie eine aktive Domain zu, optional mit einem Pfadpräfix, damit der Shop erreichbar ist.",
162
+ "ecommerce.backend.store.domains.empty.title": "Noch keine Domains zugeordnet",
163
+ "ecommerce.backend.store.domains.entityPlural": "Domain-Zuordnungen",
164
+ "ecommerce.backend.store.domains.errors.create": "Die Domain-Zuordnung konnte nicht hinzugefügt werden.",
165
+ "ecommerce.backend.store.domains.errors.delete": "Die Domain-Zuordnung konnte nicht entfernt werden.",
166
+ "ecommerce.backend.store.domains.errors.load": "Die Domain-Zuordnungen konnten nicht geladen werden.",
167
+ "ecommerce.backend.store.domains.errors.loadMappings": "Die verfügbaren Domains konnten nicht geladen werden.",
168
+ "ecommerce.backend.store.domains.errors.makePrimary": "Die Zuordnung konnte nicht als primär festgelegt werden.",
169
+ "ecommerce.backend.store.domains.errors.update": "Die Domain-Zuordnung konnte nicht aktualisiert werden.",
170
+ "ecommerce.backend.store.domains.failure.aRecordMismatch": "Der A-Eintrag verweist auf {actual} statt auf {expected}",
171
+ "ecommerce.backend.store.domains.failure.apexNotEnabled": "Der A-Eintrag verweist auf {actual}, aber Apex-Domains sind in dieser Installation nicht aktiviert",
172
+ "ecommerce.backend.store.domains.failure.cnameMismatch": "Der CNAME-Eintrag verweist auf {actual} statt auf {expected}",
173
+ "ecommerce.backend.store.domains.failure.dnsLookup": "Die DNS-Abfrage für den {recordType}-Eintrag ist fehlgeschlagen",
174
+ "ecommerce.backend.store.domains.failure.httpStatus": "Die TLS-Prüfung hat HTTP {status} zurückgegeben",
175
+ "ecommerce.backend.store.domains.failure.noRecords": "Es wurde kein CNAME- oder A-Eintrag gefunden",
176
+ "ecommerce.backend.store.domains.failure.proxyUnreachable": "Die Domain liegt hinter einem Proxy, der keinen Datenverkehr an diese Plattform weiterleitet",
177
+ "ecommerce.backend.store.domains.failure.tlsFailed": "Die TLS-Prüfung ist fehlgeschlagen",
178
+ "ecommerce.backend.store.domains.failure.tlsTimeout": "Bei der TLS-Prüfung ist eine Zeitüberschreitung aufgetreten",
179
+ "ecommerce.backend.store.domains.flash.created": "Domain-Zuordnung hinzugefügt",
180
+ "ecommerce.backend.store.domains.flash.deleted": "Domain-Zuordnung entfernt",
181
+ "ecommerce.backend.store.domains.flash.primaryChanged": "{address} ist jetzt die primäre Domain. {previous} ist nicht mehr primär.",
182
+ "ecommerce.backend.store.domains.flash.primarySet": "{address} ist jetzt die primäre Domain.",
183
+ "ecommerce.backend.store.domains.flash.updated": "Domain-Zuordnung aktualisiert",
184
+ "ecommerce.backend.store.domains.form.domain": "Domain",
185
+ "ecommerce.backend.store.domains.form.pathPrefix": "Pfadpräfix",
186
+ "ecommerce.backend.store.domains.form.pathPrefixHint": "Optional. Liefert diesen Shop nur unter einem Pfad wie /de aus. Leer lassen, um die gesamte Domain zu bedienen. Überlappen sich zwei Präfixe, gewinnt das längste passende Präfix.",
187
+ "ecommerce.backend.store.domains.form.primary": "Primäre Domain",
188
+ "ecommerce.backend.store.domains.form.primaryHint": "Die Adresse für kanonische Links. Wird diese Zuordnung primär, verliert die bisherige primäre Zuordnung dieses Shops die Markierung.",
189
+ "ecommerce.backend.store.domains.limitHint": "Eine Organisation hat höchstens zwei Domains: eine aktive plus eine ausstehende Ersatzdomain. Um einen weiteren Shop auf derselben Domain auszuliefern, geben Sie ihm ein Pfadpräfix wie /de, statt eine Domain hinzuzufügen.",
190
+ "ecommerce.backend.store.domains.manageLink": "Domainverwaltung öffnen",
191
+ "ecommerce.backend.store.domains.neverChecked": "Noch nicht geprüft",
192
+ "ecommerce.backend.store.domains.noMappings": "Diese Organisation hat noch keine Domains. Registrieren Sie eine in der Domainverwaltung und ordnen Sie sie dann hier zu.",
193
+ "ecommerce.backend.store.domains.primaryBadge": "Primär",
194
+ "ecommerce.backend.store.domains.readOnly": "Sie können diese Zuordnungen ansehen, aber nicht ändern. Dafür ist die Berechtigung zum Verwalten von Shop-Domains erforderlich.",
195
+ "ecommerce.backend.store.domains.removed.description": "Die Domain dieser Zuordnung wurde in der Domainverwaltung gelöscht, daher antwortet der Shop hier nicht mehr. Bearbeiten Sie die Zuordnung, um eine andere Domain zu wählen, oder entfernen Sie sie.",
196
+ "ecommerce.backend.store.domains.removed.title": "Domain entfernt",
197
+ "ecommerce.backend.store.domains.removedHostname": "Entfernte Domain",
198
+ "ecommerce.backend.store.domains.status.active": "Aktiv",
199
+ "ecommerce.backend.store.domains.status.dnsFailed": "DNS fehlgeschlagen",
200
+ "ecommerce.backend.store.domains.status.pending": "Ausstehend",
201
+ "ecommerce.backend.store.domains.status.removed": "Entfernt",
202
+ "ecommerce.backend.store.domains.status.tlsFailed": "TLS fehlgeschlagen",
203
+ "ecommerce.backend.store.domains.status.unknown": "Unbekannt",
204
+ "ecommerce.backend.store.domains.status.verified": "Verifiziert",
205
+ "ecommerce.backend.store.domains.title": "Domains",
206
+ "ecommerce.backend.store.domains.unavailable": "Die Domain-Details sind derzeit nicht verfügbar.",
207
+ "ecommerce.backend.store.domains.warning.notServing": "Diese Domain ist {status}. Nur eine aktive Domain liefert aus, daher antwortet der Shop unter {hostname} noch nicht.",
208
+ "ecommerce.backend.store.entityType": "Shop",
209
+ "ecommerce.backend.store.errors.load": "Der Shop konnte nicht geladen werden.",
210
+ "ecommerce.backend.store.general.description": "Name des Shops, seine Kennungen, die Sprachen, in denen er angezeigt wird, und seine Währung.",
211
+ "ecommerce.backend.store.general.errors.save": "Der Shop konnte nicht gespeichert werden.",
212
+ "ecommerce.backend.store.general.flash.saved": "Shop gespeichert",
213
+ "ecommerce.backend.store.general.readOnly": "Sie können diesen Shop ansehen, aber nicht ändern. Zum Ändern ist die Berechtigung zum Verwalten von Shops erforderlich.",
214
+ "ecommerce.backend.store.general.save": "Änderungen speichern",
215
+ "ecommerce.backend.store.general.status": "Status",
216
+ "ecommerce.backend.store.general.statusArchivedHint": "Ein archivierter Shop kann nicht wiederhergestellt werden.",
217
+ "ecommerce.backend.store.general.statusHint": "Ein Shop im Entwurfsstatus liefert seinen Storefront nicht aus. Archivieren Sie einen Shop in der Shop-Liste.",
218
+ "ecommerce.backend.store.general.title": "Identität und Lokalisierung",
219
+ "ecommerce.backend.store.loading": "Shop wird geladen...",
220
+ "ecommerce.backend.store.notFound.description": "Dieser Shop existiert in der ausgewählten Organisation nicht oder wurde gelöscht.",
221
+ "ecommerce.backend.store.notFound.label": "Shop nicht gefunden",
222
+ "ecommerce.backend.store.seo.defaultMetaDescription": "Standardmeta-Beschreibung",
223
+ "ecommerce.backend.store.seo.defaultMetaDescriptionHint": "Eine kurze Beschreibung Ihres Shops wird in Suchergebnissen angezeigt, wenn keine Produktbeschreibung verfügbar ist.",
224
+ "ecommerce.backend.store.seo.description": "Konfigurieren Sie, wie Ihr Shop in Suchergebnissen und für automatisierte Crawler angezeigt wird.",
225
+ "ecommerce.backend.store.seo.errors.save": "Die SEO-Einstellungen konnten nicht gespeichert werden.",
226
+ "ecommerce.backend.store.seo.flash.saved": "SEO-Einstellungen gespeichert",
227
+ "ecommerce.backend.store.seo.googleSiteVerification": "Google-Website-Verifikationstoken",
228
+ "ecommerce.backend.store.seo.googleSiteVerificationHint": "Das Token von Google Search Console zur Verifizierung des Website-Besitzes.",
229
+ "ecommerce.backend.store.seo.readOnly": "Sie können diese SEO-Einstellungen anzeigen, aber nicht ändern. Das Ändern erfordert die Berechtigung zur Shop-Verwaltung.",
230
+ "ecommerce.backend.store.seo.robotsTxt": "robots.txt",
231
+ "ecommerce.backend.store.seo.robotsTxtHint": "Anweisungen für Suchmaschinen-Crawler, welche Teile Ihres Shops indexiert werden sollen.",
232
+ "ecommerce.backend.store.seo.save": "SEO-Einstellungen speichern",
233
+ "ecommerce.backend.store.seo.siteName": "Site-Name",
234
+ "ecommerce.backend.store.seo.siteNameHint": "Der Name Ihres Shops wird in Suchergebnissen und der Browser-Registerkarte angezeigt.",
235
+ "ecommerce.backend.store.seo.title": "Suchmaschinenoptimierung",
236
+ "ecommerce.backend.store.summary.code": "Code",
237
+ "ecommerce.backend.store.summary.currency": "Währung",
238
+ "ecommerce.backend.store.summary.defaultChannel": "Standardkanal",
239
+ "ecommerce.backend.store.summary.defaultLocale": "Standardsprache",
240
+ "ecommerce.backend.store.summary.primaryDomain": "Primäre Domain",
241
+ "ecommerce.backend.store.summary.slug": "Slug",
242
+ "ecommerce.backend.store.summary.supportedLocales": "Unterstützte Sprachen",
243
+ "ecommerce.backend.store.summary.title": "Shop-Übersicht",
244
+ "ecommerce.backend.store.tabs.ariaLabel": "Shop-Bereiche",
245
+ "ecommerce.backend.store.tabs.branding": "Branding",
246
+ "ecommerce.backend.store.tabs.channels": "Kanäle",
247
+ "ecommerce.backend.store.tabs.domains": "Domains",
248
+ "ecommerce.backend.store.tabs.general": "Allgemein",
249
+ "ecommerce.backend.store.tabs.seo": "SEO",
250
+ "ecommerce.backend.stores.actions.archive": "Archivieren",
251
+ "ecommerce.backend.stores.actions.channels": "Kanäle",
252
+ "ecommerce.backend.stores.actions.create": "Shop erstellen",
253
+ "ecommerce.backend.stores.actions.domains": "Domains",
254
+ "ecommerce.backend.stores.actions.edit": "Bearbeiten",
255
+ "ecommerce.backend.stores.archive.confirmButton": "Shop archivieren",
256
+ "ecommerce.backend.stores.archive.confirmText": "Ein archivierter Shop liefert seinen Storefront nicht mehr aus (HTTP 410). Konfiguration und Verlauf bleiben erhalten, die Archivierung kann aber nicht rückgängig gemacht werden.",
257
+ "ecommerce.backend.stores.archive.confirmTitle": "Shop „{name}“ archivieren?",
258
+ "ecommerce.backend.stores.columns.channel": "Kanal",
259
+ "ecommerce.backend.stores.columns.code": "Code",
260
+ "ecommerce.backend.stores.columns.created": "Erstellt",
261
+ "ecommerce.backend.stores.columns.name": "Name",
262
+ "ecommerce.backend.stores.columns.noDefaultChannel": "Kein Standardkanal",
263
+ "ecommerce.backend.stores.columns.primaryDomain": "Primäre Domain",
264
+ "ecommerce.backend.stores.columns.status": "Status",
265
+ "ecommerce.backend.stores.create.description": "Der Shop startet als Entwurf. Fügen Sie anschließend Domain und Vertriebskanal hinzu, um ihn zu veröffentlichen.",
266
+ "ecommerce.backend.stores.create.submit": "Shop erstellen",
267
+ "ecommerce.backend.stores.create.title": "Shop erstellen",
268
+ "ecommerce.backend.stores.empty.description": "Ein neuer Arbeitsbereich erhält automatisch einen Entwurfs-Shop. Falls dieser Arbeitsbereich schon vor der Aktivierung des Shop-Moduls existierte, führen Sie die Upgrade-Aktion „Standard-Shop erstellen“ im Dashboard aus, um ihn zu erstellen, oder erstellen Sie jetzt einen Shop.",
269
+ "ecommerce.backend.stores.empty.descriptionReadOnly": "Ein neuer Arbeitsbereich erhält automatisch einen Entwurfs-Shop. Falls dieser Arbeitsbereich schon vor der Aktivierung des Shop-Moduls existierte, muss ein Administrator die Upgrade-Aktion „Standard-Shop erstellen“ im Dashboard ausführen.",
270
+ "ecommerce.backend.stores.empty.title": "Noch keine Shops",
271
+ "ecommerce.backend.stores.entityPlural": "Shops",
272
+ "ecommerce.backend.stores.errors.archive": "Der Shop konnte nicht archiviert werden.",
273
+ "ecommerce.backend.stores.errors.create": "Der Shop konnte nicht erstellt werden.",
274
+ "ecommerce.backend.stores.errors.load": "Die Shops konnten nicht geladen werden.",
275
+ "ecommerce.backend.stores.filters.status": "Status",
276
+ "ecommerce.backend.stores.flash.archived": "Shop archiviert",
277
+ "ecommerce.backend.stores.flash.created": "Shop erstellt",
278
+ "ecommerce.backend.stores.form.code": "Code",
279
+ "ecommerce.backend.stores.form.codeHint": "Interne Kennung, im Arbeitsbereich eindeutig. Kleinbuchstaben, Ziffern, Bindestriche und Unterstriche.",
280
+ "ecommerce.backend.stores.form.currency": "Währung",
281
+ "ecommerce.backend.stores.form.currencyHint": "Dreistelliger ISO-Code, zum Beispiel EUR.",
282
+ "ecommerce.backend.stores.form.defaultLocale": "Standardsprache",
283
+ "ecommerce.backend.stores.form.defaultLocaleHint": "Ein Sprachcode wie en oder pl-PL.",
284
+ "ecommerce.backend.stores.form.name": "Name",
285
+ "ecommerce.backend.stores.form.slug": "Slug",
286
+ "ecommerce.backend.stores.form.slugHint": "Kurzname für Shop-Adressen, im Arbeitsbereich eindeutig. Kleinbuchstaben, Ziffern und Bindestriche.",
287
+ "ecommerce.backend.stores.form.supportedLocales": "Unterstützte Sprachen",
288
+ "ecommerce.backend.stores.form.supportedLocalesHint": "Sprachen, in denen der Shop angezeigt werden kann. Muss die Standardsprache enthalten.",
289
+ "ecommerce.backend.stores.search.placeholder": "Nach Name, Code oder Slug suchen",
290
+ "ecommerce.backend.stores.status.active": "Aktiv",
291
+ "ecommerce.backend.stores.status.archived": "Archiviert",
292
+ "ecommerce.backend.stores.status.draft": "Entwurf",
293
+ "ecommerce.errors.brandingPermissionRequired": "Sie haben keine Berechtigung, das Branding des Shops festzulegen.",
294
+ "ecommerce.errors.brandingRouteRequired": "Das Branding kann hier nicht geändert werden. Speichern Sie es über den Branding-Endpunkt (PUT /api/ecommerce/stores/{id}/branding).",
295
+ "ecommerce.errors.channelBindingNotFound": "Die ausgewählte Kanalbindung existiert in dieser Organisation nicht.",
296
+ "ecommerce.errors.codeDuplicate": "Ein Shop mit diesem Code existiert bereits.",
297
+ "ecommerce.errors.defaultChannelConflict": "Gleichzeitig wurde eine andere Kanalzuordnung dieses Shops zum Standard gemacht. Laden Sie neu und versuchen Sie es erneut.",
298
+ "ecommerce.errors.domainBindingDuplicate": "Diese Domain und dieses Pfadpräfix bedienen bereits einen Shop.",
299
+ "ecommerce.errors.domainBindingNotFound": "Die ausgewählte Domain-Bindung existiert in dieser Organisation nicht.",
300
+ "ecommerce.errors.domainMappingNotFound": "Die ausgewählte Domain gehört nicht zu dieser Organisation.",
301
+ "ecommerce.errors.domainMappingsUnavailable": "Domains sind derzeit nicht verfügbar. Versuchen Sie es später erneut.",
302
+ "ecommerce.errors.internal": "Etwas ist schiefgelaufen. Versuchen Sie es erneut.",
303
+ "ecommerce.errors.invalidJsonBody": "Der Anfragetext ist kein gültiges JSON.",
304
+ "ecommerce.errors.operationBlocked": "Diese Änderung wurde blockiert. Prüfen Sie den Shop und versuchen Sie es erneut.",
305
+ "ecommerce.errors.organizationRequired": "Wählen Sie zuerst eine Organisation aus.",
306
+ "ecommerce.errors.priceKindNotFound": "Die ausgewählte Preisart existiert in dieser Organisation nicht.",
307
+ "ecommerce.errors.primaryConflict": "Gleichzeitig wurde ein anderer Shop zum primären Shop gemacht. Laden Sie neu und versuchen Sie es erneut.",
308
+ "ecommerce.errors.primaryDomainConflict": "Gleichzeitig wurde eine andere Domain-Zuordnung dieses Shops zur primären gemacht. Laden Sie neu und versuchen Sie es erneut.",
309
+ "ecommerce.errors.salesChannelNotFound": "Der ausgewählte Vertriebskanal existiert in dieser Organisation nicht.",
310
+ "ecommerce.errors.slugDuplicate": "Ein Shop mit diesem Slug existiert bereits.",
311
+ "ecommerce.errors.storeNotFound": "Der ausgewählte Shop existiert in dieser Organisation nicht.",
312
+ "ecommerce.errors.unauthorized": "Melden Sie sich an, um fortzufahren.",
313
+ "ecommerce.module.title": "Shops",
314
+ "ecommerce.notifications.store.assortmentEmpty.body": "Die Bereiche von Kanal und Kundengruppe lassen diesen Käufern keine sichtbaren Produkte.",
315
+ "ecommerce.notifications.store.assortmentEmpty.title": "Shop-Sortiment ist für einige Käufer leer",
316
+ "ecommerce.notifications.store.channelBindingMissing.body": "Der Storefront kann keine Anfragen bedienen, bis eine Standard-Kanalbindung konfiguriert ist.",
317
+ "ecommerce.notifications.store.channelBindingMissing.title": "Shop hat keinen Standard-Vertriebskanal",
318
+ "ecommerce.search.badge.store": "Shop",
319
+ "ecommerce.search.status.active": "Aktiv",
320
+ "ecommerce.search.status.archived": "Archiviert",
321
+ "ecommerce.search.status.draft": "Entwurf",
322
+ "ecommerce.validation.archivedStoreTerminal": "Ein archivierter Shop kann nicht wieder geöffnet werden. Legen Sie stattdessen einen neuen Shop an.",
323
+ "ecommerce.validation.backorderLeadTimeRequired": "Geben Sie die Lieferzeit bei Nachbestellung in ganzen Tagen an (0 oder mehr).",
324
+ "ecommerce.validation.borderRadiusInvalid": "Der Eckenradius muss 0 oder ein Wert in rem (bis 5rem) oder px (bis 80px) sein.",
325
+ "ecommerce.validation.brandingFieldUnknown": "Diese Branding-Einstellung existiert nicht.",
326
+ "ecommerce.validation.codeInvalid": "Der Code darf nur Kleinbuchstaben, Ziffern, Bindestriche und Unterstriche enthalten.",
327
+ "ecommerce.validation.colorInvalid": "Die Farbe muss ein OKLCH-Wert wie oklch(0.3 0.15 270) oder ein Hex-Wert wie #1a2b3c sein.",
328
+ "ecommerce.validation.currencyCodeInvalid": "Der Währungscode muss ein dreistelliger ISO-Code sein, zum Beispiel EUR.",
329
+ "ecommerce.validation.defaultLocaleNotSupported": "Die Standardsprache muss zu den unterstützten Sprachen gehören.",
330
+ "ecommerce.validation.draftRequireAuthenticationInvalid": "Der Entwurfswert für die Anmeldepflicht muss true oder false sein.",
331
+ "ecommerce.validation.draftScopeInvalid": "Der Entwurfsumfang darf nur IDs von Kategorien, Tags sowie ausgeschlossenen Produkten, Kategorien und Tags enthalten.",
332
+ "ecommerce.validation.draftScopeJsonInvalid": "Der Entwurfsumfang muss ein als JSON kodierter Sortimentsumfang sein.",
333
+ "ecommerce.validation.fontNotAllowed": "Wählen Sie eine Schriftart aus der Liste der verfügbaren Schriftarten.",
334
+ "ecommerce.validation.googleSiteVerificationInvalid": "Geben Sie das Token aus der Google Search Console ein: nur Buchstaben, Ziffern, Bindestriche und Unterstriche, bis zu 128 Zeichen.",
335
+ "ecommerce.validation.localeInvalid": "Die Sprache muss ein Sprachcode wie en oder en-US sein.",
336
+ "ecommerce.validation.localesDuplicate": "Jede unterstützte Sprache darf nur einmal aufgeführt werden.",
337
+ "ecommerce.validation.pathPrefixInvalid": "Das Pfadpräfix darf nur Kleinbuchstaben, Ziffern, Bindestriche und Schrägstriche enthalten, zum Beispiel /shop.",
338
+ "ecommerce.validation.slugInvalid": "Der Slug darf nur Kleinbuchstaben, Ziffern und einzelne Bindestriche dazwischen enthalten.",
339
+ "ecommerce.validation.urlInvalid": "Geben Sie eine gültige http(s)-URL oder einen mit / beginnenden Pfad ein.",
340
+ "notifications.categories.ecommerce": "E-Commerce"
341
+ }