@mohasinac/appkit 4.30.19 → 4.31.1

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 (417) hide show
  1. package/dist/_internal/client/features/layout/useSidebarSearch.d.ts +21 -5
  2. package/dist/_internal/client/features/layout/useSidebarSearch.js +27 -6
  3. package/dist/_internal/client/features/lottery/LotteryAdminEditView.d.ts +23 -3
  4. package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +106 -87
  5. package/dist/_internal/client/features/lottery/LotteryPullForm.d.ts +16 -5
  6. package/dist/_internal/client/features/lottery/LotteryPullForm.js +65 -40
  7. package/dist/_internal/server/features/auth/permissions.d.ts +2 -0
  8. package/dist/_internal/server/features/auth/permissions.js +3 -2
  9. package/dist/_internal/server/features/categories/data.js +15 -4
  10. package/dist/_internal/server/features/classified/index.d.ts +0 -1
  11. package/dist/_internal/server/features/classified/index.js +0 -1
  12. package/dist/_internal/server/features/digital-code/index.d.ts +0 -1
  13. package/dist/_internal/server/features/digital-code/index.js +0 -1
  14. package/dist/_internal/server/features/live/index.d.ts +0 -1
  15. package/dist/_internal/server/features/live/index.js +0 -1
  16. package/dist/_internal/server/features/products/data.js +15 -5
  17. package/dist/_internal/server/features/products/list-public.d.ts +9 -0
  18. package/dist/_internal/server/features/products/list-public.js +95 -7
  19. package/dist/_internal/server/features/site-settings/adapters.d.ts +2 -2
  20. package/dist/_internal/server/features/site-settings/adapters.js +8 -5
  21. package/dist/_internal/server/features/tester/visibility.d.ts +2 -1
  22. package/dist/_internal/server/features/tester/visibility.js +2 -2
  23. package/dist/_internal/server/functions/scheduled.d.ts +3 -1
  24. package/dist/_internal/server/functions/scheduled.js +27 -1
  25. package/dist/_internal/server/jobs/core/hardBanCascade.js +4 -0
  26. package/dist/_internal/server/jobs/core/index.d.ts +2 -0
  27. package/dist/_internal/server/jobs/core/index.js +2 -0
  28. package/dist/_internal/server/jobs/core/pageViewPrune.d.ts +10 -0
  29. package/dist/_internal/server/jobs/core/pageViewPrune.js +44 -0
  30. package/dist/_internal/server/jobs/core/pageViewRollup.d.ts +2 -0
  31. package/dist/_internal/server/jobs/core/pageViewRollup.js +87 -0
  32. package/dist/_internal/server/jobs/handlers/index.d.ts +2 -0
  33. package/dist/_internal/server/jobs/handlers/index.js +2 -0
  34. package/dist/_internal/server/jobs/handlers/pageViewPrune.d.ts +2 -0
  35. package/dist/_internal/server/jobs/handlers/pageViewPrune.js +2 -0
  36. package/dist/_internal/server/jobs/handlers/pageViewRollup.d.ts +2 -0
  37. package/dist/_internal/server/jobs/handlers/pageViewRollup.js +2 -0
  38. package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
  39. package/dist/_internal/shared/actions/action-registry.js +69 -22
  40. package/dist/_internal/shared/checkout/rules/classified.rule.d.ts +9 -4
  41. package/dist/_internal/shared/checkout/rules/classified.rule.js +7 -2
  42. package/dist/_internal/shared/features/layout/matchesNavQuery.d.ts +14 -0
  43. package/dist/_internal/shared/features/layout/matchesNavQuery.js +72 -0
  44. package/dist/_internal/shared/features/layout/types.d.ts +37 -1
  45. package/dist/_internal/shared/features/layout/types.js +19 -1
  46. package/dist/_internal/shared/features/notifications/action-url.d.ts +9 -1
  47. package/dist/_internal/shared/features/notifications/action-url.js +47 -0
  48. package/dist/_internal/shared/features/offers/config.d.ts +65 -0
  49. package/dist/_internal/shared/features/offers/config.js +73 -2
  50. package/dist/_internal/shared/features/orders/schema.d.ts +19 -1
  51. package/dist/_internal/shared/features/orders/schema.js +22 -2
  52. package/dist/_internal/shared/features/site-settings/types.d.ts +12 -3
  53. package/dist/_internal/shared/listing-types/capabilities.d.ts +8 -2
  54. package/dist/_internal/shared/listing-types/capabilities.js +6 -1
  55. package/dist/_internal/shared/listing-types/classified/ctas.js +6 -1
  56. package/dist/_internal/shared/listing-types/feature-flags.d.ts +10 -5
  57. package/dist/_internal/shared/listing-types/feature-flags.js +11 -6
  58. package/dist/client.d.ts +37 -20
  59. package/dist/client.js +36 -14
  60. package/dist/configs/next.js +10 -2
  61. package/dist/constants/api-endpoints.d.ts +18 -54
  62. package/dist/constants/api-endpoints.js +6 -26
  63. package/dist/constants/field-names.d.ts +6 -24
  64. package/dist/constants/field-names.js +10 -27
  65. package/dist/constants/geo/countries.d.ts +50 -0
  66. package/dist/constants/geo/countries.js +129 -0
  67. package/dist/constants/geo/subdivisions.d.ts +13 -0
  68. package/dist/constants/geo/subdivisions.js +104 -0
  69. package/dist/constants/index.d.ts +2 -2
  70. package/dist/constants/index.js +2 -2
  71. package/dist/constants/table-keys.d.ts +24 -0
  72. package/dist/constants/table-keys.js +28 -0
  73. package/dist/contracts/extend.d.ts +0 -9
  74. package/dist/contracts/index.d.ts +1 -1
  75. package/dist/contracts/realtime-session.js +7 -0
  76. package/dist/core/browser.d.ts +1 -1
  77. package/dist/core/browser.js +1 -1
  78. package/dist/core/index.d.ts +1 -1
  79. package/dist/core/index.js +1 -1
  80. package/dist/core/site-config.d.ts +0 -3
  81. package/dist/core/site-config.js +0 -3
  82. package/dist/errors/messages.d.ts +0 -8
  83. package/dist/errors/messages.js +0 -9
  84. package/dist/features/about/schemas/index.d.ts +8 -8
  85. package/dist/features/account/components/AddressFilters.js +32 -11
  86. package/dist/features/account/components/AddressForm.d.ts +26 -25
  87. package/dist/features/account/components/AddressForm.js +81 -103
  88. package/dist/features/account/components/AddressesIndexListing.js +8 -4
  89. package/dist/features/account/components/UserSidebar.d.ts +3 -4
  90. package/dist/features/account/components/UserSupportView.js +89 -58
  91. package/dist/features/account/components/index.d.ts +1 -7
  92. package/dist/features/account/components/index.js +0 -3
  93. package/dist/features/account/hooks/useAddresses.d.ts +4 -3
  94. package/dist/features/account/hooks/useAddresses.js +4 -6
  95. package/dist/features/account/hooks/useCollapsedSections.d.ts +51 -10
  96. package/dist/features/account/hooks/useCollapsedSections.js +211 -38
  97. package/dist/features/account/hooks/useProfile.d.ts +8 -0
  98. package/dist/features/account/index.d.ts +0 -3
  99. package/dist/features/account/index.js +0 -3
  100. package/dist/features/account/schemas/index.d.ts +0 -92
  101. package/dist/features/account/schemas/index.js +42 -20
  102. package/dist/features/addresses/components/AddressLocationFields.d.ts +13 -0
  103. package/dist/features/addresses/components/AddressLocationFields.js +41 -0
  104. package/dist/features/addresses/hooks/usePostalLookup.d.ts +17 -0
  105. package/dist/features/addresses/hooks/usePostalLookup.js +133 -0
  106. package/dist/features/addresses/schemas/address-form.d.ts +423 -0
  107. package/dist/features/addresses/schemas/address-form.js +212 -0
  108. package/dist/features/addresses/schemas/index.d.ts +1 -0
  109. package/dist/features/addresses/schemas/index.js +8 -0
  110. package/dist/features/admin/actions/admin-read-actions.d.ts +1 -1
  111. package/dist/features/admin/actions/index.d.ts +0 -1
  112. package/dist/features/admin/actions/index.js +0 -1
  113. package/dist/features/admin/actions/notification-actions.js +1 -41
  114. package/dist/features/admin/components/AdminActionIndexView.d.ts +32 -0
  115. package/dist/features/admin/components/AdminActionIndexView.js +128 -0
  116. package/dist/features/admin/components/AdminAdEditorView.js +159 -163
  117. package/dist/features/admin/components/AdminAddressEditorView.js +97 -55
  118. package/dist/features/admin/components/AdminBrandEditorView.d.ts +15 -0
  119. package/dist/features/admin/components/AdminBrandEditorView.js +113 -77
  120. package/dist/features/admin/components/AdminBundleEditorView.d.ts +19 -9
  121. package/dist/features/admin/components/AdminBundleEditorView.js +136 -168
  122. package/dist/features/admin/components/AdminCategoryEditorView.js +120 -43
  123. package/dist/features/admin/components/AdminCouponEditorView.js +145 -109
  124. package/dist/features/admin/components/AdminEmployeeEditorView.js +125 -56
  125. package/dist/features/admin/components/AdminFaqEditorView.js +112 -58
  126. package/dist/features/admin/components/AdminFeatureEditorView.js +108 -68
  127. package/dist/features/admin/components/AdminNavEditorView.js +69 -44
  128. package/dist/features/admin/components/AdminOrderEditorView.js +47 -10
  129. package/dist/features/admin/components/AdminPrizeDrawsView.js +16 -2
  130. package/dist/features/admin/components/AdminSidebar.d.ts +11 -7
  131. package/dist/features/admin/components/AdminSiteSettingsView.js +37 -37
  132. package/dist/features/admin/components/AdminStoreEditorView.js +75 -52
  133. package/dist/features/admin/components/AdminSublistingCategoryEditorView.js +71 -30
  134. package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +95 -65
  135. package/dist/features/admin/components/BrandQuickCreateForm.d.ts +10 -0
  136. package/dist/features/admin/components/BrandQuickCreateForm.js +49 -26
  137. package/dist/features/admin/components/CategoryQuickCreateForm.d.ts +11 -0
  138. package/dist/features/admin/components/CategoryQuickCreateForm.js +48 -26
  139. package/dist/features/admin/components/index.d.ts +2 -2
  140. package/dist/features/admin/components/index.js +1 -1
  141. package/dist/features/admin/constants/site-settings-tabs.d.ts +120 -0
  142. package/dist/features/admin/constants/site-settings-tabs.js +152 -0
  143. package/dist/features/admin/index.d.ts +0 -3
  144. package/dist/features/admin/index.js +0 -2
  145. package/dist/features/admin/repository/analytics-rollup.repository.d.ts +35 -0
  146. package/dist/features/admin/repository/analytics-rollup.repository.js +30 -0
  147. package/dist/features/admin/schemas/admin-editor-forms.d.ts +56 -57
  148. package/dist/features/admin/schemas/admin-editor-forms.js +97 -54
  149. package/dist/features/admin/schemas/admin-ops-forms.d.ts +57 -5
  150. package/dist/features/admin/schemas/admin-ops-forms.js +104 -20
  151. package/dist/features/admin/schemas/admin-user-form.js +7 -0
  152. package/dist/features/admin/schemas/firestore.d.ts +48 -95
  153. package/dist/features/admin/schemas/firestore.js +15 -151
  154. package/dist/features/admin/schemas/nav-item-form.js +9 -2
  155. package/dist/features/admin/server.d.ts +0 -4
  156. package/dist/features/admin/server.js +0 -2
  157. package/dist/features/admin/types/index.d.ts +0 -7
  158. package/dist/features/analytics/repository/page-views.repository.d.ts +14 -0
  159. package/dist/features/analytics/repository/page-views.repository.js +24 -0
  160. package/dist/features/auth/actions/index.d.ts +0 -1
  161. package/dist/features/auth/actions/index.js +0 -1
  162. package/dist/features/auth/actions/realtime-token-actions.js +1 -12
  163. package/dist/features/auth/auth-helpers.js +5 -7
  164. package/dist/features/auth/components/Guards.js +2 -1
  165. package/dist/features/auth/components/LoginForm.d.ts +0 -2
  166. package/dist/features/auth/components/LoginForm.js +1 -3
  167. package/dist/features/auth/components/RegisterForm.js +62 -19
  168. package/dist/features/auth/permissions/constants.d.ts +27 -1
  169. package/dist/features/auth/role-predicates.d.ts +75 -7
  170. package/dist/features/auth/role-predicates.js +28 -2
  171. package/dist/features/auth/schemas/firestore.d.ts +22 -0
  172. package/dist/features/auth/schemas/index.d.ts +1 -1
  173. package/dist/features/auth/schemas/index.js +44 -8
  174. package/dist/features/auth/types/index.d.ts +14 -1
  175. package/dist/features/blog/api/route.js +10 -2
  176. package/dist/features/blog/components/BlogIndexListing.js +1 -1
  177. package/dist/features/blog/hooks/useBlog.js +2 -2
  178. package/dist/features/blog/schemas/index.d.ts +4 -0
  179. package/dist/features/blog/schemas/index.js +2 -0
  180. package/dist/features/blog/types/index.d.ts +1 -1
  181. package/dist/features/catalogue/components/CatalogueItemEditorView.d.ts +22 -0
  182. package/dist/features/catalogue/components/CatalogueItemEditorView.js +112 -52
  183. package/dist/features/catalogue/schemas/validation.d.ts +4 -4
  184. package/dist/features/catalogue/schemas/validation.js +47 -10
  185. package/dist/features/categories/schemas/bundle-form.d.ts +142 -0
  186. package/dist/features/categories/schemas/bundle-form.js +149 -0
  187. package/dist/features/classified/components/ClassifiedDetailPageView.d.ts +5 -4
  188. package/dist/features/classified/components/ClassifiedDetailPageView.js +37 -16
  189. package/dist/features/consultation/components/ConsultationForm.js +1 -1
  190. package/dist/features/consultation/schemas/index.js +34 -10
  191. package/dist/features/corporate/schemas/index.js +36 -15
  192. package/dist/features/filters/FilterPanel.js +3 -3
  193. package/dist/features/filters/RangeFilter.d.ts +10 -0
  194. package/dist/features/filters/RangeFilter.js +41 -4
  195. package/dist/features/homepage/components/MarketplaceHomepageView.js +24 -5
  196. package/dist/features/homepage/hooks/useBlogArticles.js +1 -1
  197. package/dist/features/layout/BottomActions.js +84 -11
  198. package/dist/features/layout/BottomActionsContext.d.ts +1 -6
  199. package/dist/features/layout/BottomActionsContext.js +1 -1
  200. package/dist/features/layout/hooks/useBottomActions.js +2 -2
  201. package/dist/features/layout/hooks/useFormBottomActions.d.ts +12 -1
  202. package/dist/features/layout/hooks/useFormBottomActions.js +12 -6
  203. package/dist/features/lottery/schemas/config-write.d.ts +9 -5
  204. package/dist/features/lottery/schemas/config-write.js +69 -9
  205. package/dist/features/orders/schemas/buyer-forms.d.ts +6 -3
  206. package/dist/features/orders/schemas/buyer-forms.js +31 -3
  207. package/dist/features/orders/schemas/index.d.ts +2 -2
  208. package/dist/features/products/components/GroupSettingsPanel.js +3 -1
  209. package/dist/features/products/components/MakeOfferButton.d.ts +13 -2
  210. package/dist/features/products/components/MakeOfferButton.js +33 -11
  211. package/dist/features/products/components/ProductDetailActions.js +0 -1
  212. package/dist/features/products/components/ProductDetailPageView.d.ts +7 -3
  213. package/dist/features/products/components/ProductDetailPageView.js +8 -5
  214. package/dist/features/products/constants/action-defs.d.ts +1 -2
  215. package/dist/features/products/constants/action-defs.js +40 -43
  216. package/dist/features/products/repository/products.repository.d.ts +5 -1
  217. package/dist/features/products/repository/products.repository.js +23 -1
  218. package/dist/features/products/schemas/firestore.d.ts +7 -3
  219. package/dist/features/products/schemas/product-features.validators.js +3 -0
  220. package/dist/features/promotions/components/CouponCard.js +8 -7
  221. package/dist/features/scams/schemas/firestore.d.ts +15 -1
  222. package/dist/features/scams/schemas/report-form.d.ts +5 -5
  223. package/dist/features/scams/schemas/report-form.js +18 -3
  224. package/dist/features/search/action-index/derive.d.ts +49 -0
  225. package/dist/features/search/action-index/derive.js +121 -0
  226. package/dist/features/search/action-index/repository.d.ts +42 -0
  227. package/dist/features/search/action-index/repository.js +100 -0
  228. package/dist/features/search/action-index/settings-entries.d.ts +41 -0
  229. package/dist/features/search/action-index/settings-entries.js +268 -0
  230. package/dist/features/search/action-index/types.d.ts +81 -0
  231. package/dist/features/search/action-index/types.js +102 -0
  232. package/dist/features/search/action-index/validate-entry.d.ts +34 -0
  233. package/dist/features/search/action-index/validate-entry.js +114 -0
  234. package/dist/features/search/hooks/useNavSuggestions.d.ts +5 -1
  235. package/dist/features/search/hooks/useNavSuggestions.js +23 -3
  236. package/dist/features/search/repository/search.repository.js +3 -1
  237. package/dist/features/seller/actions/offer-actions.js +43 -24
  238. package/dist/features/seller/actions/seller-actions.js +29 -5
  239. package/dist/features/seller/components/CategoryChipPicker.d.ts +9 -0
  240. package/dist/features/seller/components/CategoryChipPicker.js +12 -0
  241. package/dist/features/seller/components/SellerAddressesView.js +5 -1
  242. package/dist/features/seller/components/SellerAnalyticsAlertsView.js +83 -43
  243. package/dist/features/seller/components/SellerArtView.d.ts +14 -7
  244. package/dist/features/seller/components/SellerArtView.js +4 -119
  245. package/dist/features/seller/components/SellerClassifiedView.d.ts +14 -7
  246. package/dist/features/seller/components/SellerClassifiedView.js +4 -124
  247. package/dist/features/seller/components/SellerCouponEditorView.d.ts +22 -1
  248. package/dist/features/seller/components/SellerCouponEditorView.js +91 -45
  249. package/dist/features/seller/components/SellerDigitalCodesView.d.ts +14 -7
  250. package/dist/features/seller/components/SellerDigitalCodesView.js +4 -126
  251. package/dist/features/seller/components/SellerListingTypeView.d.ts +66 -0
  252. package/dist/features/seller/components/SellerListingTypeView.js +277 -0
  253. package/dist/features/seller/components/SellerLiveView.d.ts +14 -7
  254. package/dist/features/seller/components/SellerLiveView.js +4 -126
  255. package/dist/features/seller/components/SellerSidebar.d.ts +3 -6
  256. package/dist/features/seller/components/SellerStickersView.d.ts +14 -7
  257. package/dist/features/seller/components/SellerStickersView.js +4 -119
  258. package/dist/features/seller/components/SellerSupportView.d.ts +31 -0
  259. package/dist/features/seller/components/SellerSupportView.js +100 -0
  260. package/dist/features/seller/components/index.d.ts +4 -8
  261. package/dist/features/seller/components/index.js +2 -4
  262. package/dist/features/seller/index.d.ts +0 -1
  263. package/dist/features/seller/index.js +0 -1
  264. package/dist/features/seller/schemas/coupon-form.d.ts +214 -0
  265. package/dist/features/seller/schemas/coupon-form.js +155 -23
  266. package/dist/features/seller/schemas/offer-forms.d.ts +16 -7
  267. package/dist/features/seller/schemas/offer-forms.js +28 -12
  268. package/dist/features/shell/FormShell.js +2 -2
  269. package/dist/features/shell/QuickFormDrawer.js +2 -2
  270. package/dist/features/shell/SectionForm.d.ts +19 -1
  271. package/dist/features/shell/SectionForm.js +104 -17
  272. package/dist/features/shell/build-sections.d.ts +23 -0
  273. package/dist/features/shell/build-sections.js +106 -8
  274. package/dist/features/shell/field-ui-meta.d.ts +44 -0
  275. package/dist/features/shell/field-ui-meta.js +14 -7
  276. package/dist/features/shell/form-sections.d.ts +46 -0
  277. package/dist/features/shell/form-sections.js +114 -0
  278. package/dist/features/shipments/components/AdminShipmentEditorView.js +87 -64
  279. package/dist/features/shipments/schemas/validation.d.ts +2 -2
  280. package/dist/features/shipments/schemas/validation.js +44 -13
  281. package/dist/features/store-extensions/schemas/custom-role-form.js +6 -2
  282. package/dist/features/store-extensions/schemas/listing-template-form.d.ts +7 -7
  283. package/dist/features/store-extensions/schemas/payout-method-form.js +14 -0
  284. package/dist/features/stores/actions/store-query-actions.js +3 -2
  285. package/dist/features/stores/api/[storeSlug]/auctions/route.js +3 -1
  286. package/dist/features/stores/api/[storeSlug]/products/route.js +3 -1
  287. package/dist/features/support/repository/support.repository.d.ts +21 -0
  288. package/dist/features/support/repository/support.repository.js +63 -0
  289. package/dist/features/support/schemas/firestore.d.ts +27 -2
  290. package/dist/features/support/schemas/firestore.js +2 -0
  291. package/dist/features/support/schemas/ticket-create-form.js +7 -0
  292. package/dist/features/tester/schemas/checklist-item-form.d.ts +43 -0
  293. package/dist/features/tester/schemas/checklist-item-form.js +109 -0
  294. package/dist/features/tester/seed-data/blog-tester-seed-data.js +2 -2
  295. package/dist/features/tester/seed-data/categories-tester-seed-data.js +2 -2
  296. package/dist/features/tester/seed-data/events-tester-seed-data.js +5 -5
  297. package/dist/features/tester/seed-data/orders-tester-seed-data.js +2 -2
  298. package/dist/features/tester/seed-data/products-tester-seed-data.js +48 -49
  299. package/dist/features/tester/seed-data/stores-tester-seed-data.js +3 -3
  300. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +275 -29
  301. package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +48 -12
  302. package/dist/http/api-handler.js +2 -1
  303. package/dist/index.d.ts +24 -103
  304. package/dist/index.js +33 -141
  305. package/dist/jobs.d.ts +1 -1
  306. package/dist/jobs.js +1 -1
  307. package/dist/monitoring/browser.d.ts +0 -2
  308. package/dist/monitoring/browser.js +12 -1
  309. package/dist/monitoring/index.d.ts +0 -2
  310. package/dist/monitoring/index.js +0 -1
  311. package/dist/next/api/routeHandler.js +6 -3
  312. package/dist/next/index.d.ts +7 -2
  313. package/dist/next/index.js +36 -1
  314. package/dist/next/middleware/index.d.ts +0 -2
  315. package/dist/next/middleware/index.js +0 -1
  316. package/dist/next/routing/route-map.d.ts +8 -7
  317. package/dist/next/routing/route-map.js +10 -3
  318. package/dist/providers/db-firebase/admin.js +15 -1
  319. package/dist/providers/db-firebase/sieve.d.ts +22 -0
  320. package/dist/react/hooks/useListingTypeFlags.d.ts +1 -1
  321. package/dist/react/hooks/useListingTypeFlags.js +1 -1
  322. package/dist/react/hooks/usePendingFilters.js +5 -3
  323. package/dist/react/hooks/usePendingTable.js +15 -3
  324. package/dist/repositories/index.d.ts +0 -1
  325. package/dist/repositories/index.js +0 -1
  326. package/dist/schemas/registry.d.ts +197 -232
  327. package/dist/schemas/registry.js +5 -6
  328. package/dist/schemas/webhooks/razorpay.d.ts +50 -50
  329. package/dist/security/authorization.d.ts +9 -0
  330. package/dist/security/authorization.js +16 -2
  331. package/dist/security/browser.d.ts +1 -3
  332. package/dist/security/browser.js +5 -2
  333. package/dist/security/index.d.ts +1 -3
  334. package/dist/security/index.js +19 -2
  335. package/dist/security/pii-encrypt.js +16 -0
  336. package/dist/security/pii-schemas.d.ts +0 -14
  337. package/dist/security/pii-schemas.js +7 -15
  338. package/dist/seed/_helpers/category-forest.js +2 -2
  339. package/dist/seed/_helpers/media.d.ts +19 -0
  340. package/dist/seed/_helpers/media.js +75 -0
  341. package/dist/seed/blog-posts-seed-data.js +17 -17
  342. package/dist/seed/carousel-slides-seed-data.js +7 -7
  343. package/dist/seed/cart-seed-data.js +13 -13
  344. package/dist/seed/categories-seed-data.js +10 -10
  345. package/dist/seed/events-seed-data.js +24 -24
  346. package/dist/seed/factories/product.factory.js +4 -4
  347. package/dist/seed/factories/store.factory.js +3 -3
  348. package/dist/seed/factories/user.factory.js +2 -2
  349. package/dist/seed/grouped-listings-seed-data.js +11 -11
  350. package/dist/seed/homepage-sections-seed-data.js +2 -2
  351. package/dist/seed/index.d.ts +0 -1
  352. package/dist/seed/index.js +0 -1
  353. package/dist/seed/manifest.d.ts +1 -1
  354. package/dist/seed/manifest.js +0 -5
  355. package/dist/seed/notifications-seed-data.js +20 -1
  356. package/dist/seed/orders-seed-data.js +2 -2
  357. package/dist/seed/products-art-seed-data.js +16 -16
  358. package/dist/seed/products-auctions-seed-data.js +34 -34
  359. package/dist/seed/products-classifieds-seed-data.js +35 -37
  360. package/dist/seed/products-digital-codes-seed-data.js +20 -20
  361. package/dist/seed/products-live-items-seed-data.js +11 -11
  362. package/dist/seed/products-preorders-seed-data.js +13 -13
  363. package/dist/seed/products-prize-draws-seed-data.js +43 -43
  364. package/dist/seed/products-standard-seed-data.js +54 -54
  365. package/dist/seed/products-stickers-seed-data.js +15 -15
  366. package/dist/seed/reviews-seed-data.js +4 -4
  367. package/dist/seed/scammers-seed-data.js +3 -3
  368. package/dist/seed/site-settings-seed-data.js +11 -24
  369. package/dist/seed/store-extensions-seed-data.js +10 -10
  370. package/dist/seed/stores-seed-data.js +11 -11
  371. package/dist/seed/support-tickets-seed-data.d.ts +14 -0
  372. package/dist/seed/support-tickets-seed-data.js +20 -1
  373. package/dist/seed/users-seed-data.js +20 -20
  374. package/dist/server-entry.d.ts +0 -1
  375. package/dist/server-entry.js +0 -1
  376. package/dist/server.d.ts +9 -6
  377. package/dist/server.js +7 -13
  378. package/dist/styles.css +248 -68
  379. package/dist/tailwind-utilities.css +1 -1
  380. package/dist/tokens/themes/default-dark.js +2 -2
  381. package/dist/tokens/themes/default-light.js +2 -2
  382. package/dist/tokens/tokens.css +24 -4
  383. package/dist/ui/components/ActionRow.d.ts +50 -0
  384. package/dist/ui/components/ActionRow.js +53 -0
  385. package/dist/ui/components/ActionRow.style.css +145 -0
  386. package/dist/ui/components/Drawer.d.ts +10 -0
  387. package/dist/ui/components/Drawer.js +2 -1
  388. package/dist/ui/components/FilterDrawer.js +4 -1
  389. package/dist/ui/components/FilterDrawer.style.css +6 -12
  390. package/dist/ui/components/FormActionBar.js +14 -1
  391. package/dist/ui/components/FormActionBar.style.css +12 -11
  392. package/dist/ui/components/ListingLayout.js +8 -1
  393. package/dist/ui/components/ListingLayout.style.css +6 -13
  394. package/dist/ui/components/Modal.d.ts +15 -1
  395. package/dist/ui/components/Modal.js +17 -3
  396. package/dist/ui/components/QuickCreateModal.js +2 -2
  397. package/dist/ui/components/QuickCreateModal.style.css +78 -84
  398. package/dist/ui/components/RecordDetailModal.js +2 -2
  399. package/dist/ui/components/SideDrawer.d.ts +8 -0
  400. package/dist/ui/components/SideDrawer.js +2 -1
  401. package/dist/ui/components/SideDrawer.style.css +6 -3
  402. package/dist/ui/components/SideModal.d.ts +11 -1
  403. package/dist/ui/components/SideModal.js +3 -2
  404. package/dist/ui/components/SideModal.style.css +14 -0
  405. package/dist/ui/components/Typography.style.css +33 -24
  406. package/dist/ui/components/index.style.css +1 -0
  407. package/dist/ui/forms/FormShell.style.css +260 -311
  408. package/dist/ui/index.d.ts +2 -0
  409. package/dist/ui/index.js +1 -0
  410. package/dist/utils/index.d.ts +0 -1
  411. package/dist/utils/index.js +0 -1
  412. package/dist/validation/index.d.ts +1 -1
  413. package/dist/validation/index.js +1 -1
  414. package/dist/validation/schemas.d.ts +0 -19
  415. package/dist/validation/schemas.js +8 -19
  416. package/package.json +1 -1
  417. package/scripts/seed-cli.mjs +3 -6
