@mohasinac/appkit 4.64.1 → 4.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (934) hide show
  1. package/dist/.build-stamp.json +3 -3
  2. package/dist/_internal/client/features/digital-code/CodeRevealPanel.js +4 -1
  3. package/dist/_internal/client/features/digital-code/DigitalContentPoolManager.js +5 -1
  4. package/dist/_internal/client/features/layout/DashboardLayoutClient.d.ts +1 -1
  5. package/dist/_internal/client/features/layout/DashboardLayoutClient.js +3 -1
  6. package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +6 -2
  7. package/dist/_internal/client/features/lottery/LotteryAdminSlotView.js +5 -1
  8. package/dist/_internal/client/features/lottery/LotteryDetailView.js +6 -1
  9. package/dist/_internal/client/features/lottery/LotteryEntriesView.js +6 -1
  10. package/dist/_internal/client/features/lottery/LotteryListView.js +7 -1
  11. package/dist/_internal/client/features/lottery/LotteryPullForm.js +3 -1
  12. package/dist/_internal/client/features/lottery/LotterySlotGrid.js +3 -1
  13. package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.js +6 -1
  14. package/dist/_internal/client/scaffolds/AppShell.js +3 -1
  15. package/dist/_internal/server/features/account/data.js +2 -1
  16. package/dist/_internal/server/features/auctions/service.js +1 -1
  17. package/dist/_internal/server/features/auth/capabilities.js +1 -1
  18. package/dist/_internal/server/features/auth/permissions.js +1 -1
  19. package/dist/_internal/server/features/brands/actions.js +1 -1
  20. package/dist/_internal/server/features/brands/data.js +1 -1
  21. package/dist/_internal/server/features/brands/service.js +1 -1
  22. package/dist/_internal/server/features/bundles/actions.js +1 -1
  23. package/dist/_internal/server/features/bundles/data.js +2 -2
  24. package/dist/_internal/server/features/cart/actions.js +1 -1
  25. package/dist/_internal/server/features/cart/data.js +1 -1
  26. package/dist/_internal/server/features/cart/service.js +1 -1
  27. package/dist/_internal/server/features/categories/data.js +1 -1
  28. package/dist/_internal/server/features/checkout/actions.js +20 -3
  29. package/dist/_internal/server/features/checkout/group-rule-revalidation.js +1 -1
  30. package/dist/_internal/server/features/checkout/locked-lines.js +1 -1
  31. package/dist/_internal/server/features/checkout/upi-resolution.js +2 -1
  32. package/dist/_internal/server/features/grouped/data.js +2 -1
  33. package/dist/_internal/server/features/history/actions.d.ts +1 -1
  34. package/dist/_internal/server/features/history/actions.js +1 -1
  35. package/dist/_internal/server/features/history/data.d.ts +1 -1
  36. package/dist/_internal/server/features/history/data.js +1 -1
  37. package/dist/_internal/server/features/item-requests/data.js +1 -1
  38. package/dist/_internal/server/features/messages/actions.js +1 -1
  39. package/dist/_internal/server/features/payouts/actions.js +1 -1
  40. package/dist/_internal/server/features/pre-orders/actions.js +1 -1
  41. package/dist/_internal/server/features/pre-orders/service.js +1 -1
  42. package/dist/_internal/server/features/prize-draws/actions.js +1 -1
  43. package/dist/_internal/server/features/products/actions.js +1 -1
  44. package/dist/_internal/server/features/products/data.js +1 -1
  45. package/dist/_internal/server/features/products/list-public.js +1 -1
  46. package/dist/_internal/server/features/products/service.js +1 -1
  47. package/dist/_internal/server/features/promotions/actions.js +1 -1
  48. package/dist/_internal/server/features/promotions/adapters.js +9 -0
  49. package/dist/_internal/server/features/promotions/data.d.ts +24 -3
  50. package/dist/_internal/server/features/promotions/data.js +41 -6
  51. package/dist/_internal/server/features/promotions/index.d.ts +1 -1
  52. package/dist/_internal/server/features/promotions/index.js +1 -1
  53. package/dist/_internal/server/features/promotions/service.js +1 -1
  54. package/dist/_internal/server/features/search/index-build/sources.js +27 -12
  55. package/dist/_internal/server/features/seo/sitemap.js +79 -13
  56. package/dist/_internal/server/features/shared/listing-data-factory.js +1 -1
  57. package/dist/_internal/server/features/shipping/courier-block.js +1 -1
  58. package/dist/_internal/server/features/site-settings/adapters.d.ts +1 -1
  59. package/dist/_internal/server/features/site-settings/adapters.js +16 -1
  60. package/dist/_internal/server/features/sticker-trace/promote-to-listings.js +1 -1
  61. package/dist/_internal/server/features/stores/adapters.d.ts +1 -1
  62. package/dist/_internal/server/features/stores/adapters.js +14 -0
  63. package/dist/_internal/server/features/stores/data.js +1 -1
  64. package/dist/_internal/server/features/stores/tabs.d.ts +19 -15
  65. package/dist/_internal/server/features/stores/tabs.js +20 -21
  66. package/dist/_internal/server/features/sublisting-categories/data.js +1 -1
  67. package/dist/_internal/server/features/wishlist/actions.d.ts +1 -1
  68. package/dist/_internal/server/features/wishlist/actions.js +1 -1
  69. package/dist/_internal/server/features/wishlist/data.d.ts +1 -1
  70. package/dist/_internal/server/features/wishlist/data.js +1 -1
  71. package/dist/_internal/server/jobs/core/analyticsAlertEvaluate.js +9 -4
  72. package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +1 -1
  73. package/dist/_internal/server/jobs/core/cartPrune.js +1 -1
  74. package/dist/_internal/server/jobs/core/catalogueImageStalenessReminder.js +1 -1
  75. package/dist/_internal/server/jobs/core/categoryTaxonomyBackfill.js +22 -0
  76. package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +1 -1
  77. package/dist/_internal/server/jobs/core/countersReconcile.js +0 -1
  78. package/dist/_internal/server/jobs/core/couponExpiry.js +1 -1
  79. package/dist/_internal/server/jobs/core/dailyDataCleanup.js +2 -1
  80. package/dist/_internal/server/jobs/core/draftPrune.js +1 -1
  81. package/dist/_internal/server/jobs/core/hardBanReinstatement.js +1 -1
  82. package/dist/_internal/server/jobs/core/newsletterExport.js +1 -1
  83. package/dist/_internal/server/jobs/core/notificationPrune.js +1 -1
  84. package/dist/_internal/server/jobs/core/onJobCreated.js +1 -1
  85. package/dist/_internal/server/jobs/core/onOrderCreate.js +3 -1
  86. package/dist/_internal/server/jobs/core/onProductWrite.js +2 -1
  87. package/dist/_internal/server/jobs/core/onScamReportCreate.js +2 -1
  88. package/dist/_internal/server/jobs/core/onScamReportRejected.js +1 -1
  89. package/dist/_internal/server/jobs/core/onScamReportVerified.js +1 -1
  90. package/dist/_internal/server/jobs/core/revenueRollup.js +1 -1
  91. package/dist/_internal/server/jobs/core/runJobOnce.js +1 -1
  92. package/dist/_internal/server/jobs/core/sellerStandingRollup.js +1 -1
  93. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +1 -1
  94. package/dist/_internal/server/jobs/handlers/onCatalogueSubmittedForApproval.js +2 -2
  95. package/dist/_internal/shared/features/blog/schema.d.ts +12 -12
  96. package/dist/_internal/shared/features/brands/schema.d.ts +19 -19
  97. package/dist/_internal/shared/features/cart/schema.d.ts +17 -17
  98. package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +60 -60
  99. package/dist/_internal/shared/features/events/schema.d.ts +4 -4
  100. package/dist/_internal/shared/features/orders/schema.d.ts +8 -8
  101. package/dist/_internal/shared/features/products/schema.d.ts +2 -2
  102. package/dist/_internal/shared/features/promotions/schema.d.ts +12 -12
  103. package/dist/_internal/shared/features/reviews/schema.d.ts +3 -3
  104. package/dist/_internal/shared/features/site-settings/types.d.ts +10 -2
  105. package/dist/_internal/shared/features/sticker-trace/trace/segment.js +13 -2
  106. package/dist/_internal/shared/listing-types/feature-flags.d.ts +54 -0
  107. package/dist/_internal/shared/listing-types/feature-flags.js +72 -0
  108. package/dist/client.d.ts +225 -117
  109. package/dist/client.js +148 -74
  110. package/dist/constants/field-names.d.ts +1 -0
  111. package/dist/constants/field-names.js +14 -0
  112. package/dist/errors/error-handler.d.ts +1 -1
  113. package/dist/features/about/components/AboutView.js +9 -1
  114. package/dist/features/about/components/DeveloperView.js +8 -2
  115. package/dist/features/about/components/FAQPageView.js +5 -2
  116. package/dist/features/about/components/FeesView.js +4 -1
  117. package/dist/features/about/components/GstExplainerView.js +6 -1
  118. package/dist/features/about/components/GuidesHubView.js +5 -1
  119. package/dist/features/about/components/HelpPageView.js +6 -2
  120. package/dist/features/about/components/HowAuctionsWorkView.js +6 -2
  121. package/dist/features/about/components/HowCheckoutWorksView.js +6 -2
  122. package/dist/features/about/components/HowEmiWorksView.js +7 -2
  123. package/dist/features/about/components/HowOffersWorkView.js +6 -2
  124. package/dist/features/about/components/HowOrdersWorkView.js +6 -2
  125. package/dist/features/about/components/HowPayoutsWorkView.js +6 -2
  126. package/dist/features/about/components/HowPreOrdersWorkView.js +6 -2
  127. package/dist/features/about/components/HowReviewsWorkView.js +6 -2
  128. package/dist/features/about/components/PolicyPageView.js +6 -3
  129. package/dist/features/about/components/ProseHero.js +3 -1
  130. package/dist/features/about/components/PublicProfileView.js +6 -1
  131. package/dist/features/about/components/SecurityPrivacyView.js +6 -2
  132. package/dist/features/about/components/ShippingPolicyView.js +7 -3
  133. package/dist/features/about/components/SpotAFakeView.js +6 -1
  134. package/dist/features/about/components/TrackOrderView.js +5 -2
  135. package/dist/features/about/components/UnauthorizedView.js +5 -2
  136. package/dist/features/about/schemas/index.d.ts +18 -18
  137. package/dist/features/account/api/[userId]/addresses/route.js +1 -5
  138. package/dist/features/account/components/AddressBook.js +4 -1
  139. package/dist/features/account/components/AddressFilters.js +1 -1
  140. package/dist/features/account/components/AddressForm.js +1 -1
  141. package/dist/features/account/components/AddressSelectorCreate.js +2 -1
  142. package/dist/features/account/components/AddressesIndexListing.js +5 -1
  143. package/dist/features/account/components/BecomeSellerView.js +2 -1
  144. package/dist/features/account/components/BuyerAccountGuideView.js +6 -1
  145. package/dist/features/account/components/BuyerAuctionsGuideView.js +5 -1
  146. package/dist/features/account/components/BuyerOrdersGuideView.js +5 -1
  147. package/dist/features/account/components/BuyerShoppingGuideView.js +5 -1
  148. package/dist/features/account/components/LinkedAccountsSection.js +5 -1
  149. package/dist/features/account/components/NotificationBell.js +8 -1
  150. package/dist/features/account/components/NotificationPreferencesPanel.js +6 -1
  151. package/dist/features/account/components/OrderDetailView.d.ts +1 -1
  152. package/dist/features/account/components/OrderDetailView.js +1 -1
  153. package/dist/features/account/components/ProfileView.d.ts +1 -1
  154. package/dist/features/account/components/ProfileView.js +1 -1
  155. package/dist/features/account/components/UserAccountHubView.d.ts +1 -1
  156. package/dist/features/account/components/UserAccountHubView.js +1 -1
  157. package/dist/features/account/components/UserBidsView.js +5 -1
  158. package/dist/features/account/components/UserOffersPanel.js +9 -1
  159. package/dist/features/account/components/UserOrderTrackView.d.ts +1 -1
  160. package/dist/features/account/components/UserOrderTrackView.js +1 -1
  161. package/dist/features/account/components/UserOrdersView.js +6 -1
  162. package/dist/features/account/components/UserReturnsView.js +3 -1
  163. package/dist/features/account/components/UserSidebar.js +8 -1
  164. package/dist/features/account/schemas/index.d.ts +10 -10
  165. package/dist/features/addresses/repository/addresses.repository.js +1 -1
  166. package/dist/features/addresses/schemas/address-form.d.ts +16 -16
  167. package/dist/features/addresses/schemas/index.d.ts +2 -2
  168. package/dist/features/admin/actions/admin-actions.d.ts +3 -3
  169. package/dist/features/admin/actions/admin-coupon-actions.d.ts +1 -1
  170. package/dist/features/admin/actions/admin-read-actions.d.ts +3 -3
  171. package/dist/features/admin/api/bids/route.js +1 -5
  172. package/dist/features/admin/api/coupons/route.js +1 -5
  173. package/dist/features/admin/api/products/route.js +1 -5
  174. package/dist/features/admin/api/reviews/route.js +1 -5
  175. package/dist/features/admin/components/AdminActionIndexView.d.ts +1 -1
  176. package/dist/features/admin/components/AdminActionIndexView.js +7 -1
  177. package/dist/features/admin/components/AdminAdEditorView.d.ts +1 -1
  178. package/dist/features/admin/components/AdminAdEditorView.js +8 -1
  179. package/dist/features/admin/components/AdminAddressBookView.js +8 -1
  180. package/dist/features/admin/components/AdminAddressClustersView.js +7 -1
  181. package/dist/features/admin/components/AdminAddressEditorView.d.ts +1 -1
  182. package/dist/features/admin/components/AdminAddressEditorView.js +4 -1
  183. package/dist/features/admin/components/AdminAddressesView.js +6 -1
  184. package/dist/features/admin/components/AdminAllEventEntriesView.d.ts +1 -1
  185. package/dist/features/admin/components/AdminAllEventEntriesView.js +5 -1
  186. package/dist/features/admin/components/AdminAnalyticsGuideView.js +5 -1
  187. package/dist/features/admin/components/AdminAnalyticsView.js +4 -2
  188. package/dist/features/admin/components/AdminArtView.d.ts +1 -1
  189. package/dist/features/admin/components/AdminArtView.js +1 -1
  190. package/dist/features/admin/components/AdminAuditLogView.d.ts +1 -1
  191. package/dist/features/admin/components/AdminAuditLogView.js +5 -1
  192. package/dist/features/admin/components/AdminBeysView.d.ts +1 -1
  193. package/dist/features/admin/components/AdminBeysView.js +3 -1
  194. package/dist/features/admin/components/AdminBidsView.d.ts +1 -1
  195. package/dist/features/admin/components/AdminBidsView.js +7 -2
  196. package/dist/features/admin/components/AdminBlogEditorView.d.ts +1 -1
  197. package/dist/features/admin/components/AdminBlogEditorView.js +14 -2
  198. package/dist/features/admin/components/AdminBlogView.d.ts +1 -1
  199. package/dist/features/admin/components/AdminBlogView.js +2 -1
  200. package/dist/features/admin/components/AdminBrandEditorView.d.ts +1 -1
  201. package/dist/features/admin/components/AdminBrandEditorView.js +7 -2
  202. package/dist/features/admin/components/AdminBrandsView.d.ts +1 -1
  203. package/dist/features/admin/components/AdminBrandsView.js +4 -2
  204. package/dist/features/admin/components/AdminBundleEditorView.d.ts +1 -1
  205. package/dist/features/admin/components/AdminBundleEditorView.js +3 -1
  206. package/dist/features/admin/components/AdminBundlesView.js +7 -1
  207. package/dist/features/admin/components/AdminCarouselEditorView.d.ts +1 -1
  208. package/dist/features/admin/components/AdminCarouselEditorView.js +12 -3
  209. package/dist/features/admin/components/AdminCarouselGroupEditorView.d.ts +1 -1
  210. package/dist/features/admin/components/AdminCarouselView.d.ts +1 -1
  211. package/dist/features/admin/components/AdminCarouselView.js +16 -2
  212. package/dist/features/admin/components/AdminCartsView.d.ts +1 -1
  213. package/dist/features/admin/components/AdminCartsView.js +3 -1
  214. package/dist/features/admin/components/AdminCatalogGuideView.js +5 -1
  215. package/dist/features/admin/components/AdminCategoriesView.d.ts +1 -1
  216. package/dist/features/admin/components/AdminCategoriesView.js +3 -1
  217. package/dist/features/admin/components/AdminCategoryEditorView.d.ts +1 -1
  218. package/dist/features/admin/components/AdminCategoryEditorView.js +2 -2
  219. package/dist/features/admin/components/AdminClassifiedView.d.ts +1 -1
  220. package/dist/features/admin/components/AdminClassifiedView.js +1 -1
  221. package/dist/features/admin/components/AdminContactView.d.ts +1 -1
  222. package/dist/features/admin/components/AdminContactView.js +5 -1
  223. package/dist/features/admin/components/AdminContentGuideView.js +5 -1
  224. package/dist/features/admin/components/AdminCouponEditorView.d.ts +1 -1
  225. package/dist/features/admin/components/AdminCouponEditorView.js +5 -1
  226. package/dist/features/admin/components/AdminCouponsView.d.ts +1 -1
  227. package/dist/features/admin/components/AdminCouponsView.js +6 -1
  228. package/dist/features/admin/components/AdminDashboardView.d.ts +1 -1
  229. package/dist/features/admin/components/AdminDashboardView.js +2 -2
  230. package/dist/features/admin/components/AdminDigitalCodesView.d.ts +1 -1
  231. package/dist/features/admin/components/AdminDigitalCodesView.js +1 -1
  232. package/dist/features/admin/components/AdminFaqEditorView.d.ts +1 -1
  233. package/dist/features/admin/components/AdminFaqEditorView.js +12 -2
  234. package/dist/features/admin/components/AdminFaqsView.d.ts +1 -1
  235. package/dist/features/admin/components/AdminFaqsView.js +3 -1
  236. package/dist/features/admin/components/AdminFeatureEditorView.d.ts +1 -1
  237. package/dist/features/admin/components/AdminFeatureEditorView.js +6 -2
  238. package/dist/features/admin/components/AdminFeaturesView.d.ts +1 -1
  239. package/dist/features/admin/components/AdminFeaturesView.js +2 -1
  240. package/dist/features/admin/components/AdminFulfillmentView.js +2 -1
  241. package/dist/features/admin/components/AdminGatewayEventsView.d.ts +1 -1
  242. package/dist/features/admin/components/AdminGatewayEventsView.js +8 -1
  243. package/dist/features/admin/components/AdminGroupedListingsView.d.ts +1 -1
  244. package/dist/features/admin/components/AdminGroupedListingsView.js +7 -2
  245. package/dist/features/admin/components/AdminGuideHubView.js +7 -2
  246. package/dist/features/admin/components/AdminHistoryView.d.ts +1 -1
  247. package/dist/features/admin/components/AdminHistoryView.js +1 -1
  248. package/dist/features/admin/components/AdminIntegrationsView.js +6 -1
  249. package/dist/features/admin/components/AdminInvoicingView.js +6 -1
  250. package/dist/features/admin/components/AdminLiveView.d.ts +1 -1
  251. package/dist/features/admin/components/AdminLiveView.js +1 -1
  252. package/dist/features/admin/components/AdminMediaView.d.ts +1 -1
  253. package/dist/features/admin/components/AdminMediaView.js +11 -1
  254. package/dist/features/admin/components/AdminMoneyCasesView.d.ts +1 -1
  255. package/dist/features/admin/components/AdminMoneyCasesView.js +7 -1
  256. package/dist/features/admin/components/AdminNavEditorView.js +3 -1
  257. package/dist/features/admin/components/AdminNavigationView.d.ts +1 -1
  258. package/dist/features/admin/components/AdminNavigationView.js +10 -1
  259. package/dist/features/admin/components/AdminNewsletterView.d.ts +1 -1
  260. package/dist/features/admin/components/AdminNewsletterView.js +7 -1
  261. package/dist/features/admin/components/AdminNotificationsView.d.ts +1 -1
  262. package/dist/features/admin/components/AdminNotificationsView.js +5 -1
  263. package/dist/features/admin/components/AdminOffersView.d.ts +1 -1
  264. package/dist/features/admin/components/AdminOffersView.js +5 -1
  265. package/dist/features/admin/components/AdminOrderEditorView.js +8 -2
  266. package/dist/features/admin/components/AdminOrdersGuideView.js +4 -1
  267. package/dist/features/admin/components/AdminOrdersView.d.ts +1 -1
  268. package/dist/features/admin/components/AdminOrdersView.js +3 -1
  269. package/dist/features/admin/components/AdminPartsView.d.ts +1 -1
  270. package/dist/features/admin/components/AdminPartsView.js +3 -1
  271. package/dist/features/admin/components/AdminPaymentClustersView.js +7 -1
  272. package/dist/features/admin/components/AdminPaymentMethodsView.js +7 -1
  273. package/dist/features/admin/components/AdminPaymentsGuideView.js +4 -1
  274. package/dist/features/admin/components/AdminPayoutsView.d.ts +1 -1
  275. package/dist/features/admin/components/AdminPayoutsView.js +5 -1
  276. package/dist/features/admin/components/AdminPrizeDrawsView.d.ts +1 -1
  277. package/dist/features/admin/components/AdminPrizeDrawsView.js +7 -1
  278. package/dist/features/admin/components/AdminProductEditorView.d.ts +1 -1
  279. package/dist/features/admin/components/AdminProductEditorView.js +5 -2
  280. package/dist/features/admin/components/AdminProductsView.d.ts +1 -1
  281. package/dist/features/admin/components/AdminProductsView.js +5 -2
  282. package/dist/features/admin/components/AdminReturnRequestsView.js +3 -1
  283. package/dist/features/admin/components/AdminReviewsView.d.ts +1 -1
  284. package/dist/features/admin/components/AdminReviewsView.js +8 -1
  285. package/dist/features/admin/components/AdminScammersView.d.ts +1 -1
  286. package/dist/features/admin/components/AdminScammersView.js +5 -1
  287. package/dist/features/admin/components/AdminSectionsView.js +1 -1
  288. package/dist/features/admin/components/AdminSessionsManager.js +1 -1
  289. package/dist/features/admin/components/AdminSessionsView.d.ts +1 -1
  290. package/dist/features/admin/components/AdminSessionsView.js +6 -1
  291. package/dist/features/admin/components/AdminSidebar.js +7 -1
  292. package/dist/features/admin/components/AdminSiteConfigGuideView.js +5 -1
  293. package/dist/features/admin/components/AdminSiteSettingsView.d.ts +1 -1
  294. package/dist/features/admin/components/AdminSiteSettingsView.js +21 -5
  295. package/dist/features/admin/components/AdminSparesView.d.ts +1 -1
  296. package/dist/features/admin/components/AdminSparesView.js +1 -1
  297. package/dist/features/admin/components/AdminStickersView.d.ts +1 -1
  298. package/dist/features/admin/components/AdminStickersView.js +1 -1
  299. package/dist/features/admin/components/AdminStoreAddressesView.js +1 -1
  300. package/dist/features/admin/components/AdminStoreEditorView.js +7 -1
  301. package/dist/features/admin/components/AdminStoresGuideView.js +5 -1
  302. package/dist/features/admin/components/AdminStoresView.d.ts +1 -1
  303. package/dist/features/admin/components/AdminStoresView.js +4 -1
  304. package/dist/features/admin/components/AdminSublistingCategoryEditorView.d.ts +1 -1
  305. package/dist/features/admin/components/AdminSublistingCategoryEditorView.js +8 -3
  306. package/dist/features/admin/components/AdminSupportTicketDetailView.js +12 -1
  307. package/dist/features/admin/components/AdminSupportTicketsView.d.ts +1 -1
  308. package/dist/features/admin/components/AdminSupportTicketsView.js +4 -1
  309. package/dist/features/admin/components/AdminTaxCodeEditorView.d.ts +1 -1
  310. package/dist/features/admin/components/AdminTaxCodeEditorView.js +4 -1
  311. package/dist/features/admin/components/AdminTaxCodesView.d.ts +1 -1
  312. package/dist/features/admin/components/AdminTaxCodesView.js +1 -1
  313. package/dist/features/admin/components/AdminTeamGuideView.js +5 -1
  314. package/dist/features/admin/components/AdminTeamView.d.ts +1 -1
  315. package/dist/features/admin/components/AdminTeamView.js +4 -1
  316. package/dist/features/admin/components/AdminTesterChecklistItemEditorView.d.ts +1 -1
  317. package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +4 -1
  318. package/dist/features/admin/components/AdminTesterChecklistView.d.ts +1 -1
  319. package/dist/features/admin/components/AdminTesterChecklistView.js +4 -1
  320. package/dist/features/admin/components/AdminTopBar.js +1 -1
  321. package/dist/features/admin/components/AdminTrustGuideView.js +5 -1
  322. package/dist/features/admin/components/AdminUserEditorView.js +12 -1
  323. package/dist/features/admin/components/AdminUsersGuideView.js +5 -1
  324. package/dist/features/admin/components/AdminUsersView.d.ts +1 -1
  325. package/dist/features/admin/components/AdminViewCards.js +4 -1
  326. package/dist/features/admin/components/AdminWishlistsView.d.ts +1 -1
  327. package/dist/features/admin/components/AdminWishlistsView.js +1 -1
  328. package/dist/features/admin/components/DashboardStats.js +3 -1
  329. package/dist/features/admin/components/DataListingView.d.ts +1 -1
  330. package/dist/features/admin/components/DataListingView.js +14 -2
  331. package/dist/features/admin/components/DataTable.js +7 -1
  332. package/dist/features/admin/components/OwnerQuickActions.d.ts +7 -1
  333. package/dist/features/admin/components/OwnerQuickActions.js +3 -2
  334. package/dist/features/admin/components/QuickEditMenu.js +2 -1
  335. package/dist/features/admin/components/ViewAuditLogEntryModal.js +6 -1
  336. package/dist/features/admin/components/ViewNotificationModal.js +6 -1
  337. package/dist/features/admin/components/analytics/AdminAnalyticsCharts.js +2 -1
  338. package/dist/features/admin/components/analytics/AdminStatCard.js +3 -1
  339. package/dist/features/admin/components/analytics/AdminTopProductsTable.js +3 -1
  340. package/dist/features/admin/components/sections/adminSectionsTypes.js +1 -0
  341. package/dist/features/admin/constants/site-settings-tabs.d.ts +1 -1
  342. package/dist/features/admin/hooks/useAdminListing.d.ts +1 -1
  343. package/dist/features/admin/hooks/useOptimisticRowFlag.js +1 -1
  344. package/dist/features/admin/schemas/action-index-form.d.ts +2 -2
  345. package/dist/features/admin/schemas/admin-editor-forms.d.ts +12 -12
  346. package/dist/features/admin/schemas/admin-editor-forms.js +0 -1
  347. package/dist/features/admin/schemas/admin-ops-forms.d.ts +8 -8
  348. package/dist/features/admin/schemas/admin-user-form.d.ts +8 -8
  349. package/dist/features/admin/schemas/firestore.d.ts +52 -0
  350. package/dist/features/admin/schemas/firestore.js +20 -0
  351. package/dist/features/admin/schemas/nav-item-form.d.ts +8 -8
  352. package/dist/features/auctions/actions/bid-actions.js +1 -1
  353. package/dist/features/auctions/api/route.js +1 -8
  354. package/dist/features/auctions/components/AuctionBidsTable.js +6 -1
  355. package/dist/features/auctions/components/AuctionBottomActions.js +1 -1
  356. package/dist/features/auctions/components/AuctionDetailPageView.js +12 -9
  357. package/dist/features/auctions/components/AuctionFilters.js +1 -1
  358. package/dist/features/auctions/components/AuctionLiveStatusBadge.js +1 -1
  359. package/dist/features/auctions/components/AuctionsListView.js +3 -1
  360. package/dist/features/auctions/components/CollapsibleBidHistory.js +4 -1
  361. package/dist/features/auctions/components/LiveBidPrice.js +3 -1
  362. package/dist/features/auctions/components/LiveMinIncrement.js +1 -1
  363. package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +1 -1
  364. package/dist/features/auctions/components/MarketplaceAuctionCard.js +9 -3
  365. package/dist/features/auctions/components/MarketplaceAuctionGrid.d.ts +1 -1
  366. package/dist/features/auctions/components/MarketplaceAuctionGrid.js +3 -1
  367. package/dist/features/auctions/components/PlaceBidFormClient.js +8 -1
  368. package/dist/features/auctions/schemas/index.d.ts +34 -34
  369. package/dist/features/auth/components/ForgotPasswordView.js +6 -1
  370. package/dist/features/auth/components/Guards.js +4 -1
  371. package/dist/features/auth/components/LoginForm.js +7 -1
  372. package/dist/features/auth/components/OAuthLoadingView.js +3 -1
  373. package/dist/features/auth/components/RegisterForm.js +5 -1
  374. package/dist/features/auth/components/ResetPasswordView.js +6 -1
  375. package/dist/features/auth/components/SocialAuthButtons.js +4 -1
  376. package/dist/features/auth/components/VerifyEmailView.js +4 -1
  377. package/dist/features/auth/hooks/useAuth.js +1 -1
  378. package/dist/features/auth/schemas/index.d.ts +2 -2
  379. package/dist/features/before-after/api/route.js +1 -5
  380. package/dist/features/before-after/components/BeforeAfterGallery.js +3 -1
  381. package/dist/features/before-after/components/BeforeAfterSlider.js +3 -1
  382. package/dist/features/before-after/schemas/index.d.ts +4 -4
  383. package/dist/features/beys/components/BeyDetailPageView.js +7 -1
  384. package/dist/features/blog/actions/blog-actions.d.ts +39 -39
  385. package/dist/features/blog/api/route.js +1 -8
  386. package/dist/features/blog/components/BlogFeaturedCard.js +6 -1
  387. package/dist/features/blog/components/BlogFilters.js +1 -1
  388. package/dist/features/blog/components/BlogIndexListing.js +7 -1
  389. package/dist/features/blog/components/BlogIndexPageView.d.ts +2 -3
  390. package/dist/features/blog/components/BlogIndexPageView.js +9 -10
  391. package/dist/features/blog/components/BlogListView.js +6 -1
  392. package/dist/features/blog/components/BlogPostForm.js +9 -2
  393. package/dist/features/blog/components/BlogPostView.js +5 -1
  394. package/dist/features/blog/schemas/blog-form.d.ts +10 -10
  395. package/dist/features/blog/schemas/index.d.ts +80 -80
  396. package/dist/features/cart/actions/cart-actions.js +1 -1
  397. package/dist/features/cart/api/route.js +1 -5
  398. package/dist/features/cart/components/CartDrawer.js +6 -1
  399. package/dist/features/cart/components/CartGroupLineRow.js +5 -1
  400. package/dist/features/cart/components/CartPriceBreakdown.js +4 -1
  401. package/dist/features/cart/components/CartSummary.js +2 -1
  402. package/dist/features/cart/components/CartView.js +3 -1
  403. package/dist/features/cart/components/CheckoutAddressStep.js +3 -1
  404. package/dist/features/cart/components/CheckoutSuccessView.d.ts +1 -1
  405. package/dist/features/cart/components/CheckoutSuccessView.js +1 -1
  406. package/dist/features/cart/components/CheckoutView.js +3 -1
  407. package/dist/features/cart/components/PointsTenderPicker.js +3 -1
  408. package/dist/features/cart/components/ShippingPicker.js +4 -1
  409. package/dist/features/cart/components/StoreAddonsPicker.js +3 -1
  410. package/dist/features/cart/schemas/index.d.ts +30 -30
  411. package/dist/features/cart/utils/guest-cart.js +1 -5
  412. package/dist/features/catalogue/actions/approve-catalogue-listing.js +1 -1
  413. package/dist/features/catalogue/actions/list-from-catalogue.js +2 -1
  414. package/dist/features/catalogue/actions/submit-for-approval.js +1 -1
  415. package/dist/features/catalogue/components/AdminCatalogueApprovalsView.js +6 -1
  416. package/dist/features/catalogue/components/CatalogueItemEditorView.js +1 -1
  417. package/dist/features/catalogue/components/PublicCatalogueItemDetailView.js +6 -1
  418. package/dist/features/catalogue/components/PublicCatalogueView.js +5 -1
  419. package/dist/features/catalogue/components/UserCatalogueView.js +7 -1
  420. package/dist/features/catalogue/repository/catalogue.repository.js +1 -1
  421. package/dist/features/catalogue/schemas/validation.d.ts +12 -12
  422. package/dist/features/catalogue/utils/product-from-item.js +1 -1
  423. package/dist/features/categories/api/route.js +5 -23
  424. package/dist/features/categories/components/BrandDetailPageView.js +6 -2
  425. package/dist/features/categories/components/BrandDetailTabs.js +2 -1
  426. package/dist/features/categories/components/BreadcrumbTrail.js +4 -2
  427. package/dist/features/categories/components/BundleBuyNowCta.js +5 -2
  428. package/dist/features/categories/components/BundleCollage.js +5 -1
  429. package/dist/features/categories/components/BundleDetailView.js +6 -1
  430. package/dist/features/categories/components/BundleDynamicRuleEditor.js +6 -1
  431. package/dist/features/categories/components/BundleItemsPicker.js +7 -1
  432. package/dist/features/categories/components/BundlesListView.d.ts +2 -3
  433. package/dist/features/categories/components/BundlesListView.js +6 -7
  434. package/dist/features/categories/components/CategoriesIndexListing.js +55 -6
  435. package/dist/features/categories/components/CategoriesIndexPageView.d.ts +2 -3
  436. package/dist/features/categories/components/CategoriesIndexPageView.js +3 -33
  437. package/dist/features/categories/components/CategoryBundlesListing.js +8 -2
  438. package/dist/features/categories/components/CategoryDetailPageView.js +7 -2
  439. package/dist/features/categories/components/CategoryDetailTabs.js +2 -1
  440. package/dist/features/categories/components/CategoryFilters.js +1 -1
  441. package/dist/features/categories/components/CategoryForm.js +3 -1
  442. package/dist/features/categories/components/CategoryGrid.js +3 -1
  443. package/dist/features/categories/components/CategoryHighlightsAndFaqSection.js +3 -1
  444. package/dist/features/categories/components/CategoryProductsListing.js +8 -1
  445. package/dist/features/categories/components/CategorySelectorCreate.js +6 -1
  446. package/dist/features/categories/components/CategorySortSelect.js +4 -1
  447. package/dist/features/categories/components/CategoryStoresListing.js +2 -1
  448. package/dist/features/categories/components/CategoryTableColumns.js +6 -2
  449. package/dist/features/categories/components/CategoryTemplatePicker.js +4 -1
  450. package/dist/features/categories/components/CategoryTree.js +2 -1
  451. package/dist/features/categories/components/ConcernCard.js +3 -1
  452. package/dist/features/categories/components/ConcernGrid.js +1 -1
  453. package/dist/features/categories/components/PriceGuidanceHint.js +3 -1
  454. package/dist/features/categories/components/SubcategoryCardRow.js +4 -1
  455. package/dist/features/categories/constants/category-tabs.d.ts +1 -1
  456. package/dist/features/categories/constants/category-tabs.js +7 -0
  457. package/dist/features/categories/hooks/useCategories.d.ts +6 -0
  458. package/dist/features/categories/hooks/useCategories.js +73 -2
  459. package/dist/features/categories/schemas/bundle-form.d.ts +22 -22
  460. package/dist/features/categories/schemas/index.d.ts +100 -100
  461. package/dist/features/categories/types/index.d.ts +1 -1
  462. package/dist/features/checkout/components/CheckoutStepper.js +3 -1
  463. package/dist/features/classified/components/ClassifiedDetailPageView.js +9 -9
  464. package/dist/features/classified/components/ClassifiedFilters.js +3 -1
  465. package/dist/features/collections/api/route.js +1 -5
  466. package/dist/features/collections/components/CollectionCard.js +4 -1
  467. package/dist/features/collections/schemas/index.d.ts +9 -9
  468. package/dist/features/consultation/api/route.js +1 -5
  469. package/dist/features/consultation/components/ConsultationForm.js +3 -1
  470. package/dist/features/consultation/schemas/index.d.ts +8 -8
  471. package/dist/features/contact/components/ContactForm.js +5 -2
  472. package/dist/features/contact/components/ContactInfoSidebar.js +4 -1
  473. package/dist/features/contact/components/ContactPageView.js +6 -1
  474. package/dist/features/contact/email.js +2 -5
  475. package/dist/features/corporate/api/route.js +1 -5
  476. package/dist/features/corporate/components/CorporateInquiryForm.js +3 -1
  477. package/dist/features/dashboard/components/DashboardHubView.js +7 -1
  478. package/dist/features/digital-codes/components/DigitalCodeDetailPageView.js +8 -8
  479. package/dist/features/digital-codes/components/DigitalCodeFilters.js +1 -1
  480. package/dist/features/dispute-reasons/components/AdminDisputeReasonsView.js +4 -1
  481. package/dist/features/events/components/AdminEventEditorView.d.ts +1 -1
  482. package/dist/features/events/components/AdminEventEditorView.js +14 -3
  483. package/dist/features/events/components/AdminEventEntriesView.js +10 -2
  484. package/dist/features/events/components/AdminEventsView.d.ts +1 -1
  485. package/dist/features/events/components/AdminEventsView.js +2 -1
  486. package/dist/features/events/components/EventBanner.js +3 -1
  487. package/dist/features/events/components/EventCard.js +7 -1
  488. package/dist/features/events/components/EventDetailView.d.ts +1 -1
  489. package/dist/features/events/components/EventDetailView.js +1 -1
  490. package/dist/features/events/components/EventFilters.js +1 -1
  491. package/dist/features/events/components/EventFormDrawer.js +1 -1
  492. package/dist/features/events/components/EventInsights.js +3 -1
  493. package/dist/features/events/components/EventLeaderboard.js +3 -1
  494. package/dist/features/events/components/EventLikeButton.js +4 -1
  495. package/dist/features/events/components/EventLikersRail.js +5 -1
  496. package/dist/features/events/components/EventOfferCard.js +3 -1
  497. package/dist/features/events/components/EventParticipateView.js +1 -1
  498. package/dist/features/events/components/EventPollWidget.js +8 -1
  499. package/dist/features/events/components/EventRaffleEntryForm.js +3 -1
  500. package/dist/features/events/components/EventRaffleWinnerView.js +6 -1
  501. package/dist/features/events/components/EventRafflesSection.js +3 -1
  502. package/dist/features/events/components/EventSaleBanner.js +4 -1
  503. package/dist/features/events/components/EventStatusBadge.js +1 -1
  504. package/dist/features/events/components/EventTypeBadge.js +1 -1
  505. package/dist/features/events/components/EventsIndexListing.js +7 -1
  506. package/dist/features/events/components/EventsListPageView.d.ts +2 -3
  507. package/dist/features/events/components/EventsListPageView.js +11 -12
  508. package/dist/features/events/components/EventsListView.js +4 -1
  509. package/dist/features/events/components/RelatedEventsCarousel.js +3 -1
  510. package/dist/features/events/components/SpinWheel.js +1 -1
  511. package/dist/features/events/components/SpinWheelView.js +7 -1
  512. package/dist/features/events/schemas/event-form.d.ts +5 -0
  513. package/dist/features/events/schemas/event-form.js +17 -0
  514. package/dist/features/events/schemas/firestore.d.ts +49 -1
  515. package/dist/features/events/schemas/index.d.ts +184 -184
  516. package/dist/features/events/utils/carousel-slide.d.ts +0 -9
  517. package/dist/features/events/utils/carousel-slide.js +38 -1
  518. package/dist/features/faq/actions/faq-actions.d.ts +12 -12
  519. package/dist/features/faq/components/ContactCTA.js +5 -1
  520. package/dist/features/faq/components/FAQAccordion.js +6 -1
  521. package/dist/features/faq/components/FAQCategorySidebar.js +5 -1
  522. package/dist/features/faq/components/FAQHelpfulButtons.js +3 -1
  523. package/dist/features/faq/components/FAQPageContent.js +8 -1
  524. package/dist/features/faq/components/FAQSearchableList.js +2 -1
  525. package/dist/features/faq/components/FAQSortDropdown.js +4 -1
  526. package/dist/features/faq/components/RelatedFAQs.js +4 -1
  527. package/dist/features/faq/constants/help-guides.d.ts +8 -5
  528. package/dist/features/faq/constants/help-guides.js +9 -5
  529. package/dist/features/faq/schemas/index.d.ts +14 -14
  530. package/dist/features/filters/AsyncFacetSection.js +8 -3
  531. package/dist/features/filters/FilterFacetSection.js +11 -6
  532. package/dist/features/filters/FilterPanel.js +1 -1
  533. package/dist/features/filters/RangeFilter.js +8 -3
  534. package/dist/features/filters/SwitchFilter.js +7 -3
  535. package/dist/features/filters/filterUtils.d.ts +0 -2
  536. package/dist/features/filters/filterUtils.js +0 -4
  537. package/dist/features/filters/index.d.ts +1 -1
  538. package/dist/features/filters/index.js +1 -1
  539. package/dist/features/forms/Checkbox.js +7 -4
  540. package/dist/features/forms/Input.js +7 -5
  541. package/dist/features/forms/Radio.js +9 -6
  542. package/dist/features/forms/Select.js +5 -3
  543. package/dist/features/forms/Slider.js +6 -3
  544. package/dist/features/forms/Textarea.js +6 -3
  545. package/dist/features/forms/Toggle.js +6 -4
  546. package/dist/features/forms/index.d.ts +1 -1
  547. package/dist/features/forms/index.js +1 -1
  548. package/dist/features/forms/utils.d.ts +0 -2
  549. package/dist/features/forms/utils.js +0 -4
  550. package/dist/features/gateway-events/schemas/index.d.ts +10 -10
  551. package/dist/features/grouped/components/GroupedListingDetailView.js +4 -1
  552. package/dist/features/grouped/components/GroupedListingEditorView.js +5 -2
  553. package/dist/features/grouped/components/GroupedListingsCarousel.js +1 -1
  554. package/dist/features/grouped/schemas/grouped-listing-form.d.ts +8 -8
  555. package/dist/features/grouped/schemas/index.d.ts +8 -8
  556. package/dist/features/history/hooks/useHistory.js +1 -1
  557. package/dist/features/history/utils/guest-history.js +1 -5
  558. package/dist/features/homepage/actions/homepage-section-actions.d.ts +4 -4
  559. package/dist/features/homepage/components/AdSlot.js +3 -1
  560. package/dist/features/homepage/components/BrandsSection.js +6 -1
  561. package/dist/features/homepage/components/CTABannerSection.js +6 -1
  562. package/dist/features/homepage/components/CharacterHotspot.js +5 -1
  563. package/dist/features/homepage/components/CharacterHotspotForm.js +8 -1
  564. package/dist/features/homepage/components/CollectionCardsSection.js +4 -1
  565. package/dist/features/homepage/components/CustomCardsSection.js +13 -2
  566. package/dist/features/homepage/components/CustomerReviewsSection.js +5 -1
  567. package/dist/features/homepage/components/FAQSection.js +8 -1
  568. package/dist/features/homepage/components/FeaturedBundlesSection.d.ts +6 -1
  569. package/dist/features/homepage/components/FeaturedBundlesSection.js +4 -2
  570. package/dist/features/homepage/components/GoogleReviewsSection.js +6 -1
  571. package/dist/features/homepage/components/HeroCarousel.js +6 -1
  572. package/dist/features/homepage/components/HomepageCouponsSection.d.ts +25 -0
  573. package/dist/features/homepage/components/HomepageCouponsSection.js +42 -0
  574. package/dist/features/homepage/components/HowItWorksSection.d.ts +1 -1
  575. package/dist/features/homepage/components/HowItWorksSection.js +7 -1
  576. package/dist/features/homepage/components/MarketplaceHomepageView.js +52 -4
  577. package/dist/features/homepage/components/NewsletterSection.js +4 -1
  578. package/dist/features/homepage/components/PromoGrid.js +4 -1
  579. package/dist/features/homepage/components/SectionCarousel.d.ts +1 -1
  580. package/dist/features/homepage/components/SectionCarousel.js +6 -1
  581. package/dist/features/homepage/components/SecurityHighlightsSection.js +6 -1
  582. package/dist/features/homepage/components/ShopByCategorySection.js +7 -1
  583. package/dist/features/homepage/components/SocialFeedSection.js +6 -1
  584. package/dist/features/homepage/components/SocialPostCard.js +4 -1
  585. package/dist/features/homepage/components/StatsCounterSection.js +5 -1
  586. package/dist/features/homepage/components/TestimonialsCarousel.js +4 -1
  587. package/dist/features/homepage/components/TrustFeaturesSection.js +5 -1
  588. package/dist/features/homepage/components/WelcomeSection.js +10 -1
  589. package/dist/features/homepage/components/WhatsAppCommunitySection.js +8 -1
  590. package/dist/features/homepage/lib/section-renderer.d.ts +2 -0
  591. package/dist/features/homepage/lib/section-renderer.js +8 -0
  592. package/dist/features/homepage/schemas/firestore.d.ts +23 -2
  593. package/dist/features/homepage/schemas/firestore.js +2 -0
  594. package/dist/features/homepage/schemas/index.d.ts +133 -133
  595. package/dist/features/inventory/components/ReceiveStationView.js +9 -1
  596. package/dist/features/jobs/actions/enqueue-job.js +1 -1
  597. package/dist/features/layout/AppLayoutShell.d.ts +23 -1
  598. package/dist/features/layout/AppLayoutShell.js +13 -12
  599. package/dist/features/layout/AutoBreadcrumbs.js +3 -1
  600. package/dist/features/layout/BackToTop.js +2 -1
  601. package/dist/features/layout/BottomActions.js +5 -1
  602. package/dist/features/layout/BottomActionsContext.d.ts +1 -1
  603. package/dist/features/layout/BottomChrome.js +1 -1
  604. package/dist/features/layout/BottomNavItem.d.ts +9 -1
  605. package/dist/features/layout/BottomNavItem.js +20 -5
  606. package/dist/features/layout/BottomNavLayout.js +1 -1
  607. package/dist/features/layout/BottomSheet.js +4 -1
  608. package/dist/features/layout/Breadcrumbs.js +2 -1
  609. package/dist/features/layout/FooterLayout.js +5 -1
  610. package/dist/features/layout/LocaleSwitcher.js +1 -1
  611. package/dist/features/layout/NavItem.js +2 -1
  612. package/dist/features/layout/NavbarLayout.js +5 -1
  613. package/dist/features/layout/PageTabs.js +1 -1
  614. package/dist/features/layout/SideActionDock.js +7 -1
  615. package/dist/features/layout/SidebarLayout.d.ts +1 -1
  616. package/dist/features/layout/SidebarLayout.js +2 -1
  617. package/dist/features/layout/TitleBarLayout.js +9 -1
  618. package/dist/features/layout/index.d.ts +1 -1
  619. package/dist/features/live/components/LiveItemDetailPageView.js +8 -8
  620. package/dist/features/live/components/LiveItemFilters.js +3 -1
  621. package/dist/features/lottery/schemas/config-write.d.ts +10 -10
  622. package/dist/features/lottery/schemas/zod.d.ts +6 -6
  623. package/dist/features/media/MediaLightbox.js +3 -5
  624. package/dist/features/media/modals/ImageCropModal.js +6 -1
  625. package/dist/features/media/modals/ImageEditor.js +6 -1
  626. package/dist/features/media/modals/VideoTrimModal.js +6 -1
  627. package/dist/features/media/types/index.d.ts +4 -4
  628. package/dist/features/media/upload/MediaUploadList.js +7 -1
  629. package/dist/features/orders/components/OrderAddonBadges.js +2 -1
  630. package/dist/features/orders/components/OrderCompletionPanel.d.ts +1 -1
  631. package/dist/features/orders/components/OrderCompletionPanel.js +1 -1
  632. package/dist/features/orders/components/OrderFilters.js +1 -1
  633. package/dist/features/orders/components/OrderPaymentSummary.js +4 -1
  634. package/dist/features/orders/components/OrderProvenanceCard.js +5 -1
  635. package/dist/features/orders/components/OrderScopeTabs.js +1 -1
  636. package/dist/features/orders/components/OrderSiblingPayments.js +3 -1
  637. package/dist/features/orders/components/OrderStatusTimeline.js +4 -1
  638. package/dist/features/orders/components/OrdersList.js +4 -1
  639. package/dist/features/orders/components/RaiseDisputeForm.js +1 -1
  640. package/dist/features/orders/components/RefundHistoryTable.js +4 -1
  641. package/dist/features/orders/components/RefundRequestView.js +2 -2
  642. package/dist/features/orders/components/YourPurchaseStrip.js +5 -1
  643. package/dist/features/orders/schemas/index.d.ts +86 -86
  644. package/dist/features/parts/components/AssemblyDrawer.js +8 -1
  645. package/dist/features/parts/components/ModelCompositionPanel.js +5 -1
  646. package/dist/features/parts/components/PartDetailPageView.js +7 -1
  647. package/dist/features/parts/components/PartsIndexPageView.js +6 -1
  648. package/dist/features/parts/components/PartsSearchBox.js +5 -1
  649. package/dist/features/parts/schemas/firestore.d.ts +274 -0
  650. package/dist/features/parts/schemas/firestore.js +19 -0
  651. package/dist/features/payments/repository/saved-payment-methods.repository.js +1 -1
  652. package/dist/features/payments/schemas/index.d.ts +10 -10
  653. package/dist/features/points/schemas/adjust-form.d.ts +2 -2
  654. package/dist/features/pre-orders/api/admin/route.js +1 -5
  655. package/dist/features/pre-orders/components/MarketplacePreorderCard.d.ts +1 -1
  656. package/dist/features/pre-orders/components/MarketplacePreorderCard.js +10 -3
  657. package/dist/features/pre-orders/components/PreOrderActionsClient.js +6 -1
  658. package/dist/features/pre-orders/components/PreOrderBadge.js +2 -1
  659. package/dist/features/pre-orders/components/PreOrderDetailPageView.js +10 -9
  660. package/dist/features/pre-orders/components/PreOrderFilters.js +1 -1
  661. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +11 -2
  662. package/dist/features/pre-orders/components/PreOrdersListView.js +3 -1
  663. package/dist/features/pre-orders/components/PreorderCard.js +1 -1
  664. package/dist/features/pre-orders/schemas/index.d.ts +15 -15
  665. package/dist/features/price-index/components/PriceIndexToolView.js +4 -1
  666. package/dist/features/pricing/components/AdminPricingView.js +4 -1
  667. package/dist/features/print/components/BoxLabelPrintView.js +5 -1
  668. package/dist/features/print/components/LabelProfilePicker.js +3 -1
  669. package/dist/features/print/components/labels.js +3 -1
  670. package/dist/features/products/api/route.js +1 -3
  671. package/dist/features/products/columns/productTableColumns.js +5 -1
  672. package/dist/features/products/components/ArtStickersListView.js +3 -1
  673. package/dist/features/products/components/AuctionDetailView.d.ts +1 -1
  674. package/dist/features/products/components/AuctionDetailView.js +2 -1
  675. package/dist/features/products/components/AuctionsIndexListing.js +10 -2
  676. package/dist/features/products/components/AvailabilityScopeHint.js +3 -1
  677. package/dist/features/products/components/AvailabilityTabs.js +1 -1
  678. package/dist/features/products/components/BidHistory.js +4 -1
  679. package/dist/features/products/components/CityCollectiblesView.js +6 -1
  680. package/dist/features/products/components/CompareOverlay.js +6 -1
  681. package/dist/features/products/components/CustomFieldsEditor.js +6 -1
  682. package/dist/features/products/components/CustomSectionTabContent.js +4 -6
  683. package/dist/features/products/components/CustomSectionsEditor.js +6 -1
  684. package/dist/features/products/components/FeatureBadge.js +2 -1
  685. package/dist/features/products/components/GroupMemberPicker.js +9 -2
  686. package/dist/features/products/components/GroupSettingsPanel.js +13 -2
  687. package/dist/features/products/components/MakeOfferButton.js +6 -1
  688. package/dist/features/products/components/MarketplaceBundleCard.js +6 -1
  689. package/dist/features/products/components/MarketplacePrizeDrawCard.js +7 -1
  690. package/dist/features/products/components/NonRefundableConsentModal.js +6 -1
  691. package/dist/features/products/components/PreOrderDetailView.d.ts +1 -1
  692. package/dist/features/products/components/PreOrderDetailView.js +1 -1
  693. package/dist/features/products/components/PrizeDrawCollage.js +6 -1
  694. package/dist/features/products/components/PrizeDrawDetailPageView.js +7 -8
  695. package/dist/features/products/components/PrizeDrawEntryActions.d.ts +1 -1
  696. package/dist/features/products/components/PrizeDrawEntryActions.js +8 -2
  697. package/dist/features/products/components/PrizeDrawWinnerMappingView.js +7 -1
  698. package/dist/features/products/components/PrizeDrawsIndexListing.js +8 -1
  699. package/dist/features/products/components/PrizeDrawsListingView.js +3 -1
  700. package/dist/features/products/components/PrizeDrawsSection.js +3 -1
  701. package/dist/features/products/components/PrizeRevealModal.js +6 -1
  702. package/dist/features/products/components/ProductCardMetadataSection.js +3 -1
  703. package/dist/features/products/components/ProductDetailActions.js +4 -1
  704. package/dist/features/products/components/ProductDetailPageView.js +11 -9
  705. package/dist/features/products/components/ProductDetailView.d.ts +1 -1
  706. package/dist/features/products/components/ProductDetailView.js +1 -1
  707. package/dist/features/products/components/ProductFeatureBadges.js +4 -1
  708. package/dist/features/products/components/ProductFeaturesSelector.js +3 -1
  709. package/dist/features/products/components/ProductFilters.js +2 -1
  710. package/dist/features/products/components/ProductForm.js +1 -1
  711. package/dist/features/products/components/ProductGalleryClient.js +4 -1
  712. package/dist/features/products/components/ProductGradingTab.js +4 -1
  713. package/dist/features/products/components/ProductGrid.d.ts +1 -1
  714. package/dist/features/products/components/ProductGrid.js +7 -1
  715. package/dist/features/products/components/ProductsIndexListing.js +11 -3
  716. package/dist/features/products/components/ProductsIndexPageView.js +6 -2
  717. package/dist/features/products/components/RelatedItemsSection.js +1 -1
  718. package/dist/features/products/components/RelatedProducts.js +3 -1
  719. package/dist/features/products/components/ShowGroupSection.js +7 -1
  720. package/dist/features/products/components/SparesListView.js +4 -1
  721. package/dist/features/products/components/SublistingCarouselSection.js +4 -1
  722. package/dist/features/products/components/SublistingCategorySelect.js +2 -1
  723. package/dist/features/products/hooks/useProducts.js +1 -1
  724. package/dist/features/products/repository/products.repository.js +0 -1
  725. package/dist/features/products/schemas/index.d.ts +70 -70
  726. package/dist/features/products/schemas/product-features.validators.d.ts +52 -52
  727. package/dist/features/promotions/actions/promotions-actions.js +22 -6
  728. package/dist/features/promotions/api/route.js +1 -8
  729. package/dist/features/promotions/components/AttachedCouponsSection.js +5 -2
  730. package/dist/features/promotions/components/CouponCard.js +8 -1
  731. package/dist/features/promotions/components/CouponCodeCopyRow.js +2 -1
  732. package/dist/features/promotions/components/CouponHelpDetails.js +4 -1
  733. package/dist/features/promotions/components/CouponsIndexListing.js +12 -1
  734. package/dist/features/promotions/components/PromotionsView.js +4 -1
  735. package/dist/features/promotions/constants/attached-coupons.d.ts +14 -0
  736. package/dist/features/promotions/repository/coupons.repository.js +32 -2
  737. package/dist/features/promotions/schemas/firestore.d.ts +33 -0
  738. package/dist/features/promotions/schemas/firestore.js +44 -0
  739. package/dist/features/promotions/schemas/index.d.ts +108 -108
  740. package/dist/features/reviews/components/ReviewDetailPageView.js +4 -1
  741. package/dist/features/reviews/components/ReviewDetailShell.js +8 -1
  742. package/dist/features/reviews/components/ReviewFilters.js +1 -1
  743. package/dist/features/reviews/components/ReviewModal.js +7 -2
  744. package/dist/features/reviews/components/ReviewSummary.js +4 -2
  745. package/dist/features/reviews/components/ReviewsIndexPageView.d.ts +2 -3
  746. package/dist/features/reviews/components/ReviewsIndexPageView.js +12 -13
  747. package/dist/features/reviews/components/ReviewsList.js +7 -2
  748. package/dist/features/reviews/components/ReviewsListingPanel.js +7 -1
  749. package/dist/features/reviews/schemas/index.d.ts +40 -40
  750. package/dist/features/scams/components/ScamAwarenessModal.js +7 -1
  751. package/dist/features/scams/components/ScamProfileView.js +11 -1
  752. package/dist/features/scams/constants/scammer-status-display.d.ts +1 -1
  753. package/dist/features/scams/schemas/index.d.ts +22 -22
  754. package/dist/features/scams/schemas/report-form.d.ts +4 -4
  755. package/dist/features/search/components/EntityTypeahead.js +5 -1
  756. package/dist/features/search/components/Search.js +7 -1
  757. package/dist/features/search/components/SearchFacetRail.js +4 -1
  758. package/dist/features/search/components/SearchResultsClient.js +1 -1
  759. package/dist/features/search/components/SearchResultsPageView.js +5 -1
  760. package/dist/features/seller/api/coupons/route.js +1 -5
  761. package/dist/features/seller/api/products/route.js +1 -5
  762. package/dist/features/seller/components/BulkStockModal.js +2 -1
  763. package/dist/features/seller/components/CategoryChipPicker.js +3 -1
  764. package/dist/features/seller/components/FulfillmentView.js +2 -1
  765. package/dist/features/seller/components/GroupInlineSelect.js +1 -1
  766. package/dist/features/seller/components/SellerAddressesView.js +11 -2
  767. package/dist/features/seller/components/SellerAnalyticsAlertsView.js +9 -1
  768. package/dist/features/seller/components/SellerAnalyticsView.d.ts +1 -1
  769. package/dist/features/seller/components/SellerAnalyticsView.js +4 -1
  770. package/dist/features/seller/components/SellerBidsView.js +8 -2
  771. package/dist/features/seller/components/SellerBundlesView.js +7 -1
  772. package/dist/features/seller/components/SellerCouponEditorView.js +5 -1
  773. package/dist/features/seller/components/SellerCouponsView.d.ts +1 -1
  774. package/dist/features/seller/components/SellerCouponsView.js +5 -1
  775. package/dist/features/seller/components/SellerDashboardView.d.ts +1 -1
  776. package/dist/features/seller/components/SellerDashboardView.js +4 -1
  777. package/dist/features/seller/components/SellerFeaturesView.js +8 -1
  778. package/dist/features/seller/components/SellerGoogleReviewsView.js +7 -1
  779. package/dist/features/seller/components/SellerGroupedListingsView.js +4 -1
  780. package/dist/features/seller/components/SellerGuideView.d.ts +1 -1
  781. package/dist/features/seller/components/SellerGuideView.js +1 -1
  782. package/dist/features/seller/components/SellerListingTypeView.js +4 -1
  783. package/dist/features/seller/components/SellerOffersView.d.ts +1 -1
  784. package/dist/features/seller/components/SellerOffersView.js +4 -1
  785. package/dist/features/seller/components/SellerOrdersView.js +8 -1
  786. package/dist/features/seller/components/SellerPayoutHistoryTable.js +2 -1
  787. package/dist/features/seller/components/SellerPayoutMethodsView.js +7 -1
  788. package/dist/features/seller/components/SellerPayoutRequestView.js +8 -1
  789. package/dist/features/seller/components/SellerPayoutSettingsView.js +3 -2
  790. package/dist/features/seller/components/SellerPayoutStats.js +1 -1
  791. package/dist/features/seller/components/SellerPayoutsView.d.ts +1 -1
  792. package/dist/features/seller/components/SellerPayoutsView.js +10 -1
  793. package/dist/features/seller/components/SellerProductShell.js +1 -2
  794. package/dist/features/seller/components/SellerProductsCards.js +7 -1
  795. package/dist/features/seller/components/SellerProductsFilterDrawer.js +4 -1
  796. package/dist/features/seller/components/SellerProductsView.js +7 -1
  797. package/dist/features/seller/components/SellerReviewsView.js +11 -1
  798. package/dist/features/seller/components/SellerShippingConfigsView.js +6 -1
  799. package/dist/features/seller/components/SellerShippingView.js +2 -2
  800. package/dist/features/seller/components/SellerSidebar.js +7 -1
  801. package/dist/features/seller/components/SellerStoreCategoriesView.js +5 -1
  802. package/dist/features/seller/components/SellerStoreSetupView.js +2 -1
  803. package/dist/features/seller/components/SellerStorefrontView.js +1 -1
  804. package/dist/features/seller/components/SellerSupportView.d.ts +1 -1
  805. package/dist/features/seller/components/SellerSupportView.js +4 -1
  806. package/dist/features/seller/components/SellersListView.d.ts +1 -1
  807. package/dist/features/seller/components/SellersListView.js +1 -1
  808. package/dist/features/seller/components/analytics/SellerAnalyticsStats.js +1 -1
  809. package/dist/features/seller/components/analytics/SellerRevenueChart.js +2 -1
  810. package/dist/features/seller/components/analytics/SellerTopProducts.js +3 -1
  811. package/dist/features/seller/hooks/useSellerListingData.js +0 -30
  812. package/dist/features/seller/schemas/coupon-form.d.ts +50 -50
  813. package/dist/features/seller/schemas/index.d.ts +22 -22
  814. package/dist/features/seller/schemas/order-forms.d.ts +12 -12
  815. package/dist/features/server-errors/schemas/index.d.ts +4 -4
  816. package/dist/features/shell/CommandPalette.js +7 -1
  817. package/dist/features/shell/FormShell.js +5 -1
  818. package/dist/features/shell/SectionForm.js +4 -1
  819. package/dist/features/shipments/components/AdminShipmentEditorView.js +9 -1
  820. package/dist/features/shipments/components/AdminShipmentLotItemsView.js +11 -1
  821. package/dist/features/shipments/components/AdminShipmentProjectionsView.js +10 -1
  822. package/dist/features/shipments/components/AdminShipmentsView.d.ts +1 -1
  823. package/dist/features/shipments/components/AdminShipmentsView.js +3 -1
  824. package/dist/features/shipments/components/ShipmentItemLinkModal.js +7 -1
  825. package/dist/features/shipments/schemas/validation.d.ts +44 -44
  826. package/dist/features/site-settings/components/ActionPermissionsManager.js +7 -2
  827. package/dist/features/site-settings/components/NavPermissionsManager.js +6 -2
  828. package/dist/features/site-settings/components/ThemeManagerView.js +9 -1
  829. package/dist/features/status-history/components/StatusTimeline.js +4 -1
  830. package/dist/features/sticker-trace/components/StickerPrintPanel.js +6 -1
  831. package/dist/features/sticker-trace/components/StickerRetryPanel.js +4 -1
  832. package/dist/features/sticker-trace/components/StickerRunHistoryPanel.js +5 -1
  833. package/dist/features/sticker-trace/components/StickerTraceStudio.js +5 -1
  834. package/dist/features/store-extensions/schemas/admin-notification-form.d.ts +5 -5
  835. package/dist/features/store-extensions/schemas/custom-role-form.d.ts +12 -12
  836. package/dist/features/store-extensions/schemas/item-request-create-form.d.ts +2 -2
  837. package/dist/features/store-extensions/schemas/listing-template-form.d.ts +13 -13
  838. package/dist/features/store-extensions/schemas/payout-method-form.d.ts +10 -10
  839. package/dist/features/store-extensions/schemas/shipping-config-form.d.ts +12 -12
  840. package/dist/features/store-extensions/schemas/store-category-form.d.ts +10 -10
  841. package/dist/features/stores/api/[storeSlug]/auctions/route.js +1 -10
  842. package/dist/features/stores/api/[storeSlug]/products/route.js +1 -10
  843. package/dist/features/stores/components/InteractiveStoreCard.js +15 -2
  844. package/dist/features/stores/components/SellerStandingPanel.js +3 -1
  845. package/dist/features/stores/components/SellerTierBadge.js +2 -1
  846. package/dist/features/stores/components/StoreAboutView.js +5 -1
  847. package/dist/features/stores/components/StoreAddressSelectorCreate.js +2 -1
  848. package/dist/features/stores/components/StoreAuctionsListing.js +8 -1
  849. package/dist/features/stores/components/StoreAuctionsView.d.ts +1 -1
  850. package/dist/features/stores/components/StoreAuctionsView.js +1 -1
  851. package/dist/features/stores/components/StoreBundlesPageView.js +1 -1
  852. package/dist/features/stores/components/StoreCapabilitiesGuideView.js +6 -1
  853. package/dist/features/stores/components/StoreClassifiedsListing.js +7 -1
  854. package/dist/features/stores/components/StoreCreateForm.js +3 -1
  855. package/dist/features/stores/components/StoreDetailLayoutView.js +5 -2
  856. package/dist/features/stores/components/StoreDigitalCodesListing.js +7 -1
  857. package/dist/features/stores/components/StoreFilters.js +1 -1
  858. package/dist/features/stores/components/StoreFinanceGuideView.js +6 -1
  859. package/dist/features/stores/components/StoreGuideHubView.js +7 -2
  860. package/dist/features/stores/components/StoreHeader.js +6 -1
  861. package/dist/features/stores/components/StoreListingsGuideView.js +6 -1
  862. package/dist/features/stores/components/StoreLiveItemsListing.js +7 -1
  863. package/dist/features/stores/components/StoreNavTabs.js +3 -1
  864. package/dist/features/stores/components/StoreOrdersGuideView.js +7 -1
  865. package/dist/features/stores/components/StorePreOrdersListing.js +7 -1
  866. package/dist/features/stores/components/StoreProductsListing.js +8 -1
  867. package/dist/features/stores/components/StoreProductsView.js +5 -1
  868. package/dist/features/stores/components/StoreReviewsView.d.ts +1 -1
  869. package/dist/features/stores/components/StoreReviewsView.js +1 -1
  870. package/dist/features/stores/components/StoreSettingsGuideView.js +6 -1
  871. package/dist/features/stores/components/StoresIndexListing.js +9 -2
  872. package/dist/features/stores/components/StoresIndexPageView.d.ts +2 -3
  873. package/dist/features/stores/components/StoresIndexPageView.js +10 -11
  874. package/dist/features/stores/hooks/useStoreAddressSelector.d.ts +1 -1
  875. package/dist/features/stores/schemas/firestore.d.ts +27 -0
  876. package/dist/features/stores/schemas/firestore.js +2 -0
  877. package/dist/features/stores/schemas/index.d.ts +28 -28
  878. package/dist/features/support/schemas/index.d.ts +14 -14
  879. package/dist/features/support/schemas/ticket-create-form.d.ts +4 -4
  880. package/dist/features/tax-codes/schemas/tax-code-form.d.ts +4 -4
  881. package/dist/features/tax-codes/schemas/tax-codes.validators.d.ts +10 -10
  882. package/dist/features/tester/actions/checklist-item-actions.d.ts +3 -3
  883. package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +7 -1
  884. package/dist/features/tester/components/AdminTesterFeedbackListView.js +5 -1
  885. package/dist/features/tester/components/AdminTesterFeedbackReportView.js +2 -1
  886. package/dist/features/tester/components/AdminTesterFeedbackView.js +5 -1
  887. package/dist/features/tester/components/TesterChecklistStepRow.js +8 -1
  888. package/dist/features/tester/components/TesterFeedbackChart.js +3 -1
  889. package/dist/features/tester/schemas/checklist-item-form.d.ts +2 -2
  890. package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +8 -1
  891. package/dist/features/wishlist/components/WishlistCapWatcher.js +1 -1
  892. package/dist/features/wishlist/components/WishlistHeartButton.js +2 -1
  893. package/dist/features/wishlist/components/WishlistPage.js +5 -1
  894. package/dist/features/wishlist/components/WishlistView.js +3 -1
  895. package/dist/features/wishlist/hooks/useWishlistToggle.js +1 -1
  896. package/dist/features/wishlist/hooks/useWishlistWithGuest.d.ts +1 -1
  897. package/dist/features/wishlist/schemas/index.d.ts +2 -2
  898. package/dist/features/wishlist/utils/guest-wishlist.js +1 -5
  899. package/dist/index.d.ts +2496 -2452
  900. package/dist/index.js +1549 -1500
  901. package/dist/next/api/routeHandler.js +1 -1
  902. package/dist/providers/db-firebase/admin-app-lite.js +14 -2
  903. package/dist/providers/db-firebase/admin.js +8 -2
  904. package/dist/react/hooks/use-action-dispatch.d.ts +1 -1
  905. package/dist/react/hooks/use-action-dispatch.js +1 -1
  906. package/dist/react/hooks/useBrowsePageFlags.d.ts +26 -0
  907. package/dist/react/hooks/useBrowsePageFlags.js +18 -0
  908. package/dist/schemas/registry.d.ts +492 -487
  909. package/dist/schemas/sieve.d.ts +5 -5
  910. package/dist/schemas/webhooks/google-oauth.d.ts +4 -4
  911. package/dist/security/csp.d.ts +32 -2
  912. package/dist/security/csp.js +32 -2
  913. package/dist/server.d.ts +369 -362
  914. package/dist/server.js +355 -351
  915. package/dist/styles.css +1 -1
  916. package/dist/tailwind-utilities.css +1 -1
  917. package/dist/ui/components/Button.js +1 -1
  918. package/dist/ui/components/Chart.js +0 -1
  919. package/dist/ui/components/HorizontalScroller.js +27 -2
  920. package/dist/ui/components/Repeater.js +4 -1
  921. package/dist/ui/rich-text/RichText.js +1 -3
  922. package/dist/ui/rich-text/RichTextRenderer.js +1 -3
  923. package/dist/utils/browser-storage.d.ts +14 -0
  924. package/dist/utils/browser-storage.js +18 -0
  925. package/dist/utils/classnames.d.ts +19 -0
  926. package/dist/utils/classnames.js +21 -0
  927. package/dist/utils/search-params.d.ts +44 -0
  928. package/dist/utils/search-params.js +46 -0
  929. package/dist/utils/sieve-builder.d.ts +13 -0
  930. package/dist/utils/sieve-builder.js +22 -0
  931. package/dist/utils/string.formatter.d.ts +12 -0
  932. package/dist/utils/string.formatter.js +17 -0
  933. package/dist/validation/schemas.d.ts +26 -26
  934. package/package.json +90 -2
