@mohasinac/appkit 2.3.2 → 2.4.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 (677) hide show
  1. package/dist/client.d.ts +44 -12
  2. package/dist/client.js +22 -6
  3. package/dist/constants/api-endpoints.d.ts +380 -22
  4. package/dist/constants/api-endpoints.js +66 -13
  5. package/dist/constants/index.d.ts +1 -1
  6. package/dist/constants/index.js +1 -1
  7. package/dist/core/hooks/useSyncManager.d.ts +1 -0
  8. package/dist/core/hooks/useSyncManager.js +83 -0
  9. package/dist/core/integration-keys.d.ts +4 -0
  10. package/dist/core/integration-keys.js +8 -0
  11. package/dist/features/about/components/FAQPageView.js +9 -11
  12. package/dist/features/about/components/PolicyPageView.js +32 -11
  13. package/dist/features/about/components/PublicProfileView.js +77 -11
  14. package/dist/features/account/components/AddressesIndexListing.js +63 -38
  15. package/dist/features/account/components/UserOffersPanel.d.ts +8 -0
  16. package/dist/features/account/components/UserOffersPanel.js +81 -0
  17. package/dist/features/account/components/UserSettingsView.d.ts +2 -1
  18. package/dist/features/account/components/UserSettingsView.js +2 -1
  19. package/dist/features/account/components/UserSidebar.d.ts +6 -1
  20. package/dist/features/account/components/UserSidebar.js +48 -42
  21. package/dist/features/account/components/index.d.ts +2 -0
  22. package/dist/features/account/components/index.js +1 -0
  23. package/dist/features/admin/actions/admin-actions.d.ts +1 -1
  24. package/dist/features/admin/actions/admin-actions.js +13 -3
  25. package/dist/features/admin/components/AdminAdEditorView.js +6 -7
  26. package/dist/features/admin/components/AdminAllEventEntriesView.d.ts +4 -0
  27. package/dist/features/admin/components/AdminAllEventEntriesView.js +102 -0
  28. package/dist/features/admin/components/AdminBidsView.js +94 -8
  29. package/dist/features/admin/components/AdminBlogEditorView.d.ts +7 -0
  30. package/dist/features/admin/components/AdminBlogEditorView.js +162 -0
  31. package/dist/features/admin/components/AdminBlogView.d.ts +4 -1
  32. package/dist/features/admin/components/AdminBlogView.js +61 -31
  33. package/dist/features/admin/components/AdminBrandEditorView.d.ts +7 -0
  34. package/dist/features/admin/components/AdminBrandEditorView.js +104 -0
  35. package/dist/features/admin/components/AdminBrandsView.d.ts +4 -0
  36. package/dist/features/admin/components/AdminBrandsView.js +76 -0
  37. package/dist/features/admin/components/AdminCarouselEditorView.d.ts +8 -0
  38. package/dist/features/admin/components/AdminCarouselEditorView.js +204 -0
  39. package/dist/features/admin/components/AdminCarouselView.js +153 -34
  40. package/dist/features/admin/components/AdminCartsView.d.ts +4 -0
  41. package/dist/features/admin/components/AdminCartsView.js +82 -0
  42. package/dist/features/admin/components/AdminCategoriesView.d.ts +4 -1
  43. package/dist/features/admin/components/AdminCategoriesView.js +66 -48
  44. package/dist/features/admin/components/AdminCategoryEditorView.d.ts +7 -0
  45. package/dist/features/admin/components/AdminCategoryEditorView.js +115 -0
  46. package/dist/features/admin/components/AdminContactEditorView.d.ts +11 -0
  47. package/dist/features/admin/components/AdminContactEditorView.js +32 -0
  48. package/dist/features/admin/components/AdminContactView.js +111 -20
  49. package/dist/features/admin/components/AdminCouponEditorView.d.ts +7 -0
  50. package/dist/features/admin/components/AdminCouponEditorView.js +179 -0
  51. package/dist/features/admin/components/AdminCouponsView.d.ts +4 -1
  52. package/dist/features/admin/components/AdminCouponsView.js +57 -9
  53. package/dist/features/admin/components/AdminDashboardView.js +3 -0
  54. package/dist/features/admin/components/AdminFaqEditorView.d.ts +7 -0
  55. package/dist/features/admin/components/AdminFaqEditorView.js +128 -0
  56. package/dist/features/admin/components/AdminFaqsView.d.ts +4 -1
  57. package/dist/features/admin/components/AdminFaqsView.js +55 -23
  58. package/dist/features/admin/components/AdminFeatureFlagsView.js +33 -24
  59. package/dist/features/admin/components/AdminListingScaffold.d.ts +7 -1
  60. package/dist/features/admin/components/AdminListingScaffold.js +2 -2
  61. package/dist/features/admin/components/AdminMediaView.js +18 -8
  62. package/dist/features/admin/components/AdminNavEditorView.d.ts +20 -0
  63. package/dist/features/admin/components/AdminNavEditorView.js +84 -0
  64. package/dist/features/admin/components/AdminNavigationView.d.ts +1 -7
  65. package/dist/features/admin/components/AdminNavigationView.js +84 -72
  66. package/dist/features/admin/components/AdminNewsletterView.js +102 -20
  67. package/dist/features/admin/components/AdminNotificationsView.d.ts +4 -0
  68. package/dist/features/admin/components/AdminNotificationsView.js +119 -0
  69. package/dist/features/admin/components/AdminOrderEditorView.d.ts +8 -0
  70. package/dist/features/admin/components/AdminOrderEditorView.js +74 -0
  71. package/dist/features/admin/components/AdminOrdersView.js +64 -8
  72. package/dist/features/admin/components/AdminPayoutsView.js +122 -13
  73. package/dist/features/admin/components/AdminProductEditorView.d.ts +7 -0
  74. package/dist/features/admin/components/AdminProductEditorView.js +143 -0
  75. package/dist/features/admin/components/AdminProductsView.d.ts +4 -1
  76. package/dist/features/admin/components/AdminProductsView.js +119 -30
  77. package/dist/features/admin/components/AdminReturnRequestsView.d.ts +5 -0
  78. package/dist/features/admin/components/AdminReturnRequestsView.js +101 -0
  79. package/dist/features/admin/components/AdminReviewsView.js +138 -28
  80. package/dist/features/admin/components/AdminSectionsView.js +361 -472
  81. package/dist/features/admin/components/AdminSessionsView.d.ts +4 -0
  82. package/dist/features/admin/components/AdminSessionsView.js +119 -0
  83. package/dist/features/admin/components/AdminSidebar.d.ts +18 -3
  84. package/dist/features/admin/components/AdminSidebar.js +51 -4
  85. package/dist/features/admin/components/AdminSiteSettingsView.d.ts +7 -0
  86. package/dist/features/admin/components/AdminSiteSettingsView.js +319 -0
  87. package/dist/features/admin/components/AdminStoreAddressesView.d.ts +5 -0
  88. package/dist/features/admin/components/AdminStoreAddressesView.js +52 -0
  89. package/dist/features/admin/components/AdminStoreEditorView.d.ts +9 -0
  90. package/dist/features/admin/components/AdminStoreEditorView.js +55 -0
  91. package/dist/features/admin/components/AdminStoresView.js +62 -20
  92. package/dist/features/admin/components/AdminUserEditorView.d.ts +10 -0
  93. package/dist/features/admin/components/AdminUserEditorView.js +72 -0
  94. package/dist/features/admin/components/AdminUsersView.js +70 -36
  95. package/dist/features/admin/components/AdminWishlistsView.d.ts +4 -0
  96. package/dist/features/admin/components/AdminWishlistsView.js +53 -0
  97. package/dist/features/admin/components/BrandQuickCreateForm.d.ts +5 -0
  98. package/dist/features/admin/components/BrandQuickCreateForm.js +36 -0
  99. package/dist/features/admin/components/CategoryQuickCreateForm.d.ts +5 -0
  100. package/dist/features/admin/components/CategoryQuickCreateForm.js +35 -0
  101. package/dist/features/admin/components/DataTable.d.ts +4 -2
  102. package/dist/features/admin/components/DataTable.js +26 -6
  103. package/dist/features/admin/components/index.d.ts +47 -1
  104. package/dist/features/admin/components/index.js +23 -0
  105. package/dist/features/admin/components/sections/adminSectionsBuildParse.d.ts +48 -0
  106. package/dist/features/admin/components/sections/adminSectionsBuildParse.js +653 -0
  107. package/dist/features/admin/components/sections/adminSectionsTypes.d.ts +298 -0
  108. package/dist/features/admin/components/sections/adminSectionsTypes.js +278 -0
  109. package/dist/features/admin/schemas/firestore.d.ts +26 -0
  110. package/dist/features/admin/schemas/firestore.js +1 -0
  111. package/dist/features/admin/types/product.types.d.ts +2 -3
  112. package/dist/features/auctions/actions/bid-actions.js +6 -2
  113. package/dist/features/auctions/components/AuctionDetailPageView.d.ts +3 -1
  114. package/dist/features/auctions/components/AuctionDetailPageView.js +38 -12
  115. package/dist/features/auctions/components/AuctionFilters.d.ts +3 -1
  116. package/dist/features/auctions/components/AuctionFilters.js +6 -2
  117. package/dist/features/auctions/components/CollapsibleBidHistory.d.ts +7 -0
  118. package/dist/features/auctions/components/CollapsibleBidHistory.js +8 -0
  119. package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +4 -0
  120. package/dist/features/auctions/components/MarketplaceAuctionCard.js +43 -9
  121. package/dist/features/auctions/components/MarketplaceAuctionGrid.js +1 -0
  122. package/dist/features/auctions/components/PlaceBidFormClient.d.ts +18 -0
  123. package/dist/features/auctions/components/PlaceBidFormClient.js +33 -0
  124. package/dist/features/auctions/hooks/useAuctions.d.ts +1 -0
  125. package/dist/features/auctions/hooks/useAuctions.js +1 -0
  126. package/dist/features/auctions/schemas/index.d.ts +22 -12
  127. package/dist/features/auth/actions/profile-actions.d.ts +5 -3
  128. package/dist/features/auth/actions/profile-actions.js +30 -11
  129. package/dist/features/auth/auth-helpers.js +1 -0
  130. package/dist/features/auth/components/LoginForm.js +2 -1
  131. package/dist/features/auth/hooks/useAuth.js +16 -4
  132. package/dist/features/auth/permissions/constants.d.ts +63 -0
  133. package/dist/features/auth/permissions/constants.js +323 -0
  134. package/dist/features/auth/schemas/firestore.d.ts +20 -0
  135. package/dist/features/auth/schemas/index.d.ts +4 -4
  136. package/dist/features/auth/schemas/index.js +3 -2
  137. package/dist/features/auth/types/index.d.ts +1 -1
  138. package/dist/features/before-after/schemas/index.d.ts +2 -2
  139. package/dist/features/blog/actions/blog-actions.d.ts +15 -15
  140. package/dist/features/blog/components/BlogFilters.js +1 -1
  141. package/dist/features/blog/components/BlogIndexListing.js +57 -5
  142. package/dist/features/blog/components/BlogIndexPageView.js +14 -2
  143. package/dist/features/blog/components/BlogPostForm.js +6 -2
  144. package/dist/features/blog/components/BlogPostView.js +2 -1
  145. package/dist/features/blog/hooks/useBlog.d.ts +2 -0
  146. package/dist/features/blog/hooks/useBlog.js +2 -0
  147. package/dist/features/blog/schemas/index.d.ts +46 -12
  148. package/dist/features/brands/actions/brand-actions.d.ts +2 -0
  149. package/dist/features/brands/actions/brand-actions.js +5 -0
  150. package/dist/features/brands/index.d.ts +3 -0
  151. package/dist/features/brands/index.js +3 -0
  152. package/dist/features/brands/repository/brands.repository.d.ts +13 -0
  153. package/dist/features/brands/repository/brands.repository.js +60 -0
  154. package/dist/features/brands/schemas/index.d.ts +33 -0
  155. package/dist/features/brands/schemas/index.js +15 -0
  156. package/dist/features/brands/server.d.ts +7 -0
  157. package/dist/features/brands/server.js +7 -0
  158. package/dist/features/cart/actions/cart-actions.js +2 -2
  159. package/dist/features/cart/components/CartDrawer.d.ts +5 -1
  160. package/dist/features/cart/components/CartDrawer.js +3 -3
  161. package/dist/features/cart/hooks/useCartCount.d.ts +3 -2
  162. package/dist/features/cart/hooks/useCartCount.js +4 -2
  163. package/dist/features/cart/hooks/useGuestCartMerge.js +1 -1
  164. package/dist/features/cart/index.d.ts +1 -0
  165. package/dist/features/cart/index.js +1 -0
  166. package/dist/features/cart/repository/cart.repository.d.ts +5 -1
  167. package/dist/features/cart/repository/cart.repository.js +36 -5
  168. package/dist/features/cart/schemas/firestore.d.ts +25 -6
  169. package/dist/features/cart/schemas/firestore.js +2 -2
  170. package/dist/features/cart/schemas/index.d.ts +9 -9
  171. package/dist/features/cart/schemas/index.js +1 -1
  172. package/dist/features/cart/types/index.d.ts +1 -1
  173. package/dist/features/cart/utils/pending-ops.d.ts +33 -0
  174. package/dist/features/cart/utils/pending-ops.js +102 -0
  175. package/dist/features/categories/components/BrandDetailPageView.d.ts +4 -0
  176. package/dist/features/categories/components/BrandDetailPageView.js +54 -0
  177. package/dist/features/categories/components/BrandDetailTabs.d.ts +10 -0
  178. package/dist/features/categories/components/BrandDetailTabs.js +22 -0
  179. package/dist/features/categories/components/CategoriesIndexListing.d.ts +3 -1
  180. package/dist/features/categories/components/CategoriesIndexListing.js +83 -7
  181. package/dist/features/categories/components/CategoryDetailPageView.js +42 -21
  182. package/dist/features/categories/components/CategoryDetailTabs.d.ts +7 -1
  183. package/dist/features/categories/components/CategoryDetailTabs.js +12 -7
  184. package/dist/features/categories/components/CategoryFilters.js +1 -1
  185. package/dist/features/categories/components/CategoryForm.js +10 -4
  186. package/dist/features/categories/components/CategoryProductsListing.d.ts +4 -1
  187. package/dist/features/categories/components/CategoryProductsListing.js +34 -5
  188. package/dist/features/categories/components/ConcernCard.js +1 -1
  189. package/dist/features/categories/hooks/useCategories.js +2 -0
  190. package/dist/features/categories/repository/categories.repository.js +2 -3
  191. package/dist/features/categories/schemas/firestore.d.ts +23 -2
  192. package/dist/features/categories/schemas/firestore.js +8 -0
  193. package/dist/features/categories/schemas/index.d.ts +8 -8
  194. package/dist/features/categories/types/index.d.ts +1 -0
  195. package/dist/features/collections/schemas/index.d.ts +2 -2
  196. package/dist/features/events/components/AdminEventEditorView.js +2 -2
  197. package/dist/features/events/components/AdminEventsView.d.ts +4 -1
  198. package/dist/features/events/components/AdminEventsView.js +64 -38
  199. package/dist/features/events/components/EventCard.js +1 -1
  200. package/dist/features/events/components/EventFilters.js +1 -1
  201. package/dist/features/events/components/EventPollWidget.d.ts +12 -0
  202. package/dist/features/events/components/EventPollWidget.js +62 -0
  203. package/dist/features/events/components/EventsIndexListing.js +57 -5
  204. package/dist/features/events/components/EventsListPageView.js +1 -1
  205. package/dist/features/events/components/index.d.ts +2 -0
  206. package/dist/features/events/components/index.js +1 -0
  207. package/dist/features/events/hooks/useEvents.d.ts +1 -0
  208. package/dist/features/events/hooks/useEvents.js +1 -0
  209. package/dist/features/events/repository/events.repository.js +3 -0
  210. package/dist/features/events/schemas/firestore.d.ts +1 -0
  211. package/dist/features/events/schemas/index.d.ts +44 -0
  212. package/dist/features/events/types/index.d.ts +2 -0
  213. package/dist/features/faq/actions/faq-actions.d.ts +16 -16
  214. package/dist/features/faq/hooks/useFaqList.js +1 -1
  215. package/dist/features/faq/schemas/firestore.d.ts +2 -2
  216. package/dist/features/faq/schemas/firestore.js +2 -1
  217. package/dist/features/faq/schemas/index.d.ts +4 -4
  218. package/dist/features/filters/FilterFacetSection.d.ts +1 -0
  219. package/dist/features/filters/FilterFacetSection.js +13 -1
  220. package/dist/features/filters/SwitchFilter.js +1 -1
  221. package/dist/features/grouped/schemas/firestore.d.ts +32 -0
  222. package/dist/features/grouped/schemas/firestore.js +19 -0
  223. package/dist/features/homepage/components/AdSlot.d.ts +1 -3
  224. package/dist/features/homepage/components/AdSlot.js +15 -14
  225. package/dist/features/homepage/components/BlogArticlesSection.d.ts +3 -1
  226. package/dist/features/homepage/components/BlogArticlesSection.js +2 -2
  227. package/dist/features/homepage/components/BrandsSection.d.ts +3 -1
  228. package/dist/features/homepage/components/BrandsSection.js +4 -3
  229. package/dist/features/homepage/components/CustomCardsSection.d.ts +3 -0
  230. package/dist/features/homepage/components/CustomCardsSection.js +76 -0
  231. package/dist/features/homepage/components/EventsSection.d.ts +3 -1
  232. package/dist/features/homepage/components/EventsSection.js +2 -2
  233. package/dist/features/homepage/components/FeaturedAuctionsSection.d.ts +4 -1
  234. package/dist/features/homepage/components/FeaturedAuctionsSection.js +2 -2
  235. package/dist/features/homepage/components/FeaturedPreOrdersSection.d.ts +4 -1
  236. package/dist/features/homepage/components/FeaturedPreOrdersSection.js +2 -2
  237. package/dist/features/homepage/components/FeaturedProductsSection.d.ts +4 -1
  238. package/dist/features/homepage/components/FeaturedProductsSection.js +8 -3
  239. package/dist/features/homepage/components/FeaturedStoresSection.d.ts +3 -1
  240. package/dist/features/homepage/components/FeaturedStoresSection.js +2 -2
  241. package/dist/features/homepage/components/GoogleReviewsSection.d.ts +3 -0
  242. package/dist/features/homepage/components/GoogleReviewsSection.js +65 -0
  243. package/dist/features/homepage/components/HeroCarousel.js +128 -84
  244. package/dist/features/homepage/components/MarketplaceHomepageView.d.ts +2 -20
  245. package/dist/features/homepage/components/MarketplaceHomepageView.js +73 -230
  246. package/dist/features/homepage/components/SectionCarousel.d.ts +1 -1
  247. package/dist/features/homepage/components/SectionCarousel.js +2 -0
  248. package/dist/features/homepage/components/ShopByCategorySection.d.ts +3 -1
  249. package/dist/features/homepage/components/ShopByCategorySection.js +8 -4
  250. package/dist/features/homepage/components/SocialFeedSection.d.ts +3 -0
  251. package/dist/features/homepage/components/SocialFeedSection.js +86 -0
  252. package/dist/features/homepage/components/SocialPostCard.d.ts +7 -0
  253. package/dist/features/homepage/components/SocialPostCard.js +39 -0
  254. package/dist/features/homepage/components/StatsCounterSection.js +1 -1
  255. package/dist/features/homepage/components/WelcomeSection.js +1 -1
  256. package/dist/features/homepage/components/WhatsAppCommunitySection.js +1 -1
  257. package/dist/features/homepage/hooks/useActiveAd.d.ts +23 -0
  258. package/dist/features/homepage/hooks/useActiveAd.js +20 -0
  259. package/dist/features/homepage/hooks/useBlogArticles.d.ts +1 -0
  260. package/dist/features/homepage/hooks/useBlogArticles.js +10 -0
  261. package/dist/features/homepage/hooks/useFeaturedAuctions.d.ts +4 -1
  262. package/dist/features/homepage/hooks/useFeaturedAuctions.js +8 -4
  263. package/dist/features/homepage/hooks/useFeaturedPreOrders.d.ts +4 -1
  264. package/dist/features/homepage/hooks/useFeaturedPreOrders.js +8 -4
  265. package/dist/features/homepage/hooks/useFeaturedProducts.d.ts +1 -0
  266. package/dist/features/homepage/hooks/useFeaturedProducts.js +6 -3
  267. package/dist/features/homepage/hooks/useFeaturedStores.d.ts +3 -1
  268. package/dist/features/homepage/hooks/useFeaturedStores.js +2 -1
  269. package/dist/features/homepage/hooks/useHomepageEvents.d.ts +3 -1
  270. package/dist/features/homepage/hooks/useHomepageEvents.js +2 -1
  271. package/dist/features/homepage/hooks/useTopBrands.d.ts +3 -1
  272. package/dist/features/homepage/hooks/useTopBrands.js +2 -1
  273. package/dist/features/homepage/index.d.ts +2 -0
  274. package/dist/features/homepage/index.js +1 -0
  275. package/dist/features/homepage/lib/google-reviews-fetcher.d.ts +14 -0
  276. package/dist/features/homepage/lib/google-reviews-fetcher.js +27 -0
  277. package/dist/features/homepage/lib/live-stats.d.ts +14 -0
  278. package/dist/features/homepage/lib/live-stats.js +62 -0
  279. package/dist/features/homepage/lib/section-defaults.d.ts +11 -0
  280. package/dist/features/homepage/lib/section-defaults.js +45 -0
  281. package/dist/features/homepage/lib/section-helpers.d.ts +5 -0
  282. package/dist/features/homepage/lib/section-helpers.js +25 -0
  283. package/dist/features/homepage/lib/section-renderer.d.ts +33 -0
  284. package/dist/features/homepage/lib/section-renderer.js +164 -0
  285. package/dist/features/homepage/lib/social-feed-fetcher.d.ts +5 -0
  286. package/dist/features/homepage/lib/social-feed-fetcher.js +193 -0
  287. package/dist/features/homepage/schemas/firestore.d.ts +180 -29
  288. package/dist/features/homepage/schemas/firestore.js +5 -0
  289. package/dist/features/homepage/types/index.d.ts +48 -19
  290. package/dist/features/layout/AppLayoutShell.d.ts +6 -1
  291. package/dist/features/layout/AppLayoutShell.js +25 -9
  292. package/dist/features/layout/BottomActions.js +1 -1
  293. package/dist/features/layout/BottomNavbar.d.ts +15 -1
  294. package/dist/features/layout/BottomNavbar.js +8 -2
  295. package/dist/features/layout/FooterLayout.d.ts +7 -1
  296. package/dist/features/layout/FooterLayout.js +3 -3
  297. package/dist/features/layout/ListingLayout.js +2 -2
  298. package/dist/features/layout/MainNavbar.d.ts +6 -14
  299. package/dist/features/layout/MainNavbar.js +4 -16
  300. package/dist/features/layout/NavItem.js +1 -1
  301. package/dist/features/layout/NavbarLayout.d.ts +3 -1
  302. package/dist/features/layout/NavbarLayout.js +5 -5
  303. package/dist/features/layout/TitleBar.d.ts +4 -2
  304. package/dist/features/layout/TitleBar.js +5 -3
  305. package/dist/features/layout/TitleBarLayout.d.ts +3 -1
  306. package/dist/features/layout/TitleBarLayout.js +2 -2
  307. package/dist/features/layout/index.d.ts +1 -1
  308. package/dist/features/media/MediaPickerModal.d.ts +30 -0
  309. package/dist/features/media/MediaPickerModal.js +72 -0
  310. package/dist/features/media/index.d.ts +3 -1
  311. package/dist/features/media/index.js +1 -0
  312. package/dist/features/media/types/index.d.ts +12 -0
  313. package/dist/features/media/types/index.js +4 -2
  314. package/dist/features/media/upload/MediaUploadField.d.ts +5 -1
  315. package/dist/features/media/upload/MediaUploadField.js +56 -3
  316. package/dist/features/messages/schemas/firestore.d.ts +36 -0
  317. package/dist/features/messages/schemas/firestore.js +16 -0
  318. package/dist/features/orders/repository/orders.repository.d.ts +2 -2
  319. package/dist/features/orders/repository/orders.repository.js +2 -2
  320. package/dist/features/orders/schemas/firestore.d.ts +17 -4
  321. package/dist/features/orders/schemas/firestore.js +2 -2
  322. package/dist/features/orders/schemas/index.d.ts +18 -18
  323. package/dist/features/orders/schemas/index.js +3 -3
  324. package/dist/features/orders/types/index.d.ts +1 -1
  325. package/dist/features/orders/utils/order-splitter.d.ts +1 -1
  326. package/dist/features/orders/utils/order-splitter.js +2 -2
  327. package/dist/features/payments/repository/payout.repository.d.ts +4 -4
  328. package/dist/features/payments/repository/payout.repository.js +7 -7
  329. package/dist/features/payments/schemas/firestore.d.ts +6 -6
  330. package/dist/features/payments/schemas/firestore.js +6 -6
  331. package/dist/features/pre-orders/components/MarketplacePreorderCard.js +11 -10
  332. package/dist/features/pre-orders/components/PreOrderActionsClient.d.ts +11 -0
  333. package/dist/features/pre-orders/components/PreOrderActionsClient.js +28 -0
  334. package/dist/features/pre-orders/components/PreOrderDetailPageView.d.ts +2 -1
  335. package/dist/features/pre-orders/components/PreOrderDetailPageView.js +27 -9
  336. package/dist/features/pre-orders/components/PreOrderFilters.d.ts +3 -1
  337. package/dist/features/pre-orders/components/PreOrderFilters.js +9 -6
  338. package/dist/features/pre-orders/components/PreOrdersIndexListing.d.ts +3 -1
  339. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +132 -36
  340. package/dist/features/pre-orders/components/PreOrdersListView.js +3 -3
  341. package/dist/features/pre-orders/components/PreorderCard.js +1 -1
  342. package/dist/features/pre-orders/schemas/index.d.ts +10 -0
  343. package/dist/features/products/actions/product-actions.d.ts +2 -2
  344. package/dist/features/products/actions/product-actions.js +5 -5
  345. package/dist/features/products/api/[id]/route.js +5 -2
  346. package/dist/features/products/api/route.js +10 -14
  347. package/dist/features/products/columns/productTableColumns.js +2 -2
  348. package/dist/features/products/components/AuctionDetailView.d.ts +2 -1
  349. package/dist/features/products/components/AuctionDetailView.js +2 -2
  350. package/dist/features/products/components/AuctionsIndexListing.d.ts +3 -1
  351. package/dist/features/products/components/AuctionsIndexListing.js +93 -31
  352. package/dist/features/products/components/BidHistory.d.ts +2 -1
  353. package/dist/features/products/components/BidHistory.js +18 -2
  354. package/dist/features/products/components/MakeOfferButton.d.ts +10 -0
  355. package/dist/features/products/components/MakeOfferButton.js +68 -0
  356. package/dist/features/products/components/ProductDetailPageView.d.ts +11 -1
  357. package/dist/features/products/components/ProductDetailPageView.js +27 -8
  358. package/dist/features/products/components/ProductFilters.d.ts +7 -1
  359. package/dist/features/products/components/ProductFilters.js +4 -2
  360. package/dist/features/products/components/ProductForm.d.ts +19 -1
  361. package/dist/features/products/components/ProductForm.js +24 -6
  362. package/dist/features/products/components/ProductGrid.d.ts +10 -2
  363. package/dist/features/products/components/ProductGrid.js +76 -29
  364. package/dist/features/products/components/ProductsIndexListing.js +131 -45
  365. package/dist/features/products/components/RelatedProductsCarousel.js +1 -1
  366. package/dist/features/products/components/ShareButton.d.ts +7 -0
  367. package/dist/features/products/components/ShareButton.js +22 -0
  368. package/dist/features/products/components/index.d.ts +2 -0
  369. package/dist/features/products/components/index.js +1 -0
  370. package/dist/features/products/hooks/useProducts.d.ts +7 -0
  371. package/dist/features/products/hooks/useProducts.js +6 -4
  372. package/dist/features/products/repository/products.repository.d.ts +4 -8
  373. package/dist/features/products/repository/products.repository.js +17 -50
  374. package/dist/features/products/schemas/firestore.d.ts +11 -9
  375. package/dist/features/products/schemas/firestore.js +11 -3
  376. package/dist/features/products/schemas/index.d.ts +51 -50
  377. package/dist/features/products/schemas/index.js +2 -5
  378. package/dist/features/products/types/index.d.ts +13 -5
  379. package/dist/features/promotions/actions/coupon-actions.d.ts +2 -2
  380. package/dist/features/promotions/actions/coupon-actions.js +1 -1
  381. package/dist/features/promotions/actions/seller-coupon-actions.js +11 -6
  382. package/dist/features/promotions/api/route.js +3 -3
  383. package/dist/features/promotions/components/CouponCard.js +16 -7
  384. package/dist/features/promotions/components/CouponsIndexListing.js +3 -9
  385. package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
  386. package/dist/features/promotions/hooks/usePromotions.js +2 -2
  387. package/dist/features/promotions/repository/coupons.repository.d.ts +21 -15
  388. package/dist/features/promotions/repository/coupons.repository.js +97 -125
  389. package/dist/features/promotions/schemas/firestore.d.ts +31 -2
  390. package/dist/features/promotions/schemas/firestore.js +29 -0
  391. package/dist/features/promotions/schemas/index.d.ts +9 -12
  392. package/dist/features/promotions/schemas/index.js +1 -2
  393. package/dist/features/promotions/types/index.d.ts +1 -2
  394. package/dist/features/reviews/actions/review-actions.js +3 -2
  395. package/dist/features/reviews/components/ReviewDetailPageView.js +5 -9
  396. package/dist/features/reviews/components/ReviewFilters.js +1 -1
  397. package/dist/features/reviews/components/ReviewsIndexListing.js +58 -7
  398. package/dist/features/reviews/components/ReviewsList.js +2 -2
  399. package/dist/features/reviews/hooks/useReviews.d.ts +1 -0
  400. package/dist/features/reviews/hooks/useReviews.js +2 -1
  401. package/dist/features/reviews/repository/reviews.repository.d.ts +9 -4
  402. package/dist/features/reviews/repository/reviews.repository.js +18 -7
  403. package/dist/features/reviews/schemas/firestore.d.ts +5 -2
  404. package/dist/features/reviews/schemas/firestore.js +1 -0
  405. package/dist/features/reviews/schemas/index.d.ts +19 -16
  406. package/dist/features/reviews/schemas/index.js +3 -2
  407. package/dist/features/reviews/types/index.d.ts +3 -2
  408. package/dist/features/scams/actions/scam-actions.d.ts +29 -0
  409. package/dist/features/scams/actions/scam-actions.js +62 -0
  410. package/dist/features/scams/components/ScamProfileView.d.ts +7 -0
  411. package/dist/features/scams/components/ScamProfileView.js +49 -0
  412. package/dist/features/scams/components/ScamRegistryView.d.ts +6 -0
  413. package/dist/features/scams/components/ScamRegistryView.js +41 -0
  414. package/dist/features/scams/components/index.d.ts +4 -0
  415. package/dist/features/scams/components/index.js +2 -0
  416. package/dist/features/scams/constants/scam-types.d.ts +38 -0
  417. package/dist/features/scams/constants/scam-types.js +443 -0
  418. package/dist/features/scams/repository/scammer.repository.d.ts +67 -0
  419. package/dist/features/scams/repository/scammer.repository.js +160 -0
  420. package/dist/features/scams/schemas/firestore.d.ts +362 -0
  421. package/dist/features/scams/schemas/firestore.js +233 -0
  422. package/dist/features/search/components/Search.d.ts +12 -2
  423. package/dist/features/search/components/Search.js +26 -7
  424. package/dist/features/search/components/index.d.ts +1 -1
  425. package/dist/features/search/hooks/useNavSuggestions.d.ts +1 -1
  426. package/dist/features/search/hooks/useNavSuggestions.js +2 -2
  427. package/dist/features/search/schemas/index.d.ts +7 -7
  428. package/dist/features/seller/actions/offer-actions.js +52 -36
  429. package/dist/features/seller/actions/seller-actions.js +19 -13
  430. package/dist/features/seller/api/products/route.js +9 -4
  431. package/dist/features/seller/components/SellerAddressesView.d.ts +3 -12
  432. package/dist/features/seller/components/SellerAddressesView.js +144 -4
  433. package/dist/features/seller/components/SellerAuctionsView.js +58 -5
  434. package/dist/features/seller/components/SellerBidsView.d.ts +4 -0
  435. package/dist/features/seller/components/SellerBidsView.js +131 -0
  436. package/dist/features/seller/components/SellerCouponEditorView.d.ts +19 -0
  437. package/dist/features/seller/components/SellerCouponEditorView.js +67 -0
  438. package/dist/features/seller/components/SellerCouponsView.d.ts +5 -3
  439. package/dist/features/seller/components/SellerCouponsView.js +135 -13
  440. package/dist/features/seller/components/SellerCreateProductView.d.ts +4 -10
  441. package/dist/features/seller/components/SellerCreateProductView.js +4 -3
  442. package/dist/features/seller/components/SellerEditProductView.d.ts +4 -10
  443. package/dist/features/seller/components/SellerEditProductView.js +4 -3
  444. package/dist/features/seller/components/SellerOffersPanel.d.ts +20 -0
  445. package/dist/features/seller/components/SellerOffersPanel.js +138 -0
  446. package/dist/features/seller/components/SellerOffersView.js +56 -5
  447. package/dist/features/seller/components/SellerOrdersView.d.ts +2 -1
  448. package/dist/features/seller/components/SellerOrdersView.js +185 -16
  449. package/dist/features/seller/components/SellerPayoutRequestView.d.ts +7 -0
  450. package/dist/features/seller/components/SellerPayoutRequestView.js +63 -0
  451. package/dist/features/seller/components/SellerPayoutSettingsView.d.ts +3 -10
  452. package/dist/features/seller/components/SellerPayoutSettingsView.js +89 -3
  453. package/dist/features/seller/components/SellerPayoutsView.js +56 -5
  454. package/dist/features/seller/components/SellerProductShell.d.ts +68 -0
  455. package/dist/features/seller/components/SellerProductShell.js +179 -0
  456. package/dist/features/seller/components/SellerProductsView.d.ts +2 -3
  457. package/dist/features/seller/components/SellerProductsView.js +194 -18
  458. package/dist/features/seller/components/SellerReviewsView.d.ts +5 -0
  459. package/dist/features/seller/components/SellerReviewsView.js +100 -0
  460. package/dist/features/seller/components/SellerShippingView.d.ts +3 -11
  461. package/dist/features/seller/components/SellerShippingView.js +87 -3
  462. package/dist/features/seller/components/SellerSidebar.d.ts +11 -3
  463. package/dist/features/seller/components/SellerSidebar.js +52 -8
  464. package/dist/features/seller/components/SellerStorefrontView.d.ts +26 -11
  465. package/dist/features/seller/components/SellerStorefrontView.js +45 -7
  466. package/dist/features/seller/components/index.d.ts +16 -2
  467. package/dist/features/seller/components/index.js +7 -0
  468. package/dist/features/seller/hooks/useSellerListingData.d.ts +3 -1
  469. package/dist/features/seller/hooks/useSellerListingData.js +6 -4
  470. package/dist/features/seller/repository/offer.repository.d.ts +3 -3
  471. package/dist/features/seller/repository/offer.repository.js +6 -6
  472. package/dist/features/seller/schemas/firestore.d.ts +7 -7
  473. package/dist/features/seller/schemas/firestore.js +4 -4
  474. package/dist/features/seller/schemas/index.d.ts +16 -16
  475. package/dist/features/shell/FormShell.d.ts +29 -0
  476. package/dist/features/shell/FormShell.js +103 -0
  477. package/dist/features/shell/QuickFormDrawer.d.ts +29 -0
  478. package/dist/features/shell/QuickFormDrawer.js +117 -0
  479. package/dist/features/shell/StepForm.d.ts +44 -0
  480. package/dist/features/shell/StepForm.js +81 -0
  481. package/dist/features/shell/index.d.ts +6 -0
  482. package/dist/features/shell/index.js +3 -0
  483. package/dist/features/stores/actions/store-query-actions.js +3 -3
  484. package/dist/features/stores/api/[storeSlug]/auctions/route.js +1 -1
  485. package/dist/features/stores/api/[storeSlug]/products/route.js +1 -1
  486. package/dist/features/stores/api/[storeSlug]/reviews/route.js +1 -1
  487. package/dist/features/stores/components/InteractiveStoreCard.d.ts +2 -2
  488. package/dist/features/stores/components/InteractiveStoreCard.js +21 -7
  489. package/dist/features/stores/components/StoreAboutView.js +1 -1
  490. package/dist/features/stores/components/StoreAuctionsListing.d.ts +5 -2
  491. package/dist/features/stores/components/StoreAuctionsListing.js +81 -8
  492. package/dist/features/stores/components/StoreAuctionsPageView.js +8 -7
  493. package/dist/features/stores/components/StoreDetailLayoutView.d.ts +1 -0
  494. package/dist/features/stores/components/StoreDetailLayoutView.js +29 -5
  495. package/dist/features/stores/components/StoreHeader.js +2 -1
  496. package/dist/features/stores/components/StorePreOrdersListing.d.ts +4 -2
  497. package/dist/features/stores/components/StorePreOrdersListing.js +59 -7
  498. package/dist/features/stores/components/StorePreOrdersPageView.js +8 -7
  499. package/dist/features/stores/components/StoreProductsListing.d.ts +5 -2
  500. package/dist/features/stores/components/StoreProductsListing.js +97 -8
  501. package/dist/features/stores/components/StoreProductsPageView.js +8 -7
  502. package/dist/features/stores/components/StoreReviewsListing.js +2 -2
  503. package/dist/features/stores/components/StoresIndexListing.js +74 -11
  504. package/dist/features/stores/components/StoresListView.js +1 -1
  505. package/dist/features/stores/hooks/useStores.d.ts +1 -0
  506. package/dist/features/stores/hooks/useStores.js +1 -0
  507. package/dist/features/stores/schemas/firestore.d.ts +34 -0
  508. package/dist/features/stores/schemas/index.d.ts +8 -8
  509. package/dist/features/sublisting/schemas/firestore.d.ts +30 -0
  510. package/dist/features/sublisting/schemas/firestore.js +19 -0
  511. package/dist/features/support/schemas/firestore.d.ts +113 -0
  512. package/dist/features/support/schemas/firestore.js +95 -0
  513. package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.d.ts +5 -0
  514. package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +143 -0
  515. package/dist/features/whatsapp-bot/components/index.d.ts +2 -0
  516. package/dist/features/whatsapp-bot/components/index.js +1 -0
  517. package/dist/features/whatsapp-bot/helpers/whatsapp.d.ts +23 -1
  518. package/dist/features/whatsapp-bot/helpers/whatsapp.js +104 -0
  519. package/dist/features/whatsapp-bot/server.d.ts +1 -0
  520. package/dist/features/whatsapp-bot/server.js +1 -0
  521. package/dist/features/whatsapp-bot/types/index.d.ts +49 -0
  522. package/dist/features/wishlist/components/WishlistView.d.ts +0 -10
  523. package/dist/features/wishlist/components/WishlistView.js +13 -6
  524. package/dist/features/wishlist/hooks/useWishlist.js +2 -0
  525. package/dist/features/wishlist/hooks/useWishlistCount.d.ts +11 -3
  526. package/dist/features/wishlist/hooks/useWishlistCount.js +89 -25
  527. package/dist/features/wishlist/hooks/useWishlistWithGuest.d.ts +1 -1
  528. package/dist/features/wishlist/schemas/index.d.ts +2 -2
  529. package/dist/features/wishlist/types/index.d.ts +16 -0
  530. package/dist/http/api-handler.js +8 -1
  531. package/dist/index.d.ts +112 -16
  532. package/dist/index.js +133 -28
  533. package/dist/monitoring/server-logger.js +9 -3
  534. package/dist/next/routing/route-map.d.ts +120 -6
  535. package/dist/next/routing/route-map.js +53 -2
  536. package/dist/providers/db-firebase/realtime.d.ts +1 -1
  537. package/dist/react/contexts/SessionContext.js +17 -26
  538. package/dist/react/hooks/useBulkSelection.d.ts +7 -24
  539. package/dist/react/hooks/useBulkSelection.js +27 -34
  540. package/dist/react/hooks/useLongPress.d.ts +3 -16
  541. package/dist/react/hooks/useLongPress.js +6 -25
  542. package/dist/react/index.d.ts +1 -0
  543. package/dist/react/index.js +2 -0
  544. package/dist/repositories/index.d.ts +3 -0
  545. package/dist/repositories/index.js +2 -0
  546. package/dist/seed/actions/demo-seed-actions.d.ts +2 -2
  547. package/dist/seed/actions/demo-seed-actions.js +1 -1
  548. package/dist/seed/anime-figures-seed-data.d.ts +8 -0
  549. package/dist/seed/anime-figures-seed-data.js +1033 -0
  550. package/dist/seed/beyblade-seed-data.js +206 -24
  551. package/dist/seed/bids-seed-data.d.ts +4 -10
  552. package/dist/seed/bids-seed-data.js +365 -238
  553. package/dist/seed/blog-posts-seed-data.d.ts +3 -2
  554. package/dist/seed/blog-posts-seed-data.js +250 -511
  555. package/dist/seed/brands-seed-data.d.ts +7 -0
  556. package/dist/seed/brands-seed-data.js +410 -0
  557. package/dist/seed/carousel-slides-seed-data.d.ts +3 -2
  558. package/dist/seed/carousel-slides-seed-data.js +177 -216
  559. package/dist/seed/cart-seed-data.d.ts +9 -9
  560. package/dist/seed/cart-seed-data.js +73 -73
  561. package/dist/seed/categories-seed-data.d.ts +4 -2
  562. package/dist/seed/categories-seed-data.js +720 -879
  563. package/dist/seed/conversations-seed-data.d.ts +8 -0
  564. package/dist/seed/conversations-seed-data.js +388 -0
  565. package/dist/seed/cosplay-accessories-seed-data.d.ts +8 -0
  566. package/dist/seed/cosplay-accessories-seed-data.js +647 -0
  567. package/dist/seed/coupon-usage-seed-data.d.ts +25 -0
  568. package/dist/seed/coupon-usage-seed-data.js +69 -0
  569. package/dist/seed/coupons-seed-data.d.ts +6 -3
  570. package/dist/seed/coupons-seed-data.js +375 -3
  571. package/dist/seed/events-seed-data.d.ts +4 -2
  572. package/dist/seed/events-seed-data.js +128 -430
  573. package/dist/seed/factories/cart.factory.d.ts +0 -1
  574. package/dist/seed/factories/cart.factory.js +2 -2
  575. package/dist/seed/faq-seed-data.d.ts +11 -18
  576. package/dist/seed/faq-seed-data.js +786 -1817
  577. package/dist/seed/grouped-listings-seed-data.d.ts +8 -0
  578. package/dist/seed/grouped-listings-seed-data.js +201 -0
  579. package/dist/seed/homepage-sections-seed-data.d.ts +3 -13
  580. package/dist/seed/homepage-sections-seed-data.js +228 -252
  581. package/dist/seed/hot-wheels-seed-data.js +285 -38
  582. package/dist/seed/index.d.ts +12 -11
  583. package/dist/seed/index.js +10 -12
  584. package/dist/seed/letitrip-official-seed-data.d.ts +8 -0
  585. package/dist/seed/letitrip-official-seed-data.js +399 -0
  586. package/dist/seed/manifest.d.ts +15 -0
  587. package/dist/seed/manifest.js +140 -0
  588. package/dist/seed/notifications-seed-data.d.ts +4 -2
  589. package/dist/seed/notifications-seed-data.js +117 -440
  590. package/dist/seed/orders-seed-data.d.ts +4 -2
  591. package/dist/seed/orders-seed-data.js +1090 -521
  592. package/dist/seed/payouts-seed-data.d.ts +4 -2
  593. package/dist/seed/payouts-seed-data.js +522 -145
  594. package/dist/seed/pokemon-carousel-slides-seed-data.js +6 -1
  595. package/dist/seed/pokemon-categories-seed-data.js +81 -81
  596. package/dist/seed/pokemon-homepage-sections-seed-data.d.ts +1 -1
  597. package/dist/seed/pokemon-homepage-sections-seed-data.js +116 -23
  598. package/dist/seed/pokemon-products-seed-data.d.ts +1 -1
  599. package/dist/seed/pokemon-products-seed-data.js +83 -73
  600. package/dist/seed/pokemon-seed-bundle.d.ts +5 -1
  601. package/dist/seed/pokemon-seed-bundle.js +21 -2
  602. package/dist/seed/pokemon-stores-seed-data.js +85 -9
  603. package/dist/seed/pokemon-users-seed-data.js +107 -8
  604. package/dist/seed/products-auctions-seed-data.d.ts +10 -0
  605. package/dist/seed/products-auctions-seed-data.js +689 -0
  606. package/dist/seed/products-preorders-seed-data.d.ts +9 -0
  607. package/dist/seed/products-preorders-seed-data.js +483 -0
  608. package/dist/seed/products-seed-data.js +34 -13
  609. package/dist/seed/products-standard-seed-data.d.ts +8 -0
  610. package/dist/seed/products-standard-seed-data.js +4179 -0
  611. package/dist/seed/retro-gaming-seed-data.d.ts +8 -0
  612. package/dist/seed/retro-gaming-seed-data.js +801 -0
  613. package/dist/seed/reviews-seed-data.d.ts +4 -17
  614. package/dist/seed/reviews-seed-data.js +1043 -515
  615. package/dist/seed/scammers-seed-data.d.ts +17 -0
  616. package/dist/seed/scammers-seed-data.js +118 -0
  617. package/dist/seed/site-settings-seed-data.js +25 -2
  618. package/dist/seed/store-addresses-seed-data.js +188 -84
  619. package/dist/seed/stores-seed-data.d.ts +3 -9
  620. package/dist/seed/stores-seed-data.js +212 -102
  621. package/dist/seed/sublisting-categories-seed-data.d.ts +7 -0
  622. package/dist/seed/sublisting-categories-seed-data.js +315 -0
  623. package/dist/seed/transformers-seed-data.js +34 -14
  624. package/dist/seed/users-seed-data.d.ts +3 -2
  625. package/dist/seed/users-seed-data.js +531 -440
  626. package/dist/seed/wishlists-seed-data.js +13 -13
  627. package/dist/server.d.ts +9 -2
  628. package/dist/server.js +12 -4
  629. package/dist/tokens/tokens.css +76 -31
  630. package/dist/ui/components/Avatar.style.css +10 -12
  631. package/dist/ui/components/BaseListingCard.d.ts +8 -3
  632. package/dist/ui/components/BaseListingCard.js +17 -6
  633. package/dist/ui/components/BaseListingCard.style.css +3 -1
  634. package/dist/ui/components/BulkActionsBar.d.ts +16 -0
  635. package/dist/ui/components/BulkActionsBar.js +22 -0
  636. package/dist/ui/components/Button.style.css +23 -23
  637. package/dist/ui/components/Card.style.css +60 -62
  638. package/dist/ui/components/Checkbox.style.css +19 -21
  639. package/dist/ui/components/DashboardStatsCard.style.css +12 -14
  640. package/dist/ui/components/Drawer.style.css +18 -14
  641. package/dist/ui/components/Dropdown.style.css +25 -27
  642. package/dist/ui/components/EmptyState.style.css +2 -4
  643. package/dist/ui/components/HorizontalScroller.d.ts +3 -1
  644. package/dist/ui/components/HorizontalScroller.js +116 -21
  645. package/dist/ui/components/HorizontalScroller.style.css +2 -2
  646. package/dist/ui/components/ImageLightbox.d.ts +0 -9
  647. package/dist/ui/components/ImageLightbox.js +43 -9
  648. package/dist/ui/components/InlineCreateSelect.d.ts +38 -0
  649. package/dist/ui/components/InlineCreateSelect.js +70 -0
  650. package/dist/ui/components/ListingLayout.style.css +41 -77
  651. package/dist/ui/components/ListingToolbar.d.ts +54 -0
  652. package/dist/ui/components/ListingToolbar.js +34 -0
  653. package/dist/ui/components/Modal.style.css +14 -10
  654. package/dist/ui/components/PageLoader.d.ts +11 -0
  655. package/dist/ui/components/PageLoader.js +21 -0
  656. package/dist/ui/components/Radio.style.css +34 -36
  657. package/dist/ui/components/RichTextEditor.js +1 -1
  658. package/dist/ui/components/RowActionMenu.d.ts +1 -0
  659. package/dist/ui/components/RowActionMenu.js +4 -2
  660. package/dist/ui/components/SectionTabs.js +1 -1
  661. package/dist/ui/components/SectionTabs.style.css +1 -0
  662. package/dist/ui/components/SideModal.style.css +4 -8
  663. package/dist/ui/components/Slider.style.css +2 -4
  664. package/dist/ui/components/Tabs.style.css +8 -10
  665. package/dist/ui/components/Toast.style.css +22 -24
  666. package/dist/ui/components/Toggle.style.css +11 -13
  667. package/dist/ui/index.d.ts +9 -0
  668. package/dist/ui/index.js +5 -0
  669. package/dist/ui/rich-text/RichText.js +2 -1
  670. package/dist/ui/rich-text/RichText.style.css +292 -5
  671. package/dist/ui/rich-text/RichTextRenderer.d.ts +15 -0
  672. package/dist/ui/rich-text/RichTextRenderer.js +15 -0
  673. package/dist/utils/id-generators.d.ts +10 -0
  674. package/dist/utils/id-generators.js +12 -0
  675. package/dist/validation/schemas.d.ts +9 -9
  676. package/package.json +5 -1
  677. package/README.md +0 -116