@@ -27,9 +27,15 @@ export interface ListingTypeCapability {
27
27
  /**
28
28
  * Buyers can negotiate the price via the Make-an-Offer flow.
29
29
  *
30
- * A per-listing `allowOffers` flag is still required on top of this — the
30
+ * A per-listing `allowOffers` flag is normally required on top of this — the
31
31
  * capability says the TYPE can support offers at all, the flag says this
32
- * particular seller opted in. `makeOffer` checks both.
32
+ * particular seller opted in. `offersEnabledFor()` checks both.
33
+ *
34
+ * 🛑 One exception, and it is structural: on a type with `canAddToCart: false`
35
+ * the offer is the only way to buy, so `allowOffers` cannot decide whether an
36
+ * offer may be sent — it decides whether the buyer may propose a price BELOW
37
+ * the asking one. Otherwise unchecking one flag would render a price with no
38
+ * path to it.
33
39
  *
34
40
  * False wherever a negotiated price would collide with the type's own pricing
35
41
  * mechanism: an auction already has bidding, a prize-draw sells fixed-price
@@ -49,7 +49,12 @@ export const LISTING_TYPE_CAPABILITIES = {
49
49
  },
50
50
  // SB-UNI-F 2026-05-13 — Phase 2 union extension.
51
51
  classified: {
52
- canAddToCart: false, // chat-only (OLX / Facebook Marketplace pattern)
52
+ // No cart (OLX / Facebook Marketplace pattern). Paired with
53
+ // `canMakeOffer: true` this is the ONLY combination in the table where the
54
+ // offer is the purchase path rather than an alternative to one — which is
55
+ // what `offerIsOnlyPurchasePath()` detects, and why `allowOffers` cannot
56
+ // gate whether an offer may be sent on this type at all.
57
+ canAddToCart: false,
53
58
  canBid: false,
54
59
  supportsShipping: false, // local meetup; shipping is a "negotiable" flag, not a flow
55
60
  requiresVendorVerified: false,
@@ -1,3 +1,8 @@
1
1
  // SB-UNI X2 — placeholder for classified-listing CTA list.
2
- // SB-UNI-M (Phase 5) wires the "Contact Seller" → conversations flow.
2
+ //
3
+ // Still empty, and now for a settled reason rather than a pending one: the
4
+ // classified CTA is `ACTIONS.PRODUCT["make-offer"]`, rendered by
5
+ // `MakeOfferButton` through the detail view's `renderOfferAction` slot. The old
6
+ // note here promised a "Contact Seller" → conversations flow; that feature was
7
+ // deleted 2026-08-31 and the offer is now the type's only purchase path.
3
8
  export const ctas = [];
@@ -1,10 +1,15 @@
1
1
  /**
2
2
  * Listing-type / category-type feature flag helpers — SB-UNI-X4 2026-05-13.
3
3
  *
4
- * Reads from `siteSettings.featureFlags.{listingTypes,categoryTypes}` and
5
- * collapses missing fields to a "type is enabled" default. The capability
6
- * registry decides what each type CAN do; these flags decide whether the
7
- * site exposes the type at all.
4
+ * Reads from `siteSettings.listings.{listingTypes,categoryTypes}` and collapses
5
+ * missing fields to a "type is enabled" default. The capability registry
6
+ * decides what each type CAN do; these decide whether the site exposes the type
7
+ * at all.
8
+ *
9
+ * Moved out of `featureFlags` on 2026-08-29 when that group was deleted — 11 of
10
+ * its 14 keys had no readers, and these two were never flags: "we don't sell
11
+ * live animals" is a standing catalogue decision, not a switch around
12
+ * unfinished work.
8
13
  *
9
14
  * Consumer pattern:
10
15
  * const settings = await siteSettingsRepository.findById("global");
@@ -16,7 +21,7 @@
16
21
  import type { ListingType } from "../../../features/products/types/index";
17
22
  import type { CategoryType } from "../../../features/categories/types/index";
18
23
  interface FeatureFlagSnapshot {
19
- featureFlags?: {
24
+ listings?: {
20
25
  listingTypes?: Partial<Record<ListingType, boolean>>;
21
26
  categoryTypes?: Partial<Record<CategoryType, boolean>>;
22
27
  };
@@ -1,10 +1,15 @@
1
1
  /**
2
2
  * Listing-type / category-type feature flag helpers — SB-UNI-X4 2026-05-13.
3
3
  *
4
- * Reads from `siteSettings.featureFlags.{listingTypes,categoryTypes}` and
5
- * collapses missing fields to a "type is enabled" default. The capability
6
- * registry decides what each type CAN do; these flags decide whether the
7
- * site exposes the type at all.
4
+ * Reads from `siteSettings.listings.{listingTypes,categoryTypes}` and collapses
5
+ * missing fields to a "type is enabled" default. The capability registry
6
+ * decides what each type CAN do; these decide whether the site exposes the type
7
+ * at all.
8
+ *
9
+ * Moved out of `featureFlags` on 2026-08-29 when that group was deleted — 11 of
10
+ * its 14 keys had no readers, and these two were never flags: "we don't sell
11
+ * live animals" is a standing catalogue decision, not a switch around
12
+ * unfinished work.
8
13
  *
9
14
  * Consumer pattern:
10
15
  * const settings = await siteSettingsRepository.findById("global");
@@ -19,11 +24,11 @@
19
24
  * EXPLICITLY set to `false` to disable a type.
20
25
  */
21
26
  export function isListingTypeEnabled(type, settings) {
22
- const flag = settings?.featureFlags?.listingTypes?.[type];
27
+ const flag = settings?.listings?.listingTypes?.[type];
23
28
  return flag !== false;
24
29
  }
25
30
  export function isCategoryTypeEnabled(type, settings) {
26
- const flag = settings?.featureFlags?.categoryTypes?.[type];
31
+ const flag = settings?.listings?.categoryTypes?.[type];
27
32
  return flag !== false;
28
33
  }
29
34
  /**
package/dist/client.d.ts CHANGED
@@ -18,8 +18,6 @@ export { useApiMutation } from "./client/api/useApiMutation";
18
18
  export type { UseApiMutationOptions } from "./client/api/useApiMutation";
19
19
  export { useApiQuery } from "./client/api/useApiQuery";
20
20
  export type { UseApiQueryOptions } from "./client/api/useApiQuery";
21
- export { useFeatureFlags } from "./client/api/useFeatureFlags";
22
- export type { FeatureFlagState } from "./client/api/useFeatureFlags";
23
21
  export { ServerErrorsListView, ServerErrorDetailView, MaintenanceDashboardView, AnalysisRunnerView, CloudLogsListView, } from "./_internal/client/features/maintenance";
24
22
  export type { ServerErrorsListViewProps, ServerErrorDetailViewProps, MaintenanceDashboardViewProps, CloudLogsListViewProps, } from "./_internal/client/features/maintenance";
25
23
  export { registerClientAuthProvider, getClientAuthProvider, type IClientAuthProvider, } from "./contracts/client-auth";
@@ -98,7 +96,9 @@ export { LotteryAdminEditView } from "./_internal/client/features/lottery/Lotter
98
96
  export { lotteryConfigWriteSchema, lotterySlotWriteSchema } from "./features/lottery/schemas/config-write";
99
97
  export { SectionForm, useSectionFormNav } from "./features/shell/SectionForm";
100
98
  export type { SectionDef, SectionFormProps } from "./features/shell/SectionForm";
101
- export { buildSectionsFromSchema } from "./features/shell/build-sections";
99
+ export { buildSectionsFromSchema, visibleValues } from "./features/shell/build-sections";
100
+ export { FORM_SECTION_GROUP, SECTION_GROUP_DEFAULTS, groupRank, resolveSectionGroup } from "./features/shell/form-sections";
101
+ export type { FormSectionGroup } from "./features/shell/form-sections";
102
102
  export { reportCreateSchema } from "./features/store-extensions/schemas/report-create-form";
103
103
  export { itemRequestCreateSchema } from "./features/store-extensions/schemas/item-request-create-form";
104
104
  export { supportTicketCreateSchema } from "./features/support/schemas/ticket-create-form";
@@ -198,6 +198,8 @@ export { TextLink } from "./ui/components/TextLink";
198
198
  export type { TextLinkProps } from "./ui/components/TextLink";
199
199
  export { Anchor } from "./ui/components/Anchor";
200
200
  export { IconButton } from "./ui/index";
201
+ export { ActionRow } from "./ui/components/ActionRow";
202
+ export type { ActionRowProps, ActionRowAlign } from "./ui/components/ActionRow";
201
203
  export { Textarea } from "./ui/components/Textarea";
202
204
  export { GlobalError } from "./next/components/GlobalError";
203
205
  export { AppLayoutShell, LocaleSwitcher, useDashboardNav, BottomActionsProvider, useBottomActions, DashboardNavProvider, LayoutClient } from "./features/layout/index";
@@ -232,8 +234,8 @@ export { NotificationPreferencesPanel } from "./features/account/components/Noti
232
234
  export type { NotificationPreferencesPanelProps } from "./features/account/components/NotificationPreferencesPanel";
233
235
  export { LinkedAccountsSection } from "./features/account/components/LinkedAccountsSection";
234
236
  export type { LinkedAccountsSectionProps } from "./features/account/components/LinkedAccountsSection";
235
- export { useCollapsedSections } from "./features/account/hooks/useCollapsedSections";
236
- export type { UseCollapsedSectionsOptions, UseCollapsedSectionsResult, } from "./features/account/hooks/useCollapsedSections";
237
+ export { useCollapsedSections, useSectionState, } from "./features/account/hooks/useCollapsedSections";
238
+ export type { UseCollapsedSectionsOptions, UseCollapsedSectionsResult, UseSectionStateOptions, UseSectionStateResult, SectionExpandMode, } from "./features/account/hooks/useCollapsedSections";
237
239
  export { PageViewTracker } from "./features/analytics/components/PageViewTracker";
238
240
  export type { PageViewTrackerProps } from "./features/analytics/components/PageViewTracker";
239
241
  export { PAGE_VIEW_ENTITY_TYPES } from "./features/analytics/types";
@@ -306,16 +308,6 @@ export { STANDARD_SORT_OPTIONS, STANDARD_PUBLIC_SORT_OPTIONS, AUCTION_SORT_OPTIO
306
308
  export { sortOptionsFor, commonSortOptionsFor, hideDefaultsFor, } from "./_internal/shared/listing-types/_registry";
307
309
  export type { ListingHideDefault } from "./_internal/shared/listing-types/_registry";
308
310
  export type { SortOption } from "./features/products/constants/sieve";
309
- export { MessagesView } from "./features/account/components/MessagesView";
310
- export type { MessagesViewProps, MessagesViewLabels } from "./features/account/components/MessagesView";
311
- export { ChatList } from "./features/account/components/ChatList";
312
- export type { ChatListProps, ChatListLabels } from "./features/account/components/ChatList";
313
- export { ChatWindow } from "./features/account/components/ChatWindow";
314
- export type { ChatWindowProps, ChatWindowLabels } from "./features/account/components/ChatWindow";
315
- export { useConversations, useConversation } from "./features/messages/index";
316
- export { CONVERSATIONS_COLLECTION, CONVERSATIONS_INDEXED_FIELDS, } from "./features/messages/index";
317
- export type { ConversationDocument, ConversationMessage, UseConversationsReturn, UseConversationReturn, } from "./features/messages/index";
318
- export { CONVERSATIONS_PING_PATH, CONVERSATIONS_PING_USER_PATH, } from "./features/messages/hooks/useConversation";
319
311
  export { ACTION_ID, ACTION_META, DETAIL_ACTIONS, MOBILE_PRIMARY_ACTIONS, LISTING_BULK_ACTIONS } from "./features/products/index";
320
312
  export type { ActionId, ActionMeta, ActionVariant } from "./features/products/index";
321
313
  export { ROW_ACTION_ID, ROW_ACTION_META, ADMIN_ROW_ACTIONS, SELLER_ROW_ACTIONS, USER_ROW_ACTIONS, ADMIN_BULK_ACTIONS, SELLER_BULK_ACTIONS } from "./features/products/index";
@@ -345,8 +337,10 @@ export { UserOffersPanel } from "./features/account/components/UserOffersPanel";
345
337
  export type { UserOffersPanelProps } from "./features/account/components/UserOffersPanel";
346
338
  export { SellerDashboardView as StoreDashboardView, SellerDashboardView, useSellerDashboard as useStoreDashboard, useSellerDashboard } from "./features/seller/index";
347
339
  export type { SellerDashboardViewProps as StoreDashboardViewProps, SellerDashboardViewProps } from "./features/seller/index";
348
- export { SellerPayoutSettingsView, SellerShippingView, SellerReviewsView, SellerPayoutRequestView, SellerAnalyticsStats, SellerTopProducts, SellerAnalyticsView, SellerPayoutsView, SellerCouponEditorView, SellerBidsView, SellerAddressesView, SellerPreOrdersView, SellerPrizeDrawsView, PrintCenterView, SellerOffersView, SellerGroupedListingsView, StoreGroupedListingsView, SellerAnalyticsAlertsView, StoreAnalyticsAlertsView, BarcodeField, FulfillmentView } from "./features/seller/components/index";
349
- export type { SellerPayoutSettingsViewProps, SellerShippingViewProps, SellerReviewsViewProps, SellerPayoutRequestViewProps, SellerAnalyticsViewProps, SellerPayoutsViewProps, SellerCouponEditorViewProps, CouponEditorDraft, SellerBidsViewProps, SellerAddressesViewProps, SellerPreOrdersViewProps, SellerPrizeDrawsViewProps, SellerOffersViewProps, SellerGroupedListingsViewProps, SellerAnalyticsAlertsViewProps, BarcodeFieldProps, FulfillmentViewProps } from "./features/seller/components/index";
340
+ export { SellerPayoutSettingsView, SellerShippingView, SellerReviewsView, SellerPayoutRequestView, SellerAnalyticsStats, SellerTopProducts, SellerAnalyticsView, SellerPayoutsView, SellerCouponEditorView, SellerBidsView, SellerAddressesView, PrintCenterView, SellerOffersView, SellerGroupedListingsView, StoreGroupedListingsView, SellerAnalyticsAlertsView, StoreAnalyticsAlertsView, BarcodeField, FulfillmentView, SellerListingTypeView, SELLER_LISTING_TYPE_SPECS } from "./features/seller/components/index";
341
+ export type { SellerPayoutSettingsViewProps, SellerShippingViewProps, SellerReviewsViewProps, SellerPayoutRequestViewProps, SellerAnalyticsViewProps, SellerPayoutsViewProps, SellerCouponEditorViewProps, CouponEditorDraft, SellerBidsViewProps, SellerAddressesViewProps, SellerOffersViewProps, SellerGroupedListingsViewProps, SellerAnalyticsAlertsViewProps, BarcodeFieldProps, FulfillmentViewProps, SellerListingTypeViewProps, SellerListingTypeSpec, SellerListingTypeKey, SellerListingRow } from "./features/seller/components/index";
342
+ export { couponDraftToPayload } from "./features/seller/schemas/coupon-form";
343
+ export type { SellerCouponPayload } from "./features/seller/schemas/coupon-form";
350
344
  export type { SellerAnalyticsSummary, SellerAnalyticsTopProduct } from "./features/seller/types/index";
351
345
  export { UserAccountHubView, UserOrdersView, UserBidsView, OrderDetailView, UserNotificationsView, UserReturnsView, UserSupportView, useNotifications } from "./features/account/index";
352
346
  export type { UserAccountHubViewProps, UserAccountHubViewLabels, UserOrdersViewProps, OrderDetailViewProps, OrderDetailViewLabels, UserNotificationsViewProps, UserNotificationsViewLabels, UserReturnsViewProps, UserSupportViewProps } from "./features/account/index";
@@ -389,7 +383,7 @@ export { actionTracker, setActionTrackerSink, resetActionTrackerSink, type Actio
389
383
  export { cartRequiresShipping, cartIsDigitalOnly, cartIsChatOnly, } from "./_internal/shared/listing-types/cart-shipping";
390
384
  export { ACTIONS, action, act, canPerformAction, actionsForListingType, actionLabel, type ActionDef, type ActionKind, type ActionResource, type ActionTree, type ActionConfirmation, } from "./_internal/shared/actions/action-registry";
391
385
  export { buildBulkAction } from "./_internal/shared/actions/bulk-helpers";
392
- export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, isEffectiveAdminUser, } from "./features/auth/role-predicates";
386
+ export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, isEffectiveAdminUser, isTesterUser, canTestAdminSurfaces, isStrictSellerUser, isAccountDisabled, } from "./features/auth/role-predicates";
393
387
  export { DashboardLayoutClient, RoleGuard } from "./_internal/client/features/layout/index";
394
388
  export type { DashboardLayoutClientProps, RoleGuardProps, } from "./_internal/client/features/layout/index";
395
389
  export type { LayoutBreakpoint, DashboardVariant, LayoutRole, SidebarNavItem, SidebarNavGroup, MainNavItem as LayoutMainNavItem, BrandingConfig, FooterConfig, SectionResponsive, SectionTheming, LayoutConfig, DashboardLayoutConfig, } from "./_internal/shared/features/layout/index";
@@ -476,15 +470,38 @@ export { BrandInlineSelect } from "./features/seller/components/BrandInlineSelec
476
470
  export { API_ENDPOINTS } from "./constants/index";
477
471
  export { SELLER_LISTING_TABS, type SellerListingTabId, } from "./features/products/constants/listing-tabs";
478
472
  export { ALL_TAB, EMPTY_TAB, ADMIN_PRODUCT_STATUS_TABS, ADMIN_PRODUCT_LISTING_TYPE_TABS, ADMIN_BLOG_STATUS_TABS, ADMIN_USER_STATUS_TABS, ADMIN_USER_ROLE_TABS, ADMIN_STORE_STATUS_TABS, ADMIN_PAYOUT_STATUS_TABS, ADMIN_ORDER_STATUS_TABS, ADMIN_REVIEW_STATUS_TABS, ADMIN_REVIEW_RATING_TABS, ADMIN_BID_STATUS_TABS, ADMIN_CONTACT_STATUS_TABS, ADMIN_NEWSLETTER_STATUS_TABS, ADMIN_EVENT_ENTRY_STATUS_TABS, ADMIN_EVENT_STATUS_TABS, ADMIN_CART_OWNERSHIP_TABS, ADMIN_COUPON_TYPE_TABS, SELLER_PRODUCT_STATUS_TABS, SELLER_AUCTION_STATUS_TABS, SELLER_ORDER_STATUS_TABS, SELLER_OFFER_STATUS_TABS, SELLER_BID_STATUS_TABS, } from "./features/admin/constants/filter-tabs";
479
- export { PRODUCT_FIELDS, PRODUCT_STATUS_TRANSITIONS, ORDER_FIELDS, REVIEW_FIELDS, BID_FIELDS, AD_FIELDS, EVENT_FIELDS, EVENT_ENTRY_FIELDS, PAYOUT_FIELDS, STORE_FIELDS, CATEGORY_FIELDS, BLOG_FIELDS, USER_FIELDS, ADDRESS_FIELDS, BRAND_FIELDS, CART_FIELDS, WISHLIST_FIELDS, HISTORY_FIELDS, NOTIFICATION_FIELDS, SESSION_FIELDS, COUPON_USAGE_FIELDS, CONVERSATION_FIELDS, SCAMMER_FIELDS, SUPPORT_TICKET_FIELDS, CAROUSEL_FIELDS, COUPON_FIELDS, FAQ_FIELDS, HOMEPAGE_SECTION_FIELDS, SITE_SETTINGS_FIELDS, COMMON_FIELDS, OAUTH_STATE_VALUES, SCHEMA_DEFAULTS, } from "./constants/field-names";
473
+ export { PRODUCT_FIELDS, PRODUCT_STATUS_TRANSITIONS, ORDER_FIELDS, REVIEW_FIELDS, BID_FIELDS, AD_FIELDS, EVENT_FIELDS, EVENT_ENTRY_FIELDS, PAYOUT_FIELDS, STORE_FIELDS, CATEGORY_FIELDS, BLOG_FIELDS, USER_FIELDS, ADDRESS_FIELDS, BRAND_FIELDS, CART_FIELDS, WISHLIST_FIELDS, HISTORY_FIELDS, NOTIFICATION_FIELDS, SESSION_FIELDS, COUPON_USAGE_FIELDS, SCAMMER_FIELDS, SUPPORT_TICKET_FIELDS, CAROUSEL_FIELDS, COUPON_FIELDS, FAQ_FIELDS, HOMEPAGE_SECTION_FIELDS, SITE_SETTINGS_FIELDS, COMMON_FIELDS, OAUTH_STATE_VALUES, SCHEMA_DEFAULTS, } from "./constants/field-names";
480
474
  export { CART_LANE, CART_LANE_PRIORITY, CART_LANE_LABELS, laneOf, activeLane, laneItems, laneCounts, isLaneCheckoutable, laneBlockReason, isLockedLane, canAddNewItems, type CartLane, type LaneAssignable, } from "./_internal/shared/checkout/lanes";
481
475
  export { newsletterSubscribeSchema, quickCreateTaxonomySchema, payoutMarkPaidSchema, } from "./features/admin/schemas/small-forms";
482
476
  export { raffleEntrySchema } from "./features/contact/schemas/inquiry-forms";
483
477
  export { orderCancelSchema, paymentProofSchema, } from "./features/orders/schemas/buyer-forms";
484
478
  export { scamReportFormSchema } from "./features/scams/schemas/report-form";
485
479
  export { sublistingCategoryFormSchema } from "./features/store-extensions/schemas/sublisting-category-form";
486
- export { adminAddressFormSchema, adminStoreUpdateSchema, announcementBarSchema, } from "./features/admin/schemas/admin-editor-forms";
480
+ export { adminStoreUpdateSchema, announcementBarSchema, } from "./features/admin/schemas/admin-editor-forms";
487
481
  export { adminOrderUpdateSchema, employeeInviteSchema, hardBanReasonSchema, featureFlagsUpdateSchema, adminAdFormSchema, } from "./features/admin/schemas/admin-ops-forms";
488
482
  export { changeEmailSchema } from "./features/account/schemas/index";
489
483
  export { adminUserUpdateSchema, whatsappSettingsSchema, lotteryPullSchema, } from "./features/admin/schemas/admin-user-form";
490
484
  export { siteSettingsFormSchema } from "./features/admin/schemas/site-settings-form";
485
+ export { refineAddressPostal, addressFormSchema, addressUpdateSchema, adminAddressCreateSchema, adminAddressUpdateSchema, addressUnbanRequestSchema, } from "./features/addresses/schemas/address-form";
486
+ export type { AddressFormValues, AddressUpdateValues, AdminAddressCreateValues, } from "./features/addresses/schemas/address-form";
487
+ export { COUNTRIES, COUNTRY_CODES, DEFAULT_COUNTRY, countryFor, postalPatternFor, postalLabelFor, isValidPostalCode, } from "./constants/geo/countries";
488
+ export type { CountryDef } from "./constants/geo/countries";
489
+ export { SUBDIVISIONS, subdivisionsFor } from "./constants/geo/subdivisions";
490
+ export { navItemId } from "./_internal/shared/features/layout/types";
491
+ export type { NavPortal } from "./_internal/shared/features/layout/types";
492
+ export { mergeActionIndex, projectActionIndexForViewer, } from "./features/search/action-index/types";
493
+ export type { ActionIndexEntry, ActionIndexKind, ActionIndexControl, ActionIndexOverride, } from "./features/search/action-index/types";
494
+ export { deriveNavEntries, deriveQuickActionEntries, buildActionIndexBase, } from "./features/search/action-index/derive";
495
+ export type { PortalNavGroups, QuickActionSource } from "./features/search/action-index/derive";
496
+ export { matchesNavQuery } from "./_internal/shared/features/layout/matchesNavQuery";
497
+ export type { NavSearchable } from "./_internal/shared/features/layout/matchesNavQuery";
498
+ export { SITE_SETTINGS_ENTRIES, deriveSettingsEntries, } from "./features/search/action-index/settings-entries";
499
+ export type { SettingsIndexSource } from "./features/search/action-index/settings-entries";
500
+ export { SITE_SETTINGS_TABS, SITE_SETTINGS_TAB_IDS, isSiteSettingsTabId, } from "./features/admin/constants/site-settings-tabs";
501
+ export type { SiteSettingsTab, SiteSettingsTabId } from "./features/admin/constants/site-settings-tabs";
502
+ export { validateActionIndexEntry, normaliseRoute, } from "./features/search/action-index/validate-entry";
503
+ export type { ActionIndexValidationContext, ActionIndexValidationIssue, } from "./features/search/action-index/validate-entry";
504
+ export { AdminActionIndexView } from "./features/admin/components/AdminActionIndexView";
505
+ export type { AdminActionIndexViewProps } from "./features/admin/components/AdminActionIndexView";
506
+ export { SellerSupportView } from "./features/seller/components/SellerSupportView";
507
+ export type { SellerSupportViewProps } from "./features/seller/components/SellerSupportView";
package/dist/client.js CHANGED
@@ -25,7 +25,6 @@ export { setErrorTracker, trackError, ErrorCategory, ErrorSeverity, } from "./mo
25
25
  // on failure, optional `loadingMessage` for long ops.
26
26
  export { useApiMutation } from "./client/api/useApiMutation";
27
27
  export { useApiQuery } from "./client/api/useApiQuery";
28
- export { useFeatureFlags } from "./client/api/useFeatureFlags";
29
28
  // [CLIENT-ONLY] Maintenance UI — listing + detail + dashboard + analysis runner.
30
29
  // Consumed by the /admin/maintenance/* page shims.
31
30
  export { ServerErrorsListView, ServerErrorDetailView, MaintenanceDashboardView, AnalysisRunnerView, CloudLogsListView, } from "./_internal/client/features/maintenance";
@@ -158,7 +157,8 @@ export { lotteryConfigWriteSchema, lotterySlotWriteSchema } from "./features/lot
158
157
  // The SectionForm engine + its schema-derived section builder. Client-only:
159
158
  // consumer forms need these and the bare package resolves to the SERVER entry.
160
159
  export { SectionForm, useSectionFormNav } from "./features/shell/SectionForm";
161
- export { buildSectionsFromSchema } from "./features/shell/build-sections";
160
+ export { buildSectionsFromSchema, visibleValues } from "./features/shell/build-sections";
161
+ export { FORM_SECTION_GROUP, SECTION_GROUP_DEFAULTS, groupRank, resolveSectionGroup } from "./features/shell/form-sections";
162
162
  export { reportCreateSchema } from "./features/store-extensions/schemas/report-create-form";
163
163
  export { itemRequestCreateSchema } from "./features/store-extensions/schemas/item-request-create-form";
164
164
  export { supportTicketCreateSchema } from "./features/support/schemas/ticket-create-form";
@@ -252,6 +252,7 @@ export { Label, Text, Span, Caption } from "./ui/components/Typography";
252
252
  export { TextLink } from "./ui/components/TextLink";
253
253
  export { Anchor } from "./ui/components/Anchor";
254
254
  export { IconButton } from "./ui/index";
255
+ export { ActionRow } from "./ui/components/ActionRow";
255
256
  export { Textarea } from "./ui/components/Textarea";
256
257
  export { GlobalError } from "./next/components/GlobalError";
257
258
  export { AppLayoutShell, LocaleSwitcher, useDashboardNav, BottomActionsProvider, useBottomActions, DashboardNavProvider, LayoutClient } from "./features/layout/index";
@@ -274,7 +275,7 @@ export { CouponHelpDetails } from "./features/promotions/components/CouponHelpDe
274
275
  export { NotificationBell } from "./features/account/components/NotificationBell";
275
276
  export { NotificationPreferencesPanel } from "./features/account/components/NotificationPreferencesPanel";
276
277
  export { LinkedAccountsSection } from "./features/account/components/LinkedAccountsSection";
277
- export { useCollapsedSections } from "./features/account/hooks/useCollapsedSections";
278
+ export { useCollapsedSections, useSectionState, } from "./features/account/hooks/useCollapsedSections";
278
279
  export { PageViewTracker } from "./features/analytics/components/PageViewTracker";
279
280
  export { PAGE_VIEW_ENTITY_TYPES } from "./features/analytics/types";
280
281
  export { AuctionBidsTable } from "./features/auctions/components/AuctionBidsTable";
@@ -323,13 +324,6 @@ export { COMPARE_MAX_ITEMS } from "./features/products/constants/action-defs";
323
324
  export { STANDARD_SORT_OPTIONS, STANDARD_PUBLIC_SORT_OPTIONS, AUCTION_SORT_OPTIONS, AUCTION_PUBLIC_SORT_OPTIONS, PREORDER_SORT_OPTIONS, PREORDER_PUBLIC_SORT_OPTIONS, BUNDLE_SORT_OPTIONS, PRIZE_DRAW_SORT_OPTIONS, PRIZE_DRAW_PUBLIC_SORT_OPTIONS, } from "./features/products/constants/sieve";
324
325
  // Derived from the listing-type plugin registry — see the note in index.ts.
325
326
  export { sortOptionsFor, commonSortOptionsFor, hideDefaultsFor, } from "./_internal/shared/listing-types/_registry";
326
- // Messages — RTDB-pinged Firestore conversations (D5 + VC7)
327
- export { MessagesView } from "./features/account/components/MessagesView";
328
- export { ChatList } from "./features/account/components/ChatList";
329
- export { ChatWindow } from "./features/account/components/ChatWindow";
330
- export { useConversations, useConversation } from "./features/messages/index";
331
- export { CONVERSATIONS_COLLECTION, CONVERSATIONS_INDEXED_FIELDS, } from "./features/messages/index";
332
- export { CONVERSATIONS_PING_PATH, CONVERSATIONS_PING_USER_PATH, } from "./features/messages/hooks/useConversation";
333
327
  // Product / listing actions
334
328
  export { ACTION_ID, ACTION_META, DETAIL_ACTIONS, MOBILE_PRIMARY_ACTIONS, LISTING_BULK_ACTIONS } from "./features/products/index";
335
329
  // Row / table actions (admin, seller, user dashboards)
@@ -354,7 +348,9 @@ export { ProductFeaturesProvider, useProductFeatures, } from "./features/product
354
348
  export { FeatureBadge, FeatureBadgeList } from "./features/products/components/FeatureBadge";
355
349
  export { UserOffersPanel } from "./features/account/components/UserOffersPanel";
356
350
  export { SellerDashboardView as StoreDashboardView, SellerDashboardView, useSellerDashboard as useStoreDashboard, useSellerDashboard } from "./features/seller/index";
357
- export { SellerPayoutSettingsView, SellerShippingView, SellerReviewsView, SellerPayoutRequestView, SellerAnalyticsStats, SellerTopProducts, SellerAnalyticsView, SellerPayoutsView, SellerCouponEditorView, SellerBidsView, SellerAddressesView, SellerPreOrdersView, SellerPrizeDrawsView, PrintCenterView, SellerOffersView, SellerGroupedListingsView, StoreGroupedListingsView, SellerAnalyticsAlertsView, StoreAnalyticsAlertsView, BarcodeField, FulfillmentView } from "./features/seller/components/index";
351
+ export { SellerPayoutSettingsView, SellerShippingView, SellerReviewsView, SellerPayoutRequestView, SellerAnalyticsStats, SellerTopProducts, SellerAnalyticsView, SellerPayoutsView, SellerCouponEditorView, SellerBidsView, SellerAddressesView, PrintCenterView, SellerOffersView, SellerGroupedListingsView, StoreGroupedListingsView, SellerAnalyticsAlertsView, StoreAnalyticsAlertsView, BarcodeField, FulfillmentView, SellerListingTypeView, SELLER_LISTING_TYPE_SPECS } from "./features/seller/components/index";
352
+ /* The draft → route conversion, so both coupon callsites share one rule. */
353
+ export { couponDraftToPayload } from "./features/seller/schemas/coupon-form";
358
354
  export { UserAccountHubView, UserOrdersView, UserBidsView, OrderDetailView, UserNotificationsView, UserReturnsView, UserSupportView, useNotifications } from "./features/account/index";
359
355
  export { useOrders, useOrder, OrdersList } from "./features/orders/index";
360
356
  export { OrderStatusTimeline } from "./features/orders/components/OrderStatusTimeline";
@@ -393,7 +389,7 @@ export { cartRequiresShipping, cartIsDigitalOnly, cartIsChatOnly, } from "./_int
393
389
  export { ACTIONS, action, act, canPerformAction, actionsForListingType, actionLabel, } from "./_internal/shared/actions/action-registry";
394
390
  export { buildBulkAction } from "./_internal/shared/actions/bulk-helpers";
395
391
  // SB-UNI-E user-role predicates (pure functions, client-safe).
396
- export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, isEffectiveAdminUser, } from "./features/auth/role-predicates";
392
+ export { isAdminUser, isSellerUser, isModeratorUser, isEmployeeUser, isBuyerUser, isEffectiveAdminUser, isTesterUser, canTestAdminSurfaces, isStrictSellerUser, isAccountDisabled, } from "./features/auth/role-predicates";
397
393
  // Layout feature — client islands (unifies admin/store/user dashboard layouts).
