@mohasinac/appkit 2.2.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1022) hide show
  1. package/README.md +94 -31
  2. package/dist/client.d.ts +95 -15
  3. package/dist/client.js +143 -15
  4. package/dist/constants/api-endpoints.d.ts +46 -0
  5. package/dist/constants/api-endpoints.js +23 -0
  6. package/dist/constants/index.d.ts +1 -0
  7. package/dist/constants/index.js +1 -0
  8. package/dist/contracts/auth.js +1 -1
  9. package/dist/contracts/client-auth.js +1 -1
  10. package/dist/contracts/client-payment-gateway.js +1 -1
  11. package/dist/contracts/client-realtime.js +1 -1
  12. package/dist/contracts/client-session.js +17 -5
  13. package/dist/contracts/config.js +1 -1
  14. package/dist/contracts/email.js +1 -1
  15. package/dist/contracts/feature.js +1 -1
  16. package/dist/contracts/field-ops.js +2 -2
  17. package/dist/contracts/form.js +1 -1
  18. package/dist/contracts/infra.js +1 -1
  19. package/dist/contracts/payment.js +1 -1
  20. package/dist/contracts/repository.js +2 -2
  21. package/dist/contracts/search.js +1 -1
  22. package/dist/contracts/shipping.js +1 -1
  23. package/dist/contracts/storage.js +1 -1
  24. package/dist/contracts/style.js +1 -1
  25. package/dist/core/hooks/useSiteSettings.js +0 -1
  26. package/dist/core/index.d.ts +1 -0
  27. package/dist/core/index.js +1 -0
  28. package/dist/core/integration-keys.d.ts +0 -16
  29. package/dist/core/integration-keys.js +0 -1
  30. package/dist/core/mutation-events.js +2 -2
  31. package/dist/core/server-action.js +5 -5
  32. package/dist/core/unit-of-work.d.ts +13 -14
  33. package/dist/core/unit-of-work.js +0 -1
  34. package/dist/errors/messages.d.ts +1 -0
  35. package/dist/errors/messages.js +1 -0
  36. package/dist/features/about/components/AboutView.d.ts +14 -14
  37. package/dist/features/about/components/AboutView.js +2 -2
  38. package/dist/features/about/components/FAQPageView.d.ts +6 -0
  39. package/dist/features/about/components/FAQPageView.js +29 -0
  40. package/dist/features/about/components/FeesView.d.ts +4 -0
  41. package/dist/features/about/components/FeesView.js +63 -0
  42. package/dist/features/about/components/HelpPageView.d.ts +4 -0
  43. package/dist/features/about/components/HelpPageView.js +63 -0
  44. package/dist/features/about/components/HowAuctionsWorkView.d.ts +4 -0
  45. package/dist/features/about/components/HowAuctionsWorkView.js +87 -0
  46. package/dist/features/about/components/HowCheckoutWorksView.d.ts +4 -0
  47. package/dist/features/about/components/HowCheckoutWorksView.js +73 -0
  48. package/dist/features/about/components/HowOffersWorkView.d.ts +4 -0
  49. package/dist/features/about/components/HowOffersWorkView.js +58 -0
  50. package/dist/features/about/components/HowOrdersWorkView.d.ts +4 -0
  51. package/dist/features/about/components/HowOrdersWorkView.js +131 -0
  52. package/dist/features/about/components/HowPayoutsWorkView.d.ts +4 -0
  53. package/dist/features/about/components/HowPayoutsWorkView.js +87 -0
  54. package/dist/features/about/components/HowPreOrdersWorkView.d.ts +4 -0
  55. package/dist/features/about/components/HowPreOrdersWorkView.js +87 -0
  56. package/dist/features/about/components/HowReviewsWorkView.d.ts +4 -0
  57. package/dist/features/about/components/HowReviewsWorkView.js +72 -0
  58. package/dist/features/about/components/PolicyPageView.d.ts +6 -0
  59. package/dist/features/about/components/PolicyPageView.js +28 -0
  60. package/dist/features/about/components/PublicProfileView.d.ts +5 -0
  61. package/dist/features/about/components/PublicProfileView.js +21 -0
  62. package/dist/features/about/components/SecurityPrivacyView.d.ts +4 -0
  63. package/dist/features/about/components/SecurityPrivacyView.js +122 -0
  64. package/dist/features/about/components/ShippingPolicyView.d.ts +4 -0
  65. package/dist/features/about/components/ShippingPolicyView.js +59 -0
  66. package/dist/features/about/components/TrackOrderView.d.ts +4 -0
  67. package/dist/features/about/components/TrackOrderView.js +43 -0
  68. package/dist/features/about/components/UnauthorizedView.d.ts +4 -0
  69. package/dist/features/about/components/UnauthorizedView.js +29 -0
  70. package/dist/features/about/index.d.ts +32 -0
  71. package/dist/features/about/index.js +16 -0
  72. package/dist/features/account/components/AddressBook.js +3 -2
  73. package/dist/features/account/components/AddressForm.js +2 -1
  74. package/dist/features/account/components/AddressSelectorCreate.js +2 -1
  75. package/dist/features/account/components/ChatList.js +0 -1
  76. package/dist/features/account/components/ChatWindow.js +2 -2
  77. package/dist/features/account/components/MessagesView.js +2 -1
  78. package/dist/features/account/components/NotificationBell.js +3 -2
  79. package/dist/features/account/components/UserSidebar.d.ts +15 -0
  80. package/dist/features/account/components/UserSidebar.js +18 -0
  81. package/dist/features/account/components/index.d.ts +2 -0
  82. package/dist/features/account/components/index.js +1 -0
  83. package/dist/features/account/hooks/useAccount.js +0 -1
  84. package/dist/features/account/hooks/useAddressSelector.js +0 -1
  85. package/dist/features/account/hooks/useAddresses.js +0 -1
  86. package/dist/features/account/hooks/useNotifications.js +0 -1
  87. package/dist/features/account/hooks/useProfile.js +0 -1
  88. package/dist/features/account/hooks/useProfileStats.js +0 -1
  89. package/dist/features/account/hooks/usePublicProfile.js +0 -1
  90. package/dist/features/account/repository/address.repository.js +2 -3
  91. package/dist/features/account/schemas/index.d.ts +20 -20
  92. package/dist/features/account/schemas/index.js +2 -2
  93. package/dist/features/account/server.d.ts +0 -1
  94. package/dist/features/account/server.js +0 -1
  95. package/dist/features/account/types/index.js +1 -1
  96. package/dist/features/admin/components/AdminAdEditorView.d.ts +10 -0
  97. package/dist/features/admin/components/AdminAdEditorView.js +225 -0
  98. package/dist/features/admin/components/AdminAdsView.d.ts +25 -0
  99. package/dist/features/admin/components/AdminAdsView.js +165 -0
  100. package/dist/features/admin/components/AdminAnalyticsView.d.ts +2 -1
  101. package/dist/features/admin/components/AdminAnalyticsView.js +19 -5
  102. package/dist/features/admin/components/AdminBidsView.d.ts +1 -1
  103. package/dist/features/admin/components/AdminBidsView.js +26 -2
  104. package/dist/features/admin/components/AdminBlogView.d.ts +1 -1
  105. package/dist/features/admin/components/AdminBlogView.js +34 -2
  106. package/dist/features/admin/components/AdminCarouselView.d.ts +3 -8
  107. package/dist/features/admin/components/AdminCarouselView.js +39 -4
  108. package/dist/features/admin/components/AdminCategoriesView.d.ts +3 -8
  109. package/dist/features/admin/components/AdminCategoriesView.js +40 -4
  110. package/dist/features/admin/components/AdminCouponsView.d.ts +1 -1
  111. package/dist/features/admin/components/AdminCouponsView.js +28 -2
  112. package/dist/features/admin/components/AdminDashboardView.d.ts +2 -1
  113. package/dist/features/admin/components/AdminDashboardView.js +28 -3
  114. package/dist/features/admin/components/AdminFaqsView.d.ts +1 -1
  115. package/dist/features/admin/components/AdminFaqsView.js +23 -2
  116. package/dist/features/admin/components/AdminFeatureFlagsView.js +48 -3
  117. package/dist/features/admin/components/AdminFilterBar.js +3 -4
  118. package/dist/features/admin/components/AdminListingScaffold.d.ts +26 -0
  119. package/dist/features/admin/components/AdminListingScaffold.js +57 -0
  120. package/dist/features/admin/components/AdminMediaView.d.ts +7 -7
  121. package/dist/features/admin/components/AdminMediaView.js +50 -4
  122. package/dist/features/admin/components/AdminNavigationView.d.ts +7 -3
  123. package/dist/features/admin/components/AdminNavigationView.js +81 -4
  124. package/dist/features/admin/components/AdminOrdersView.d.ts +1 -1
  125. package/dist/features/admin/components/AdminOrdersView.js +28 -2
  126. package/dist/features/admin/components/AdminPageHeader.js +1 -2
  127. package/dist/features/admin/components/AdminPayoutsView.d.ts +1 -1
  128. package/dist/features/admin/components/AdminPayoutsView.js +28 -2
  129. package/dist/features/admin/components/AdminProductsView.d.ts +1 -1
  130. package/dist/features/admin/components/AdminProductsView.js +26 -2
  131. package/dist/features/admin/components/AdminReviewsView.d.ts +1 -1
  132. package/dist/features/admin/components/AdminReviewsView.js +24 -2
  133. package/dist/features/admin/components/AdminSectionsView.d.ts +3 -7
  134. package/dist/features/admin/components/AdminSectionsView.js +947 -4
  135. package/dist/features/admin/components/AdminSessionsManager.js +1 -2
  136. package/dist/features/admin/components/AdminSidebar.d.ts +5 -1
  137. package/dist/features/admin/components/AdminSidebar.js +5 -4
  138. package/dist/features/admin/components/AdminSiteView.js +43 -3
  139. package/dist/features/admin/components/AdminStoresView.d.ts +1 -1
  140. package/dist/features/admin/components/AdminStoresView.js +26 -2
  141. package/dist/features/admin/components/AdminUsersView.d.ts +1 -1
  142. package/dist/features/admin/components/AdminUsersView.js +38 -2
  143. package/dist/features/admin/components/DashboardStats.js +7 -7
  144. package/dist/features/admin/components/DataTable.js +2 -2
  145. package/dist/features/admin/components/DrawerFormFooter.js +1 -2
  146. package/dist/features/admin/components/QuickActionsPanel.js +1 -2
  147. package/dist/features/admin/components/analytics/AdminStatCard.js +0 -1
  148. package/dist/features/admin/components/analytics/AdminTopProductsTable.js +1 -2
  149. package/dist/features/admin/components/index.d.ts +4 -0
  150. package/dist/features/admin/components/index.js +2 -0
  151. package/dist/features/admin/hooks/useAdmin.js +0 -1
  152. package/dist/features/admin/hooks/useAdminListingData.d.ts +28 -0
  153. package/dist/features/admin/hooks/useAdminListingData.js +100 -0
  154. package/dist/features/admin/hooks/useAdminSectionsListing.d.ts +28 -0
  155. package/dist/features/admin/hooks/useAdminSectionsListing.js +34 -0
  156. package/dist/features/admin/index.d.ts +2 -0
  157. package/dist/features/admin/index.js +2 -0
  158. package/dist/features/admin/repository/chat.repository.d.ts +1 -1
  159. package/dist/features/admin/repository/chat.repository.js +1 -1
  160. package/dist/features/admin/repository/notification.repository.d.ts +0 -1
  161. package/dist/features/admin/repository/notification.repository.js +9 -7
  162. package/dist/features/admin/repository/site-settings.repository.d.ts +2 -0
  163. package/dist/features/admin/repository/site-settings.repository.js +25 -2
  164. package/dist/features/admin/schemas/firestore.d.ts +5 -1
  165. package/dist/features/admin/schemas/firestore.js +5 -0
  166. package/dist/features/admin/server.d.ts +0 -1
  167. package/dist/features/admin/server.js +0 -1
  168. package/dist/features/auctions/actions/bid-actions.js +1 -1
  169. package/dist/features/auctions/api/route.js +1 -1
  170. package/dist/features/auctions/columns/index.js +2 -2
  171. package/dist/features/auctions/components/AuctionCard.js +3 -2
  172. package/dist/features/auctions/components/AuctionDetailPageView.d.ts +4 -0
  173. package/dist/features/auctions/components/AuctionDetailPageView.js +71 -0
  174. package/dist/features/auctions/components/AuctionsListView.d.ts +1 -0
  175. package/dist/features/auctions/components/AuctionsListView.js +17 -0
  176. package/dist/features/auctions/components/MarketplaceAuctionCard.js +5 -2
  177. package/dist/features/auctions/components/MarketplaceAuctionGrid.js +0 -1
  178. package/dist/features/auctions/components/index.d.ts +3 -0
  179. package/dist/features/auctions/components/index.js +2 -0
  180. package/dist/features/auctions/hooks/useAuctions.js +0 -1
  181. package/dist/features/auctions/hooks/usePlaceBid.js +0 -1
  182. package/dist/features/auctions/repository/bid.repository.js +3 -13
  183. package/dist/features/auctions/schemas/index.d.ts +22 -22
  184. package/dist/features/auctions/schemas/index.js +2 -2
  185. package/dist/features/auctions/server.d.ts +0 -1
  186. package/dist/features/auctions/server.js +0 -1
  187. package/dist/features/auth/api/route.js +2 -2
  188. package/dist/features/auth/components/AuthStatusPanel.js +3 -3
  189. package/dist/features/auth/components/ForgotPasswordView.js +2 -2
  190. package/dist/features/auth/components/Guards.d.ts +2 -2
  191. package/dist/features/auth/components/Guards.js +2 -2
  192. package/dist/features/auth/components/LoginForm.js +1 -1
  193. package/dist/features/auth/components/OAuthLoadingView.d.ts +1 -0
  194. package/dist/features/auth/components/OAuthLoadingView.js +5 -0
  195. package/dist/features/auth/components/RegisterForm.js +1 -1
  196. package/dist/features/auth/components/ResetPasswordView.js +1 -1
  197. package/dist/features/auth/components/SocialAuthButtons.js +1 -2
  198. package/dist/features/auth/components/VerifyEmailView.js +4 -3
  199. package/dist/features/auth/components/index.d.ts +1 -0
  200. package/dist/features/auth/components/index.js +1 -0
  201. package/dist/features/auth/consent-otp.d.ts +5 -3
  202. package/dist/features/auth/consent-otp.js +0 -1
  203. package/dist/features/auth/hooks/useAuth.d.ts +0 -1
  204. package/dist/features/auth/hooks/useAuth.js +0 -1
  205. package/dist/features/auth/hooks/useAuthEvent.js +0 -1
  206. package/dist/features/auth/hooks/useLogout.js +0 -1
  207. package/dist/features/auth/repository/session.repository.d.ts +0 -1
  208. package/dist/features/auth/repository/session.repository.js +0 -1
  209. package/dist/features/auth/repository/token.repository.d.ts +0 -1
  210. package/dist/features/auth/repository/token.repository.js +0 -1
  211. package/dist/features/auth/repository/user.repository.d.ts +0 -1
  212. package/dist/features/auth/repository/user.repository.js +18 -29
  213. package/dist/features/auth/schemas/firestore.js +1 -1
  214. package/dist/features/auth/schemas/index.d.ts +4 -4
  215. package/dist/features/auth/schemas/index.js +2 -2
  216. package/dist/features/auth/server.d.ts +0 -1
  217. package/dist/features/auth/server.js +0 -1
  218. package/dist/features/auth/token-store.d.ts +0 -1
  219. package/dist/features/auth/token-store.js +0 -1
  220. package/dist/features/before-after/hooks/useBeforeAfter.js +0 -1
  221. package/dist/features/before-after/schemas/index.d.ts +2 -2
  222. package/dist/features/before-after/server.d.ts +0 -1
  223. package/dist/features/before-after/server.js +0 -1
  224. package/dist/features/blog/actions/blog-actions.d.ts +53 -53
  225. package/dist/features/blog/actions/blog-actions.js +2 -2
  226. package/dist/features/blog/api/[slug]/route.js +1 -1
  227. package/dist/features/blog/api/route.js +1 -1
  228. package/dist/features/blog/components/BlogFeaturedCard.js +9 -7
  229. package/dist/features/blog/components/BlogFilters.js +0 -1
  230. package/dist/features/blog/components/BlogIndexListing.d.ts +4 -0
  231. package/dist/features/blog/components/BlogIndexListing.js +26 -0
  232. package/dist/features/blog/components/BlogIndexPageView.d.ts +1 -0
  233. package/dist/features/blog/components/BlogIndexPageView.js +11 -0
  234. package/dist/features/blog/components/BlogListView.js +4 -3
  235. package/dist/features/blog/components/BlogPostForm.js +3 -3
  236. package/dist/features/blog/components/BlogPostView.js +3 -3
  237. package/dist/features/blog/components/index.d.ts +2 -0
  238. package/dist/features/blog/components/index.js +1 -0
  239. package/dist/features/blog/hooks/useBlog.js +0 -1
  240. package/dist/features/blog/repository/blog.repository.d.ts +0 -1
  241. package/dist/features/blog/repository/blog.repository.js +0 -1
  242. package/dist/features/blog/schemas/index.d.ts +35 -35
  243. package/dist/features/blog/schemas/index.js +2 -2
  244. package/dist/features/blog/server.d.ts +0 -1
  245. package/dist/features/blog/server.js +0 -1
  246. package/dist/features/cart/components/CartDrawer.js +5 -4
  247. package/dist/features/cart/components/CartSummary.js +1 -1
  248. package/dist/features/cart/components/CartView.js +1 -1
  249. package/dist/features/cart/components/CheckoutAddressStep.js +0 -1
  250. package/dist/features/cart/components/CheckoutOtpModal.js +1 -2
  251. package/dist/features/cart/components/CheckoutView.js +1 -1
  252. package/dist/features/cart/hooks/useCart.js +0 -1
  253. package/dist/features/cart/hooks/useCartCount.js +0 -1
  254. package/dist/features/cart/hooks/useCartQuery.js +0 -1
  255. package/dist/features/cart/hooks/useCheckoutReadQueries.js +0 -1
  256. package/dist/features/cart/hooks/useOrder.js +0 -1
  257. package/dist/features/cart/repository/cart.repository.d.ts +0 -1
  258. package/dist/features/cart/repository/cart.repository.js +0 -1
  259. package/dist/features/cart/schemas/index.d.ts +19 -19
  260. package/dist/features/cart/server.d.ts +0 -1
  261. package/dist/features/cart/server.js +0 -1
  262. package/dist/features/cart/utils/guest-cart.d.ts +0 -1
  263. package/dist/features/cart/utils/guest-cart.js +0 -1
  264. package/dist/features/categories/api/[id]/route.js +3 -3
  265. package/dist/features/categories/api/route.js +5 -5
  266. package/dist/features/categories/components/BreadcrumbTrail.js +0 -1
  267. package/dist/features/categories/components/CategoriesIndexListing.d.ts +5 -0
  268. package/dist/features/categories/components/CategoriesIndexListing.js +44 -0
  269. package/dist/features/categories/components/CategoriesIndexPageView.d.ts +1 -0
  270. package/dist/features/categories/components/CategoriesIndexPageView.js +12 -0
  271. package/dist/features/categories/components/CategoriesListView.js +3 -3
  272. package/dist/features/categories/components/CategoryDetailPageView.d.ts +4 -0
  273. package/dist/features/categories/components/CategoryDetailPageView.js +25 -0
  274. package/dist/features/categories/components/CategoryFilters.js +0 -1
  275. package/dist/features/categories/components/CategoryForm.js +4 -4
  276. package/dist/features/categories/components/CategoryGrid.d.ts +2 -1
  277. package/dist/features/categories/components/CategoryGrid.js +11 -5
  278. package/dist/features/categories/components/CategoryProductsListing.d.ts +5 -0
  279. package/dist/features/categories/components/CategoryProductsListing.js +29 -0
  280. package/dist/features/categories/components/CategoryProductsView.js +3 -3
  281. package/dist/features/categories/components/CategorySelectorCreate.js +2 -2
  282. package/dist/features/categories/components/CategorySortSelect.js +0 -1
  283. package/dist/features/categories/components/CategoryTableColumns.js +3 -3
  284. package/dist/features/categories/components/CategoryTree.js +1 -1
  285. package/dist/features/categories/components/ConcernCard.js +2 -1
  286. package/dist/features/categories/components/index.d.ts +4 -0
  287. package/dist/features/categories/components/index.js +2 -0
  288. package/dist/features/categories/hooks/useCategories.js +0 -1
  289. package/dist/features/categories/hooks/useCategorySelector.js +0 -1
  290. package/dist/features/categories/repository/categories.repository.d.ts +0 -1
  291. package/dist/features/categories/repository/categories.repository.js +0 -1
  292. package/dist/features/categories/schemas/index.d.ts +40 -40
  293. package/dist/features/categories/schemas/index.js +2 -2
  294. package/dist/features/categories/server.d.ts +0 -1
  295. package/dist/features/categories/server.js +0 -1
  296. package/dist/features/checkout/actions/checkout-actions.d.ts +7 -1
  297. package/dist/features/checkout/actions/checkout-actions.js +0 -1
  298. package/dist/features/checkout/components/CheckoutStepper.js +4 -3
  299. package/dist/features/checkout/hooks/useCheckoutApi.js +0 -1
  300. package/dist/features/checkout/hooks/usePaymentCheckout.d.ts +0 -1
  301. package/dist/features/checkout/hooks/usePaymentCheckout.js +1 -2
  302. package/dist/features/checkout/server.d.ts +0 -1
  303. package/dist/features/checkout/server.js +0 -1
  304. package/dist/features/collections/components/CollectionCard.js +2 -2
  305. package/dist/features/collections/hooks/useCollections.js +0 -1
  306. package/dist/features/collections/schemas/index.d.ts +5 -5
  307. package/dist/features/collections/server.d.ts +0 -1
  308. package/dist/features/collections/server.js +0 -1
  309. package/dist/features/consultation/hooks/useBookConsultation.js +0 -1
  310. package/dist/features/consultation/schemas/index.d.ts +7 -7
  311. package/dist/features/consultation/server.d.ts +0 -1
  312. package/dist/features/consultation/server.js +0 -1
  313. package/dist/features/contact/components/ContactInfoSidebar.js +1 -2
  314. package/dist/features/contact/components/ContactPageView.d.ts +1 -0
  315. package/dist/features/contact/components/ContactPageView.js +45 -0
  316. package/dist/features/contact/components/index.d.ts +1 -0
  317. package/dist/features/contact/components/index.js +1 -0
  318. package/dist/features/contact/email.d.ts +0 -1
  319. package/dist/features/contact/email.js +0 -1
  320. package/dist/features/contact/hooks/useContactSubmit.js +0 -1
  321. package/dist/features/contact/server.d.ts +0 -1
  322. package/dist/features/contact/server.js +0 -1
  323. package/dist/features/copilot/components/AdminCopilotView.d.ts +5 -5
  324. package/dist/features/copilot/components/AdminCopilotView.js +26 -11
  325. package/dist/features/copilot/hooks/useCopilotChat.d.ts +3 -0
  326. package/dist/features/copilot/hooks/useCopilotChat.js +9 -1
  327. package/dist/features/copilot/hooks/useCopilotFeedback.js +0 -1
  328. package/dist/features/corporate/hooks/useSubmitCorporateInquiry.js +0 -1
  329. package/dist/features/corporate/schemas/index.d.ts +1 -1
  330. package/dist/features/corporate/server.d.ts +0 -1
  331. package/dist/features/corporate/server.js +0 -1
  332. package/dist/features/cron/firebase-adapters.js +2 -2
  333. package/dist/features/cron/index.js +3 -3
  334. package/dist/features/cron/registry.js +4 -4
  335. package/dist/features/events/actions/event-actions.js +7 -7
  336. package/dist/features/events/api/[id]/route.js +1 -1
  337. package/dist/features/events/components/AdminEventEntriesView.d.ts +7 -2
  338. package/dist/features/events/components/AdminEventEntriesView.js +114 -7
  339. package/dist/features/events/components/AdminEventsView.d.ts +3 -10
  340. package/dist/features/events/components/AdminEventsView.js +34 -4
  341. package/dist/features/events/components/EventBanner.js +1 -1
  342. package/dist/features/events/components/EventCard.d.ts +1 -0
  343. package/dist/features/events/components/EventCard.js +7 -5
  344. package/dist/features/events/components/EventFilters.js +0 -1
  345. package/dist/features/events/components/EventFormDrawer.js +1 -1
  346. package/dist/features/events/components/EventLeaderboard.js +3 -3
  347. package/dist/features/events/components/EventParticipateView.js +2 -2
  348. package/dist/features/events/components/EventsIndexListing.d.ts +4 -0
  349. package/dist/features/events/components/EventsIndexListing.js +24 -0
  350. package/dist/features/events/components/EventsListPageView.d.ts +1 -0
  351. package/dist/features/events/components/EventsListPageView.js +16 -0
  352. package/dist/features/events/components/index.d.ts +2 -0
  353. package/dist/features/events/components/index.js +1 -0
  354. package/dist/features/events/hooks/useBulkEvent.js +0 -1
  355. package/dist/features/events/hooks/useEvent.js +0 -1
  356. package/dist/features/events/hooks/useEvents.js +0 -1
  357. package/dist/features/events/schemas/index.d.ts +45 -45
  358. package/dist/features/events/schemas/index.js +2 -2
  359. package/dist/features/events/server.d.ts +0 -1
  360. package/dist/features/events/server.js +0 -1
  361. package/dist/features/faq/actions/faq-actions.d.ts +20 -20
  362. package/dist/features/faq/actions/faq-actions.js +2 -2
  363. package/dist/features/faq/components/ContactCTA.js +0 -1
  364. package/dist/features/faq/components/FAQAccordion.js +5 -5
  365. package/dist/features/faq/components/FAQCategorySidebar.js +0 -1
  366. package/dist/features/faq/components/FAQHelpfulButtons.js +2 -2
  367. package/dist/features/faq/components/FAQPageContent.d.ts +4 -1
  368. package/dist/features/faq/components/FAQPageContent.js +14 -15
  369. package/dist/features/faq/components/FAQSortDropdown.js +1 -2
  370. package/dist/features/faq/components/RelatedFAQs.js +0 -1
  371. package/dist/features/faq/hooks/useFAQs.js +0 -1
  372. package/dist/features/faq/hooks/useFaqList.js +0 -1
  373. package/dist/features/faq/hooks/useFaqVote.js +0 -1
  374. package/dist/features/faq/repository/faqs.repository.d.ts +0 -1
  375. package/dist/features/faq/repository/faqs.repository.js +0 -1
  376. package/dist/features/faq/schemas/index.d.ts +18 -18
  377. package/dist/features/faq/schemas/index.js +2 -2
  378. package/dist/features/faq/server.d.ts +0 -1
  379. package/dist/features/faq/server.js +0 -1
  380. package/dist/features/filters/FilterFacetSection.js +1 -1
  381. package/dist/features/filters/index.d.ts +4 -0
  382. package/dist/features/filters/index.js +2 -0
  383. package/dist/features/filters/routeFilterState.d.ts +58 -0
  384. package/dist/features/filters/routeFilterState.js +97 -0
  385. package/dist/features/filters/usePendingFilters.d.ts +37 -0
  386. package/dist/features/filters/usePendingFilters.js +22 -0
  387. package/dist/features/forms/Checkbox.js +1 -0
  388. package/dist/features/forms/Form.js +1 -2
  389. package/dist/features/forms/Radio.js +0 -1
  390. package/dist/features/forms/utils.js +1 -1
  391. package/dist/features/homepage/actions/homepage-section-actions.js +2 -2
  392. package/dist/features/homepage/ad-registry.d.ts +96 -0
  393. package/dist/features/homepage/ad-registry.js +84 -0
  394. package/dist/features/homepage/api/[id]/route.js +3 -3
  395. package/dist/features/homepage/api/carousel/[id]/route.js +3 -3
  396. package/dist/features/homepage/api/carousel/route.js +1 -1
  397. package/dist/features/homepage/api/route.js +1 -1
  398. package/dist/features/homepage/components/AdSlot.d.ts +28 -0
  399. package/dist/features/homepage/components/AdSlot.js +85 -0
  400. package/dist/features/homepage/components/AdvertisementBanner.js +8 -8
  401. package/dist/features/homepage/components/AnnouncementBar.d.ts +5 -0
  402. package/dist/features/homepage/components/AnnouncementBar.js +10 -0
  403. package/dist/features/homepage/components/BeforeAfterCard.d.ts +0 -1
  404. package/dist/features/homepage/components/BeforeAfterCard.js +0 -1
  405. package/dist/features/homepage/components/BlogArticlesSection.d.ts +8 -0
  406. package/dist/features/homepage/components/BlogArticlesSection.js +12 -0
  407. package/dist/features/homepage/components/BrandsSection.d.ts +9 -0
  408. package/dist/features/homepage/components/BrandsSection.js +20 -0
  409. package/dist/features/homepage/components/CTABannerSection.d.ts +10 -0
  410. package/dist/features/homepage/components/CTABannerSection.js +6 -0
  411. package/dist/features/homepage/components/CharacterHotspot.d.ts +0 -1
  412. package/dist/features/homepage/components/CharacterHotspot.js +4 -4
  413. package/dist/features/homepage/components/CustomerReviewsSection.js +3 -4
  414. package/dist/features/homepage/components/EventsSection.d.ts +9 -0
  415. package/dist/features/homepage/components/EventsSection.js +10 -0
  416. package/dist/features/homepage/components/FAQSection.d.ts +0 -1
  417. package/dist/features/homepage/components/FAQSection.js +4 -4
  418. package/dist/features/homepage/components/FeaturedAuctionsSection.d.ts +8 -0
  419. package/dist/features/homepage/components/FeaturedAuctionsSection.js +10 -0
  420. package/dist/features/homepage/components/FeaturedPreOrdersSection.d.ts +8 -0
  421. package/dist/features/homepage/components/FeaturedPreOrdersSection.js +10 -0
  422. package/dist/features/homepage/components/FeaturedProductsSection.d.ts +8 -0
  423. package/dist/features/homepage/components/FeaturedProductsSection.js +11 -0
  424. package/dist/features/homepage/components/FeaturedResultsSection.js +9 -9
  425. package/dist/features/homepage/components/FeaturedStoresSection.d.ts +9 -0
  426. package/dist/features/homepage/components/FeaturedStoresSection.js +11 -0
  427. package/dist/features/homepage/components/HeroCarousel.d.ts +1 -2
  428. package/dist/features/homepage/components/HeroCarousel.js +5 -12
  429. package/dist/features/homepage/components/HomepageCustomerReviewsSection.d.ts +8 -0
  430. package/dist/features/homepage/components/HomepageCustomerReviewsSection.js +9 -0
  431. package/dist/features/homepage/components/HomepageSkeleton.js +1 -2
  432. package/dist/features/homepage/components/HowItWorksInfoView.js +2 -2
  433. package/dist/features/homepage/components/HowItWorksSection.js +4 -4
  434. package/dist/features/homepage/components/MarketplaceHomepageView.d.ts +25 -0
  435. package/dist/features/homepage/components/MarketplaceHomepageView.js +252 -0
  436. package/dist/features/homepage/components/NewsletterSection.js +2 -3
  437. package/dist/features/homepage/components/SectionCarousel.js +13 -7
  438. package/dist/features/homepage/components/SecurityHighlightsSection.js +4 -4
  439. package/dist/features/homepage/components/ShopByCategorySection.d.ts +9 -0
  440. package/dist/features/homepage/components/ShopByCategorySection.js +21 -0
  441. package/dist/features/homepage/components/SiteFeaturesSection.js +2 -3
  442. package/dist/features/homepage/components/StatsCounterSection.js +5 -5
  443. package/dist/features/homepage/components/TrustFeaturesSection.js +7 -7
  444. package/dist/features/homepage/components/TrustIndicatorsSection.js +2 -3
  445. package/dist/features/homepage/components/WelcomeSection.d.ts +3 -1
  446. package/dist/features/homepage/components/WelcomeSection.js +5 -5
  447. package/dist/features/homepage/components/WhatsAppCommunitySection.d.ts +0 -1
  448. package/dist/features/homepage/components/WhatsAppCommunitySection.js +4 -5
  449. package/dist/features/homepage/components/index.d.ts +24 -0
  450. package/dist/features/homepage/components/index.js +12 -0
  451. package/dist/features/homepage/hooks/useBlogArticles.js +0 -1
  452. package/dist/features/homepage/hooks/useFeaturedAuctions.js +0 -1
  453. package/dist/features/homepage/hooks/useFeaturedPreOrders.js +0 -1
  454. package/dist/features/homepage/hooks/useFeaturedProducts.js +0 -1
  455. package/dist/features/homepage/hooks/useFeaturedStores.d.ts +2 -0
  456. package/dist/features/homepage/hooks/useFeaturedStores.js +14 -0
  457. package/dist/features/homepage/hooks/useHeroCarousel.js +0 -1
  458. package/dist/features/homepage/hooks/useHomepage.js +0 -1
  459. package/dist/features/homepage/hooks/useHomepageEvents.d.ts +6 -0
  460. package/dist/features/homepage/hooks/useHomepageEvents.js +14 -0
  461. package/dist/features/homepage/hooks/useHomepageReviews.js +0 -1
  462. package/dist/features/homepage/hooks/useHomepageSections.js +0 -1
  463. package/dist/features/homepage/hooks/useNewsletter.js +0 -1
  464. package/dist/features/homepage/hooks/useTopBrands.js +0 -1
  465. package/dist/features/homepage/hooks/useTopCategories.js +0 -1
  466. package/dist/features/homepage/index.d.ts +4 -0
  467. package/dist/features/homepage/index.js +3 -0
  468. package/dist/features/homepage/repository/carousel.repository.d.ts +0 -1
  469. package/dist/features/homepage/repository/carousel.repository.js +2 -8
  470. package/dist/features/homepage/schemas/firestore.d.ts +20 -2
  471. package/dist/features/homepage/schemas/firestore.js +10 -8
  472. package/dist/features/homepage/server.d.ts +0 -1
  473. package/dist/features/homepage/server.js +0 -1
  474. package/dist/features/layout/AppLayoutShell.d.ts +98 -0
  475. package/dist/features/layout/AppLayoutShell.js +147 -0
  476. package/dist/features/layout/AutoBreadcrumbs.js +5 -5
  477. package/dist/features/layout/BackToTop.d.ts +0 -1
  478. package/dist/features/layout/BackToTop.js +0 -1
  479. package/dist/features/layout/BottomActions.js +8 -11
  480. package/dist/features/layout/BottomActionsContext.js +2 -2
  481. package/dist/features/layout/BottomNavItem.js +0 -1
  482. package/dist/features/layout/BottomNavLayout.js +1 -2
  483. package/dist/features/layout/BottomNavbar.d.ts +7 -0
  484. package/dist/features/layout/BottomNavbar.js +13 -6
  485. package/dist/features/layout/BottomSheet.d.ts +0 -1
  486. package/dist/features/layout/BottomSheet.js +0 -1
  487. package/dist/features/layout/Breadcrumbs.js +3 -3
  488. package/dist/features/layout/DashboardNavContext.d.ts +10 -2
  489. package/dist/features/layout/DashboardNavContext.js +35 -3
  490. package/dist/features/layout/FooterLayout.js +4 -2
  491. package/dist/features/layout/LayoutClient.js +0 -1
  492. package/dist/features/layout/ListingLayout.d.ts +0 -1
  493. package/dist/features/layout/ListingLayout.js +0 -1
  494. package/dist/features/layout/LocaleSwitcher.js +0 -1
  495. package/dist/features/layout/NavItem.js +2 -3
  496. package/dist/features/layout/NavbarLayout.js +4 -4
  497. package/dist/features/layout/SidebarLayout.js +0 -1
  498. package/dist/features/layout/TitleBar.d.ts +4 -2
  499. package/dist/features/layout/TitleBar.js +8 -4
  500. package/dist/features/layout/TitleBarLayout.d.ts +5 -3
  501. package/dist/features/layout/TitleBarLayout.js +3 -4
  502. package/dist/features/layout/index.d.ts +2 -0
  503. package/dist/features/layout/index.js +1 -0
  504. package/dist/features/loyalty/components/CoinsDisplay.js +0 -1
  505. package/dist/features/loyalty/hooks/useLoyaltyBalance.js +0 -1
  506. package/dist/features/loyalty/schemas/index.d.ts +6 -6
  507. package/dist/features/loyalty/server.d.ts +0 -1
  508. package/dist/features/loyalty/server.js +0 -1
  509. package/dist/features/media/AvatarUpload.js +1 -1
  510. package/dist/features/media/MediaImage.d.ts +3 -1
  511. package/dist/features/media/MediaImage.js +9 -5
  512. package/dist/features/media/MediaLightbox.d.ts +0 -1
  513. package/dist/features/media/MediaLightbox.js +1 -2
  514. package/dist/features/media/components/MediaSlider.d.ts +4 -0
  515. package/dist/features/media/components/MediaSlider.js +0 -1
  516. package/dist/features/media/hooks/useMedia.d.ts +6 -0
  517. package/dist/features/media/hooks/useMedia.js +1 -2
  518. package/dist/features/media/server.d.ts +0 -1
  519. package/dist/features/media/server.js +0 -1
  520. package/dist/features/media/types/index.d.ts +2 -2
  521. package/dist/features/orders/api/track/[trackingId]/route.d.ts +0 -1
  522. package/dist/features/orders/api/track/[trackingId]/route.js +0 -1
  523. package/dist/features/orders/components/MarketplaceOrderCard.d.ts +0 -1
  524. package/dist/features/orders/components/MarketplaceOrderCard.js +1 -2
  525. package/dist/features/orders/components/OrderFilters.js +0 -1
  526. package/dist/features/orders/components/OrdersList.js +3 -2
  527. package/dist/features/orders/hooks/useOrders.js +0 -1
  528. package/dist/features/orders/repository/orders.repository.d.ts +0 -1
  529. package/dist/features/orders/repository/orders.repository.js +0 -1
  530. package/dist/features/orders/schemas/index.d.ts +28 -28
  531. package/dist/features/orders/schemas/index.js +2 -2
  532. package/dist/features/orders/server.d.ts +0 -1
  533. package/dist/features/orders/server.js +0 -1
  534. package/dist/features/payments/hooks/usePaymentEvent.js +0 -1
  535. package/dist/features/payments/hooks/usePayments.js +0 -1
  536. package/dist/features/payments/schemas/index.d.ts +4 -4
  537. package/dist/features/payments/server.d.ts +0 -1
  538. package/dist/features/payments/server.js +0 -1
  539. package/dist/features/pre-orders/api/route.js +1 -1
  540. package/dist/features/pre-orders/components/MarketplacePreorderCard.d.ts +1 -0
  541. package/dist/features/pre-orders/components/MarketplacePreorderCard.js +7 -3
  542. package/dist/features/pre-orders/components/PreOrderDetailPageView.d.ts +4 -0
  543. package/dist/features/pre-orders/components/PreOrderDetailPageView.js +27 -0
  544. package/dist/features/pre-orders/components/PreOrdersIndexListing.d.ts +4 -0
  545. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +25 -0
  546. package/dist/features/pre-orders/components/PreOrdersListView.d.ts +1 -0
  547. package/dist/features/pre-orders/components/PreOrdersListView.js +16 -0
  548. package/dist/features/pre-orders/components/PreorderCard.js +0 -1
  549. package/dist/features/pre-orders/components/index.d.ts +5 -0
  550. package/dist/features/pre-orders/components/index.js +3 -0
  551. package/dist/features/pre-orders/hooks/usePreOrders.js +0 -1
  552. package/dist/features/pre-orders/schemas/index.d.ts +8 -8
  553. package/dist/features/pre-orders/server.d.ts +0 -1
  554. package/dist/features/pre-orders/server.js +0 -1
  555. package/dist/features/products/api/[id]/route.js +3 -3
  556. package/dist/features/products/api/route.js +4 -4
  557. package/dist/features/products/columns/productTableColumns.js +0 -1
  558. package/dist/features/products/components/AuctionsIndexListing.d.ts +4 -0
  559. package/dist/features/products/components/AuctionsIndexListing.js +23 -0
  560. package/dist/features/products/components/BidHistory.js +3 -3
  561. package/dist/features/products/components/BuyBar.js +0 -1
  562. package/dist/features/products/components/InteractiveProductCard.js +0 -1
  563. package/dist/features/products/components/MakeOfferForm.js +1 -1
  564. package/dist/features/products/components/PlaceBidForm.js +1 -1
  565. package/dist/features/products/components/ProductDetailPageView.d.ts +4 -0
  566. package/dist/features/products/components/ProductDetailPageView.js +100 -0
  567. package/dist/features/products/components/ProductDetailView.d.ts +15 -2
  568. package/dist/features/products/components/ProductDetailView.js +2 -2
  569. package/dist/features/products/components/ProductFeatureBadges.js +0 -1
  570. package/dist/features/products/components/ProductFilters.js +0 -1
  571. package/dist/features/products/components/ProductForm.js +3 -2
  572. package/dist/features/products/components/ProductGalleryClient.d.ts +5 -0
  573. package/dist/features/products/components/ProductGalleryClient.js +23 -0
  574. package/dist/features/products/components/ProductGrid.d.ts +6 -2
  575. package/dist/features/products/components/ProductGrid.js +19 -11
  576. package/dist/features/products/components/ProductInfo.js +1 -1
  577. package/dist/features/products/components/ProductTabs.js +2 -1
  578. package/dist/features/products/components/ProductTabsShell.d.ts +18 -0
  579. package/dist/features/products/components/ProductTabsShell.js +26 -0
  580. package/dist/features/products/components/ProductsIndexListing.d.ts +4 -0
  581. package/dist/features/products/components/ProductsIndexListing.js +27 -0
  582. package/dist/features/products/components/ProductsIndexPageView.d.ts +1 -0
  583. package/dist/features/products/components/ProductsIndexPageView.js +17 -0
  584. package/dist/features/products/components/RelatedProducts.js +2 -2
  585. package/dist/features/products/components/index.d.ts +4 -0
  586. package/dist/features/products/components/index.js +2 -0
  587. package/dist/features/products/hooks/useProductDetail.js +0 -1
  588. package/dist/features/products/hooks/useProducts.js +2 -1
  589. package/dist/features/products/hooks/useRelatedProducts.js +0 -1
  590. package/dist/features/products/repository/products.repository.d.ts +7 -1
  591. package/dist/features/products/repository/products.repository.js +53 -4
  592. package/dist/features/products/schemas/index.d.ts +110 -110
  593. package/dist/features/products/schemas/index.js +2 -2
  594. package/dist/features/products/server.d.ts +0 -1
  595. package/dist/features/products/server.js +0 -1
  596. package/dist/features/products/types/index.d.ts +1 -0
  597. package/dist/features/promotions/actions/seller-coupon-actions.js +3 -3
  598. package/dist/features/promotions/api/route.js +1 -1
  599. package/dist/features/promotions/hooks/useCouponValidate.js +0 -1
  600. package/dist/features/promotions/hooks/usePromotions.js +0 -1
  601. package/dist/features/promotions/repository/coupons.repository.d.ts +0 -1
  602. package/dist/features/promotions/repository/coupons.repository.js +0 -1
  603. package/dist/features/promotions/schemas/index.d.ts +18 -18
  604. package/dist/features/promotions/schemas/index.js +2 -2
  605. package/dist/features/promotions/server.d.ts +0 -1
  606. package/dist/features/promotions/server.js +0 -1
  607. package/dist/features/promotions/types/index.js +1 -1
  608. package/dist/features/reviews/api/[id]/route.js +3 -3
  609. package/dist/features/reviews/api/route.js +3 -3
  610. package/dist/features/reviews/components/ReviewFilters.js +0 -1
  611. package/dist/features/reviews/components/ReviewModal.js +6 -2
  612. package/dist/features/reviews/components/ReviewSummary.js +0 -1
  613. package/dist/features/reviews/components/ReviewsIndexListing.d.ts +5 -0
  614. package/dist/features/reviews/components/ReviewsIndexListing.js +55 -0
  615. package/dist/features/reviews/components/ReviewsIndexPageView.d.ts +1 -0
  616. package/dist/features/reviews/components/ReviewsIndexPageView.js +9 -0
  617. package/dist/features/reviews/components/ReviewsList.js +6 -4
  618. package/dist/features/reviews/components/index.d.ts +2 -0
  619. package/dist/features/reviews/components/index.js +1 -0
  620. package/dist/features/reviews/hooks/useCreateReview.js +2 -1
  621. package/dist/features/reviews/hooks/useReviews.js +0 -1
  622. package/dist/features/reviews/schemas/index.d.ts +24 -24
  623. package/dist/features/reviews/schemas/index.js +2 -2
  624. package/dist/features/reviews/server.d.ts +0 -1
  625. package/dist/features/reviews/server.js +0 -1
  626. package/dist/features/search/api/route.js +1 -1
  627. package/dist/features/search/components/Search.d.ts +0 -1
  628. package/dist/features/search/components/Search.js +9 -10
  629. package/dist/features/search/components/SearchResultsSection.js +0 -1
  630. package/dist/features/search/hooks/useSearch.js +0 -1
  631. package/dist/features/search/schemas/index.d.ts +5 -5
  632. package/dist/features/search/server.d.ts +0 -1
  633. package/dist/features/search/server.js +0 -1
  634. package/dist/features/seller/actions/offer-actions.js +7 -7
  635. package/dist/features/seller/actions/seller-actions.js +9 -9
  636. package/dist/features/seller/columns/index.js +2 -2
  637. package/dist/features/seller/components/SellerAddressesView.d.ts +1 -1
  638. package/dist/features/seller/components/SellerAddressesView.js +1 -1
  639. package/dist/features/seller/components/SellerAuctionsView.d.ts +3 -3
  640. package/dist/features/seller/components/SellerAuctionsView.js +27 -3
  641. package/dist/features/seller/components/SellerCouponsView.d.ts +3 -3
  642. package/dist/features/seller/components/SellerCouponsView.js +27 -3
  643. package/dist/features/seller/components/SellerCreateProductView.d.ts +1 -1
  644. package/dist/features/seller/components/SellerCreateProductView.js +1 -1
  645. package/dist/features/seller/components/SellerEditProductView.d.ts +1 -1
  646. package/dist/features/seller/components/SellerEditProductView.js +1 -1
  647. package/dist/features/seller/components/SellerOffersView.d.ts +3 -3
  648. package/dist/features/seller/components/SellerOffersView.js +27 -3
  649. package/dist/features/seller/components/SellerOrdersView.d.ts +3 -3
  650. package/dist/features/seller/components/SellerOrdersView.js +27 -3
  651. package/dist/features/seller/components/SellerPayoutHistoryTable.js +0 -1
  652. package/dist/features/seller/components/SellerPayoutStats.js +0 -1
  653. package/dist/features/seller/components/SellerPayoutsView.d.ts +3 -17
  654. package/dist/features/seller/components/SellerPayoutsView.js +27 -9
  655. package/dist/features/seller/components/SellerProductsView.d.ts +3 -3
  656. package/dist/features/seller/components/SellerProductsView.js +27 -3
  657. package/dist/features/seller/components/SellerSidebar.d.ts +5 -1
  658. package/dist/features/seller/components/SellerSidebar.js +11 -6
  659. package/dist/features/seller/components/SellerStatCard.js +2 -1
  660. package/dist/features/seller/components/SellerStoreView.d.ts +1 -1
  661. package/dist/features/seller/components/SellerStoreView.js +1 -1
  662. package/dist/features/seller/components/analytics/SellerAnalyticsStats.js +0 -1
  663. package/dist/features/seller/components/analytics/SellerTopProducts.js +0 -1
  664. package/dist/features/seller/hooks/useBecomeSeller.js +0 -1
  665. package/dist/features/seller/hooks/useSellerListingData.d.ts +29 -0
  666. package/dist/features/seller/hooks/useSellerListingData.js +87 -0
  667. package/dist/features/seller/hooks/useSellerPayouts.js +0 -1
  668. package/dist/features/seller/hooks/useSellerStore.js +0 -1
  669. package/dist/features/seller/hooks/useSellerStorefront.js +0 -1
  670. package/dist/features/seller/index.d.ts +1 -0
  671. package/dist/features/seller/index.js +1 -0
  672. package/dist/features/seller/repository/offer.repository.js +3 -3
  673. package/dist/features/seller/schemas/index.d.ts +26 -26
  674. package/dist/features/seller/schemas/index.js +3 -3
  675. package/dist/features/seller/server.d.ts +0 -1
  676. package/dist/features/seller/server.js +0 -1
  677. package/dist/features/seller/types/index.js +1 -1
  678. package/dist/features/stores/api/[storeSlug]/auctions/route.js +1 -1
  679. package/dist/features/stores/api/[storeSlug]/products/route.js +1 -1
  680. package/dist/features/stores/api/[storeSlug]/reviews/route.js +1 -1
  681. package/dist/features/stores/api/[storeSlug]/route.js +1 -1
  682. package/dist/features/stores/api/route.js +1 -1
  683. package/dist/features/stores/components/InteractiveStoreCard.d.ts +1 -0
  684. package/dist/features/stores/components/InteractiveStoreCard.js +5 -5
  685. package/dist/features/stores/components/StoreAboutView.js +3 -2
  686. package/dist/features/stores/components/StoreAddressSelectorCreate.js +1 -1
  687. package/dist/features/stores/components/StoreAuctionsListing.d.ts +5 -0
  688. package/dist/features/stores/components/StoreAuctionsListing.js +41 -0
  689. package/dist/features/stores/components/StoreAuctionsPageView.d.ts +4 -0
  690. package/dist/features/stores/components/StoreAuctionsPageView.js +21 -0
  691. package/dist/features/stores/components/StoreAuctionsView.d.ts +2 -2
  692. package/dist/features/stores/components/StoreAuctionsView.js +2 -2
  693. package/dist/features/stores/components/StoreDetailLayoutView.d.ts +8 -0
  694. package/dist/features/stores/components/StoreDetailLayoutView.js +19 -0
  695. package/dist/features/stores/components/StoreHeader.js +3 -3
  696. package/dist/features/stores/components/StoreNavTabs.js +3 -4
  697. package/dist/features/stores/components/StoreProductsListing.d.ts +5 -0
  698. package/dist/features/stores/components/StoreProductsListing.js +29 -0
  699. package/dist/features/stores/components/StoreProductsPageView.d.ts +4 -0
  700. package/dist/features/stores/components/StoreProductsPageView.js +21 -0
  701. package/dist/features/stores/components/StoreProductsView.js +8 -3
  702. package/dist/features/stores/components/StoreReviewsListing.d.ts +4 -0
  703. package/dist/features/stores/components/StoreReviewsListing.js +34 -0
  704. package/dist/features/stores/components/StoreReviewsPageView.d.ts +4 -0
  705. package/dist/features/stores/components/StoreReviewsPageView.js +5 -0
  706. package/dist/features/stores/components/StoreReviewsView.d.ts +2 -2
  707. package/dist/features/stores/components/StoreReviewsView.js +2 -6
  708. package/dist/features/stores/components/StoresIndexListing.d.ts +4 -0
  709. package/dist/features/stores/components/StoresIndexListing.js +22 -0
  710. package/dist/features/stores/components/StoresIndexPageView.d.ts +1 -0
  711. package/dist/features/stores/components/StoresIndexPageView.js +11 -0
  712. package/dist/features/stores/components/StoresListView.js +5 -4
  713. package/dist/features/stores/components/index.d.ts +8 -0
  714. package/dist/features/stores/components/index.js +4 -0
  715. package/dist/features/stores/hooks/useStoreAddressSelector.js +0 -1
  716. package/dist/features/stores/hooks/useStores.d.ts +2 -1
  717. package/dist/features/stores/hooks/useStores.js +1 -1
  718. package/dist/features/stores/repository/store-address.repository.js +2 -3
  719. package/dist/features/stores/repository/store.repository.d.ts +0 -1
  720. package/dist/features/stores/repository/store.repository.js +0 -1
  721. package/dist/features/stores/schemas/firestore.js +1 -1
  722. package/dist/features/stores/schemas/index.d.ts +14 -14
  723. package/dist/features/stores/schemas/index.js +1 -1
  724. package/dist/features/stores/server.d.ts +0 -1
  725. package/dist/features/stores/server.js +0 -1
  726. package/dist/features/stores/types/index.js +1 -1
  727. package/dist/features/whatsapp-bot/components/WhatsAppChatButton.js +0 -1
  728. package/dist/features/whatsapp-bot/helpers/whatsapp.d.ts +0 -1
  729. package/dist/features/whatsapp-bot/helpers/whatsapp.js +0 -1
  730. package/dist/features/whatsapp-bot/server.d.ts +0 -1
  731. package/dist/features/whatsapp-bot/server.js +0 -1
  732. package/dist/features/wishlist/components/WishlistPage.js +4 -3
  733. package/dist/features/wishlist/components/WishlistToggleButton.js +0 -1
  734. package/dist/features/wishlist/components/WishlistView.d.ts +2 -2
  735. package/dist/features/wishlist/components/WishlistView.js +2 -2
  736. package/dist/features/wishlist/hooks/useUserWishlist.js +0 -1
  737. package/dist/features/wishlist/hooks/useWishlist.js +0 -1
  738. package/dist/features/wishlist/schemas/index.d.ts +2 -2
  739. package/dist/features/wishlist/server.d.ts +0 -1
  740. package/dist/features/wishlist/server.js +0 -1
  741. package/dist/index.d.ts +2766 -1
  742. package/dist/index.js +5177 -1
  743. package/dist/monitoring/server-logger.d.ts +10 -1
  744. package/dist/monitoring/server-logger.js +35 -14
  745. package/dist/next/ErrorBoundary.d.ts +1 -1
  746. package/dist/next/ErrorBoundary.js +2 -1
  747. package/dist/next/api/apiHandler.d.ts +9 -0
  748. package/dist/next/api/apiHandler.js +20 -0
  749. package/dist/next/api/routeHandler.d.ts +9 -0
  750. package/dist/next/api/routeHandler.js +30 -5
  751. package/dist/next/routing/route-map.d.ts +6 -2
  752. package/dist/next/routing/route-map.js +3 -1
  753. package/dist/providers/auth-firebase/helpers.js +3 -3
  754. package/dist/providers/db-firebase/admin-app-lite.d.ts +0 -1
  755. package/dist/providers/db-firebase/admin-app-lite.js +11 -6
  756. package/dist/providers/db-firebase/admin-storage-lite.d.ts +0 -1
  757. package/dist/providers/db-firebase/admin-storage-lite.js +0 -1
  758. package/dist/providers/db-firebase/admin.d.ts +0 -1
  759. package/dist/providers/db-firebase/admin.js +16 -21
  760. package/dist/providers/db-firebase/base.d.ts +0 -1
  761. package/dist/providers/db-firebase/base.js +42 -16
  762. package/dist/providers/db-firebase/base.repository.d.ts +1 -2
  763. package/dist/providers/db-firebase/base.repository.js +0 -1
  764. package/dist/providers/db-firebase/field-ops.d.ts +0 -1
  765. package/dist/providers/db-firebase/field-ops.js +0 -1
  766. package/dist/providers/db-firebase/helpers.d.ts +2 -0
  767. package/dist/providers/db-firebase/helpers.js +11 -2
  768. package/dist/providers/db-firebase/index.d.ts +1 -2
  769. package/dist/providers/db-firebase/index.js +1 -2
  770. package/dist/providers/db-firebase/realtime.d.ts +1 -2
  771. package/dist/providers/db-firebase/realtime.js +20 -4
  772. package/dist/providers/db-firebase/sieve.d.ts +0 -1
  773. package/dist/providers/db-firebase/sieve.js +23 -5
  774. package/dist/providers/firebase-client/auth.js +0 -1
  775. package/dist/providers/firebase-client/index.js +0 -1
  776. package/dist/providers/firebase-client/realtime.js +0 -1
  777. package/dist/providers/payment-razorpay/index.d.ts +20 -1
  778. package/dist/providers/payment-razorpay/index.js +3 -4
  779. package/dist/providers/shipping-shiprocket/index.d.ts +37 -0
  780. package/dist/providers/shipping-shiprocket/index.js +36 -3
  781. package/dist/providers/shipping-shiprocket/shiprocket-provider.d.ts +2 -3
  782. package/dist/providers/shipping-shiprocket/shiprocket-provider.js +28 -12
  783. package/dist/providers/storage-firebase/client.js +1 -2
  784. package/dist/providers.d.ts +25 -0
  785. package/dist/providers.js +31 -0
  786. package/dist/react/ErrorBoundary.d.ts +1 -1
  787. package/dist/react/ErrorBoundary.js +1 -1
  788. package/dist/react/contexts/SessionContext.d.ts +0 -1
  789. package/dist/react/contexts/SessionContext.js +0 -1
  790. package/dist/react/contexts/ThemeContext.d.ts +0 -1
  791. package/dist/react/contexts/ThemeContext.js +0 -1
  792. package/dist/react/hooks/useBreakpoint.js +0 -1
  793. package/dist/react/hooks/useCamera.d.ts +0 -1
  794. package/dist/react/hooks/useCamera.js +0 -1
  795. package/dist/react/hooks/useClickOutside.d.ts +0 -1
  796. package/dist/react/hooks/useClickOutside.js +0 -1
  797. package/dist/react/hooks/useContainerGrid.js +1 -1
  798. package/dist/react/hooks/useCountdown.js +1 -0
  799. package/dist/react/hooks/useMediaQuery.d.ts +0 -1
  800. package/dist/react/hooks/useMediaQuery.js +0 -1
  801. package/dist/react/hooks/useSwipe.d.ts +0 -1
  802. package/dist/react/hooks/useSwipe.js +0 -1
  803. package/dist/react/hooks/useUnsavedChanges.d.ts +0 -1
  804. package/dist/react/hooks/useUnsavedChanges.js +3 -3
  805. package/dist/react/hooks/useVisibleItems.js +1 -1
  806. package/dist/react/useModalStack.js +1 -1
  807. package/dist/repositories/index.d.ts +0 -1
  808. package/dist/repositories/index.js +0 -1
  809. package/dist/security/authorization.js +10 -15
  810. package/dist/security/index.d.ts +1 -1
  811. package/dist/security/index.js +1 -1
  812. package/dist/security/pii-encrypt.d.ts +11 -1
  813. package/dist/security/pii-encrypt.js +11 -5
  814. package/dist/security/pii-redact.d.ts +16 -0
  815. package/dist/security/pii-redact.js +32 -0
  816. package/dist/security/rate-limit.d.ts +0 -1
  817. package/dist/security/rate-limit.js +17 -5
  818. package/dist/security/rbac/Can.js +0 -2
  819. package/dist/security/rbac/hook.js +1 -1
  820. package/dist/security/settings-encryption.d.ts +0 -1
  821. package/dist/security/settings-encryption.js +7 -2
  822. package/dist/seed/actions/demo-seed-actions.d.ts +12 -1
  823. package/dist/seed/addresses-seed-data.d.ts +0 -1
  824. package/dist/seed/addresses-seed-data.js +1 -2
  825. package/dist/seed/bids-seed-data.d.ts +0 -1
  826. package/dist/seed/bids-seed-data.js +21 -22
  827. package/dist/seed/blog-posts-seed-data.d.ts +0 -1
  828. package/dist/seed/blog-posts-seed-data.js +8 -5
  829. package/dist/seed/carousel-slides-seed-data.d.ts +0 -1
  830. package/dist/seed/carousel-slides-seed-data.js +4 -1
  831. package/dist/seed/cart-seed-data.d.ts +0 -1
  832. package/dist/seed/cart-seed-data.js +5 -6
  833. package/dist/seed/categories-seed-data.d.ts +0 -1
  834. package/dist/seed/categories-seed-data.js +4 -1
  835. package/dist/seed/coupons-seed-data.d.ts +0 -1
  836. package/dist/seed/coupons-seed-data.js +4 -1
  837. package/dist/seed/events-seed-data.d.ts +0 -1
  838. package/dist/seed/events-seed-data.js +7 -4
  839. package/dist/seed/factories/product.factory.js +1 -1
  840. package/dist/seed/faq-seed-data.d.ts +0 -1
  841. package/dist/seed/faq-seed-data.js +15 -1
  842. package/dist/seed/firestore-indexes.d.ts +0 -1
  843. package/dist/seed/firestore-indexes.js +0 -1
  844. package/dist/seed/homepage-sections-seed-data.d.ts +4 -5
  845. package/dist/seed/homepage-sections-seed-data.js +84 -31
  846. package/dist/seed/index.d.ts +7 -1
  847. package/dist/seed/index.js +8 -1
  848. package/dist/seed/notifications-seed-data.d.ts +0 -1
  849. package/dist/seed/notifications-seed-data.js +15 -12
  850. package/dist/seed/orders-seed-data.d.ts +0 -1
  851. package/dist/seed/orders-seed-data.js +6 -7
  852. package/dist/seed/payouts-seed-data.d.ts +0 -1
  853. package/dist/seed/payouts-seed-data.js +4 -5
  854. package/dist/seed/pokemon-carousel-slides-seed-data.d.ts +6 -0
  855. package/dist/seed/pokemon-carousel-slides-seed-data.js +433 -0
  856. package/dist/seed/pokemon-categories-seed-data.d.ts +27 -0
  857. package/dist/seed/pokemon-categories-seed-data.js +1127 -0
  858. package/dist/seed/pokemon-homepage-sections-seed-data.d.ts +6 -0
  859. package/dist/seed/pokemon-homepage-sections-seed-data.js +370 -0
  860. package/dist/seed/pokemon-products-seed-data.d.ts +9 -0
  861. package/dist/seed/pokemon-products-seed-data.js +1119 -0
  862. package/dist/seed/pokemon-seed-bundle.d.ts +22 -0
  863. package/dist/seed/pokemon-seed-bundle.js +22 -0
  864. package/dist/seed/pokemon-stores-seed-data.d.ts +7 -0
  865. package/dist/seed/pokemon-stores-seed-data.js +78 -0
  866. package/dist/seed/pokemon-users-seed-data.d.ts +6 -0
  867. package/dist/seed/pokemon-users-seed-data.js +438 -0
  868. package/dist/seed/products-seed-data.d.ts +0 -1
  869. package/dist/seed/products-seed-data.js +34 -2
  870. package/dist/seed/reviews-seed-data.d.ts +0 -1
  871. package/dist/seed/reviews-seed-data.js +4 -1
  872. package/dist/seed/runner.d.ts +0 -1
  873. package/dist/seed/runner.js +10 -2
  874. package/dist/seed/seed-market-config.d.ts +0 -1
  875. package/dist/seed/seed-market-config.js +1 -2
  876. package/dist/seed/sessions-seed-data.d.ts +0 -1
  877. package/dist/seed/sessions-seed-data.js +19 -20
  878. package/dist/seed/site-settings-seed-data.d.ts +38 -2
  879. package/dist/seed/site-settings-seed-data.js +124 -1
  880. package/dist/seed/store-addresses-seed-data.d.ts +0 -1
  881. package/dist/seed/store-addresses-seed-data.js +1 -2
  882. package/dist/seed/stores-seed-data.d.ts +0 -1
  883. package/dist/seed/stores-seed-data.js +14 -4
  884. package/dist/seed/test-utils.d.ts +0 -1
  885. package/dist/seed/test-utils.js +0 -1
  886. package/dist/seed/types.d.ts +0 -1
  887. package/dist/seed/types.js +2 -1
  888. package/dist/seed/users-seed-data.d.ts +0 -1
  889. package/dist/seed/users-seed-data.js +7 -8
  890. package/dist/seed/wishlists-seed-data.d.ts +10 -0
  891. package/dist/seed/wishlists-seed-data.js +38 -0
  892. package/dist/seo/json-ld.js +1 -1
  893. package/dist/server.d.ts +437 -109
  894. package/dist/server.js +1296 -110
  895. package/dist/styles.css +20 -0
  896. package/dist/tokens/index.d.ts +131 -0
  897. package/dist/tokens/index.js +55 -11
  898. package/dist/tokens/tokens.css +9 -9
  899. package/dist/ui/DataTable.js +15 -15
  900. package/dist/ui/columns/column-renderers.js +3 -3
  901. package/dist/ui/components/Accordion.js +1 -1
  902. package/dist/ui/components/ActiveFilterChips.js +0 -1
  903. package/dist/ui/components/Alert.js +1 -1
  904. package/dist/ui/components/Avatar.js +1 -2
  905. package/dist/ui/components/AvatarDisplay.js +2 -3
  906. package/dist/ui/components/BackgroundRenderer.js +1 -1
  907. package/dist/ui/components/BaseListingCard.js +7 -5
  908. package/dist/ui/components/BulkActionBar.d.ts +0 -1
  909. package/dist/ui/components/BulkActionBar.js +2 -3
  910. package/dist/ui/components/Button.style.css +2 -2
  911. package/dist/ui/components/Card.js +4 -4
  912. package/dist/ui/components/Checkbox.js +1 -1
  913. package/dist/ui/components/ConfirmDeleteModal.d.ts +0 -1
  914. package/dist/ui/components/ConfirmDeleteModal.js +2 -3
  915. package/dist/ui/components/CountdownDisplay.d.ts +0 -1
  916. package/dist/ui/components/CountdownDisplay.js +0 -1
  917. package/dist/ui/components/DashboardStatsCard.js +1 -2
  918. package/dist/ui/components/DescriptionField.js +1 -1
  919. package/dist/ui/components/DetailViewShell.d.ts +16 -2
  920. package/dist/ui/components/DetailViewShell.js +9 -5
  921. package/dist/ui/components/Div.d.ts +1 -1
  922. package/dist/ui/components/Div.js +2 -2
  923. package/dist/ui/components/Divider.js +1 -1
  924. package/dist/ui/components/Drawer.d.ts +0 -1
  925. package/dist/ui/components/Drawer.js +2 -3
  926. package/dist/ui/components/Dropdown.d.ts +0 -1
  927. package/dist/ui/components/Dropdown.js +1 -2
  928. package/dist/ui/components/DynamicSelect.d.ts +0 -1
  929. package/dist/ui/components/DynamicSelect.js +2 -3
  930. package/dist/ui/components/EmptyState.js +1 -2
  931. package/dist/ui/components/FilterDrawer.d.ts +3 -1
  932. package/dist/ui/components/FilterDrawer.js +3 -3
  933. package/dist/ui/components/FlowDiagram.js +3 -3
  934. package/dist/ui/components/Form.js +2 -2
  935. package/dist/ui/components/FormField.js +3 -4
  936. package/dist/ui/components/FormGrid.js +2 -2
  937. package/dist/ui/components/FormGrid.style.css +1 -1
  938. package/dist/ui/components/HorizontalScroller.d.ts +1 -1
  939. package/dist/ui/components/HorizontalScroller.js +86 -15
  940. package/dist/ui/components/HorizontalScroller.style.css +105 -109
  941. package/dist/ui/components/ImageGallery.d.ts +0 -1
  942. package/dist/ui/components/ImageGallery.js +4 -5
  943. package/dist/ui/components/ImageLightbox.d.ts +0 -1
  944. package/dist/ui/components/ImageLightbox.js +1 -2
  945. package/dist/ui/components/ImageLightbox.style.css +3 -3
  946. package/dist/ui/components/Input.js +1 -1
  947. package/dist/ui/components/Layout.d.ts +7 -7
  948. package/dist/ui/components/Layout.js +5 -5
  949. package/dist/ui/components/ListingLayout.d.ts +11 -8
  950. package/dist/ui/components/ListingLayout.js +22 -44
  951. package/dist/ui/components/ListingLayout.style.css +15 -15
  952. package/dist/ui/components/ListingViewShell.d.ts +1 -2
  953. package/dist/ui/components/ListingViewShell.js +1 -3
  954. package/dist/ui/components/Menu.js +0 -1
  955. package/dist/ui/components/Modal.d.ts +0 -1
  956. package/dist/ui/components/Modal.js +3 -4
  957. package/dist/ui/components/NavigationLoader.d.ts +29 -0
  958. package/dist/ui/components/NavigationLoader.js +146 -0
  959. package/dist/ui/components/NavigationLoader.style.css +19 -0
  960. package/dist/ui/components/Pagination.js +0 -1
  961. package/dist/ui/components/PasswordStrengthIndicator.js +1 -2
  962. package/dist/ui/components/PriceDisplay.js +0 -1
  963. package/dist/ui/components/Progress.js +2 -3
  964. package/dist/ui/components/Radio.js +1 -2
  965. package/dist/ui/components/RatingDisplay.js +1 -2
  966. package/dist/ui/components/ResponsiveView.js +1 -2
  967. package/dist/ui/components/RichTextEditor.d.ts +9 -0
  968. package/dist/ui/components/RichTextEditor.js +59 -0
  969. package/dist/ui/components/RoleBadge.js +0 -1
  970. package/dist/ui/components/RowActionMenu.js +1 -1
  971. package/dist/ui/components/SectionTabs.js +4 -4
  972. package/dist/ui/components/Select.js +2 -2
  973. package/dist/ui/components/Semantic.d.ts +2 -2
  974. package/dist/ui/components/Semantic.js +1 -1
  975. package/dist/ui/components/SideDrawer.d.ts +0 -1
  976. package/dist/ui/components/SideDrawer.js +2 -3
  977. package/dist/ui/components/SideDrawer.style.css +2 -2
  978. package/dist/ui/components/SideModal.d.ts +0 -1
  979. package/dist/ui/components/SideModal.js +0 -1
  980. package/dist/ui/components/SideModal.style.css +4 -4
  981. package/dist/ui/components/Skeleton.js +1 -2
  982. package/dist/ui/components/SkipToMain.js +0 -1
  983. package/dist/ui/components/Slider.js +2 -2
  984. package/dist/ui/components/SlottedListingView.d.ts +1 -2
  985. package/dist/ui/components/SlottedListingView.js +2 -3
  986. package/dist/ui/components/SortDropdown.js +1 -2
  987. package/dist/ui/components/Spinner.d.ts +1 -1
  988. package/dist/ui/components/Spinner.js +2 -1
  989. package/dist/ui/components/Spinner.style.css +8 -0
  990. package/dist/ui/components/StackedViewShell.d.ts +0 -1
  991. package/dist/ui/components/StackedViewShell.js +0 -2
  992. package/dist/ui/components/StatsGrid.js +0 -1
  993. package/dist/ui/components/StatusBadge.d.ts +5 -5
  994. package/dist/ui/components/StepperNav.js +2 -3
  995. package/dist/ui/components/SummaryCard.js +0 -1
  996. package/dist/ui/components/TabStrip.d.ts +0 -1
  997. package/dist/ui/components/TabStrip.js +1 -2
  998. package/dist/ui/components/TablePagination.js +0 -1
  999. package/dist/ui/components/Tabs.js +3 -3
  1000. package/dist/ui/components/TagInput.js +1 -1
  1001. package/dist/ui/components/TextLink.js +0 -1
  1002. package/dist/ui/components/Textarea.js +2 -2
  1003. package/dist/ui/components/Toast.d.ts +0 -1
  1004. package/dist/ui/components/Toast.js +2 -3
  1005. package/dist/ui/components/Toggle.js +1 -1
  1006. package/dist/ui/components/Tooltip.d.ts +0 -1
  1007. package/dist/ui/components/Tooltip.js +1 -2
  1008. package/dist/ui/components/UnsavedChangesModal.d.ts +0 -1
  1009. package/dist/ui/components/UnsavedChangesModal.js +2 -3
  1010. package/dist/ui/components/ViewToggle.js +0 -1
  1011. package/dist/ui/components/index.style.css +1 -0
  1012. package/dist/ui/index.d.ts +5 -1
  1013. package/dist/ui/index.js +5 -3
  1014. package/dist/ui/rich-text/RichText.d.ts +0 -1
  1015. package/dist/ui/rich-text/RichText.js +3 -4
  1016. package/dist/utils/event-manager.d.ts +6 -1
  1017. package/dist/utils/event-manager.js +6 -1
  1018. package/dist/utils/id-generators.js +3 -3
  1019. package/dist/utils/string.formatter.d.ts +5 -0
  1020. package/dist/utils/string.formatter.js +15 -0
  1021. package/dist/validation/schemas.d.ts +20 -20
  1022. package/package.json +86 -25