@@ -22,7 +22,15 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
22
  * many exist".
23
23
  */
24
24
  import { useEffect, useMemo, useRef, useState } from "react";
25
- import { Alert, Badge, Button, Card, CardBody, Div, Heading, Row, Stack, Table, Tbody, Td, Text, TextLink, Th, Thead, Tr, } from "../../../ui/index.js";
25
+ import { Alert } from "../../../ui/components/Alert.js";
26
+ import { Badge } from "../../../ui/components/Badge.js";
27
+ import { Button } from "../../../ui/components/Button.js";
28
+ import { Card, CardBody } from "../../../ui/components/Card.js";
29
+ import { Div } from "../../../ui/components/Div.js";
30
+ import { Heading, Text } from "../../../ui/components/Typography.js";
31
+ import { Row, Stack } from "../../../ui/components/Layout.js";
32
+ import { Table, Tbody, Td, Th, Thead, Tr } from "../../../ui/components/Semantic.js";
33
+ import { TextLink } from "../../../ui/components/TextLink.js";
26
34
  import { QuantityStepper } from "../../../ui/components/QuantityStepper.js";
27
35
  import { FieldInput } from "../../../ui/forms/index.js";
28
36
  import { Form } from "../../../ui/components/Form.js";
@@ -14,7 +14,7 @@
14
14
  */