398
394
  export { DashboardLayoutClient, RoleGuard } from "./_internal/client/features/layout/index";
399
395
  // Listing-type capability registry — SB-UNI X1.
@@ -460,7 +456,7 @@ export { API_ENDPOINTS } from "./constants/index";
460
456
  // sets and Firestore field-name maps. No server dependency of any kind.
461
457
  export { SELLER_LISTING_TABS, } from "./features/products/constants/listing-tabs";
462
458
  export { ALL_TAB, EMPTY_TAB, ADMIN_PRODUCT_STATUS_TABS, ADMIN_PRODUCT_LISTING_TYPE_TABS, ADMIN_BLOG_STATUS_TABS, ADMIN_USER_STATUS_TABS, ADMIN_USER_ROLE_TABS, ADMIN_STORE_STATUS_TABS, ADMIN_PAYOUT_STATUS_TABS, ADMIN_ORDER_STATUS_TABS, ADMIN_REVIEW_STATUS_TABS, ADMIN_REVIEW_RATING_TABS, ADMIN_BID_STATUS_TABS, ADMIN_CONTACT_STATUS_TABS, ADMIN_NEWSLETTER_STATUS_TABS, ADMIN_EVENT_ENTRY_STATUS_TABS, ADMIN_EVENT_STATUS_TABS, ADMIN_CART_OWNERSHIP_TABS, ADMIN_COUPON_TYPE_TABS, SELLER_PRODUCT_STATUS_TABS, SELLER_AUCTION_STATUS_TABS, SELLER_ORDER_STATUS_TABS, SELLER_OFFER_STATUS_TABS, SELLER_BID_STATUS_TABS, } from "./features/admin/constants/filter-tabs";