@@ -0,0 +1,20 @@
1
+ /*
2
+ * @mohasinac/appkit/styles
3
+ *
4
+ * Full stylesheet — design tokens + all UI component styles.
5
+ *
6
+ * Import once in your app root (e.g. app/globals.css or app/layout.tsx):
7
+ *
8
+ * @import "@mohasinac/appkit/styles";
9
+ *
10
+ * or in a layout component:
11
+ *
12
+ * import "@mohasinac/appkit/styles";
13
+ *
14
+ * To import only the design tokens:
15
+ *
16
+ * @import "@mohasinac/appkit/tokens";
17
+ */
18
+
19
+ @import "./tokens/tokens.css";
20
+ @import "./ui/components/index.style.css";
@@ -252,6 +252,68 @@ export declare const LOCALE_CONFIG: {
252
252
  /** Postal code pattern for India (6 digits). */
253
253
  readonly postalPattern: RegExp;
254
254
  };
255
+ /**
256
+ * Layout dimension constants (height, width strings for Tailwind).
257
+ */
258
+ export declare const LAYOUT: {
259
+ readonly titleBarHeight: "h-12";
260
+ readonly navbarHeight: "h-10 md:h-12";
261
+ readonly sidebarWidth: "w-80";
262
+ readonly bottomNavHeight: "h-14";
263
+ readonly maxContentWidth: "max-w-[1920px]";
264
+ readonly containerWidth: "max-w-[1920px]";
265
+ readonly contentPadding: "px-4 md:px-6 lg:px-8";
266
+ readonly navPadding: "px-4 sm:px-6 lg:px-8";
267
+ readonly titleBarBg: "bg-white/90 dark:bg-slate-950/90 backdrop-blur-md border-b border-zinc-200/80 dark:border-slate-800/80";
268
+ readonly navbarBg: "bg-white/90 dark:bg-slate-950/90 backdrop-blur-md border-b border-zinc-200/80 dark:border-slate-800/80";
269
+ readonly sidebarBg: "bg-white dark:bg-slate-900 border-l border-zinc-200 dark:border-slate-800";
270
+ readonly bottomNavBg: "bg-white/90 dark:bg-slate-950/90 backdrop-blur-md border-t border-zinc-200/80 dark:border-slate-800/80";
271
+ readonly footerBg: "bg-zinc-50 dark:bg-slate-900 border-t border-zinc-200 dark:border-slate-800";
272
+ readonly fullScreen: "min-h-screen";
273
+ readonly flexCenter: "flex items-center justify-center";
274
+ readonly centerText: "text-center";
275
+ /** Full-width content zone: max screen-xl, centred, responsive px */
276
+ readonly content: "w-full max-w-screen-xl mx-auto px-4 sm:px-6 xl:px-8";
277
+ /** Narrow zone for forms, articles, policy pages */
278
+ readonly tight: "w-full max-w-3xl mx-auto px-4 sm:px-6";
279
+ /** Vertical rhythm padding for sections */
280
+ readonly section: "py-10 sm:py-14 xl:py-20";
281
+ /** Compact sections (filters, related products) */
282
+ readonly sectionSm: "py-6 sm:py-10";
283
+ /** Responsive gap for flex/grid children */
284
+ readonly gap: "gap-4 sm:gap-6 xl:gap-8";
285
+ /** Responsive vertical stack spacing */
286
+ readonly stack: "space-y-4 sm:space-y-6";
287
+ /** Kill trailing space from last child in a zone */
288
+ readonly noBleed: "pb-0 mb-0";
289
+ /** Kill top margin from first element in a zone */
290
+ readonly firstChild: "mt-0 pt-0";
291
+ /** Kill bottom margin from last element in a zone */
292
+ readonly lastChild: "mb-0 pb-0";
293
+ /** Combined bottom-nav bar (hidden on lg+, iPhone safe-area aware) */
294
+ readonly bottomNav: "fixed bottom-0 inset-x-0 z-50 flex justify-around items-center h-16 bg-white dark:bg-zinc-900 border-t border-zinc-200 dark:border-zinc-800 lg:hidden pb-[env(safe-area-inset-bottom)]";
295
+ /** Main content bottom padding to clear the bottom nav on mobile */
296
+ readonly mainPadBottomNav: "pb-20 lg:pb-0";
297
+ /** Standard card heights for consistency */
298
+ readonly cardHeight: {
299
+ readonly sm: "h-32";
300
+ readonly md: "h-48";
301
+ readonly lg: "h-64";
302
+ readonly xl: "h-80";
303
+ readonly product: "h-72";
304
+ readonly store: "h-56";
305
+ readonly event: "h-80";
306
+ readonly blog: "h-96";
307
+ };
308
+ /** Standard card widths for consistency */
309
+ readonly cardWidth: {
310
+ readonly sm: "w-32";
311
+ readonly md: "w-48";
312
+ readonly lg: "w-64";
313
+ readonly xl: "w-80";
314
+ readonly full: "w-full";
315
+ };
316
+ };
255
317
  /**
256
318
  * Minimum item widths for auto-fill fluid grids matching the four
257
319
  * `fluid-grid-*` CSS utilities (defined in tailwind.config.js plugin).
@@ -362,6 +424,25 @@ export declare const THEME_CONSTANTS: {
362
424
  readonly bottomNav: "fixed bottom-0 inset-x-0 z-50 flex justify-around items-center h-16 bg-white dark:bg-zinc-900 border-t border-zinc-200 dark:border-zinc-800 lg:hidden pb-[env(safe-area-inset-bottom)]";
363
425
  /** Main content bottom padding to clear the bottom nav on mobile */