15
15
  import { normalizeError } from "../../../errors/normalize.js";
16
16
  import { serverLogger } from "../../../monitoring/index.js";
17
- import { jobsRepository } from "../../../repositories/index.js";
17
+ import { jobsRepository } from "../repository/jobs.repository.js";
18
18
  import { JOB_MAX_ATTEMPTS, JobStatusValues } from "../schemas/firestore.js";
19
19
  import { getAdminAuth, getAdminRealtimeDb } from "../../../providers/db-firebase/index.js";
20
20
  import { RTDB_PATHS } from "../../../providers/db-firebase/rtdb-paths.js";
@@ -26,6 +26,22 @@ export interface AppLayoutShellSidebarSection {
26
26
  /** When true, this section is expanded by default. */
27
27
  defaultOpen?: boolean;
28
28
  }
29
+ /**
30
+ * Trailing control rendered beside a sidebar link — the seam for an admin's
31
+ * inline "hide this from the nav" toggle.
32
+ *
33
+ * 🛑 A SLOT, not a built-in toggle. appkit has no idea what `navConfig` is,
34
+ * which role may write it, or what a write costs; the consumer owns all three.
35
+ * Baking an admin control into a layout primitive would also put a write path
36
+ * inside a component every visitor renders.
37
+ *
38
+ * 🛑 Whatever it returns is rendered OUTSIDE the `<TextLink>`, as a sibling.
39
+ * A `<button>` inside an `<a>` is invalid HTML that browsers resolve by
40
+ * splitting the anchor — the same trap `InteractiveStoreCard` documents for
41
+ * its trust badges. That is why the row became a flex container rather than
42
+ * the control simply being appended to the link's children.
43
+ */
44
+ export type SidebarItemActionRenderer = (item: AppLayoutShellSidebarLink) => React.ReactNode;
29
45
  export interface AppLayoutShellSidebarAction {
30
46
  href: string;
31
47
  label: string;
@@ -36,6 +52,12 @@ export interface AppLayoutShellProps {
36
52
  navItems: MainNavbarItem[];
37
53
  sidebarItems?: AppLayoutShellSidebarLink[];
38
54
  sidebarSections?: AppLayoutShellSidebarSection[];
55
+ /**
56
+ * Trailing control beside each sidebar link — the admin inline-toggle seam.
57
+ * See `SidebarItemActionRenderer`. Omitted for every non-admin viewer, so a
58
+ * normal visitor renders exactly what they rendered before.
59
+ */
60
+ renderSidebarItemAction?: SidebarItemActionRenderer;
39
61
  sidebarPrimaryActions?: AppLayoutShellSidebarAction[];
40
62
  sidebarTitle?: string;
41
63
  hiddenNavItems?: string[];
@@ -156,4 +178,4 @@ export interface AppLayoutShellProps {
156
178
  };
157
179
  };
158
180
  }