463
- export { PRODUCT_FIELDS, PRODUCT_STATUS_TRANSITIONS, ORDER_FIELDS, REVIEW_FIELDS, BID_FIELDS, AD_FIELDS, EVENT_FIELDS, EVENT_ENTRY_FIELDS, PAYOUT_FIELDS, STORE_FIELDS, CATEGORY_FIELDS, BLOG_FIELDS, USER_FIELDS, ADDRESS_FIELDS, BRAND_FIELDS, CART_FIELDS, WISHLIST_FIELDS, HISTORY_FIELDS, NOTIFICATION_FIELDS, SESSION_FIELDS, COUPON_USAGE_FIELDS, CONVERSATION_FIELDS, SCAMMER_FIELDS, SUPPORT_TICKET_FIELDS, CAROUSEL_FIELDS, COUPON_FIELDS, FAQ_FIELDS, HOMEPAGE_SECTION_FIELDS, SITE_SETTINGS_FIELDS, COMMON_FIELDS, OAUTH_STATE_VALUES, SCHEMA_DEFAULTS, } from "./constants/field-names";
459
+ export { PRODUCT_FIELDS, PRODUCT_STATUS_TRANSITIONS, ORDER_FIELDS, REVIEW_FIELDS, BID_FIELDS, AD_FIELDS, EVENT_FIELDS, EVENT_ENTRY_FIELDS, PAYOUT_FIELDS, STORE_FIELDS, CATEGORY_FIELDS, BLOG_FIELDS, USER_FIELDS, ADDRESS_FIELDS, BRAND_FIELDS, CART_FIELDS, WISHLIST_FIELDS, HISTORY_FIELDS, NOTIFICATION_FIELDS, SESSION_FIELDS, COUPON_USAGE_FIELDS, SCAMMER_FIELDS, SUPPORT_TICKET_FIELDS, CAROUSEL_FIELDS, COUPON_FIELDS, FAQ_FIELDS, HOMEPAGE_SECTION_FIELDS, SITE_SETTINGS_FIELDS, COMMON_FIELDS, OAUTH_STATE_VALUES, SCHEMA_DEFAULTS, } from "./constants/field-names";
464
460
  // Checkout lanes — the derived auction > offer > standard partition of the