364
426
  readonly mainPadBottomNav: "pb-20 lg:pb-0";
427
+ /** Standard card heights for consistency */
428
+ readonly cardHeight: {
429
+ readonly sm: "h-32";
430
+ readonly md: "h-48";
431
+ readonly lg: "h-64";
432
+ readonly xl: "h-80";
433
+ readonly product: "h-72";
434
+ readonly store: "h-56";
435
+ readonly event: "h-80";
436
+ readonly blog: "h-96";
437
+ };
438
+ /** Standard card widths for consistency */
439
+ readonly cardWidth: {
440
+ readonly sm: "w-32";
441
+ readonly md: "w-48";
442
+ readonly lg: "w-64";
443
+ readonly xl: "w-80";
444
+ readonly full: "w-full";
445
+ };
365
446
  };
366
447
  readonly typography: {
367
448
  readonly pageTitle: "text-2xl md:text-3xl lg:text-4xl font-bold tracking-tight leading-tight";
@@ -420,6 +501,8 @@ export declare const THEME_CONSTANTS: {
420
501
  readonly cols1: "grid grid-cols-1";
421
502
  /** 1 → 2 */
422
503
  readonly cols2: "grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-2 2xl:grid-cols-2";
504
+ /** 1 → 2 (md breakpoint) */
505
+ readonly cols2Md: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 xl:grid-cols-2 2xl:grid-cols-2";
423
506
  /** 1 → 2 → 3 → 4 on widescreen */
424
507
  readonly cols3: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-3 2xl:grid-cols-4";
425
508
  /** 1 → 2 → 3 → 4 → 5 on widescreen */
@@ -428,6 +511,8 @@ export declare const THEME_CONSTANTS: {
428
511
  readonly cols5: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4 2xl:grid-cols-5";
429
512
  /** 2 → 3 → 4 → 5 → 6 */
430
513
  readonly cols6: "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-6";
514
+ /** 2 → 3 → 6 (lg breakpoint) */
515
+ readonly cols6Lg: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6";
431
516
  /**
432
517
  * Generic card grid — 1 col on portrait mobile → 5 on ultrawide.
433
518
  * Starts at 1 (not 2) so product cards with title+image+price are readable
@@ -518,6 +603,8 @@ export declare const THEME_CONSTANTS: {
518
603
  readonly imageWide: "relative aspect-video overflow-hidden bg-zinc-100 dark:bg-zinc-800";
519
604
  /** Square image wrapper */
520
605
  readonly imageSquare: "relative aspect-square overflow-hidden bg-zinc-100 dark:bg-zinc-800";
606
+ /** Banner aspect ratio — 4:3 on mobile, auto on md+ */
607
+ readonly aspectBanner: "aspect-[4/3] md:aspect-auto";
521
608
  /** Card body — flex-column, responsive padding */
522
609
  readonly body: "flex flex-col flex-1 gap-1 p-3 sm:p-4";
523
610
  /** Card footer — responsive padding */
@@ -671,6 +758,12 @@ export declare const THEME_CONSTANTS: {
671
758
  readonly safeAreaTop: "pt-[env(safe-area-inset-top)]";
672
759
  readonly safeAreaInline: "px-[env(safe-area-inset-left)] px-[env(safe-area-inset-right)]";
673
760
  readonly gradientText: "bg-gradient-to-r from-primary-600 to-primary-800 bg-clip-text text-transparent";
761
+ /** Text truncation utilities */
762
+ readonly textTruncate: "truncate";
763
+ readonly textClamp1: "line-clamp-1";
764
+ readonly textClamp2: "line-clamp-2";
765
+ readonly textClamp3: "line-clamp-3";
766
+ readonly textClamp4: "line-clamp-4";
674
767
  };
675
768
  readonly patterns: {
676
769
  readonly pageContainer: "min-h-screen bg-white dark:bg-slate-950";
@@ -726,6 +819,44 @@ export declare const THEME_CONSTANTS: {
726
819
  };
727
820
  /** Carousel navigation tokens — shared by HeroCarousel and SectionCarousel. */
728
821
  readonly carousel: {
822
+ /** Standard responsive per-view configs for carousels */
823
+ readonly perView: {
824
+ /** Default: 1 on mobile, 2 on sm, 3 on md+ */
825
+ readonly default: {
826
+ readonly base: 1;
827
+ readonly sm: 2;
828
+ readonly md: 3;
829
+ };
830
+ /** Cards: 1 on mobile, 2 on sm, 3 on md, 4 on lg+ */
831
+ readonly cards: {
832
+ readonly base: 1;
833
+ readonly sm: 2;
834
+ readonly md: 3;
835
+ readonly lg: 4;
836
+ };
837
+ /** Compact cards: 2 on mobile, 3 on sm, 4 on md, 5 on xl+ */
838
+ readonly compact: {
839
+ readonly base: 2;
840
+ readonly sm: 3;
841
+ readonly md: 4;
842
+ readonly xl: 5;
843
+ };
844
+ /** Reviews: 1 on mobile, 2 on sm, 3 on md/lg, 4 on 2xl+ */
845
+ readonly reviews: {
846
+ readonly base: 1;
847
+ readonly sm: 2;
848
+ readonly md: 3;
849
+ readonly lg: 3;
850
+ readonly "2xl": 4;
851
+ };
852
+ /** Events: 1 on mobile, 2 on sm, 3 on md/lg */
853
+ readonly events: {
854
+ readonly base: 1;
855
+ readonly sm: 2;
856
+ readonly md: 3;
857
+ readonly lg: 3;
858
+ };
859
+ };
729
860
  readonly arrow: "w-10 h-10 rounded-2xl bg-white/85 dark:bg-slate-800/90 backdrop-blur-sm shadow-lg border border-zinc-300/70 dark:border-slate-600 text-zinc-800 dark:text-zinc-200 hover:-translate-y-0.5 hover:bg-white hover:shadow-xl hover:border-zinc-400 dark:hover:border-slate-500 active:scale-95 transition-all duration-200 flex items-center justify-center";
730
861
  readonly dotActive: "w-8 h-2 !min-h-0 rounded-full bg-white shadow-sm transition-all duration-500";
731
862
  readonly dotInactive: "w-2 h-2 !min-h-0 rounded-full bg-white/55 shadow-sm transition-all duration-500";
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * In CSS/Tailwind prefer `var(--appkit-*)` references over these constants.
9
9
  */
10
- // ─── Brand Colors ──────────────────────────────────────────────────────────
10
+ // --- Brand Colors ----------------------------------------------------------
11
11
  export const COLORS = {
12
12
  primary: {
13
13
  DEFAULT: "#84e122",
@@ -72,7 +72,7 @@ export const COLORS = {
72
72
  info: "#0284c7",
73
73
  },
74
74
  };
75
- // ─── Border Radius ─────────────────────────────────────────────────────────
75
+ // --- Border Radius ---------------------------------------------------------
76
76
  export const RADIUS = {
77
77
  sm: "0.25rem",
78
78
  md: "0.375rem",
@@ -84,7 +84,7 @@ export const RADIUS = {
84
84
  btn: "0.75rem",
85
85
  full: "9999px",
86
86
  };
87
- // ─── Shadow ────────────────────────────────────────────────────────────────
87
+ // --- Shadow ----------------------------------------------------------------
88
88
  export const SHADOWS = {
89
89
  sm: "0 1px 2px 0 rgba(0,0,0,0.05)",
90
90
  md: "0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)",
@@ -94,7 +94,7 @@ export const SHADOWS = {
94
94
  glow: "0 0 20px rgba(80, 156, 2, 0.45)",
95
95
  glowPink: "0 0 20px rgba(233, 30, 140, 0.5)",
96
96
  };
97
- // ─── Z-index ───────────────────────────────────────────────────────────────
97
+ // --- Z-index ---------------------------------------------------------------
98
98
  export const Z_INDEX = {
99
99
  dropdown: 30,
100
100
  searchBackdrop: 35,
@@ -106,7 +106,7 @@ export const Z_INDEX = {
106
106
  modal: 60,
107
107
  toast: 70,
108
108
  };
109
- // ─── Token helper ──────────────────────────────────────────────────────────
109
+ // --- Token helper ----------------------------------------------------------
110
110
  /**
111
111
  * Returns a CSS custom property reference for the given token name.
112
112
  *
@@ -118,7 +118,7 @@ export const Z_INDEX = {
118
118
  export function token(name) {
119
119
  return `var(--appkit-${name})`;
120
120
  }
121
- // ─── Convenience groups ────────────────────────────────────────────────────
121
+ // --- Convenience groups ----------------------------------------------------
122
122
  export const TOKENS = {
123
123
  colors: COLORS,
124
124
  radius: RADIUS,
@@ -126,7 +126,7 @@ export const TOKENS = {
126
126
  zIndex: Z_INDEX,
127
127
  token,
128
128
  };
129
- // ─── LOCALE_CONFIG ─────────────────────────────────────────────────────────
129
+ // --- LOCALE_CONFIG ---------------------------------------------------------
130
130
  import { getDefaultCurrency, getDefaultLocale, getDefaultCountry, getDefaultTimezone, getDefaultPhonePrefix, } from "../core/baseline-resolver";
131
131
  /**
132
132
  * Locale and currency defaults.
@@ -227,7 +227,7 @@ const THEMED = {
227
227
  /**
228
228
  * Layout dimension constants (height, width strings for Tailwind).
229
229
  */
230
- const LAYOUT = {
230
+ export const LAYOUT = {
231
231
  titleBarHeight: "h-12",
232
232
  navbarHeight: "h-10 md:h-12",
233
233
  sidebarWidth: "w-80",
@@ -267,6 +267,25 @@ const LAYOUT = {
267
267
  bottomNav: "fixed bottom-0 inset-x-0 z-50 flex justify-around items-center h-16 bg-white dark:bg-zinc-900 border-t border-zinc-200 dark:border-zinc-800 lg:hidden pb-[env(safe-area-inset-bottom)]",
268
268
  /** Main content bottom padding to clear the bottom nav on mobile */
269
269
  mainPadBottomNav: "pb-20 lg:pb-0",
270
+ /** Standard card heights for consistency */
271
+ cardHeight: {
272
+ sm: "h-32",
273
+ md: "h-48",
274
+ lg: "h-64",
275
+ xl: "h-80",
276
+ product: "h-72",
277
+ store: "h-56",
278
+ event: "h-80",
279
+ blog: "h-96",
280
+ },
281
+ /** Standard card widths for consistency */
282
+ cardWidth: {
283
+ sm: "w-32",
284
+ md: "w-48",
285
+ lg: "w-64",
286
+ xl: "w-80",
287
+ full: "w-full",
288
+ },
270
289
  };
271
290
  /**
272
291
  * Typography scale — fluid steps across sm/md/lg breakpoints.
@@ -340,6 +359,8 @@ const GRID = {
340
359
  cols1: "grid grid-cols-1",
341
360
  /** 1 → 2 */
342
361
  cols2: "grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-2 2xl:grid-cols-2",
362
+ /** 1 → 2 (md breakpoint) */
363
+ cols2Md: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 xl:grid-cols-2 2xl:grid-cols-2",
343
364
  /** 1 → 2 → 3 → 4 on widescreen */
344
365
  cols3: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-3 2xl:grid-cols-4",
345
366
  /** 1 → 2 → 3 → 4 → 5 on widescreen */
@@ -348,6 +369,8 @@ const GRID = {
348
369
  cols5: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4 2xl:grid-cols-5",
349
370
  /** 2 → 3 → 4 → 5 → 6 */
350
371
  cols6: "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-6",
372
+ /** 2 → 3 → 6 (lg breakpoint) */
373
+ cols6Lg: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6",
351
374
  /**
352
375
  * Generic card grid — 1 col on portrait mobile → 5 on ultrawide.
353
376
  * Starts at 1 (not 2) so product cards with title+image+price are readable
@@ -396,7 +419,7 @@ const GRID = {
396
419
  /** Filter sidebar + main content + optional right aside */
397
420
  withFilter: "grid grid-cols-1 lg:grid-cols-[220px_1fr] xl:grid-cols-[260px_1fr_200px] gap-4 xl:gap-6",
398
421
  };
399
- // ─── FLUID GRID ─────────────────────────────────────────────────────────────
422
+ // --- FLUID GRID -------------------------------------------------------------
400
423
  /**
401
424
  * Minimum item widths for auto-fill fluid grids matching the four
402
425
  * `fluid-grid-*` CSS utilities (defined in tailwind.config.js plugin).
@@ -487,6 +510,8 @@ const CARD = {
487
510
  imageWide: "relative aspect-video overflow-hidden bg-zinc-100 dark:bg-zinc-800",
488
511
  /** Square image wrapper */
489
512
  imageSquare: "relative aspect-square overflow-hidden bg-zinc-100 dark:bg-zinc-800",
513
+ /** Banner aspect ratio — 4:3 on mobile, auto on md+ */
514
+ aspectBanner: "aspect-[4/3] md:aspect-auto",
490
515
  /** Card body — flex-column, responsive padding */
491
516
  body: "flex flex-col flex-1 gap-1 p-3 sm:p-4",
492
517
  /** Card footer — responsive padding */
@@ -584,13 +609,13 @@ const TRANSITIONS = {
584
609
  * ```
585
610
  */
586
611
  const SKELETON = {
587
- // Pulse (fade) variant ────────────────────────────────────────────────────────────────
612
+ // - Pulse (fade) variant ----------------------------------------------------------------
588
613
  base: "animate-pulse rounded bg-zinc-200 dark:bg-slate-700/60",
589
614
  text: "animate-pulse rounded bg-zinc-200 dark:bg-slate-700/60 h-4",
590
615
  heading: "animate-pulse rounded bg-zinc-200 dark:bg-slate-700/60 h-7",
591
616
  image: "animate-pulse rounded-xl bg-zinc-200 dark:bg-slate-700/60",
592
617
  card: "animate-pulse rounded-2xl bg-zinc-200 dark:bg-slate-700/60",
593
- // Shimmer (sweep) variant ──────────────────────────────────────────────────────────
618
+ // - Shimmer (sweep) variant ----------------------------------------------------------
594
619
  shimmer: "animate-shimmer bg-[length:400%_100%] rounded bg-gradient-to-r from-zinc-200 via-zinc-100 to-zinc-200 dark:from-slate-800 dark:via-slate-700/60 dark:to-slate-800",
595
620
  shimmerText: "animate-shimmer bg-[length:400%_100%] h-4 rounded bg-gradient-to-r from-zinc-200 via-zinc-100 to-zinc-200 dark:from-slate-800 dark:via-slate-700/60 dark:to-slate-800",
596
621
  shimmerCard: "animate-shimmer bg-[length:400%_100%] rounded-2xl bg-gradient-to-r from-zinc-200 via-zinc-100 to-zinc-200 dark:from-slate-800 dark:via-slate-700/60 dark:to-slate-800",
@@ -625,6 +650,12 @@ const UTILITIES = {
625
650
  safeAreaTop: "pt-[env(safe-area-inset-top)]",
626
651
  safeAreaInline: "px-[env(safe-area-inset-left)] px-[env(safe-area-inset-right)]",
627
652
  gradientText: "bg-gradient-to-r from-primary-600 to-primary-800 bg-clip-text text-transparent",
653
+ /** Text truncation utilities */
654
+ textTruncate: "truncate",
655
+ textClamp1: "line-clamp-1",
656
+ textClamp2: "line-clamp-2",
657
+ textClamp3: "line-clamp-3",
658
+ textClamp4: "line-clamp-4",
628
659
  };
629
660
  /**
630
661
  * Common component pattern compositions.
@@ -779,6 +810,19 @@ export const THEME_CONSTANTS = {
779
810
  },
780
811
  /** Carousel navigation tokens — shared by HeroCarousel and SectionCarousel. */
781
812
  carousel: {
813
+ /** Standard responsive per-view configs for carousels */
814
+ perView: {
815
+ /** Default: 1 on mobile, 2 on sm, 3 on md+ */
816
+ default: { base: 1, sm: 2, md: 3 },
817
+ /** Cards: 1 on mobile, 2 on sm, 3 on md, 4 on lg+ */
818
+ cards: { base: 1, sm: 2, md: 3, lg: 4 },
819
+ /** Compact cards: 2 on mobile, 3 on sm, 4 on md, 5 on xl+ */
820
+ compact: { base: 2, sm: 3, md: 4, xl: 5 },
821
+ /** Reviews: 1 on mobile, 2 on sm, 3 on md/lg, 4 on 2xl+ */
822
+ reviews: { base: 1, sm: 2, md: 3, lg: 3, "2xl": 4 },
823
+ /** Events: 1 on mobile, 2 on sm, 3 on md/lg */
824
+ events: { base: 1, sm: 2, md: 3, lg: 3 },
825
+ },
782
826
  arrow: "w-10 h-10 rounded-2xl bg-white/85 dark:bg-slate-800/90 backdrop-blur-sm shadow-lg border border-zinc-300/70 dark:border-slate-600 text-zinc-800 dark:text-zinc-200 hover:-translate-y-0.5 hover:bg-white hover:shadow-xl hover:border-zinc-400 dark:hover:border-slate-500 active:scale-95 transition-all duration-200 flex items-center justify-center",
783
827
  dotActive: "w-8 h-2 !min-h-0 rounded-full bg-white shadow-sm transition-all duration-500",
784
828
  dotInactive: "w-2 h-2 !min-h-0 rounded-full bg-white/55 shadow-sm transition-all duration-500",
@@ -14,7 +14,7 @@
14
14
  * Default values reflect a lime + magenta palette (override --appkit-color-primary etc. to rebrand).
15
15
  */
16
16
 
17
- /* ─── Colour — Brand ─────────────────────────────────────────────────────── */
17
+ /* --- Colour — Brand ------------------------------------------------------- */
18
18
  :root {
19
19
  /* Primary — Lime Green (Beyblade green blades) */
20
20
  --appkit-color-primary: #84e122;
@@ -73,7 +73,7 @@
73
73
  --appkit-color-accent-950: #222730;
74
74
  }
75
75
 
76
- /* ─── Colour — Semantic (light mode defaults) ────────────────────────────── */
76
+ /* --- Colour — Semantic (light mode defaults) ------------------------------ */
77
77
  :root {
78
78
  --appkit-color-bg: #fafafa; /* zinc-50 */
79
79
  --appkit-color-surface: #ffffff; /* white */
@@ -97,7 +97,7 @@
97
97
  --appkit-color-focus-ring: #65c408; /* primary-500 */
98
98
  }
99
99
 
100
- /* ─── Colour — Semantic (dark mode overrides) ────────────────────────────── */
100
+ /* --- Colour — Semantic (dark mode overrides) ------------------------------ */
101
101
  .dark {
102
102
  --appkit-color-bg: #020617; /* slate-950 */
103
103
  --appkit-color-surface: #0f172a; /* slate-900 */
@@ -119,7 +119,7 @@
119
119
  --appkit-color-focus-ring: #f063b9; /* secondary-400 */
120
120
  }
121
121
 
122
- /* ─── Typography ─────────────────────────────────────────────────────────── */
122
+ /* --- Typography ----------------------------------------------------------- */
123
123
  :root {
124
124
  --appkit-font-sans: var(--font-body), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
125
125
  --appkit-font-display: var(--font-display), "Poppins", ui-sans-serif, system-ui, sans-serif;
@@ -149,7 +149,7 @@
149
149
  --appkit-tracking-wider: 0.05em;
150
150
  }
151
151
 
152
- /* ─── Spacing ────────────────────────────────────────────────────────────── */
152
+ /* --- Spacing -------------------------------------------------------------- */
153
153
  :root {
154
154
  --appkit-space-1: 0.25rem; /* 4px */
155
155
  --appkit-space-2: 0.5rem; /* 8px */
@@ -166,7 +166,7 @@
166
166
  --appkit-space-24: 6rem; /* 96px */
167
167
  }
168
168
 
169
- /* ─── Border Radius ──────────────────────────────────────────────────────── */
169
+ /* --- Border Radius -------------------------------------------------------- */
170
170
  :root {
171
171
  --appkit-radius-sm: 0.25rem; /* 4px */
172
172
  --appkit-radius-md: 0.375rem; /* 6px */
@@ -179,7 +179,7 @@
179
179
  --appkit-radius-full: 9999px;
180
180
  }
181
181
 
182
- /* ─── Shadow ─────────────────────────────────────────────────────────────── */
182
+ /* --- Shadow --------------------------------------------------------------- */
183
183
  :root {
184
184
  --appkit-shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);
185
185
  --appkit-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
@@ -190,7 +190,7 @@
190
190
  --appkit-shadow-glow-pink: 0 0 20px rgba(233, 30, 140, 0.5);
191
191
  }
192
192
 
193
- /* ─── Z-index ────────────────────────────────────────────────────────────── */
193
+ /* --- Z-index -------------------------------------------------------------- */
194
194
  :root {
195
195
  --appkit-z-dropdown: 30;
196
196
  --appkit-z-search-backdrop: 35;
@@ -209,7 +209,7 @@
209
209
  --appkit-title-bar-height: 3rem; /* h-12 = 48px */
210
210
  }
211
211
 
212
- /* ─── Transition ─────────────────────────────────────────────────────────── */
212
+ /* --- Transition ----------------------------------------------------------- */
213
213
  :root {
214
214
  --appkit-duration-fast: 150ms;
215
215
  --appkit-duration-base: 200ms;
@@ -85,37 +85,37 @@ pageSize: pageSizeProp, stickyHeader: stickyHeaderProp, striped: stripedProp, sh
85
85
  return sortedData.slice(start, start + pageSize);
86
86
  }, [sortedData, currentPage, externalPagination, pageSize]);
87
87
  const totalPages = Math.ceil(sortedData.length / pageSize);
88
- // ─── Loading state ──────────────────────────────────────────────────────────
88
+ // --- Loading state ----------------------------------------------------------
89
89
  if (loading) {
90
- return (_jsx("div", { className: "appkit-data-table__wrapper", children: _jsx("div", { className: "appkit-data-table__loading", children: _jsx(Spinner, { size: "lg", label: labelLoading }) }) }));
90
+ return (_jsx("div", { className: "appkit-data-table__wrapper", "data-section": "datatable-div-630", children: _jsx("div", { className: "appkit-data-table__loading", "data-section": "datatable-div-631", children: _jsx(Spinner, { size: "lg", label: labelLoading }) }) }));
91
91
  }
92
- // ─── Empty state ────────────────────────────────────────────────────────────
92
+ // --- Empty state ------------------------------------------------------------
93
93
  if (data.length === 0) {
94
94
  if (emptyState)
95
95
  return _jsx(_Fragment, { children: emptyState });
96
- return (_jsx("div", { className: "appkit-data-table__wrapper", children: _jsx("div", { className: "appkit-data-table__empty", children: _jsxs("div", { className: "text-center px-4", children: [emptyIcon ?? (_jsx("svg", { className: "mx-auto h-12 w-12 text-zinc-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4" }) })), _jsx(Text, { size: "sm", weight: "semibold", className: "mt-4", children: emptyTitle ?? noDataTitle }), _jsx(Text, { size: "sm", variant: "secondary", className: "mt-1", children: emptyMessage ?? noDataDescription })] }) }) }));
96
+ return (_jsx("div", { className: "appkit-data-table__wrapper", "data-section": "datatable-div-632", children: _jsx("div", { className: "appkit-data-table__empty", "data-section": "datatable-div-633", children: _jsxs("div", { className: "text-center px-4", "data-section": "datatable-div-634", children: [emptyIcon ?? (_jsx("svg", { className: "mx-auto h-12 w-12 text-zinc-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4" }) })), _jsx(Text, { size: "sm", weight: "semibold", className: "mt-4", children: emptyTitle ?? noDataTitle }), _jsx(Text, { size: "sm", variant: "secondary", className: "mt-1", children: emptyMessage ?? noDataDescription })] }) }) }));
97
97
  }
98
98
  const renderViewToggle = () => {
99
99
  if (!showViewToggle)
100
100
  return null;
101
- return (_jsxs("div", { className: "appkit-data-table__view-toggle", role: "toolbar", "aria-label": "View mode", children: [showTableView && (_jsx(Button, { type: "button", variant: "ghost", size: "sm", onClick: () => handleViewModeChange("table"), "aria-label": tableView, "aria-pressed": activeViewMode === "table", className: `appkit-data-table__view-btn ${activeViewMode === "table" ? "appkit-data-table__view-btn--active" : ""} hidden sm:flex`, children: _jsx("svg", { className: "w-4 h-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 10h18M3 6h18M3 14h18M3 18h18" }) }) })), _jsx(Button, { type: "button", variant: "ghost", size: "sm", onClick: () => handleViewModeChange("grid"), "aria-label": gridView, "aria-pressed": activeViewMode === "grid", className: `appkit-data-table__view-btn ${activeViewMode === "grid" ? "appkit-data-table__view-btn--active" : ""}`, children: _jsx("svg", { className: "w-4 h-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z" }) }) }), _jsx(Button, { type: "button", variant: "ghost", size: "sm", onClick: () => handleViewModeChange("list"), "aria-label": listView, "aria-pressed": activeViewMode === "list", className: `appkit-data-table__view-btn ${activeViewMode === "list" ? "appkit-data-table__view-btn--active" : ""}`, children: _jsx("svg", { className: "w-4 h-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zM3.75 12h.007v.008H3.75V12zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm-.375 5.25h.007v.008H3.75v-.008zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z" }) }) })] }));
101
+ return (_jsxs("div", { className: "appkit-data-table__view-toggle", role: "toolbar", "aria-label": "View mode", "data-section": "datatable-div-635", children: [showTableView && (_jsx(Button, { type: "button", variant: "ghost", size: "sm", onClick: () => handleViewModeChange("table"), "aria-label": tableView, "aria-pressed": activeViewMode === "table", className: `appkit-data-table__view-btn ${activeViewMode === "table" ? "appkit-data-table__view-btn--active" : ""} hidden sm:flex`, children: _jsx("svg", { className: "w-4 h-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 10h18M3 6h18M3 14h18M3 18h18" }) }) })), _jsx(Button, { type: "button", variant: "ghost", size: "sm", onClick: () => handleViewModeChange("grid"), "aria-label": gridView, "aria-pressed": activeViewMode === "grid", className: `appkit-data-table__view-btn ${activeViewMode === "grid" ? "appkit-data-table__view-btn--active" : ""}`, children: _jsx("svg", { className: "w-4 h-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z" }) }) }), _jsx(Button, { type: "button", variant: "ghost", size: "sm", onClick: () => handleViewModeChange("list"), "aria-label": listView, "aria-pressed": activeViewMode === "list", className: `appkit-data-table__view-btn ${activeViewMode === "list" ? "appkit-data-table__view-btn--active" : ""}`, children: _jsx("svg", { className: "w-4 h-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 1.5, "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zM3.75 12h.007v.008H3.75V12zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm-.375 5.25h.007v.008H3.75v-.008zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z" }) }) })] }));
102
102
  };
103
- // ─── Card views (grid / list) ────────────────────────────────────────────────
103
+ // --- Card views (grid / list) ------------------------------------------------
104
104
  const renderCardGrid = (mode) => {
105
105
  if (!mobileCardRender)
106
106
  return null;
107
107
  return (_jsx("div", { className: mode === "grid"
108
108
  ? `${GRID_MAP[gridCols]} gap-6`
109
- : "flex flex-col gap-4", children: paginatedData.map((item) => (_jsx(SelectableCard, { id: keyExtractor(item), selectable: selectable, selected: selectedIds.includes(keyExtractor(item)), listMode: mode === "list", onToggle: (id, checked) => onSelectionChange?.(checked
109
+ : "flex flex-col gap-4", "data-section": "datatable-div-636", children: paginatedData.map((item) => (_jsx(SelectableCard, { id: keyExtractor(item), selectable: selectable, selected: selectedIds.includes(keyExtractor(item)), listMode: mode === "list", onToggle: (id, checked) => onSelectionChange?.(checked
110
110
  ? [...selectedIds, id]
111
111
  : selectedIds.filter((s) => s !== id)), children: mobileCardRender(item) }, keyExtractor(item)))) }));
112
112
  };
113
- // ─── Main render ─────────────────────────────────────────────────────────────
114
- return (_jsxs("div", { className: "appkit-data-table", children: [renderViewToggle(), activeViewMode !== "table" &&
113
+ // --- Main render -------------------------------------------------------------
114
+ return (_jsxs("div", { className: "appkit-data-table", "data-section": "datatable-div-637", children: [renderViewToggle(), activeViewMode !== "table" &&
115
115
  mobileCardRender &&
116
- renderCardGrid(activeViewMode), activeViewMode === "table" && mobileCardRender && (_jsx("div", { className: "appkit-data-table__mobile-cards", children: paginatedData.map((item) => (_jsx(SelectableCard, { id: keyExtractor(item), selectable: selectable, selected: selectedIds.includes(keyExtractor(item)), onToggle: (id, checked) => onSelectionChange?.(checked
116
+ renderCardGrid(activeViewMode), activeViewMode === "table" && mobileCardRender && (_jsx("div", { className: "appkit-data-table__mobile-cards", "data-section": "datatable-div-638", children: paginatedData.map((item) => (_jsx(SelectableCard, { id: keyExtractor(item), selectable: selectable, selected: selectedIds.includes(keyExtractor(item)), onToggle: (id, checked) => onSelectionChange?.(checked
117
117
  ? [...selectedIds, id]
118
- : selectedIds.filter((s) => s !== id)), children: mobileCardRender(item) }, keyExtractor(item)))) })), activeViewMode === "table" && (_jsx("div", { className: "appkit-data-table__wrapper", children: _jsx("div", { className: `appkit-data-table__scroll ${stickyHeader ? "appkit-data-table__scroll--sticky" : ""}`, children: _jsxs("table", { className: "appkit-data-table__table", children: [_jsx("thead", { className: `appkit-data-table__thead ${stickyHeader ? "appkit-data-table__thead--sticky" : ""}`, children: _jsxs("tr", { children: [selectable && (_jsx("th", { scope: "col", className: "px-4 py-3 w-8", children: _jsx("input", { type: "checkbox", className: "rounded border-zinc-300", "aria-label": "Select all on page", checked: paginatedData.length > 0 &&
118
+ : selectedIds.filter((s) => s !== id)), children: mobileCardRender(item) }, keyExtractor(item)))) })), activeViewMode === "table" && (_jsx("div", { className: "appkit-data-table__wrapper", "data-section": "datatable-div-639", children: _jsx("div", { className: `appkit-data-table__scroll ${stickyHeader ? "appkit-data-table__scroll--sticky" : ""}`, "data-section": "datatable-div-640", children: _jsxs("table", { className: "appkit-data-table__table", children: [_jsx("thead", { className: `appkit-data-table__thead ${stickyHeader ? "appkit-data-table__thead--sticky" : ""}`, children: _jsxs("tr", { children: [selectable && (_jsx("th", { scope: "col", className: "px-4 py-3 w-8", children: _jsx("input", { type: "checkbox", className: "rounded border-zinc-300", "aria-label": "Select all on page", checked: paginatedData.length > 0 &&
119
119
  paginatedData.every((item) => selectedIds.includes(keyExtractor(item))), onChange: (e) => {
120
120
  const pageIds = paginatedData.map(keyExtractor);
121
121
  onSelectionChange?.(e.target.checked
@@ -140,15 +140,15 @@ pageSize: pageSizeProp, stickyHeader: stickyHeaderProp, striped: stripedProp, sh
140
140
  : selectedIds.filter((s) => s !== id));
141
141
  } }) })), columns.map((col) => (_jsx("td", { className: "appkit-data-table__td", children: col.render
142
142
  ? col.render(item)
143
- : (item[col.key] ?? "-") }, col.key))), actions && (_jsx("td", { className: "appkit-data-table__td appkit-data-table__td--actions", onClick: (e) => e.stopPropagation(), children: actions(item) }))] }, keyExtractor(item)))) })] }) }) })), !externalPagination && totalPages > 1 && (_jsx("div", { className: "appkit-data-table__pagination", children: _jsx(Pagination, { currentPage: currentPage, totalPages: totalPages, onPageChange: setCurrentPage, maxVisible: resolvedPag.maxVisible, showFirstLast: resolvedPag.showFirstLast, showPrevNext: resolvedPag.showPrevNext, size: resolvedPag.size }) }))] }));
143
+ : (item[col.key] ?? "-") }, col.key))), actions && (_jsx("td", { className: "appkit-data-table__td appkit-data-table__td--actions", onClick: (e) => e.stopPropagation(), children: actions(item) }))] }, keyExtractor(item)))) })] }) }) })), !externalPagination && totalPages > 1 && (_jsx("div", { className: "appkit-data-table__pagination", "data-section": "datatable-div-641", children: _jsx(Pagination, { currentPage: currentPage, totalPages: totalPages, onPageChange: setCurrentPage, maxVisible: resolvedPag.maxVisible, showFirstLast: resolvedPag.showFirstLast, showPrevNext: resolvedPag.showPrevNext, size: resolvedPag.size }) }))] }));
144
144
  }
145
145
  function SelectableCard({ id, selectable, selected, onToggle, children, listMode = false, }) {
146
146
  if (!selectable)
147
- return _jsx("div", { className: "h-full", children: children });
148
- return (_jsxs("div", { className: "relative group h-full", children: [_jsx("div", { className: [
147
+ return _jsx("div", { className: "h-full", "data-section": "datatable-div-642", children: children });
148
+ return (_jsxs("div", { className: "relative group h-full", "data-section": "datatable-div-643", children: [_jsx("div", { className: [
149
149
  "absolute z-10",
150
150
  listMode ? "left-2 top-1/2 -translate-y-1/2" : "top-2 left-2",
151
- ].join(" "), onClick: (e) => e.stopPropagation(), children: _jsx("div", { className: "w-6 h-6 rounded-md bg-white/95 dark:bg-slate-800/95 shadow-md flex items-center justify-center", children: _jsxs("div", { className: "relative flex items-center justify-center", children: [_jsx("input", { type: "checkbox", className: [
151
+ ].join(" "), onClick: (e) => e.stopPropagation(), children: _jsx("div", { className: "w-6 h-6 rounded-md bg-white/95 dark:bg-slate-800/95 shadow-md flex items-center justify-center", "data-section": "datatable-div-645", children: _jsxs("div", { className: "relative flex items-center justify-center", "data-section": "datatable-div-646", children: [_jsx("input", { type: "checkbox", className: [
152
152
  "w-4 h-4 rounded cursor-pointer transition-all appearance-none",
153
153
  selected
154
154
  ? "border-2 border-primary bg-primary"
@@ -14,7 +14,7 @@ export function renderBoolean(value, opts) {
14
14
  const falseLabel = opts?.falseLabel ?? "No";
15
15
  return value ? trueLabel : falseLabel;
16
16
  }
17
- // ─── Currency ─────────────────────────────────────────────────────────────────
17
+ // --- Currency -----------------------------------------------------------------
18
18
  /** Render a monetary amount through the shared `formatCurrency` pipeline. */
19
19
  export function renderCurrency(amount, currency, locale, fallback = "—") {
20
20
  if (amount == null)
@@ -31,14 +31,14 @@ export function renderCurrencyCompact(amount, currency, fallback = "—") {
31
31
  const resolvedCurrency = currency ?? getDefaultCurrency();
32
32
  return `${resolvedCurrency} ${amount.toLocaleString()}`;
33
33
  }
34
- // ─── Count ────────────────────────────────────────────────────────────────────
34
+ // --- Count --------------------------------------------------------------------
35
35
  /** Render a numeric value with locale separators, with an optional fallback. */
36
36
  export function renderCount(value, fallback = "0") {
37
37
  if (value == null)
38
38
  return fallback;
39
39
  return value.toLocaleString();
40
40
  }
41
- // ─── Nullable ─────────────────────────────────────────────────────────────────
41
+ // --- Nullable -----------------------------------------------------------------
42
42
  /** Render a nullable value through an optional formatter, with em-dash fallback. */
43
43
  export function renderNullable(value, format, fallback = "—") {
44
44
  if (value == null)
@@ -11,7 +11,7 @@ function toArray(value) {
11
11
  return Array.isArray(value) ? value : [value];
12
12
  }
13
13
  function renderLegacyAccordion({ title, children, open, className = "", titleClassName = "", contentClassName = "", }) {
14
- return (_jsxs("details", { open: open, className: `appkit-accordion appkit-accordion--legacy ${className}`, children: [_jsxs("summary", { className: `appkit-accordion__summary ${titleClassName}`, children: [title, _jsx("span", { className: "appkit-accordion__chevron", "aria-hidden": "true", children: "\u25BE" })] }), _jsx("div", { className: `appkit-accordion__content ${contentClassName}`, children: children })] }));
14
+ return (_jsxs("details", { open: open, className: `appkit-accordion appkit-accordion--legacy ${className}`, children: [_jsxs("summary", { className: `appkit-accordion__summary ${titleClassName}`, children: [title, _jsx("span", { className: "appkit-accordion__chevron", "aria-hidden": "true", children: "\u25BE" })] }), _jsx("div", { className: `appkit-accordion__content ${contentClassName}`, "data-section": "accordion-div-447", children: children })] }));
15
15
  }
16
16
  export function Accordion({ title, children, open = false, className = "", titleClassName = "", contentClassName = "", type = "single", defaultValue, value, onChange, }) {
17
17
  // Backward-compatible simple details mode.
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
3
2
  import { Row } from "./Layout";
4
3
  import { Span } from "./Typography";
@@ -43,5 +43,5 @@ const ICONS = {
43
43
  };
44
44
  export function Alert({ children, variant = "info", title, compact = false, onClose, className = "", }) {
45
45
  const styles = ALERT_STYLES[variant];
46
- return (_jsx("div", { className: `appkit-alert ${styles.container} ${className}`, role: "alert", children: _jsxs("div", { className: "appkit-alert__content", children: [!compact && (_jsx("div", { className: `appkit-alert__icon ${styles.icon}`, children: ICONS[variant] })), _jsxs("div", { className: "appkit-alert__body", children: [title && (_jsx(Heading, { level: 3, className: `appkit-alert__title ${styles.title}`, children: title })), _jsx("div", { className: `appkit-alert__text ${styles.text}`, children: children })] }), onClose && (_jsx(Button, { variant: "ghost", size: "sm", onClick: onClose, className: `appkit-alert__close ${styles.icon} ${ALERT_CLOSE_HOVER}`, "aria-label": "Close", children: _jsx("svg", { className: "appkit-alert__close-icon", fill: "currentColor", viewBox: "0 0 20 20", "aria-hidden": "true", children: _jsx("path", { fillRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z", clipRule: "evenodd" }) }) }))] }) }));
46
+ return (_jsx("div", { className: `appkit-alert ${styles.container} ${className}`, role: "alert", "data-section": "alert-div-448", children: _jsxs("div", { className: "appkit-alert__content", "data-section": "alert-div-449", children: [!compact && (_jsx("div", { className: `appkit-alert__icon ${styles.icon}`, "data-section": "alert-div-450", children: ICONS[variant] })), _jsxs("div", { className: "appkit-alert__body", "data-section": "alert-div-451", children: [title && (_jsx(Heading, { level: 3, className: `appkit-alert__title ${styles.title}`, children: title })), _jsx("div", { className: `appkit-alert__text ${styles.text}`, "data-section": "alert-div-452", children: children })] }), onClose && (_jsx(Button, { variant: "ghost", size: "sm", onClick: onClose, className: `appkit-alert__close ${styles.icon} ${ALERT_CLOSE_HOVER}`, "aria-label": "Close", children: _jsx("svg", { className: "appkit-alert__close-icon", fill: "currentColor", viewBox: "0 0 20 20", "aria-hidden": "true", children: _jsx("path", { fillRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z", clipRule: "evenodd" }) }) }))] }) }));
47
47
  }
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
2
  const UI_AVATAR = {
4
3
  base: "appkit-avatar",
@@ -37,6 +36,6 @@ export function Avatar({ src, alt, fallback, name, size = "md", className = "",
37
36
  export function AvatarGroup({ avatars, max = 4, size = "sm", className = "", }) {
38
37
  const visible = avatars.slice(0, max);
39
38
  const extra = avatars.length - visible.length;
40
- return (_jsxs("div", { className: [UI_AVATAR.group, className].filter(Boolean).join(" "), children: [visible.map((avatar, index) => (_jsx(Avatar, { ...avatar, size: size, className: "ring-2 ring-white dark:ring-slate-900" }, `${avatar.src ?? avatar.name ?? "avatar"}-${index}`))), extra > 0 ? (_jsxs("span", { className: [UI_AVATAR.overflow, UI_AVATAR.sizes[size]].join(" "), children: ["+", extra] })) : null] }));
39
+ return (_jsxs("div", { className: [UI_AVATAR.group, className].filter(Boolean).join(" "), "data-section": "avatar-div-453", children: [visible.map((avatar, index) => (_jsx(Avatar, { ...avatar, size: size, className: "ring-2 ring-white dark:ring-slate-900" }, `${avatar.src ?? avatar.name ?? "avatar"}-${index}`))), extra > 0 ? (_jsxs("span", { className: [UI_AVATAR.overflow, UI_AVATAR.sizes[size]].join(" "), children: ["+", extra] })) : null] }));
41
40
  }
42
41
  export default Avatar;