@mohasinac/appkit 2.7.46 → 2.7.48

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 (71) hide show
  1. package/dist/constants/field-names.d.ts +1 -0
  2. package/dist/constants/field-names.js +1 -0
  3. package/dist/core/unit-of-work.js +3 -4
  4. package/dist/features/admin/components/DashboardStats.js +1 -1
  5. package/dist/features/auth/actions/profile-actions.js +4 -1
  6. package/dist/features/auth/repository/user.repository.d.ts +1 -0
  7. package/dist/features/auth/repository/user.repository.js +3 -0
  8. package/dist/features/blog/api/route.js +3 -0
  9. package/dist/features/blog/components/BlogIndexListing.js +2 -0
  10. package/dist/features/blog/components/BlogPostView.js +2 -1
  11. package/dist/features/categories/api/route.js +1 -1
  12. package/dist/features/categories/components/BundleDetailView.js +5 -3
  13. package/dist/features/categories/components/CategoryBundlesListing.js +77 -41
  14. package/dist/features/categories/components/CategoryDetailPageView.js +12 -9
  15. package/dist/features/categories/components/CategoryProductsListing.js +3 -5
  16. package/dist/features/classified/components/ClassifiedIndexListing.js +3 -4
  17. package/dist/features/digital-codes/components/DigitalCodesIndexListing.js +3 -4
  18. package/dist/features/events/actions/event-actions.d.ts +2 -3
  19. package/dist/features/events/actions/event-actions.js +3 -5
  20. package/dist/features/events/api/route.js +7 -7
  21. package/dist/features/events/components/AdminEventEditorView.js +80 -6
  22. package/dist/features/events/components/AdminEventEntriesView.js +33 -4
  23. package/dist/features/events/components/EventFilters.d.ts +3 -0
  24. package/dist/features/events/components/EventFilters.js +1 -0
  25. package/dist/features/events/components/EventLeaderboard.js +1 -1
  26. package/dist/features/events/components/EventsIndexListing.js +10 -7
  27. package/dist/features/events/repository/event-entry.repository.d.ts +2 -2
  28. package/dist/features/events/repository/event-entry.repository.js +32 -7
  29. package/dist/features/events/types/index.d.ts +3 -1
  30. package/dist/features/filters/SwitchFilter.js +2 -4
  31. package/dist/features/homepage/components/BrandsSection.js +2 -2
  32. package/dist/features/homepage/components/CustomCardsSection.js +1 -1
  33. package/dist/features/homepage/components/CustomerReviewsSection.js +1 -1
  34. package/dist/features/homepage/components/FeaturedResultsSection.js +1 -1
  35. package/dist/features/homepage/components/SectionCarousel.js +1 -1
  36. package/dist/features/homepage/components/ShopByCategorySection.js +1 -1
  37. package/dist/features/live/components/LiveItemsIndexListing.js +3 -4
  38. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +3 -4
  39. package/dist/features/products/components/AuctionsIndexListing.js +3 -4
  40. package/dist/features/products/components/PrizeDrawsIndexListing.js +3 -8
  41. package/dist/features/products/components/ProductDetailPageView.js +17 -2
  42. package/dist/features/products/components/ProductsIndexListing.js +10 -6
  43. package/dist/features/products/schemas/firestore.d.ts +2 -0
  44. package/dist/features/reviews/actions/review-actions.js +2 -0
  45. package/dist/features/reviews/components/ReviewDetailShell.js +3 -2
  46. package/dist/features/reviews/components/ReviewFilters.js +1 -1
  47. package/dist/features/reviews/components/ReviewsIndexListing.js +9 -2
  48. package/dist/features/reviews/hooks/useReviews.js +2 -0
  49. package/dist/features/reviews/schemas/firestore.d.ts +4 -0
  50. package/dist/features/reviews/types/index.d.ts +3 -0
  51. package/dist/features/scams/components/ScamRegistryView.js +41 -8
  52. package/dist/features/stores/components/InteractiveStoreCard.js +1 -1
  53. package/dist/features/stores/components/StoreAuctionsListing.js +3 -4
  54. package/dist/features/stores/components/StoreDetailLayoutView.js +13 -5
  55. package/dist/features/stores/components/StorePreOrdersListing.js +3 -4
  56. package/dist/features/stores/components/StoreProductsListing.js +3 -4
  57. package/dist/index.d.ts +1 -0
  58. package/dist/providers/db-firebase/helpers.d.ts +4 -6
  59. package/dist/providers/db-firebase/helpers.js +18 -5
  60. package/dist/providers/db-firebase/sieve.js +26 -1
  61. package/dist/react/hooks/usePendingFilters.d.ts +2 -0
  62. package/dist/react/hooks/usePendingFilters.js +9 -0
  63. package/dist/react/hooks/usePendingTable.d.ts +5 -0
  64. package/dist/react/hooks/usePendingTable.js +1 -0
  65. package/dist/seed/homepage-sections-seed-data.js +2 -2
  66. package/dist/seed/products-standard-seed-data.js +1 -0
  67. package/dist/tailwind-utilities.css +1 -1
  68. package/dist/ui/components/Drawer.style.css +13 -0
  69. package/dist/ui/components/FilterDrawer.d.ts +4 -2
  70. package/dist/ui/components/FilterDrawer.js +2 -2
  71. package/package.json +1 -1