465
461
  // cart, and the priority rule that decides which one may be checked out.
466
462
  export { CART_LANE, CART_LANE_PRIORITY, CART_LANE_LABELS, laneOf, activeLane, laneItems, laneCounts, isLaneCheckoutable, laneBlockReason, isLockedLane, canAddNewItems, } from "./_internal/shared/checkout/lanes";
@@ -469,8 +465,34 @@ export { raffleEntrySchema } from "./features/contact/schemas/inquiry-forms";
469
465
  export { orderCancelSchema, paymentProofSchema, } from "./features/orders/schemas/buyer-forms";
470
466
  export { scamReportFormSchema } from "./features/scams/schemas/report-form";
471
467
  export { sublistingCategoryFormSchema } from "./features/store-extensions/schemas/sublisting-category-form";
472
- export { adminAddressFormSchema, adminStoreUpdateSchema, announcementBarSchema, } from "./features/admin/schemas/admin-editor-forms";
468
+ export { adminStoreUpdateSchema, announcementBarSchema, } from "./features/admin/schemas/admin-editor-forms";
473
469
  export { adminOrderUpdateSchema, employeeInviteSchema, hardBanReasonSchema, featureFlagsUpdateSchema, adminAdFormSchema, } from "./features/admin/schemas/admin-ops-forms";