159
- export declare function AppLayoutShell({ children, navItems, sidebarItems, sidebarSections, sidebarPrimaryActions, sidebarTitle, hiddenNavItems, user, brandName, brandShortName, siteLogoUrl, logoHref, promotionsHref, cartHref, wishlistHref, messagesHref, unreadMessageCount, userId, profileHref, loginHref, registerHref, homeHref, shopHref, footer, showFooter, searchSlot, searchSlotRenderer, titleBarNavSlot, titleBarNotificationSlot, titleBarDevSlot, titleBarPromoStripText, showThemeToggle, suppressDashboardNav, hideSidebarToggle, onLogout, adminHref, storeHref, sellerHref, userOrdersHref, userWishlistHref, userSettingsHref, userReviewsHref, sidebarLocaleSlot, showThemeToggleInSidebar, sidebarProfileLabels, eventBannerSlot, showBottomNav, contentClassName, lightBackground, darkBackground, }: AppLayoutShellProps): React.JSX.Element;
181
+ export declare function AppLayoutShell({ children, navItems, sidebarItems, sidebarSections, renderSidebarItemAction, sidebarPrimaryActions, sidebarTitle, hiddenNavItems, user, brandName, brandShortName, siteLogoUrl, logoHref, promotionsHref, cartHref, wishlistHref, messagesHref, unreadMessageCount, userId, profileHref, loginHref, registerHref, homeHref, shopHref, footer, showFooter, searchSlot, searchSlotRenderer, titleBarNavSlot, titleBarNotificationSlot, titleBarDevSlot, titleBarPromoStripText, showThemeToggle, suppressDashboardNav, hideSidebarToggle, onLogout, adminHref, storeHref, sellerHref, userOrdersHref, userWishlistHref, userSettingsHref, userReviewsHref, sidebarLocaleSlot, showThemeToggleInSidebar, sidebarProfileLabels, eventBannerSlot, showBottomNav, contentClassName, lightBackground, darkBackground, }: AppLayoutShellProps): React.JSX.Element;
@@ -74,7 +74,7 @@ function flattenSidebarLinks(items) {
74
74
  * no caret small enough to aim at reliably — the tap has to do both jobs, in
75
75
  * order.
76
76
  */
77
- function SidebarParentLink({ item, activeItem, activeHref, navItemClass, navItemActiveClass, }) {
77
+ function SidebarParentLink({ item, activeItem, activeHref, navItemClass, navItemActiveClass, renderItemAction, }) {
78
78
  const children = item.children ?? [];
79
79
  const containsActive = !!activeItem && children.some((child) => child.href === activeItem.href);
80
80
  const [expanded, setExpanded] = useState(containsActive);
@@ -92,19 +92,20 @@ function SidebarParentLink({ item, activeItem, activeHref, navItemClass, navItem
92
92
  return;
93
93
  e.preventDefault();
94
94
  setExpanded(true);
95
- }, children: [item.icon && (_jsx(Span, { className: "flex-shrink-0 w-5 text-center", "aria-hidden": "true", children: item.icon })), item.label, _jsx(ChevronDown, { className: `ms-auto w-3.5 h-3.5 shrink-0 opacity-70 transition-transform duration-200 ${expanded ? "rotate-180" : ""}`, "aria-hidden": "true" })] }), expanded && (_jsx(SidebarSectionLinks, { items: children, activeHref: activeHref, activeItem: activeItem, navItemClass: navItemClass, navItemActiveClass: navItemActiveClass, nested: true }))] }));
95
+ }, children: [item.icon && (_jsx(Span, { className: "flex-shrink-0 w-5 text-center", "aria-hidden": "true", children: item.icon })), item.label, _jsx(ChevronDown, { className: `ms-auto w-3.5 h-3.5 shrink-0 opacity-70 transition-transform duration-200 ${expanded ? "rotate-180" : ""}`, "aria-hidden": "true" })] }), expanded && (_jsx(SidebarSectionLinks, { items: children, activeHref: activeHref, activeItem: activeItem, navItemClass: navItemClass, navItemActiveClass: navItemActiveClass, nested: true, renderItemAction: renderItemAction }))] }));
96
96
  }