@@ -1,5 +1,292 @@
1
- /* RichText — sanitised HTML renderer with prose styling */
2
-
3
- .appkit-rich-text {
4
- /* Base wrapper prose classes applied via className prop */
5
- }
1
+ /* RichText — sanitised HTML renderer with prose styling */
2
+
3
+ /* --- Rich Text Editor --------------------------------------------------------
4
+ * CSS-backed surface ensures dark mode applies even when Tailwind's dark:
5
+ * utilities for this package are not scanned/generated.
6
+ * The Tailwind utility classes on the element remain the primary source;
7
+ * these rules act as a reliable fallback with the same values.
8
+ * -------------------------------------------------------------------------- */
9
+ .appkit-rich-text-editor {
10
+ background: var(--appkit-color-surface, #ffffff);
11
+ border: 1px solid var(--appkit-color-border, #e4e4e7);
12
+ border-radius: 0.5rem;
13
+ }
14
+
15
+ .dark .appkit-rich-text-editor {
16
+ background: #0f172a; /* slate-900 = --appkit-color-surface dark */
17
+ border-color: #334155; /* slate-700 = --appkit-color-border dark */
18
+ }
19
+
20
+ .appkit-rich-text-editor__toolbar {
21
+ border-bottom: 1px solid var(--appkit-color-border, #e4e4e7);
22
+ }
23
+
24
+ .dark .appkit-rich-text-editor__toolbar {
25
+ border-bottom-color: #334155;
26
+ }
27
+
28
+ .appkit-rich-text-editor__btn {
29
+ border: 1px solid #e4e4e7;
30
+ color: #3f3f46;
31
+ border-radius: 0.375rem;
32
+ }
33
+
34
+ .dark .appkit-rich-text-editor__btn {
35
+ border-color: #475569;
36
+ color: #e2e8f0;
37
+ }
38
+
39
+ .dark .appkit-rich-text-editor__btn:hover {
40
+ background-color: #1e293b;
41
+ }
42
+
43
+
44
+
45
+ /* --------------------------------------------------------------------------
46
+ * Base wrapper. All selectors are scoped to .appkit-rich-text so they
47
+ * never leak into surrounding UI.
48
+ * Prose classes (typography plugin) are applied via the `proseClass` prop.
49
+ * The rules below layer on top of prose to ensure proper dark-mode theming
50
+ * for elements that the typography plugin doesn't fully cover.
51
+ * -------------------------------------------------------------------------- */
52
+
53
+ /* --- Inline code ---------------------------------------------------------- */
54
+ .appkit-rich-text :not(pre) > code {
55
+ padding: 0.15em 0.4em;
56
+ border-radius: 0.25rem;
57
+ font-size: 0.875em;
58
+ font-weight: 500;
59
+ background-color: rgba(53, 112, 252, 0.08); /* primary cobalt /8 */
60
+ color: #1343de; /* primary-700 cobalt */
61
+ border: 1px solid rgba(53, 112, 252, 0.18);
62
+ }
63
+
64
+ .dark .appkit-rich-text :not(pre) > code {
65
+ background-color: rgba(51, 65, 85, 0.6); /* slate-700/60 */
66
+ color: #84e122; /* lime green — high contrast on dark */
67
+ border-color: rgba(71, 85, 105, 0.5);
68
+ }
69
+
70
+ /* --- Code blocks (pre) ---------------------------------------------------- */
71
+ .appkit-rich-text pre {
72
+ border-radius: 0.5rem;
73
+ padding: 1rem 1.25rem;
74
+ overflow-x: auto;
75
+ font-size: 0.875em;
76
+ line-height: 1.7;
77
+ background-color: #1e293b; /* slate-800 — always dark */
78
+ color: #e2e8f0; /* slate-200 */
79
+ border: 1px solid rgba(51, 65, 85, 0.6);
80
+ }
81
+
82
+ .dark .appkit-rich-text pre {
83
+ background-color: #0f172a; /* slate-900 */
84
+ border-color: rgba(30, 41, 59, 0.8);
85
+ }
86
+
87
+ /* --- Blockquote ----------------------------------------------------------- */
88
+ .appkit-rich-text blockquote {
89
+ border-left: 3px solid #3570fc; /* primary cobalt */
90
+ padding: 0.5rem 1rem;
91
+ margin: 1.25rem 0;
92
+ border-radius: 0 0.375rem 0.375rem 0;
93
+ background-color: rgba(53, 112, 252, 0.06);
94
+ color: #3f3f46; /* zinc-700 */
95
+ font-style: italic;
96
+ }
97
+
98
+ .dark .appkit-rich-text blockquote {
99
+ border-left-color: #f063b9; /* secondary-400 */
100
+ background-color: rgba(240, 99, 185, 0.06);
101
+ color: #a1a1aa; /* zinc-400 */
102
+ }
103
+
104
+ /* --- Mark / Highlight ----------------------------------------------------- */
105
+ .appkit-rich-text mark {
106
+ background-color: rgba(101, 196, 8, 0.25);
107
+ color: inherit;
108
+ border-radius: 0.125rem;
109
+ padding: 0 0.1em;
110
+ }
111
+
112
+ .dark .appkit-rich-text mark {
113
+ background-color: rgba(101, 196, 8, 0.35);
114
+ color: #f4f4f5; /* zinc-100 */
115
+ }
116
+
117
+ /* --- Horizontal rule ------------------------------------------------------ */
118
+ .appkit-rich-text hr {
119
+ border: none;
120
+ height: 1px;
121
+ background: linear-gradient(to right, transparent, rgba(161, 161, 170, 0.4), transparent);
122
+ margin: 1.75rem 0;
123
+ }
124
+
125
+ .dark .appkit-rich-text hr {
126
+ background: linear-gradient(to right, transparent, rgba(71, 85, 105, 0.5), transparent);
127
+ }
128
+
129
+ /* --- Links ---------------------------------------------------------------- */
130
+ .appkit-rich-text a {
131
+ color: #1a55f2; /* primary-600 cobalt */
132
+ text-decoration: underline;
133
+ text-decoration-color: rgba(26, 85, 242, 0.4);
134
+ text-underline-offset: 2px;
135
+ transition: color 150ms, text-decoration-color 150ms;
136
+ }
137
+
138
+ .appkit-rich-text a:hover {
139
+ color: #1343de; /* primary-700 cobalt */
140
+ text-decoration-color: rgba(19, 67, 222, 0.7);
141
+ }
142
+
143
+ .dark .appkit-rich-text a {
144
+ color: #84e122; /* lime green — high contrast on dark bg */
145
+ text-decoration-color: rgba(132, 225, 34, 0.4);
146
+ }
147
+
148
+ .dark .appkit-rich-text a:hover {
149
+ color: #a3f550; /* lighter lime green */
150
+ text-decoration-color: rgba(163, 245, 80, 0.6);
151
+ }
152
+
153
+ /* --- Tables --------------------------------------------------------------- */
154
+ .appkit-rich-text table {
155
+ width: 100%;
156
+ border-collapse: collapse;
157
+ font-size: 0.9em;
158
+ overflow: hidden;
159
+ border-radius: 0.5rem;
160
+ border: 1px solid #e4e4e7; /* zinc-200 */
161
+ }
162
+
163
+ .dark .appkit-rich-text table {
164
+ border-color: #334155; /* slate-700 */
165
+ }
166
+
167
+ .appkit-rich-text th {
168
+ background-color: #f4f4f5; /* zinc-100 */
169
+ color: #18181b; /* zinc-900 */
170
+ font-weight: 600;
171
+ padding: 0.6rem 0.875rem;
172
+ text-align: left;
173
+ border-bottom: 1px solid #e4e4e7;
174
+ }
175
+
176
+ .dark .appkit-rich-text th {
177
+ background-color: #1e293b; /* slate-800 */
178
+ color: #f4f4f5; /* zinc-100 */
179
+ border-bottom-color: #334155;
180
+ }
181
+
182
+ .appkit-rich-text td {
183
+ padding: 0.55rem 0.875rem;
184
+ border-bottom: 1px solid #f4f4f5; /* zinc-100 */
185
+ color: #3f3f46; /* zinc-700 */
186
+ }
187
+
188
+ .dark .appkit-rich-text td {
189
+ border-bottom-color: #1e293b; /* slate-800 */
190
+ color: #a1a1aa; /* zinc-400 */
191
+ }
192
+
193
+ .appkit-rich-text tr:last-child td {
194
+ border-bottom: none;
195
+ }
196
+
197
+ .appkit-rich-text tr:hover td {
198
+ background-color: rgba(244, 244, 245, 0.6); /* zinc-100/60 */
199
+ }
200
+
201
+ .dark .appkit-rich-text tr:hover td {
202
+ background-color: rgba(30, 41, 59, 0.5); /* slate-800/50 */
203
+ }
204
+
205
+ /* --- Figure & captions ---------------------------------------------------- */
206
+ .appkit-rich-text figure {
207
+ margin: 1.5rem 0;
208
+ }
209
+
210
+ .appkit-rich-text figcaption {
211
+ margin-top: 0.5rem;
212
+ font-size: 0.8em;
213
+ color: #71717a; /* zinc-500 */
214
+ text-align: center;
215
+ font-style: italic;
216
+ }
217
+
218
+ .dark .appkit-rich-text figcaption {
219
+ color: #71717a; /* zinc-500 */
220
+ }
221
+
222
+ /* --- Images --------------------------------------------------------------- */
223
+ .appkit-rich-text img {
224
+ max-width: 100%;
225
+ height: auto;
226
+ border-radius: 0.5rem;
227
+ }
228
+
229
+ /* --- Headings — consistent theming even without prose-invert -------------- */
230
+ .appkit-rich-text h1,
231
+ .appkit-rich-text h2,
232
+ .appkit-rich-text h3,
233
+ .appkit-rich-text h4,
234
+ .appkit-rich-text h5,
235
+ .appkit-rich-text h6 {
236
+ color: #18181b; /* zinc-900 */
237
+ font-weight: 700;
238
+ line-height: 1.25;
239
+ margin-top: 1.5em;
240
+ margin-bottom: 0.5em;
241
+ }
242
+
243
+ .dark .appkit-rich-text h1,
244
+ .dark .appkit-rich-text h2,
245
+ .dark .appkit-rich-text h3,
246
+ .dark .appkit-rich-text h4,
247
+ .dark .appkit-rich-text h5,
248
+ .dark .appkit-rich-text h6 {
249
+ color: #fafafa; /* zinc-50 */
250
+ }
251
+
252
+ /* --- Body text fallback when not inside a prose wrapper ------------------- */
253
+ .appkit-rich-text p {
254
+ color: #3f3f46; /* zinc-700 */
255
+ }
256
+
257
+ .dark .appkit-rich-text p {
258
+ color: #a1a1aa; /* zinc-400 */
259
+ }
260
+
261
+ /* --- Lists ---------------------------------------------------------------- */
262
+ .appkit-rich-text ul,
263
+ .appkit-rich-text ol {
264
+ padding-left: 1.5rem;
265
+ color: #3f3f46;
266
+ }
267
+
268
+ .dark .appkit-rich-text ul,
269
+ .dark .appkit-rich-text ol {
270
+ color: #a1a1aa;
271
+ }
272
+
273
+ /* --- Ins / Del ------------------------------------------------------------ */
274
+ .appkit-rich-text ins {
275
+ text-decoration: underline;
276
+ text-decoration-style: wavy;
277
+ text-decoration-color: #3570fc; /* primary cobalt */
278
+ }
279
+
280
+ .dark .appkit-rich-text ins {
281
+ text-decoration-color: #84e122; /* lime green on dark */
282
+ }
283
+
284
+ .appkit-rich-text del {
285
+ text-decoration: line-through;
286
+ color: #71717a;
287
+ opacity: 0.75;
288
+ }
289
+
290
+ .dark .appkit-rich-text del {
291
+ color: #52525b;
292
+ }
@@ -0,0 +1,15 @@
1
+ export interface RichTextRendererProps {
2
+ html?: string | null;
3
+ className?: string;
4
+ proseClass?: string;
5
+ }
6
+ /**
7
+ * SSR-safe HTML renderer for admin/CMS-authored rich text content.
8
+ *
9
+ * Works as a React Server Component — no browser APIs, no `"use client"`.
10
+ * Content is assumed to have been sanitized at save time via RichTextEditor.
11
+ *
12
+ * For user-generated content or untrusted HTML, use <RichText> instead
13
+ * (client-only, runs the DOM-based sanitizer).
14
+ */
15
+ export declare function RichTextRenderer({ html, className, proseClass, }: RichTextRendererProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * SSR-safe HTML renderer for admin/CMS-authored rich text content.
4
+ *
5
+ * Works as a React Server Component — no browser APIs, no `"use client"`.
6
+ * Content is assumed to have been sanitized at save time via RichTextEditor.
7
+ *
8
+ * For user-generated content or untrusted HTML, use <RichText> instead
9
+ * (client-only, runs the DOM-based sanitizer).
10
+ */
11
+ export function RichTextRenderer({ html, className = "", proseClass = "prose max-w-none dark:prose-invert", }) {
12
+ if (!html)
13
+ return null;
14
+ return (_jsx("div", { className: `appkit-rich-text ${proseClass} ${className}`.trim(), dangerouslySetInnerHTML: { __html: html } }));
15
+ }
@@ -153,6 +153,8 @@ export interface GenerateReviewVideoFilenameInput {
153
153
  export declare function generateReviewVideoFilename(input: GenerateReviewVideoFilenameInput): string;
154
154
  export declare function generateStoreLogoFilename(storeName: string, ext?: string): string;
155
155
  export declare function generateStoreBannerFilename(storeName: string, ext?: string): string;
156
+ export declare function generateBrandLogoFilename(brandName: string, ext?: string): string;
157
+ export declare function generateBrandBannerFilename(brandName: string, ext?: string): string;
156
158
  export interface GenerateBlogImageFilenameInput {
157
159
  title: string;
158
160
  category: string;
@@ -200,6 +202,14 @@ export type MediaFilenameContext = ({
200
202
  type: "store-banner";
201
203
  store: string;
202
204
  ext?: string;
205
+ } | {
206
+ type: "brand-logo";
207
+ brand: string;
208
+ ext?: string;
209
+ } | {
210
+ type: "brand-banner";
211
+ brand: string;
212
+ ext?: string;
203
213
  } | ({
204
214
  type: "blog-image";
205
215
  } & GenerateBlogImageFilenameInput) | ({
@@ -250,6 +250,14 @@ export function generateStoreBannerFilename(storeName, ext = "webp") {
250
250
  const store = slugify(storeName).substring(0, 40).replace(/-+$/, "");
251
251
  return `store-${store}-banner.${ext.replace(/^\./, "")}`;
252
252
  }
253
+ export function generateBrandLogoFilename(brandName, ext = "webp") {
254
+ const brand = slugify(brandName).substring(0, 40).replace(/-+$/, "");
255
+ return `brand-${brand}-logo.${ext.replace(/^\./, "")}`;
256
+ }
257
+ export function generateBrandBannerFilename(brandName, ext = "webp") {
258
+ const brand = slugify(brandName).substring(0, 40).replace(/-+$/, "");
259
+ return `brand-${brand}-banner.${ext.replace(/^\./, "")}`;
260
+ }
253
261
  export function generateBlogImageFilename(input) {
254
262
  const title = slugify(input.title).substring(0, 40).replace(/-+$/, "");
255
263
  const category = slugify(input.category).substring(0, 20).replace(/-+$/, "");
@@ -328,6 +336,10 @@ export function generateMediaFilename(ctx) {
328
336
  return generateStoreLogoFilename(ctx.store, ctx.ext);
329
337
  case "store-banner":
330
338
  return generateStoreBannerFilename(ctx.store, ctx.ext);
339
+ case "brand-logo":
340
+ return generateBrandLogoFilename(ctx.brand, ctx.ext);
341
+ case "brand-banner":
342
+ return generateBrandBannerFilename(ctx.brand, ctx.ext);
331
343
  case "blog-image":
332
344
  return generateBlogImageFilename(ctx);
333
345
  case "blog-cover":
@@ -15,8 +15,8 @@ export declare const paginationQuerySchema: z.ZodObject<{
15
15
  search?: string | undefined;
16
16
  page?: number | undefined;
17
17
  sortOrder?: "desc" | "asc" | undefined;
18
- sortBy?: string | undefined;
19
18
  limit?: number | undefined;
19
+ sortBy?: string | undefined;
20
20
  }>;
21
21
  export declare const objectIdSchema: z.ZodString;
22
22
  export declare const urlSchema: z.ZodString;
@@ -122,10 +122,10 @@ export declare const cropDataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.Zo
122
122
  x: number;
123
123
  y: number;
124
124
  sourceUrl: string;
125
+ rotation?: number | undefined;
125
126
  minWidth?: number | undefined;
126
127
  quality?: number | undefined;
127
128
  minHeight?: number | undefined;
128
- rotation?: number | undefined;
129
129
  aspectRatio?: string | undefined;
130
130
  outputFolder?: string | undefined;
131
131
  outputFormat?: "webp" | "jpeg" | "png" | undefined;
@@ -135,10 +135,10 @@ export declare const cropDataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.Zo
135
135
  x: number;
136
136
  y: number;
137
137
  sourceUrl: string;
138
+ rotation?: number | undefined;
138
139
  minWidth?: number | undefined;
139
140
  quality?: number | undefined;
140
141
  minHeight?: number | undefined;
141
- rotation?: number | undefined;
142
142
  aspectRatio?: string | undefined;
143
143
  outputFolder?: string | undefined;
144
144
  outputFormat?: "webp" | "jpeg" | "png" | undefined;
@@ -148,10 +148,10 @@ export declare const cropDataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.Zo
148
148
  x: number;
149
149
  y: number;
150
150
  sourceUrl: string;
151
+ rotation?: number | undefined;
151
152
  minWidth?: number | undefined;
152
153
  quality?: number | undefined;
153
154
  minHeight?: number | undefined;
154
- rotation?: number | undefined;
155
155
  aspectRatio?: string | undefined;
156
156
  outputFolder?: string | undefined;
157
157
  outputFormat?: "webp" | "jpeg" | "png" | undefined;
@@ -161,10 +161,10 @@ export declare const cropDataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.Zo
161
161
  x: number;
162
162
  y: number;
163
163
  sourceUrl: string;
164
+ rotation?: number | undefined;
164
165
  minWidth?: number | undefined;
165
166
  quality?: number | undefined;
166
167
  minHeight?: number | undefined;
167
- rotation?: number | undefined;
168
168
  aspectRatio?: string | undefined;
169
169
  outputFolder?: string | undefined;
170
170
  outputFormat?: "webp" | "jpeg" | "png" | undefined;
@@ -174,10 +174,10 @@ export declare const cropDataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.Zo
174
174
  x: number;
175
175
  y: number;
176
176
  sourceUrl: string;
177
+ rotation?: number | undefined;
177
178
  minWidth?: number | undefined;
178
179
  quality?: number | undefined;
179
180
  minHeight?: number | undefined;
180
- rotation?: number | undefined;
181
181
  aspectRatio?: string | undefined;
182
182
  outputFolder?: string | undefined;
183
183
  outputFormat?: "webp" | "jpeg" | "png" | undefined;
@@ -187,10 +187,10 @@ export declare const cropDataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.Zo
187
187
  x: number;
188
188
  y: number;
189
189
  sourceUrl: string;
190
+ rotation?: number | undefined;
190
191
  minWidth?: number | undefined;
191
192
  quality?: number | undefined;
192
193
  minHeight?: number | undefined;
193
- rotation?: number | undefined;
194
194
  aspectRatio?: string | undefined;
195
195
  outputFolder?: string | undefined;
196
196
  outputFormat?: "webp" | "jpeg" | "png" | undefined;
@@ -200,10 +200,10 @@ export declare const cropDataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.Zo
200
200
  x: number;
201
201
  y: number;
202
202
  sourceUrl: string;
203
+ rotation?: number | undefined;
203
204
  minWidth?: number | undefined;
204
205
  quality?: number | undefined;
205
206
  minHeight?: number | undefined;
206
- rotation?: number | undefined;
207
207
  aspectRatio?: string | undefined;
208
208
  outputFolder?: string | undefined;
209
209
  outputFormat?: "webp" | "jpeg" | "png" | undefined;
@@ -213,10 +213,10 @@ export declare const cropDataSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.Zo
213
213
  x: number;
214
214
  y: number;
215
215
  sourceUrl: string;
216
+ rotation?: number | undefined;
216
217
  minWidth?: number | undefined;
217
218
  quality?: number | undefined;
218
219
  minHeight?: number | undefined;
219
- rotation?: number | undefined;
220
220
  aspectRatio?: string | undefined;
221
221
  outputFolder?: string | undefined;
222
222
  outputFormat?: "webp" | "jpeg" | "png" | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mohasinac/appkit",
3
- "version": "2.3.2",
3
+ "version": "2.4.0",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -71,6 +71,10 @@
71
71
  "types": "./dist/features/admin/repository/site-settings.repository.d.ts",
72
72
  "import": "./dist/features/admin/repository/site-settings.repository.js"
73
73
  },
74
+ "./features/whatsapp-bot/server": {
75
+ "types": "./dist/features/whatsapp-bot/server.d.ts",
76
+ "import": "./dist/features/whatsapp-bot/server.js"
77
+ },
74
78
  "./styles": "./dist/styles.css",
75
79
  "./tokens": {
76
80
  "types": "./dist/tokens/index.d.ts",
package/README.md DELETED
@@ -1,116 +0,0 @@
1
- # @mohasinac/appkit
2
-
3
- Appkit is a TypeScript package that provides shared contracts, feature modules, UI helpers, repositories, and runtime-aware utilities for Next.js and React applications.
4
-
5
- ## Package Info
6
-
7
- - Name: `@mohasinac/appkit`
8
- - Current version: `2.3.1`
9
- - Module type: ESM
10
- - Entrypoints:
11
- - Root: `dist/index.js`
12
- - Client-only: `dist/client.js`
13
- - Server-only: `dist/server.js`
14
-
15
- ## Installation
16
-
17
- ```bash
18
- npm install @mohasinac/appkit
19
- ```
20
-
21
- Install peer dependencies required by the features you use:
22
-
23
- ```bash
24
- npm install react react-dom next next-intl @tanstack/react-query
25
- ```
26
-
27
- Optional peer dependencies (only if your integration uses them):
28
-
29
- - `firebase-admin`
30
- - `resend`
31
- - `razorpay`
32
-
33
- ## Build Appkit Locally
34
-
35
- ```bash
36
- npm run build
37
- ```
38
-
39
- This compiles the package to `dist/` using `tsconfig.build.json`.
40
-
41
- ## Basic Consumer Usage
42
-
43
- ```ts
44
- import {
45
- // contracts
46
- type ApiResponse,
47
- // constants
48
- API_ENDPOINTS,
49
- // utilities
50
- createApiEndpointResolver,
51
- } from "@mohasinac/appkit";
52
- ```
53
-
54
- Appkit exposes three runtime-aware entrypoints:
55
-
56
- - `@mohasinac/appkit`: shared/runtime-safe exports
57
- - `@mohasinac/appkit/client`: browser-only exports
58
- - `@mohasinac/appkit/server`: server-only exports
59
-
60
- Use the smallest runtime-specific entrypoint possible.
61
-
62
- ## Runtime Handling for Consumers
63
-
64
- Because Appkit includes both server-capable and browser-only modules, consumers must choose where code runs.
65
-
66
- 1. Use shared utilities, types, schemas, and config constants anywhere.
67
- 2. Use server-only code only in server contexts (server actions, route handlers, backend code).
68
- 3. Render browser-only modules from client components.
69
- 4. If a browser-only component must be loaded from an SSR route, use dynamic import with SSR disabled.
70
-
71
- Example for browser-only modules in an SSR page:
72
-
73
- ```tsx
74
- import dynamic from "next/dynamic";
75
-
76
- const ClientWidget = dynamic(
77
- () => import("@mohasinac/appkit/client").then((m) => m.ClientWidget),
78
- { ssr: false },
79
- );
80
- ```
81
-
82
- Example for server-only modules:
83
-
84
- ```ts
85
- import { createApiHandler } from "@mohasinac/appkit/server";
86
- ```
87
-
88
- ## Consumer Responsibilities
89
-
90
- When integrating Appkit, keep these boundaries in your application:
91
-
92
- 1. Keep secrets in server-only environment files and never expose them in client bundles.
93
- 2. Initialize SDKs once in provider/config bootstrap code.
94
- 3. Keep page-level data fetching in your app's page or server layer; pass data to Appkit views/components.
95
- 4. Wrap writes/mutations in server actions or backend handlers.
96
- 5. Use Appkit repositories/contracts rather than bypassing with ad hoc direct SDK calls.
97
-
98
- ## Adding New Components or Code to Appkit
99
-
100
- Use this checklist when contributing:
101
-
102
- 1. Place code in the appropriate domain folder under `src/` (`features/`, `core/`, `contracts/`, `utils/`, etc.).
103
- 2. Export new symbols from the local domain barrel (`index.ts`) and then from `src/index.ts` if public.
104
- 3. Keep runtime boundaries explicit:
105
- - Browser API usage (`window`, `document`, `navigator`, `localStorage`) belongs to client-only modules.
106
- - Node/server SDK usage belongs to server-only modules.
107
- - Pure helpers stay framework-agnostic.
108
- 4. Prefer type-safe contracts and schema validation for new APIs and forms.
109
- 5. Run `npm run build` and fix all TypeScript errors before publishing.
110
- 6. Add or update docs when new exports change consumer behavior.
111
-
112
- ## Publishing Notes
113
-
114
- - Only `dist/` is published (`files` field in `package.json`).
115
- - Ensure build output is up to date before release.
116
- - Validate exported API surface from `src/index.ts`, `src/client.ts`, and `src/server.ts` before version bump.