474
470
  export { changeEmailSchema } from "./features/account/schemas/index";
475
471
  export { adminUserUpdateSchema, whatsappSettingsSchema, lotteryPullSchema, } from "./features/admin/schemas/admin-user-form";
476
472
  export { siteSettingsFormSchema } from "./features/admin/schemas/site-settings-form";
473
+ // The ONE address shape and the ONE postal rule (W5 / D19). Eleven field
474
+ // shapes and fifteen disagreeing postal rules collapsed to these.
475
+ export { refineAddressPostal, addressFormSchema, addressUpdateSchema, adminAddressCreateSchema, adminAddressUpdateSchema, addressUnbanRequestSchema, } from "./features/addresses/schemas/address-form";
476
+ export { COUNTRIES, COUNTRY_CODES, DEFAULT_COUNTRY, countryFor, postalPatternFor, postalLabelFor, isValidPostalCode, } from "./constants/geo/countries";
477
+ export { SUBDIVISIONS, subdivisionsFor } from "./constants/geo/subdivisions";
478
+ // Nav item ids are DERIVED from the href (W6). A hand-written id drifts from
479
+ // the route it names, and because it is also the `navConfig` key, a drifted id
480
+ // silently un-toggles the item.
481
+ export { navItemId } from "./_internal/shared/features/layout/types";
482
+ /*
483
+ * The action index (W7), on the CLIENT entry too.
484
+ *
485
+ * `LayoutShellClient` is a client component, so it must not reach the bare
486
+ * `@mohasinac/appkit` entry — that is the Turbopack client-bundle leak
487
+ * (Root Cause #6), and its audit caught exactly that in the commit that wired
488
+ * this up. The main entry keeps its own copy for Server Components, which have
489
+ * the opposite constraint (Root Cause #76).
490
+ */
491
+ export { mergeActionIndex, projectActionIndexForViewer, } from "./features/search/action-index/types";
492
+ export { deriveNavEntries, deriveQuickActionEntries, buildActionIndexBase, } from "./features/search/action-index/derive";
493
+ export { matchesNavQuery } from "./_internal/shared/features/layout/matchesNavQuery";
494
+ export { SITE_SETTINGS_ENTRIES, deriveSettingsEntries, } from "./features/search/action-index/settings-entries";
495
+ export { SITE_SETTINGS_TABS, SITE_SETTINGS_TAB_IDS, isSiteSettingsTabId, } from "./features/admin/constants/site-settings-tabs";
496
+ export { validateActionIndexEntry, normaliseRoute, } from "./features/search/action-index/validate-entry";
497
+ export { AdminActionIndexView } from "./features/admin/components/AdminActionIndexView";
498
+ export { SellerSupportView } from "./features/seller/components/SellerSupportView";
@@ -65,7 +65,16 @@ const FIREBASE_EXTERNAL_PACKAGES = [
65
65
  * ```
66
66
  */
67
67
  export function defineNextConfig(override = {}) {
68
- const { serverExternalPackages: consumerExternal = [], experimental: consumerExperimental = {}, webpack: consumerWebpack, outputFileTracingIncludes: consumerOutputFileTracingIncludes = {}, turbopack: consumerTurbopack = {}, ...rest } = override;
68
+ const { serverExternalPackages: consumerExternal = [], experimental: consumerExperimental = {}, webpack: consumerWebpack, outputFileTracingIncludes: consumerOutputFileTracingIncludes = {}, turbopack: consumerTurbopack = {},
69
+ /*
70
+ * Destructured out even though it is merged below, because `...rest` is
71
+ * spread AFTER `images: mergedImages`. Left in `rest`, a consumer setting
72
+ * `images: { domains: [...] }` would silently overwrite the merged
73
+ * `unoptimized: true` — and with optimisation back on and no
74
+ * `remotePatterns` declared anywhere in this repo, every external image
75
+ * would 400. Every other key in this list is here for the same reason.
76
+ */
77
+ images: consumerImages = {}, ...rest } = override;
69
78
  const mergedExternal = [
70
79
  ...FIREBASE_EXTERNAL_PACKAGES,
71
80
  ...consumerExternal.filter((p) => !FIREBASE_EXTERNAL_PACKAGES.includes(p)),
@@ -273,7 +282,6 @@ export function defineNextConfig(override = {}) {
273
282
  // hosts (ygoprodeck, unsplash, picsum); prod images move to Firebase
274
283
  // Storage via /api/media. Consumer can still pass an explicit
275
284
  // `images.unoptimized: false` + remotePatterns to opt back in.
276
- const consumerImages = override.images ?? {};
277
285
  const mergedImages = {
278
286
  unoptimized: true,
279
287
  ...consumerImages,
@@ -6,9 +6,7 @@
6
6
  *
7
7
  * Never hard-code `/api/...` strings in hook files — import from here.
8
8
  */
9
- export declare const CONFIG_ENDPOINTS: {
10
- readonly FEATURE_FLAGS: "/api/config/feature-flags";
11
- };
9
+ export declare const CONFIG_ENDPOINTS: {};
12
10
  export declare const LOGS_ENDPOINTS: {
13
11
  readonly WRITE: "/api/logs/write";
14
12
  };
@@ -68,12 +66,6 @@ export declare const ACCOUNT_ENDPOINTS: {
68
66
  readonly TESTER_CHECKLIST: "/api/user/tester-checklist";
69
67
  readonly TESTER_CHECKLIST_ITEM_BY_ID: (checklistItemId: string) => string;
70
68
  };
71
- export declare const CONVERSATION_ENDPOINTS: {
72
- readonly LIST: "/api/user/conversations";
73
- readonly BY_ID: (id: string) => string;
74
- readonly MESSAGES: (id: string) => string;
75
- readonly READ: (id: string) => string;
76
- };
77
69
  export declare const NOTIFICATIONS_ENDPOINTS: {
78
70
  readonly LIST: "/api/notifications";
79
71
  readonly READ_ALL: "/api/notifications/read-all";
@@ -88,8 +80,9 @@ export declare const ADMIN_ENDPOINTS: {
88
80
  readonly ANALYTICS: "/api/admin/analytics";
89
81
  readonly ANALYTICS_PAGE_VIEWS: "/api/admin/analytics/pageviews";
90
82
  readonly ADS: "/api/admin/ads";
83
+ /** The action-index control plane (W7 / D7) — GET the whole index, PATCH one override. */
84
+ readonly ACTION_INDEX: "/api/admin/action-index";
91
85
  readonly AD_BY_ID: (id: string) => string;
92
- readonly REALTIME_TOKEN: "/api/realtime/token";
93
86
  readonly PAYMENTS_SETTINGS: "/api/admin/payments/settings";
94
87
  readonly PRODUCTS: "/api/admin/products";
95
88
  readonly PRODUCT_BY_ID: (id: string) => string;
@@ -182,7 +175,6 @@ export declare const ADMIN_ENDPOINTS: {
182
175
  readonly ADMIN_WISHLISTS: "/api/admin/wishlists";
183
176
  readonly ADMIN_HISTORY: "/api/admin/history";
184
177
  readonly NEWSLETTER_EXPORT: "/api/admin/newsletter/export";
185
- readonly FEATURE_FLAGS: "/api/admin/feature-flags";
186
178
  readonly STORE_ADDRESSES: "/api/admin/store-addresses";
187
179
  readonly CAROUSEL: "/api/admin/carousel";
188
180
  readonly CAROUSEL_BY_ID: (id: string) => string;
@@ -220,11 +212,6 @@ export declare const ADMIN_ENDPOINTS: {
220
212
  readonly MAINTENANCE_CLOUD_LOGS: "/api/admin/maintenance/cloud-logs";
221
213
  readonly MEDIA_LIST: "/api/admin/media";
222
214
  };
223
- export declare const CHAT_ENDPOINTS: {
224
- readonly LIST: "/api/chat";
225
- readonly BY_ID: (chatId: string) => string;
226
- readonly MESSAGES: (chatId: string) => string;
227
- };
228
215
  export declare const AUCTION_ENDPOINTS: {
229
216
  readonly LIST: "/api/auctions";
230
217
  readonly BY_SLUG: (slug: string) => string;
@@ -416,8 +403,9 @@ export declare const SELLER_ENDPOINTS: {
416
403
  readonly PRODUCTS_SCAN: (barcode: string) => string;
417
404
  readonly ORDERS_FULFILLMENT: "/api/store/fulfillment";
418
405
  readonly BUNDLES: "/api/store/bundles";
406
+ /** Tickets raised ABOUT this store (W11). */
407
+ readonly SUPPORT: "/api/store/support";
419
408
  readonly BUNDLE_BY_ID: (id: string) => string;
420
- readonly CONVERSATIONS: "/api/store/conversations";
421
409
  readonly ORDERS_ASSIGN: (orderId: string) => string;
422
410
  readonly PRODUCT_BY_ID: (id: string) => string;
423
411
  readonly PRODUCT_DUPLICATE: (id: string) => string;
@@ -431,7 +419,7 @@ export declare const BRAND_ENDPOINTS: {
431
419
  export declare const BLOG_ENDPOINTS: {
432
420
  readonly LIST: "/api/blog";
433
421
  readonly BY_SLUG: (slug: string) => string;
434
- readonly FEATURED: (perPage?: number) => string;
422
+ readonly FEATURED: (pageSize?: number) => string;
435
423
  readonly SORTED: (sort: string) => string;
436
424
  };
437
425
  export declare const STORE_ENDPOINTS: {
@@ -475,9 +463,7 @@ export declare const WHATSAPP_SELLER_ENDPOINTS: {
475
463
  readonly CATALOG_IMPORT: "/api/store/whatsapp-settings/catalog-import";
476
464
  };
477
465
  export declare const API_ENDPOINTS: {
478
- readonly CONFIG: {
479
- readonly FEATURE_FLAGS: "/api/config/feature-flags";
480
- };
466
+ readonly CONFIG: {};
481
467
  readonly LOGS: {
482
468
  readonly WRITE: "/api/logs/write";
483
469
  };
@@ -537,12 +523,6 @@ export declare const API_ENDPOINTS: {
537
523
  readonly TESTER_CHECKLIST: "/api/user/tester-checklist";
538
524
  readonly TESTER_CHECKLIST_ITEM_BY_ID: (checklistItemId: string) => string;
539
525
  };
540
- readonly CONVERSATIONS: {
541
- readonly LIST: "/api/user/conversations";
542
- readonly BY_ID: (id: string) => string;
543
- readonly MESSAGES: (id: string) => string;
544
- readonly READ: (id: string) => string;
545
- };
546
526
  readonly NOTIFICATIONS: {
547
527
  readonly LIST: "/api/notifications";
548
528
  readonly READ_ALL: "/api/notifications/read-all";
@@ -557,8 +537,9 @@ export declare const API_ENDPOINTS: {
557
537
  readonly ANALYTICS: "/api/admin/analytics";
558
538
  readonly ANALYTICS_PAGE_VIEWS: "/api/admin/analytics/pageviews";
559
539
  readonly ADS: "/api/admin/ads";
540
+ /** The action-index control plane (W7 / D7) — GET the whole index, PATCH one override. */
541
+ readonly ACTION_INDEX: "/api/admin/action-index";
560
542
  readonly AD_BY_ID: (id: string) => string;
561
- readonly REALTIME_TOKEN: "/api/realtime/token";
562
543
  readonly PAYMENTS_SETTINGS: "/api/admin/payments/settings";
563
544
  readonly PRODUCTS: "/api/admin/products";
564
545
  readonly PRODUCT_BY_ID: (id: string) => string;
@@ -651,7 +632,6 @@ export declare const API_ENDPOINTS: {
651
632
  readonly ADMIN_WISHLISTS: "/api/admin/wishlists";
652
633
  readonly ADMIN_HISTORY: "/api/admin/history";
653
634
  readonly NEWSLETTER_EXPORT: "/api/admin/newsletter/export";
654
- readonly FEATURE_FLAGS: "/api/admin/feature-flags";
655
635
  readonly STORE_ADDRESSES: "/api/admin/store-addresses";
656
636
  readonly CAROUSEL: "/api/admin/carousel";
657
637
  readonly CAROUSEL_BY_ID: (id: string) => string;
@@ -689,11 +669,6 @@ export declare const API_ENDPOINTS: {
689
669
  readonly MAINTENANCE_CLOUD_LOGS: "/api/admin/maintenance/cloud-logs";
690
670
  readonly MEDIA_LIST: "/api/admin/media";
691
671
  };
692
- readonly CHAT: {
693
- readonly LIST: "/api/chat";
694
- readonly BY_ID: (chatId: string) => string;
695
- readonly MESSAGES: (chatId: string) => string;
696
- };
697
672
  readonly AUCTIONS: {
698
673
  readonly LIST: "/api/auctions";
699
674
  readonly BY_SLUG: (slug: string) => string;
@@ -885,8 +860,9 @@ export declare const API_ENDPOINTS: {
885
860
  readonly PRODUCTS_SCAN: (barcode: string) => string;
886
861
  readonly ORDERS_FULFILLMENT: "/api/store/fulfillment";
887
862
  readonly BUNDLES: "/api/store/bundles";
863
+ /** Tickets raised ABOUT this store (W11). */
864
+ readonly SUPPORT: "/api/store/support";
888
865
  readonly BUNDLE_BY_ID: (id: string) => string;
889
- readonly CONVERSATIONS: "/api/store/conversations";
890
866
  readonly ORDERS_ASSIGN: (orderId: string) => string;
891
867
  readonly PRODUCT_BY_ID: (id: string) => string;
892
868
  readonly PRODUCT_DUPLICATE: (id: string) => string;
@@ -900,7 +876,7 @@ export declare const API_ENDPOINTS: {
900
876
  readonly BLOG: {
901
877
  readonly LIST: "/api/blog";
902
878
  readonly BY_SLUG: (slug: string) => string;
903
- readonly FEATURED: (perPage?: number) => string;
879
+ readonly FEATURED: (pageSize?: number) => string;
904
880
  readonly SORTED: (sort: string) => string;
905
881
  };
906
882
  readonly STORES: {
@@ -946,9 +922,7 @@ export declare const API_ENDPOINTS: {
946
922
  };
947
923
  /** Canonical alias — prefer API_ROUTES over API_ENDPOINTS in new code. */
948
924
  export declare const API_ROUTES: {
949
- readonly CONFIG: {
950
- readonly FEATURE_FLAGS: "/api/config/feature-flags";
951
- };
925
+ readonly CONFIG: {};
952
926
  readonly LOGS: {
953
927
  readonly WRITE: "/api/logs/write";
954
928
  };
@@ -1008,12 +982,6 @@ export declare const API_ROUTES: {
1008
982
  readonly TESTER_CHECKLIST: "/api/user/tester-checklist";
1009
983
  readonly TESTER_CHECKLIST_ITEM_BY_ID: (checklistItemId: string) => string;
1010
984
  };
1011
- readonly CONVERSATIONS: {
1012
- readonly LIST: "/api/user/conversations";
1013
- readonly BY_ID: (id: string) => string;
1014
- readonly MESSAGES: (id: string) => string;
1015
- readonly READ: (id: string) => string;
1016
- };
1017
985
  readonly NOTIFICATIONS: {
1018
986
  readonly LIST: "/api/notifications";
1019
987
  readonly READ_ALL: "/api/notifications/read-all";
@@ -1028,8 +996,9 @@ export declare const API_ROUTES: {
1028
996
  readonly ANALYTICS: "/api/admin/analytics";
1029
997
  readonly ANALYTICS_PAGE_VIEWS: "/api/admin/analytics/pageviews";
1030
998
  readonly ADS: "/api/admin/ads";
999
+ /** The action-index control plane (W7 / D7) — GET the whole index, PATCH one override. */
1000
+ readonly ACTION_INDEX: "/api/admin/action-index";
1031
1001
  readonly AD_BY_ID: (id: string) => string;
1032
- readonly REALTIME_TOKEN: "/api/realtime/token";
1033
1002
  readonly PAYMENTS_SETTINGS: "/api/admin/payments/settings";
1034
1003
  readonly PRODUCTS: "/api/admin/products";
1035
1004
  readonly PRODUCT_BY_ID: (id: string) => string;
@@ -1122,7 +1091,6 @@ export declare const API_ROUTES: {
1122
1091
  readonly ADMIN_WISHLISTS: "/api/admin/wishlists";
1123
1092
  readonly ADMIN_HISTORY: "/api/admin/history";
1124
1093
  readonly NEWSLETTER_EXPORT: "/api/admin/newsletter/export";
1125
- readonly FEATURE_FLAGS: "/api/admin/feature-flags";
1126
1094
  readonly STORE_ADDRESSES: "/api/admin/store-addresses";
1127
1095
  readonly CAROUSEL: "/api/admin/carousel";
1128
1096
  readonly CAROUSEL_BY_ID: (id: string) => string;
@@ -1160,11 +1128,6 @@ export declare const API_ROUTES: {
1160
1128
  readonly MAINTENANCE_CLOUD_LOGS: "/api/admin/maintenance/cloud-logs";
1161
1129
  readonly MEDIA_LIST: "/api/admin/media";
1162
1130
  };
1163
- readonly CHAT: {
1164
- readonly LIST: "/api/chat";
1165
- readonly BY_ID: (chatId: string) => string;
1166
- readonly MESSAGES: (chatId: string) => string;
1167
- };
1168
1131
  readonly AUCTIONS: {
1169
1132
  readonly LIST: "/api/auctions";
1170
1133
  readonly BY_SLUG: (slug: string) => string;
@@ -1356,8 +1319,9 @@ export declare const API_ROUTES: {
1356
1319
  readonly PRODUCTS_SCAN: (barcode: string) => string;
1357
1320
  readonly ORDERS_FULFILLMENT: "/api/store/fulfillment";
1358
1321
  readonly BUNDLES: "/api/store/bundles";
1322
+ /** Tickets raised ABOUT this store (W11). */
1323
+ readonly SUPPORT: "/api/store/support";
1359
1324
  readonly BUNDLE_BY_ID: (id: string) => string;
1360
- readonly CONVERSATIONS: "/api/store/conversations";
1361
1325
  readonly ORDERS_ASSIGN: (orderId: string) => string;
1362
1326
  readonly PRODUCT_BY_ID: (id: string) => string;
1363
1327
  readonly PRODUCT_DUPLICATE: (id: string) => string;
@@ -1371,7 +1335,7 @@ export declare const API_ROUTES: {
1371
1335
  readonly BLOG: {
1372
1336
  readonly LIST: "/api/blog";
1373
1337
  readonly BY_SLUG: (slug: string) => string;
1374
- readonly FEATURED: (perPage?: number) => string;
1338
+ readonly FEATURED: (pageSize?: number) => string;
1375
1339
  readonly SORTED: (sort: string) => string;
1376
1340
  };
1377
1341
  readonly STORES: {