97
97
  /** One sidebar link plus its indented sub-links. */
98
- function SidebarSectionLinks({ items, activeHref, activeItem, navItemClass, navItemActiveClass, nested = false, }) {
98
+ function SidebarSectionLinks({ items, activeHref, activeItem, navItemClass, navItemActiveClass, nested = false, renderItemAction, }) {
99
99
  return (_jsx(Ul, { spacing: "2xs", className: nested ? "ps-[var(--appkit-space-6)]" : undefined, children: items.map((item) => {
100
100
  const isActive = activeItem?.href === item.href;
101
101
  if (item.children && item.children.length > 0) {
102
- return (_jsx(SidebarParentLink, { item: item, activeItem: activeItem, activeHref: activeHref, navItemClass: navItemClass, navItemActiveClass: navItemActiveClass }, `${item.href}-${item.label}`));
102
+ return (_jsx(SidebarParentLink, { item: item, activeItem: activeItem, activeHref: activeHref, navItemClass: navItemClass, navItemActiveClass: navItemActiveClass, renderItemAction: renderItemAction }, `${item.href}-${item.label}`));
103
103
  }
104
- return (_jsx(Li, { children: _jsxs(TextLink, { href: item.href, variant: "none", className: isActive ? navItemActiveClass : navItemClass, "aria-current": isActive ? "page" : undefined, children: [item.icon && (_jsx(Span, { className: "flex-shrink-0 w-5 text-center", "aria-hidden": "true", children: item.icon })), item.label] }) }, `${item.href}-${item.label}`));
104
+ const action = renderItemAction?.(item);
105
+ return (_jsx(Li, { children: _jsxs(Row, { align: "center", gap: "xs", className: action ? "w-full" : undefined, children: [_jsxs(TextLink, { href: item.href, variant: "none", className: `${isActive ? navItemActiveClass : navItemClass}${action ? " min-w-0 flex-1" : ""}`, "aria-current": isActive ? "page" : undefined, children: [item.icon && (_jsx(Span, { className: "flex-shrink-0 w-5 text-center", "aria-hidden": "true", children: item.icon })), item.label] }), action] }) }, `${item.href}-${item.label}`));
105
106
  }) }));
106
107
  }
107
- function CollapsibleSidebarSection({ section, navItemClass, navItemActiveClass, activeHref, }) {
108
+ function CollapsibleSidebarSection({ section, navItemClass, navItemActiveClass, activeHref, renderItemAction, }) {
108
109
  const activeItem = findActiveNavItem(flattenSidebarLinks(section.items), activeHref);
109
110
  const hasActive = !!activeItem;
110
111
  const [open, setOpen] = useState((section.defaultOpen ?? false) || hasActive);
@@ -116,9 +117,9 @@ function CollapsibleSidebarSection({ section, navItemClass, navItemActiveClass,
116
117
  }, [hasActive]);
117
118
  const hasTitle = !!section.title;
118
119
  if (!hasTitle) {
119
- return (_jsx(SidebarSectionLinks, { items: section.items, activeHref: activeHref, activeItem: activeItem, navItemClass: navItemClass, navItemActiveClass: navItemActiveClass }));
120
+ return (_jsx(SidebarSectionLinks, { items: section.items, activeHref: activeHref, activeItem: activeItem, navItemClass: navItemClass, navItemActiveClass: navItemActiveClass, renderItemAction: renderItemAction }));
120
121
  }
121
- return (_jsxs(Stack, { gap: "none", className: "", children: [_jsxs("button", { type: "button", onClick: () => setOpen((v) => !v), className: "flex w-full items-center justify-between px-[var(--appkit-space-1)] py-[var(--appkit-space-1)] text-[length:var(--appkit-text-xs)] font-semibold uppercase tracking-wider text-[var(--appkit-color-text-muted)] hover:text-[var(--appkit-color-text-muted)] transition-colors", children: [_jsx(Span, { children: section.title }), _jsx("svg", { className: `w-3.5 h-3.5 transition-transform duration-200 ${open ? "rotate-180" : ""} shrink-0`, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })] }), open && (_jsx(SidebarSectionLinks, { items: section.items, activeHref: activeHref, activeItem: activeItem, navItemClass: navItemClass, navItemActiveClass: navItemActiveClass }))] }));
122
+ return (_jsxs(Stack, { gap: "none", className: "", children: [_jsxs("button", { type: "button", onClick: () => setOpen((v) => !v), className: "flex w-full items-center justify-between px-[var(--appkit-space-1)] py-[var(--appkit-space-1)] text-[length:var(--appkit-text-xs)] font-semibold uppercase tracking-wider text-[var(--appkit-color-text-muted)] hover:text-[var(--appkit-color-text-muted)] transition-colors", children: [_jsx(Span, { children: section.title }), _jsx("svg", { className: `w-3.5 h-3.5 transition-transform duration-200 ${open ? "rotate-180" : ""} shrink-0`, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })] }), open && (_jsx(SidebarSectionLinks, { items: section.items, activeHref: activeHref, activeItem: activeItem, navItemClass: navItemClass, navItemActiveClass: navItemActiveClass, renderItemAction: renderItemAction }))] }));
122
123
  }
123
124
  /** Sidebar header when a user is logged in — avatar + display name + close button. */
124
125
  function SidebarUserHeader({ user, onClose, profileHref, }) {
@@ -136,7 +137,7 @@ function SidebarUserHeader({ user, onClose, profileHref, }) {
136
137
  function SidebarGuestHeader({ sidebarTitle, onClose, }) {
137
138
  return (_jsxs(Row, { align: "center", justify: "between", children: [_jsx(Div, { textWeight: "semibold", textSize: "sm", color: "primary", children: sidebarTitle }), _jsx("button", { type: "button", "aria-label": "Close menu", onClick: onClose, className: "rounded-full p-[var(--appkit-space-2)] hover:bg-surface-hover hover:text-zinc-900 text-[var(--appkit-color-text-muted)] dark:hover:text-zinc-100 transition-all hover:rotate-90", children: _jsx("svg", { className: "w-4 h-4 shrink-0", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })] }));
138
139
  }
139
- function SidebarContent({ sidebarItems, sidebarSections, sidebarPrimaryActions, user, activeHref, profileHref, userOrdersHref, userWishlistHref, userSettingsHref, userReviewsHref, adminHref, storeHref, sellerHref, sidebarLocaleSlot, showThemeToggleInSidebar, sidebarProfileLabels, theme, activeThemeName, toggleTheme, onLogout, onAfterLogout, }) {
140
+ function SidebarContent({ sidebarItems, sidebarSections, renderSidebarItemAction, sidebarPrimaryActions, user, activeHref, profileHref, userOrdersHref, userWishlistHref, userSettingsHref, userReviewsHref, adminHref, storeHref, sellerHref, sidebarLocaleSlot, showThemeToggleInSidebar, sidebarProfileLabels, theme, activeThemeName, toggleTheme, onLogout, onAfterLogout, }) {
140
141
  const hasLegacyItems = sidebarItems.length > 0;
141
142
  const hasSections = !!(sidebarSections && sidebarSections.length > 0);
142
143
  const isAuthenticated = !!user;
@@ -185,10 +186,10 @@ function SidebarContent({ sidebarItems, sidebarSections, sidebarPrimaryActions,
185
186
  action.variant === "outline"
186
187
  ? "border hover:bg-surface-hover border-[var(--appkit-color-border)] text-[var(--appkit-color-text)]"
187
188
  : "bg-primary text-white hover:bg-primary-600 dark:bg-primary dark:hover:bg-primary-600 btn-glow",
188
- ].join(" "), children: action.label }, `${action.href}-${action.label}`))) })), isAuthenticated && (_jsx(CollapsibleNavGroup, { title: labels.sectionTitle, hasActive: !!activeProfileLink, children: _jsxs(Ul, { spacing: "2xs", children: [_jsx(Li, { children: _jsx(TextLink, { href: profileHref, variant: "none", className: activeProfileLink?.href === profileHref ? navItemActiveClass : navItemClass, "aria-current": activeProfileLink?.href === profileHref ? "page" : undefined, children: labels.profile }) }), userOrdersHref && (_jsx(Li, { children: _jsx(TextLink, { href: userOrdersHref, variant: "none", className: activeProfileLink?.href === userOrdersHref ? navItemActiveClass : navItemClass, "aria-current": activeProfileLink?.href === userOrdersHref ? "page" : undefined, children: labels.orders }) })), userWishlistHref && (_jsx(Li, { children: _jsx(TextLink, { href: userWishlistHref, variant: "none", className: activeProfileLink?.href === userWishlistHref ? navItemActiveClass : navItemClass, "aria-current": activeProfileLink?.href === userWishlistHref ? "page" : undefined, children: labels.wishlist }) })), userSettingsHref && (_jsx(Li, { children: _jsx(TextLink, { href: userSettingsHref, variant: "none", className: activeProfileLink?.href === userSettingsHref ? navItemActiveClass : navItemClass, "aria-current": activeProfileLink?.href === userSettingsHref ? "page" : undefined, children: labels.settings }) }))] }) })), isAuthenticated && user?.stats && (_jsxs(Div, { layout: "grid", gap: "2", className: "grid-cols-2", children: [user.stats.totalOrders != null && userOrdersHref && (_jsxs(TextLink, { href: userOrdersHref, variant: "none", className: CLS_STAT_BOX, children: [_jsx(Text, { className: "leading-none", color: "primary", size: "lg", weight: "bold", children: user.stats.totalOrders }), _jsx(Text, { className: CLS_STAT_LABEL, children: "Orders" })] })), user.stats.reviewsCount != null && userReviewsHref && (_jsxs(TextLink, { href: userReviewsHref, variant: "none", className: CLS_STAT_BOX, children: [_jsx(Text, { className: "leading-none", color: "primary", size: "lg", weight: "bold", children: user.stats.reviewsCount }), _jsx(Text, { className: CLS_STAT_LABEL, children: "Reviews" })] })), auctionsEnabled && user.stats.auctionsWon != null && userOrdersHref && (_jsxs(TextLink, { href: `${userOrdersHref}?orderType=auction`, variant: "none", className: CLS_STAT_BOX, children: [_jsx(Text, { className: "leading-none", color: "primary", size: "lg", weight: "bold", children: user.stats.auctionsWon }), _jsx(Text, { className: CLS_STAT_LABEL, children: "Auctions Won" })] }))] })), isAuthenticated && isAdminOrSeller && (adminHref || resolvedStoreHref) && (_jsx(CollapsibleNavGroup, { title: labels.dashboardSectionTitle, hasActive: !!activeDashboardLink, children: _jsxs(Ul, { spacing: "2xs", children: [adminHref && role === "admin" && (_jsx(Li, { children: _jsx(TextLink, { href: adminHref, variant: "none", className: activeDashboardLink?.href === adminHref ? navItemActiveClass : navItemClass, "aria-current": activeDashboardLink?.href === adminHref ? "page" : undefined, children: labels.adminDashboard }) })), resolvedStoreHref && isAdminOrSeller && (_jsx(Li, { children: _jsx(TextLink, { href: resolvedStoreHref, variant: "none", className: activeDashboardLink?.href === resolvedStoreHref ? navItemActiveClass : navItemClass, "aria-current": activeDashboardLink?.href === resolvedStoreHref ? "page" : undefined, children: labels.storeDashboard }) }))] }) })), normalizedSections.map((section, sectionIndex) => (_jsx(CollapsibleSidebarSection, { section: section, navItemClass: navItemClass, navItemActiveClass: navItemActiveClass, activeHref: activeHref }, `sidebar-section-${sectionIndex}`))), (sidebarLocaleSlot || showThemeToggleInSidebar || (isAuthenticated && onLogout)) && (_jsxs(Stack, { border: "default", className: "border-t border-[var(--appkit-color-border-subtle)]", padding: "t-md", gap: "3", children: [sidebarLocaleSlot, showThemeToggleInSidebar && (_jsxs("button", { type: "button", onClick: toggleTheme, className: "flex w-full items-center justify-end gap-[var(--appkit-space-3)] rounded-lg px-[var(--appkit-space-3)] py-[var(--appkit-space-2)] text-[length:var(--appkit-text-sm)] text-[var(--appkit-color-text-muted)] transition-colors hover:bg-primary-surface hover:text-primary-800 dark:hover:text-primary-200", children: [_jsx(Span, { "aria-hidden": "true", children: theme === "dark" ? "☀️" : "🌙" }), activeThemeName] })), isAuthenticated && onLogout && (_jsx("button", { type: "button", onClick: () => { onLogout(); onAfterLogout(); }, className: CLS_LOGOUT_BTN, children: labels.logout }))] }))] }));
189
+ ].join(" "), children: action.label }, `${action.href}-${action.label}`))) })), isAuthenticated && (_jsx(CollapsibleNavGroup, { title: labels.sectionTitle, hasActive: !!activeProfileLink, children: _jsxs(Ul, { spacing: "2xs", children: [_jsx(Li, { children: _jsx(TextLink, { href: profileHref, variant: "none", className: activeProfileLink?.href === profileHref ? navItemActiveClass : navItemClass, "aria-current": activeProfileLink?.href === profileHref ? "page" : undefined, children: labels.profile }) }), userOrdersHref && (_jsx(Li, { children: _jsx(TextLink, { href: userOrdersHref, variant: "none", className: activeProfileLink?.href === userOrdersHref ? navItemActiveClass : navItemClass, "aria-current": activeProfileLink?.href === userOrdersHref ? "page" : undefined, children: labels.orders }) })), userWishlistHref && (_jsx(Li, { children: _jsx(TextLink, { href: userWishlistHref, variant: "none", className: activeProfileLink?.href === userWishlistHref ? navItemActiveClass : navItemClass, "aria-current": activeProfileLink?.href === userWishlistHref ? "page" : undefined, children: labels.wishlist }) })), userSettingsHref && (_jsx(Li, { children: _jsx(TextLink, { href: userSettingsHref, variant: "none", className: activeProfileLink?.href === userSettingsHref ? navItemActiveClass : navItemClass, "aria-current": activeProfileLink?.href === userSettingsHref ? "page" : undefined, children: labels.settings }) }))] }) })), isAuthenticated && user?.stats && (_jsxs(Div, { layout: "grid", gap: "2", className: "grid-cols-2", children: [user.stats.totalOrders != null && userOrdersHref && (_jsxs(TextLink, { href: userOrdersHref, variant: "none", className: CLS_STAT_BOX, children: [_jsx(Text, { className: "leading-none", color: "primary", size: "lg", weight: "bold", children: user.stats.totalOrders }), _jsx(Text, { className: CLS_STAT_LABEL, children: "Orders" })] })), user.stats.reviewsCount != null && userReviewsHref && (_jsxs(TextLink, { href: userReviewsHref, variant: "none", className: CLS_STAT_BOX, children: [_jsx(Text, { className: "leading-none", color: "primary", size: "lg", weight: "bold", children: user.stats.reviewsCount }), _jsx(Text, { className: CLS_STAT_LABEL, children: "Reviews" })] })), auctionsEnabled && user.stats.auctionsWon != null && userOrdersHref && (_jsxs(TextLink, { href: `${userOrdersHref}?orderType=auction`, variant: "none", className: CLS_STAT_BOX, children: [_jsx(Text, { className: "leading-none", color: "primary", size: "lg", weight: "bold", children: user.stats.auctionsWon }), _jsx(Text, { className: CLS_STAT_LABEL, children: "Auctions Won" })] }))] })), isAuthenticated && isAdminOrSeller && (adminHref || resolvedStoreHref) && (_jsx(CollapsibleNavGroup, { title: labels.dashboardSectionTitle, hasActive: !!activeDashboardLink, children: _jsxs(Ul, { spacing: "2xs", children: [adminHref && role === "admin" && (_jsx(Li, { children: _jsx(TextLink, { href: adminHref, variant: "none", className: activeDashboardLink?.href === adminHref ? navItemActiveClass : navItemClass, "aria-current": activeDashboardLink?.href === adminHref ? "page" : undefined, children: labels.adminDashboard }) })), resolvedStoreHref && isAdminOrSeller && (_jsx(Li, { children: _jsx(TextLink, { href: resolvedStoreHref, variant: "none", className: activeDashboardLink?.href === resolvedStoreHref ? navItemActiveClass : navItemClass, "aria-current": activeDashboardLink?.href === resolvedStoreHref ? "page" : undefined, children: labels.storeDashboard }) }))] }) })), normalizedSections.map((section, sectionIndex) => (_jsx(CollapsibleSidebarSection, { section: section, navItemClass: navItemClass, navItemActiveClass: navItemActiveClass, activeHref: activeHref, renderItemAction: renderSidebarItemAction }, `sidebar-section-${sectionIndex}`))), (sidebarLocaleSlot || showThemeToggleInSidebar || (isAuthenticated && onLogout)) && (_jsxs(Stack, { border: "default", className: "border-t border-[var(--appkit-color-border-subtle)]", padding: "t-md", gap: "3", children: [sidebarLocaleSlot, showThemeToggleInSidebar && (_jsxs("button", { type: "button", onClick: toggleTheme, className: "flex w-full items-center justify-end gap-[var(--appkit-space-3)] rounded-lg px-[var(--appkit-space-3)] py-[var(--appkit-space-2)] text-[length:var(--appkit-text-sm)] text-[var(--appkit-color-text-muted)] transition-colors hover:bg-primary-surface hover:text-primary-800 dark:hover:text-primary-200", children: [_jsx(Span, { "aria-hidden": "true", children: theme === "dark" ? "☀️" : "🌙" }), activeThemeName] })), isAuthenticated && onLogout && (_jsx("button", { type: "button", onClick: () => { onLogout(); onAfterLogout(); }, className: CLS_LOGOUT_BTN, children: labels.logout }))] }))] }));
189
190
  }