@@ -68,6 +68,19 @@
68
68
  .appkit-drawer__panel--md { width: 24rem; }
69
69
  }
70
70
 
71
+ /* FilterDrawer responsive size: full-width (lg) on mobile, fixed md-width on desktop */
72
+ .appkit-drawer__panel--filter {
73
+ width: 100%;
74
+ max-width: 30rem;
75
+ }
76
+
77
+ @media (min-width: 1024px) {
78
+ .appkit-drawer__panel--filter {
79
+ width: 24rem;
80
+ max-width: none;
81
+ }
82
+ }
83
+
71
84
  .appkit-drawer__drag-wrap {
72
85
  display: flex;
73
86
  justify-content: center;
@@ -12,7 +12,9 @@ export interface FilterDrawerProps {
12
12
  triggerLabel?: string;
13
13
  triggerClassName?: string;
14
14
  hideTrigger?: boolean;
15
- /** Which side the drawer slides in from. Default: "bottom" (slides up, mobile-first). */
15
+ /** Which side the drawer slides in from. Default: "right". */
16
16
  side?: "left" | "right" | "bottom";
17
+ /** Width for left/right drawers. Default: "md" (responsive: full-width on mobile, 24rem on desktop). */
18
+ size?: "sm" | "md" | "lg" | "full";
17
19
  }
18
- export declare function FilterDrawer({ children, title, open, onOpen, onClose, onApply, onReset, activeCount, pendingCount, triggerLabel, triggerClassName, hideTrigger, side, }: FilterDrawerProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function FilterDrawer({ children, title, open, onOpen, onClose, onApply, onReset, activeCount, pendingCount, triggerLabel, triggerClassName, hideTrigger, side, size, }: FilterDrawerProps): import("react/jsx-runtime").JSX.Element;
@@ -4,7 +4,7 @@ import React from "react";
4
4
  import { Button } from "./Button";
5
5
  import { Drawer } from "./Drawer";
6
6
  import { Span } from "./Typography";
7
- export function FilterDrawer({ children, title = "Filters", open, onOpen, onClose, onApply, onReset, activeCount = 0, pendingCount, triggerLabel = "Filters", triggerClassName = "", hideTrigger = false, side = "bottom", }) {
7
+ export function FilterDrawer({ children, title = "Filters", open, onOpen, onClose, onApply, onReset, activeCount = 0, pendingCount, triggerLabel = "Filters", triggerClassName = "", hideTrigger = false, side = "right", size = "md", }) {
8
8
  const [internalOpen, setInternalOpen] = React.useState(false);
9
9
  const isControlled = open !== undefined;
10
10
  const isOpen = isControlled ? open : internalOpen;
@@ -33,7 +33,7 @@ export function FilterDrawer({ children, title = "Filters", open, onOpen, onClos
33
33
  handleOpen();
34
34
  }, className: ["appkit-filter-drawer__trigger", triggerClassName]
35
35
  .filter(Boolean)
36
- .join(" "), "aria-label": triggerLabel, children: [_jsx(Span, { children: triggerLabel }), activeCount > 0 ? (_jsx(Span, { className: "appkit-filter-drawer__badge", children: activeCount })) : null] })) : null, _jsx(Drawer, { isOpen: isOpen, onClose: handleClose, title: title, side: side, footer: _jsxs("div", { className: "appkit-filter-drawer__footer", "data-section": "filterdrawer-div-494", children: [_jsx(Button, { type: "button", variant: "ghost", onClick: onReset, children: "Reset all" }), _jsx(Button, { type: "button", variant: "primary", onClick: handleApply, children: pendingCount != null && pendingCount > 0
36
+ .join(" "), "aria-label": triggerLabel, children: [_jsx(Span, { children: triggerLabel }), activeCount > 0 ? (_jsx(Span, { className: "appkit-filter-drawer__badge", children: activeCount })) : null] })) : null, _jsx(Drawer, { isOpen: isOpen, onClose: handleClose, title: title, side: side, size: size, className: "appkit-drawer__panel--filter", footer: _jsxs("div", { className: "appkit-filter-drawer__footer", "data-section": "filterdrawer-div-494", children: [_jsx(Button, { type: "button", variant: "ghost", onClick: onReset, children: "Reset all" }), _jsx(Button, { type: "button", variant: "primary", onClick: handleApply, children: pendingCount != null && pendingCount > 0
37
37
  ? `Apply (${pendingCount})`
38
38
  : "Apply" })] }), children: _jsx("div", { className: "appkit-filter-drawer__body", "data-section": "filterdrawer-div-495", children: children }) })] }));
39
39
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mohasinac/appkit",
3
- "version": "2.7.46",
3
+ "version": "2.7.48",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"