190
191
  // ─── Main component ────────────────────────────────────────────────────────────
191
- export function AppLayoutShell({ children, navItems, sidebarItems = [], sidebarSections, sidebarPrimaryActions, sidebarTitle = "Navigation", hiddenNavItems, user, brandName, brandShortName, siteLogoUrl, logoHref, promotionsHref, cartHref, wishlistHref, messagesHref, unreadMessageCount, userId, profileHref, loginHref, registerHref, homeHref, shopHref, footer, showFooter = true, searchSlot, searchSlotRenderer, titleBarNavSlot, titleBarNotificationSlot, titleBarDevSlot, titleBarPromoStripText, showThemeToggle = false, suppressDashboardNav = false, hideSidebarToggle = false, onLogout, adminHref, storeHref, sellerHref, userOrdersHref, userWishlistHref, userSettingsHref, userReviewsHref, sidebarLocaleSlot, showThemeToggleInSidebar = false, sidebarProfileLabels, eventBannerSlot, showBottomNav = true, contentClassName, lightBackground = DEFAULT_LIGHT_BG, darkBackground = DEFAULT_DARK_BG, }) {
192
+ export function AppLayoutShell({ children, navItems, sidebarItems = [], sidebarSections, renderSidebarItemAction, sidebarPrimaryActions, sidebarTitle = "Navigation", hiddenNavItems, user, brandName, brandShortName, siteLogoUrl, logoHref, promotionsHref, cartHref, wishlistHref, messagesHref, unreadMessageCount, userId, profileHref, loginHref, registerHref, homeHref, shopHref, footer, showFooter = true, searchSlot, searchSlotRenderer, titleBarNavSlot, titleBarNotificationSlot, titleBarDevSlot, titleBarPromoStripText, showThemeToggle = false, suppressDashboardNav = false, hideSidebarToggle = false, onLogout, adminHref, storeHref, sellerHref, userOrdersHref, userWishlistHref, userSettingsHref, userReviewsHref, sidebarLocaleSlot, showThemeToggleInSidebar = false, sidebarProfileLabels, eventBannerSlot, showBottomNav = true, contentClassName, lightBackground = DEFAULT_LIGHT_BG, darkBackground = DEFAULT_DARK_BG, }) {
192
193
  // QueryClientProvider used to be created here so AppLayoutShell could stand
193
194
  // alone. The real cause of the 2026-06-10/11 "No QueryClient set" prod crash
194
195
  // turned out to be a peer-dep duplicate of @tanstack/query-core under
@@ -236,7 +237,7 @@ export function AppLayoutShell({ children, navItems, sidebarItems = [], sidebarS
236
237
  // by its countdown alone got no clearance). That mirror is gone: BottomChrome
237
238
  // measures the real tier and publishes --bottom-chrome-height, and the footer
238
239
  // reserves space from that. Nothing needs to guess any more.
239
- const sidebarContent = (_jsx(SidebarContent, { sidebarItems: sidebarItems, sidebarSections: sidebarSections, sidebarPrimaryActions: sidebarPrimaryActions, user: user, activeHref: pathname ?? "", profileHref: profileHref, userOrdersHref: userOrdersHref, userWishlistHref: userWishlistHref, userSettingsHref: userSettingsHref, userReviewsHref: userReviewsHref, adminHref: adminHref, storeHref: storeHref, sellerHref: sellerHref, sidebarLocaleSlot: sidebarLocaleSlot, showThemeToggleInSidebar: showThemeToggleInSidebar, sidebarProfileLabels: sidebarProfileLabels, theme: theme, activeThemeName: activeTheme.name, toggleTheme: toggleTheme, onLogout: onLogout, onAfterLogout: () => setSidebarOpen(false) }));
240
+ const sidebarContent = (_jsx(SidebarContent, { sidebarItems: sidebarItems, sidebarSections: sidebarSections, renderSidebarItemAction: renderSidebarItemAction, sidebarPrimaryActions: sidebarPrimaryActions, user: user, activeHref: pathname ?? "", profileHref: profileHref, userOrdersHref: userOrdersHref, userWishlistHref: userWishlistHref, userSettingsHref: userSettingsHref, userReviewsHref: userReviewsHref, adminHref: adminHref, storeHref: storeHref, sellerHref: sellerHref, sidebarLocaleSlot: sidebarLocaleSlot, showThemeToggleInSidebar: showThemeToggleInSidebar, sidebarProfileLabels: sidebarProfileLabels, theme: theme, activeThemeName: activeTheme.name, toggleTheme: toggleTheme, onLogout: onLogout, onAfterLogout: () => setSidebarOpen(false) }));
240
241
  const normalizedLightBackground = {
241
242
  type: lightBackground.type,
242
243
  value: lightBackground.value,
@@ -3,7 +3,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import Link from "next/link.js";
4
4
  import { usePathname } from "next/navigation.js";
5
5
  import { LISTING_TYPE_REGISTRY } from "../../_internal/shared/listing-types/_registry.js";
6
- import { Div, Li, Nav, Ol, Span } from "../../ui/index.js";
6
+ import { Div } from "../../ui/components/Div.js";
7
+ import { Li, Nav, Ol } from "../../ui/components/Semantic.js";
8
+ import { Span } from "../../ui/components/Typography.js";
7
9
  /** Map of path segments → human-readable labels. */
8
10
  const DEFAULT_PATH_LABELS = {
9
11
  auth: "Authentication",
@@ -4,7 +4,8 @@ import Link from "next/link.js";
4
4
  import { usePathname } from "next/navigation.js";
5
5
  import { useEffect, useState } from "react";
6
6
  import { ChevronUp, X } from "lucide-react";
7
- import { Div, IconButton } from "../../ui/index.js";
7
+ import { Div } from "../../ui/components/Div.js";
8
+ import { IconButton } from "../../ui/components/IconButton.js";
8
9
  import { useHandMode } from "../../_internal/client/hand-mode/index.js";
9
10
  /**
10
11
  * BackToTop — floating scroll-to-top button.
@@ -56,7 +56,11 @@ import { useBottomActionsContext } from "./BottomActionsContext.js";
56
56
  import { useClickOutside } from "../../react/index.js";
57
57
  import { useCtaReveal } from "./useCtaReveal.js";
58
58
  import { useIsDesktop } from "./useIsDesktop.js";
59
- import { ActionRow, Div, Row, Span, Text, Button } from "../../ui/index.js";
59
+ import { ActionRow } from "../../ui/components/ActionRow.js";
60
+ import { Div } from "../../ui/components/Div.js";
61
+ import { Row } from "../../ui/components/Layout.js";
62
+ import { Span, Text } from "../../ui/components/Typography.js";
63
+ import { Button } from "../../ui/components/Button.js";
60
64
  // Token values inlined from @mohasinac/appkit/tokens
61
65
  const BOTTOM_NAV_BG = "bg-[color-mix(in_srgb,var(--appkit-color-bg)_90%,transparent)] backdrop-blur-md border-t border-[var(--appkit-color-border)]";
62
66
  const BOTTOM_NAV_HEIGHT = "h-14";
@@ -35,7 +35,7 @@
35
35
  * ```
36
36
  */
37
37
  import React from "react";
38
- import type { ButtonProps } from "../../ui";
38
+ import type { ButtonProps } from "../../ui/components/Button";
39
39
  export interface BottomAction {
40
40
  /** Stable unique key (used as React key). */
41
41
  id: string;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React, { useEffect, useRef } from "react";
4
- import { Div } from "../../ui/index.js";
4
+ import { Div } from "../../ui/components/Div.js";
5
5
  import { BOTTOM_CHROME_SLOT_ID } from "../../ui/components/bottom-chrome-slot.js";
6
6
  import { useIsDesktop } from "./useIsDesktop.js";
7
7
  /**
@@ -6,6 +6,14 @@ export interface BottomNavItemProps {
6
6
  badge?: number | null;
7
7
  isActive?: boolean;
8
8
  className?: string;
9
+ /**
10
+ * The link component. Defaults to `next/link`, and that default is
11
+ * load-bearing — see the note at the render below.
12
+ *
13
+ * Override it to supply a locale-aware link (`@/i18n/navigation`), never to go
14
+ * back to a bare anchor. Same contract as `OverflowRow`'s `linkAs`.
15
+ */
16
+ linkAs?: React.ElementType;
9
17
  }
10
18
  /**
11
19
  * BottomNavItem — a single tap target inside `<BottomNavLayout>`.
@@ -25,4 +33,4 @@ export interface BottomNavItemProps {
25
33
  * </BottomNavLayout>
26
34
  * ```
27
35
  */
28
- export declare function BottomNavItem({ href, label, icon, badge, isActive, className, }: BottomNavItemProps): React.JSX.Element;
36
+ export declare function BottomNavItem({ href, label, icon, badge, isActive, className, linkAs: Link, }: BottomNavItemProps): React.JSX.Element;
@@ -1,5 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Li, Span } from "../../ui/index.js";
2
+ import NextLink from "next/link.js";
3
+ import { Li } from "../../ui/components/Semantic.js";
4
+ import { Span } from "../../ui/components/Typography.js";
3
5
  /**
4
6
  * BottomNavItem — a single tap target inside `<BottomNavLayout>`.
5
7
  *
@@ -18,10 +20,23 @@ import { Li, Span } from "../../ui/index.js";
18
20
  * </BottomNavLayout>
19
21
  * ```
20
22
  */
21
- export function BottomNavItem({ href, label, icon, badge, isActive = false, className, }) {
22
- // Use a plain anchor so this component stays framework-agnostic.
23
- // Consumer projects may swap for next/link if preferred.
24
- return (_jsx(Li, { className: "flex-1", children: _jsxs("a", { href: href, "aria-label": label, "aria-current": isActive ? "page" : undefined, className: `relative flex flex-col items-center justify-center gap-[var(--appkit-space-0-5)] h-full w-full min-h-[44px] transition-colors ${isActive
23
+ export function BottomNavItem({ href, label, icon, badge, isActive = false, className, linkAs: Link = NextLink, }) {
24
+ /*
25
+ * 🛑 `next/link`, not a bare `<a>`. This rendered a plain anchor until
26
+ * 2026-10-24, with two comments in this file contradicting each other about
27
+ * it — the docstring above said "Renders as `<a>` via Next.js `<Link>`" while
28
+ * the line below it said "use a plain anchor so this component stays
29
+ * framework-agnostic". The code did the second, so every tap on the MOBILE
30
+ * BOTTOM NAV — the primary navigation on a phone — was a full page load, and
31
+ * the only symptom is a flash.
32
+ *
33
+ * "Framework-agnostic" was never the real constraint: `OverflowRow` has
34
+ * imported `next/link` as its `linkAs` default since it shipped, and
35
+ * CLAUDE.md records that default as load-bearing for exactly this reason. The
36
+ * same escape hatch is here, so a consumer can still inject a locale-aware
37
+ * link.
38
+ */
39
+ return (_jsx(Li, { className: "flex-1", children: _jsxs(Link, { href: href, "aria-label": label, "aria-current": isActive ? "page" : undefined, className: `relative flex flex-col items-center justify-center gap-[var(--appkit-space-0-5)] h-full w-full min-h-[44px] transition-colors ${isActive
25
40
  ? "text-primary-600 dark:text-secondary-400"
26
41
  : "text-[var(--appkit-color-text-muted)] hover:text-[var(--appkit-color-text)]"}${className ? ` ${className}` : ""}`, children: [_jsxs(Span, { className: "relative", children: [icon, badge != null && badge > 0 && (_jsx(Span, { layout: "flex-center", color: "inverse", "aria-label": `${badge} items`, className: "absolute -top-1.5 -right-1.5 min-w-[16px] h-4 px-[var(--appkit-space-1)] text-[10px] bg-secondary-500 leading-none", rounded: "full", weight: "bold", children: badge > 99 ? "99+" : badge }))] }), _jsx(Span, { weight: "medium", className: "text-[10px] leading-none", children: label })] }) }));
27
42
  }
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { useEffect } from "react";
4
- import { Nav, Ul } from "../../ui/index.js";
4
+ import { Nav, Ul } from "../../ui/components/Semantic.js";
5
5
  import { useVisualViewportInset } from "../../react/hooks/useVisualViewportInset.js";
6
6
  /**
7
7
  * BottomNavLayout — generic fixed-bottom navigation shell.
@@ -1,7 +1,10 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useEffect, useCallback } from "react";
4
- import { Button, Div, Row, Span, Stack } from "../../ui/index.js";
4
+ import { Button } from "../../ui/components/Button.js";
5
+ import { Div } from "../../ui/components/Div.js";
6
+ import { Row, Stack } from "../../ui/components/Layout.js";
7
+ import { Span } from "../../ui/components/Typography.js";
5
8
  const __O = {
6
9
  yAuto: "overflow-y-auto",
7
10
  };
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from "react";
3
3
  import Link from "next/link.js";
4
- import { Li, Nav, Ol, Span } from "../../ui/index.js";
4
+ import { Li, Nav, Ol } from "../../ui/components/Semantic.js";
5
+ import { Span } from "../../ui/components/Typography.js";
5
6
  /**
6
7
  * Breadcrumbs — navigation hierarchy showing the user's location.
7
8
  * Automatically adds separators between items.
@@ -3,7 +3,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import Link from "next/link.js";
4
4
  import { useState } from "react";
5
5
  import { ChevronDown } from "lucide-react";
6
- import { BlockFooter, Button, Div, Heading, Li, Nav, Row, Span, Stack, Text, Ul } from "../../ui/index.js";
6
+ import { BlockFooter, Li, Nav, Ul } from "../../ui/components/Semantic.js";
7
+ import { Button } from "../../ui/components/Button.js";
8
+ import { Div } from "../../ui/components/Div.js";
9
+ import { Heading, Span, Text } from "../../ui/components/Typography.js";
10
+ import { Row, Stack } from "../../ui/components/Layout.js";
7
11
  export function FooterLayout({ brandName, brandDescription, socialLinks, linkGroups, copyrightText, madeInText, newsletterSlot, newsletterEnabled = true, showTrustBar = false, trustBarItems = [], bottomLinks = [], id = "footer", }) {
8
12
  const [openGroups, setOpenGroups] = useState({});
9
13
  const toggleGroup = (idx) => setOpenGroups((prev) => ({ ...prev, [idx]: !prev[idx] }));
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Select } from "../../ui/index.js";
2
+ import { Select } from "../../ui/components/Select.js";
3
3
  /**
4
4
  * LocaleSwitcher — generic locale selector.
5
5
  *
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import Link from "next/link.js";
3
- import { Row, Span } from "../../ui/index.js";
3
+ import { Row } from "../../ui/components/Layout.js";
4
+ import { Span } from "../../ui/components/Typography.js";
4
5
  /**
5
6
  * NavItem — reusable navigation link with horizontal and vertical variants.
6
7
  * Color and typography are controlled via className props from the consumer.
@@ -4,7 +4,11 @@ import { useRef, useState, useEffect, useCallback } from "react";
4
4
  import { createPortal } from "react-dom";
5
5
  import Link from "next/link.js";
6
6
  import { ChevronDown } from "lucide-react";
7
- import { Div, IconButton, Li, Nav, Row, Span, Ul } from "../../ui/index.js";
7
+ import { Div } from "../../ui/components/Div.js";
8
+ import { IconButton } from "../../ui/components/IconButton.js";
9
+ import { Li, Nav, Ul } from "../../ui/components/Semantic.js";
10
+ import { Row } from "../../ui/components/Layout.js";
11
+ import { Span } from "../../ui/components/Typography.js";
8
12
  import { NavbarChevron } from "../../ui/components/NavbarChevron.js";
9
13
  import { findActiveNavItem } from "../../_internal/client/features/layout/navActive.js";
10
14
  import { useHoldToOpen } from "./useHoldToOpen.js";
@@ -35,7 +35,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
35
35
  * @tag sideEffects:router
36
36
  */
37
37
  import React from "react";
38
- import { Tabs, TabsList, TabsTrigger, TabsContent } from "../../ui/index.js";
38
+ import { Tabs, TabsList, TabsTrigger, TabsContent } from "../../ui/components/Tabs.js";
39
39
  import { useTabParam } from "../../react/hooks/useTabParam.js";
40
40
  export function PageTabs({ tabs, panels, defaultTabId }) {
41
41
  const ids = React.useMemo(() => tabs.map((t) => t.id), [tabs]);
@@ -54,7 +54,13 @@ import { useClickOutside } from "../../react/index.js";
54
54
  import { useHandMode } from "../../_internal/client/hand-mode/index.js";
55
55
  import { useCtaReveal } from "./useCtaReveal.js";
56
56
  import { useIsDesktop } from "./useIsDesktop.js";
57
- import { ActionRow, Div, ICON_SIZE, IconButton, Row, Span, Stack, Text, Button } from "../../ui/index.js";
57
+ import { ActionRow } from "../../ui/components/ActionRow.js";
58
+ import { Div } from "../../ui/components/Div.js";
59
+ import { ICON_SIZE } from "../../ui/icons/icon-registry.js";
60
+ import { IconButton } from "../../ui/components/IconButton.js";
61
+ import { Row, Stack } from "../../ui/components/Layout.js";
62
+ import { Span, Text } from "../../ui/components/Typography.js";
63
+ import { Button } from "../../ui/components/Button.js";
58
64
  const PANEL_SURFACE = "bg-[color-mix(in_srgb,var(--appkit-color-bg)_94%,transparent)] backdrop-blur-md border border-[var(--appkit-color-border)]";
59
65
  const FLEX_CENTER = "flex items-center justify-center";
60
66
  const CLS_COUNT_BADGE = "bg-error-solid text-error-on-solid";
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { type SectionBackgroundConfig } from "../../ui";
2
+ import type { SectionBackgroundConfig } from "../../ui/components/Semantic";
3
3
  export interface SidebarLayoutProps {
4
4
  isOpen: boolean;
5
5
  ariaLabel: string;
@@ -1,7 +1,8 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { forwardRef } from "react";
4
- import { Aside, Div, Section } from "../../ui/index.js";
4
+ import { Aside, Section } from "../../ui/components/Semantic.js";
5
+ import { Div } from "../../ui/components/Div.js";
5
6
  import { useHandMode } from "../../_internal/client/hand-mode/index.js";
6
7
  const __O = {
7
8
  yAuto: "overflow-y-auto",
@@ -1,6 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import Link from "next/link.js";
3
- import { Avatar, BlockHeader, Div, Icon, IconButton, Row, Section, SiteLogo, SiteMark, Span } from "../../ui/index.js";
3
+ import { Avatar } from "../../ui/components/Avatar.js";
4
+ import { BlockHeader, Section } from "../../ui/components/Semantic.js";
5
+ import { Div } from "../../ui/components/Div.js";
6
+ import { Icon } from "../../ui/components/Icon.js";
7
+ import { IconButton } from "../../ui/components/IconButton.js";
8
+ import { Row } from "../../ui/components/Layout.js";
9
+ import { SiteLogo } from "../../ui/components/SiteLogo.js";
10
+ import { SiteMark } from "../../ui/components/SiteMark.js";
11
+ import { Span } from "../../ui/components/Typography.js";
4
12
  /**
5
13
  * Shared class for the LINK-wrapped icon controls (bell, wishlist, cart,
6
14
  * compare, profile). The button-wrapped ones use `<IconButton size="touch">`,
@@ -25,7 +25,7 @@ export type { BackToTopProps } from "./BackToTop";
25
25
  export { LayoutClient } from "./LayoutClient";
26
26
  export type { LayoutClientProps, LayoutProvider } from "./LayoutClient";
27
27
  export { AppLayoutShell } from "./AppLayoutShell";
28
- export type { AppLayoutShellProps, AppLayoutShellSidebarLink, AppLayoutShellSidebarSection } from "./AppLayoutShell";
28
+ export type { AppLayoutShellProps, AppLayoutShellSidebarLink, AppLayoutShellSidebarSection, SidebarItemActionRenderer } from "./AppLayoutShell";
29
29
  export { BottomActionsProvider, useBottomActionsContext, } from "./BottomActionsContext";
30
30
  export type { BottomAction, BottomBulkConfig, BottomActionsState, BottomActionsDesktopMode, } from "./BottomActionsContext";
31
31
  export { useBottomActions } from "./hooks/useBottomActions";
@@ -10,9 +10,15 @@ const CLS_WARN_BODY = "mt-1 text-warning";
10
10
  import { ROUTES } from "../../../next/routing/route-map.js";
11
11
  import { getDefaultCurrency } from "../../../core/baseline-resolver.js";
12
12
  import { formatCurrency } from "../../../utils/number.formatter.js";
13
- import { normalizeRichTextHtml } from "../../../utils/string.formatter.js";
13
+ import { toDescriptionHtml } from "../../../utils/string.formatter.js";
14
14
  import { safeDisplayName } from "../../../security/index.js";
15
- import { Div, Container, GatedPrice, PricesOnly, Heading, Main, Nav, RichText, Row, Section, Span, Stack, Text, SpecTable, } from "../../../ui/index.js";
15
+ import { Div } from "../../../ui/components/Div.js";
16
+ import { Container, Row, Stack } from "../../../ui/components/Layout.js";
17
+ import { GatedPrice, PricesOnly } from "../../../ui/components/GatedPrice.js";
18
+ import { Heading, Span, Text } from "../../../ui/components/Typography.js";
19
+ import { Main, Nav, Section } from "../../../ui/components/Semantic.js";
20
+ import { RichText } from "../../../ui/rich-text/RichText.js";
21
+ import { SpecTable } from "../../../ui/components/SpecTable.js";
16
22
  import { PreOrderDetailView } from "../../products/components/PreOrderDetailView.js";
17
23
  import { ProductGalleryClient } from "../../products/components/ProductGalleryClient.js";
18
24
  import { ProductTabsShell } from "../../products/components/ProductTabsShell.js";
@@ -27,12 +33,6 @@ import { ReviewsListingPanel } from "../../reviews/components/ReviewsListingPane
27
33
  import { ListingBottomActions } from "../../products/components/ListingBottomActions.js";
28
34
  import { productImageUrls } from "../../products/schemas/firestore.js";
29
35
  import { PurchaseReviewAffordance } from "../../reviews/components/PurchaseReviewAffordance.js";
30
- function toDescriptionHtml(raw) {
31
- if (!raw)
32
- return "";
33
- const s = typeof raw === "string" ? raw : JSON.stringify(raw);
34
- return normalizeRichTextHtml(s);
35
- }
36
36
  export async function LiveItemDetailPageView({ slug, initialProduct, renderActions }) {
37
37
  const product = initialProduct !== undefined
38
38
  ? (initialProduct ?? undefined)
@@ -3,7 +3,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { FilterFacetSection } from "../../filters/FilterFacetSection.js";
4
4
  import { AsyncFacetSection } from "../../filters/AsyncFacetSection.js";
5
5
  import { RangeFilter } from "../../filters/RangeFilter.js";
6
- import { Div, Input, Label } from "../../../ui/index.js";
6
+ import { Div } from "../../../ui/components/Div.js";
7
+ import { Input } from "../../../ui/components/Input.js";
8
+ import { Label } from "../../../ui/components/Typography.js";
7
9
  const SEX_OPTIONS = [
8
10
  { value: "male", label: "Male" },
9
11
  { value: "female", label: "Female" },
@@ -10,13 +10,13 @@ export declare const lotterySlotWriteSchema: z.ZodObject<{
10
10
  image: z.ZodOptional<z.ZodString>;
11
11
  price: z.ZodNumber;
12
12
  }, "strict", z.ZodTypeAny, {
13
- name: string;
14
13
  price: number;
14
+ name: string;
15
15
  slotNumber: number;
16
16
  image?: string | undefined;
17
17
  }, {
18
- name: string;
19
18
  price: number;
19
+ name: string;
20
20
  slotNumber: number;
21
21
  image?: string | undefined;
22
22
  }>;
@@ -36,20 +36,20 @@ export declare const lotteryConfigWriteSchema: z.ZodEffects<z.ZodEffects<z.ZodOb
36
36
  image: z.ZodOptional<z.ZodString>;
37
37
  price: z.ZodNumber;
38
38
  }, "strict", z.ZodTypeAny, {
39
- name: string;
40
39
  price: number;
40
+ name: string;
41
41
  slotNumber: number;
42
42
  image?: string | undefined;
43
43
  }, {
44
- name: string;
45
44
  price: number;
45
+ name: string;
46
46
  slotNumber: number;
47
47
  image?: string | undefined;
48
48
  }>, "many">;
49
49
  }, "strict", z.ZodTypeAny, {
50
50
  slots: {
51
- name: string;
52
51
  price: number;
52
+ name: string;
53
53
  slotNumber: number;
54
54
  image?: string | undefined;
55
55
  }[];
@@ -60,8 +60,8 @@ export declare const lotteryConfigWriteSchema: z.ZodEffects<z.ZodEffects<z.ZodOb
60
60
  uniformPrice?: number | undefined;
61
61
  }, {
62
62
  slots: {
63
- name: string;
64
63
  price: number;
64
+ name: string;
65
65
  slotNumber: number;
66
66
  image?: string | undefined;
67
67
  }[];
@@ -72,8 +72,8 @@ export declare const lotteryConfigWriteSchema: z.ZodEffects<z.ZodEffects<z.ZodOb
72
72
  uniformPrice?: number | undefined;
73
73
  }>, {
74
74
  slots: {
75
- name: string;
76
75
  price: number;
76
+ name: string;
77
77
  slotNumber: number;
78
78
  image?: string | undefined;
79
79
  }[];
@@ -84,8 +84,8 @@ export declare const lotteryConfigWriteSchema: z.ZodEffects<z.ZodEffects<z.ZodOb
84
84
  uniformPrice?: number | undefined;
85
85
  }, {
86
86
  slots: {
87
- name: string;
88
87
  price: number;
88
+ name: string;
89
89
  slotNumber: number;
90
90
  image?: string | undefined;
91
91
  }[];
@@ -96,8 +96,8 @@ export declare const lotteryConfigWriteSchema: z.ZodEffects<z.ZodEffects<z.ZodOb
96
96
  uniformPrice?: number | undefined;
97
97
  }>, {
98
98
  slots: {
99
- name: string;
100
99
  price: number;
100
+ name: string;
101
101
  slotNumber: number;
102
102
  image?: string | undefined;
103
103
  }[];
@@ -108,8 +108,8 @@ export declare const lotteryConfigWriteSchema: z.ZodEffects<z.ZodEffects<z.ZodOb
108
108
  uniformPrice?: number | undefined;
109
109
  }, {
110
110
  slots: {
111
- name: string;
112
111
  price: number;
112
+ name: string;
113
113
  slotNumber: number;
114
114
  image?: string | undefined;
115
115
  }[];