@mohasinac/appkit 4.15.0 → 4.16.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 (73) hide show
  1. package/dist/_internal/shared/actions/action-registry.d.ts +9 -2
  2. package/dist/_internal/shared/actions/action-registry.js +455 -6
  3. package/dist/_internal/shared/features/blog/schema.d.ts +4 -4
  4. package/dist/_internal/shared/features/cart/schema.d.ts +11 -11
  5. package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +22 -22
  6. package/dist/_internal/shared/features/orders/schema.d.ts +4 -4
  7. package/dist/_internal/shared/features/products/schema.d.ts +25 -25
  8. package/dist/_internal/shared/features/promotions/schema.d.ts +4 -4
  9. package/dist/_internal/shared/features/reviews/schema.d.ts +2 -2
  10. package/dist/client.d.ts +3 -3
  11. package/dist/client.js +3 -3
  12. package/dist/contracts/extend.d.ts +29 -0
  13. package/dist/contracts/extend.js +20 -0
  14. package/dist/contracts/index.d.ts +2 -1
  15. package/dist/contracts/index.js +2 -0
  16. package/dist/features/admin/components/AdminViewCards.js +24 -17
  17. package/dist/features/admin/components/DataListingView.js +15 -1
  18. package/dist/features/admin/components/DataTable.js +7 -17
  19. package/dist/features/auctions/schemas/index.d.ts +14 -14
  20. package/dist/features/auth/schemas/index.d.ts +2 -2
  21. package/dist/features/blog/actions/blog-actions.d.ts +7 -7
  22. package/dist/features/blog/schemas/blog-form.d.ts +6 -6
  23. package/dist/features/blog/schemas/index.d.ts +10 -10
  24. package/dist/features/cart/schemas/index.d.ts +3 -3
  25. package/dist/features/catalogue/schemas/validation.d.ts +12 -12
  26. package/dist/features/categories/schemas/index.d.ts +16 -16
  27. package/dist/features/collections/schemas/index.d.ts +8 -8
  28. package/dist/features/events/schemas/index.d.ts +2 -2
  29. package/dist/features/faq/actions/faq-actions.d.ts +6 -6
  30. package/dist/features/faq/schemas/index.d.ts +6 -6
  31. package/dist/features/grouped/schemas/grouped-listing-form.d.ts +2 -2
  32. package/dist/features/grouped/schemas/index.d.ts +4 -4
  33. package/dist/features/homepage/schemas/index.d.ts +40 -40
  34. package/dist/features/messages/schemas/index.d.ts +2 -2
  35. package/dist/features/orders/schemas/index.d.ts +24 -24
  36. package/dist/features/pre-orders/schemas/index.d.ts +4 -4
  37. package/dist/features/products/schemas/index.d.ts +36 -36
  38. package/dist/features/products/schemas/product-features.validators.d.ts +2 -2
  39. package/dist/features/promotions/schemas/index.d.ts +14 -14
  40. package/dist/features/reviews/schemas/index.d.ts +14 -14
  41. package/dist/features/scams/schemas/index.d.ts +2 -2
  42. package/dist/features/search/schemas/index.d.ts +2 -2
  43. package/dist/features/seller/components/SellerAnalyticsAlertsView.js +27 -9
  44. package/dist/features/seller/schemas/index.d.ts +2 -2
  45. package/dist/features/shipments/schemas/validation.d.ts +22 -22
  46. package/dist/features/store-extensions/schemas/listing-template-form.d.ts +22 -4
  47. package/dist/features/store-extensions/schemas/listing-template-form.js +42 -1
  48. package/dist/features/store-extensions/schemas/shipping-config-form.d.ts +19 -13
  49. package/dist/features/store-extensions/schemas/shipping-config-form.js +25 -2
  50. package/dist/features/store-extensions/schemas/store-category-form.d.ts +42 -2
  51. package/dist/features/store-extensions/schemas/store-category-form.js +28 -0
  52. package/dist/features/stores/schemas/index.d.ts +4 -4
  53. package/dist/features/support/schemas/index.d.ts +4 -4
  54. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +24 -0
  55. package/dist/features/wishlist/hooks/useWishlistWithGuest.d.ts +1 -1
  56. package/dist/index.d.ts +1 -1
  57. package/dist/index.js +1 -1
  58. package/dist/schemas/registry.d.ts +116 -113
  59. package/dist/styles.css +1 -1
  60. package/dist/tailwind-utilities.css +1 -1
  61. package/dist/ui/DataTable.js +4 -2
  62. package/dist/ui/columns/build-columns.d.ts +6 -1
  63. package/dist/ui/columns/build-columns.js +53 -0
  64. package/dist/ui/columns/cell-renderers.d.ts +68 -0
  65. package/dist/ui/columns/cell-renderers.js +111 -0
  66. package/dist/ui/columns/column-renderers.d.ts +6 -1
  67. package/dist/ui/columns/column-renderers.js +6 -1
  68. package/dist/ui/columns/index.d.ts +2 -1
  69. package/dist/ui/columns/index.js +5 -1
  70. package/dist/ui/components/Button.js +27 -2
  71. package/dist/ui/icons/icon-registry.d.ts +65 -0
  72. package/dist/ui/icons/icon-registry.js +115 -0
  73. package/package.json +1 -1
@@ -26,8 +26,31 @@
26
26
  */
27
27
  import { z } from "zod";
28
28
  import { annotate } from "../../shell/field-ui-meta";
29
- /** Mirrors `ShippingMethod` in ./firestore. */
30
- const shippingMethodSchema = z.enum(["free", "flat", "weight", "express", "pickup", "custom"]);
29
+ /*
30
+ * Method labels, keyed on the real union.
31
+ *
32
+ * This was a hand-written `z.enum([...])` with a comment saying it "mirrors
33
+ * ShippingMethod" — the shape that always eventually stops mirroring. Keyed
34
+ * `Record<ShippingMethod, string>`, a value added to the union is now a
35
+ * compile error here, and the enum and the dropdown options both derive from
36
+ * this one map rather than from two separate literals (the edit page carried
37
+ * its own copy of the six options inline).
38
+ */
39
+ const SHIPPING_METHOD_LABEL = {
40
+ free: "Free",
41
+ flat: "Flat rate",
42
+ weight: "By weight",
43
+ express: "Express",
44
+ pickup: "Pickup",
45
+ custom: "Custom",
46
+ };
47
+ const SHIPPING_METHODS = Object.keys(SHIPPING_METHOD_LABEL);
48
+ const shippingMethodSchema = z.enum(SHIPPING_METHODS);
49
+ /** Dropdown options for any surface that picks a shipping method. */
50
+ export const SHIPPING_METHOD_OPTIONS = SHIPPING_METHODS.map((value) => ({
51
+ value,
52
+ label: SHIPPING_METHOD_LABEL[value],
53
+ }));
31
54
  /** A non-negative money/threshold amount, coerced from the form's string. */
32
55
  const amount = (label) => z.coerce.number({ invalid_type_error: `${label} must be a number.` }).min(0, `${label} cannot be negative.`);
33
56
  /**
@@ -10,17 +10,20 @@ export declare const storeCategoryFormSchema: z.ZodObject<{
10
10
  description: z.ZodOptional<z.ZodString>;
11
11
  coverImageUrl: z.ZodOptional<z.ZodString>;
12
12
  displayOrder: z.ZodNumber;
13
+ isActive: z.ZodOptional<z.ZodBoolean>;
13
14
  }, "strip", z.ZodTypeAny, {
14
15
  label: string;
15
16
  displayOrder: number;
16
- description?: string | undefined;
17
17
  slug?: string | undefined;
18
+ description?: string | undefined;
19
+ isActive?: boolean | undefined;
18
20
  coverImageUrl?: string | undefined;
19
21
  }, {
20
22
  label: string;
21
23
  displayOrder: number;
22
- description?: string | undefined;
23
24
  slug?: string | undefined;
25
+ description?: string | undefined;
26
+ isActive?: boolean | undefined;
24
27
  coverImageUrl?: string | undefined;
25
28
  }>;
26
29
  export type StoreCategoryFormValues = z.infer<typeof storeCategoryFormSchema>;
@@ -37,6 +40,7 @@ export declare const storeCategoryCreateSchema: z.ZodObject<{
37
40
  description: z.ZodOptional<z.ZodString>;
38
41
  coverImageUrl: z.ZodOptional<z.ZodString>;
39
42
  displayOrder: z.ZodNumber;
43
+ isActive: z.ZodOptional<z.ZodBoolean>;
40
44
  } & {
41
45
  slug: z.ZodString;
42
46
  }, "strip", z.ZodTypeAny, {
@@ -44,11 +48,47 @@ export declare const storeCategoryCreateSchema: z.ZodObject<{
44
48
  slug: string;
45
49
  displayOrder: number;
46
50
  description?: string | undefined;
51
+ isActive?: boolean | undefined;
47
52
  coverImageUrl?: string | undefined;
48
53
  }, {
49
54
  label: string;
50
55
  slug: string;
51
56
  displayOrder: number;
52
57
  description?: string | undefined;
58
+ isActive?: boolean | undefined;
59
+ coverImageUrl?: string | undefined;
60
+ }>;
61
+ /**
62
+ * Update contract.
63
+ *
64
+ * `.partial()` so a PATCH may carry one field, and `.strict()` so an unknown
65
+ * key is a 400 rather than a silent write. `slug` is deliberately still
66
+ * accepted here, unlike on categories/brands/bundles: a STOREFRONT category is
67
+ * seller-local organisation with no public permalink of its own, so renaming
68
+ * one breaks no inbound link.
69
+ *
70
+ * `storeId` is absent — the route sets it from the session, so a seller cannot
71
+ * move a category into another store.
72
+ */
73
+ export declare const storeCategoryUpdateSchema: z.ZodObject<{
74
+ label: z.ZodOptional<z.ZodString>;
75
+ slug: z.ZodOptional<z.ZodOptional<z.ZodString>>;
76
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
77
+ coverImageUrl: z.ZodOptional<z.ZodOptional<z.ZodString>>;
78
+ displayOrder: z.ZodOptional<z.ZodNumber>;
79
+ isActive: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
80
+ }, "strict", z.ZodTypeAny, {
81
+ label?: string | undefined;
82
+ slug?: string | undefined;
83
+ description?: string | undefined;
84
+ isActive?: boolean | undefined;
85
+ displayOrder?: number | undefined;
86
+ coverImageUrl?: string | undefined;
87
+ }, {
88
+ label?: string | undefined;
89
+ slug?: string | undefined;
90
+ description?: string | undefined;
91
+ isActive?: boolean | undefined;
92
+ displayOrder?: number | undefined;
53
93
  coverImageUrl?: string | undefined;
54
94
  }>;
@@ -59,6 +59,21 @@ export const storeCategoryFormSchema = z.object({
59
59
  section: "media", sectionLabel: "Media", order: 1, row: "full", kind: "media",
60
60
  }),
61
61
  displayOrder: annotate(z.coerce.number().int("Display order must be a whole number.").min(0, "Display order cannot be negative."), { section: "visibility", sectionLabel: "Visibility", order: 1, row: "pair" }),
62
+ /*
63
+ * 🛑 This field was MISSING, and `StoreCategoryDocument.isActive` is
64
+ * required.
65
+ *
66
+ * The edit page has always rendered an "Active" toggle and sent its value in
67
+ * the body; the schema simply did not name it. It surfaced the moment that
68
+ * page was typed against this schema — which is the argument for wiring a
69
+ * schema to its form rather than only to its route.
70
+ *
71
+ * Optional here (not `.min`) because a PATCH may legitimately omit it; the
72
+ * document default is `true`.
73
+ */
74
+ isActive: annotate(z.boolean().optional(), {
75
+ section: "visibility", order: 2, row: "quarter",
76
+ }),
62
77
  });
63
78
  /**
64
79
  * The server's create contract.
@@ -71,3 +86,16 @@ export const storeCategoryFormSchema = z.object({
71
86
  export const storeCategoryCreateSchema = storeCategoryFormSchema.extend({
72
87
  slug: z.string().min(1, "Slug is required").max(80),
73
88
  });
89
+ /**
90
+ * Update contract.
91
+ *
92
+ * `.partial()` so a PATCH may carry one field, and `.strict()` so an unknown
93
+ * key is a 400 rather than a silent write. `slug` is deliberately still
94
+ * accepted here, unlike on categories/brands/bundles: a STOREFRONT category is
95
+ * seller-local organisation with no public permalink of its own, so renaming
96
+ * one breaks no inbound link.
97
+ *
98
+ * `storeId` is absent — the route sets it from the session, so a seller cannot
99
+ * move a category into another store.
100
+ */
101
+ export const storeCategoryUpdateSchema = storeCategoryFormSchema.partial().strict();
@@ -410,8 +410,8 @@ export declare const storeFirestoreSchema: z.ZodObject<{
410
410
  updatedAt: string | Date | z.objectOutputType<{
411
411
  toDate: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodDate>;
412
412
  }, z.ZodTypeAny, "passthrough">;
413
- ownerId: string;
414
413
  storeName: string;
414
+ ownerId: string;
415
415
  storeSlug: string;
416
416
  isPublic: boolean;
417
417
  location?: string | undefined;
@@ -495,8 +495,8 @@ export declare const storeFirestoreSchema: z.ZodObject<{
495
495
  updatedAt: string | Date | z.objectInputType<{
496
496
  toDate: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodDate>;
497
497
  }, z.ZodTypeAny, "passthrough">;
498
- ownerId: string;
499
498
  storeName: string;
499
+ ownerId: string;
500
500
  storeSlug: string;
501
501
  isPublic: boolean;
502
502
  location?: string | undefined;
@@ -607,8 +607,8 @@ export declare const storeListItemSchema: z.ZodObject<{
607
607
  }, "strip", z.ZodTypeAny, {
608
608
  status: string;
609
609
  id: string;
610
- ownerId: string;
611
610
  storeName: string;
611
+ ownerId: string;
612
612
  storeSlug: string;
613
613
  isPublic: boolean;
614
614
  createdAt?: string | undefined;
@@ -623,8 +623,8 @@ export declare const storeListItemSchema: z.ZodObject<{
623
623
  }, {
624
624
  status: string;
625
625
  id: string;
626
- ownerId: string;
627
626
  storeName: string;
627
+ ownerId: string;
628
628
  storeSlug: string;
629
629
  isPublic: boolean;
630
630
  createdAt?: string | undefined;
@@ -158,12 +158,12 @@ export declare const supportTicketFirestoreSchema: z.ZodObject<{
158
158
  toDate: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodDate>;
159
159
  }, z.ZodTypeAny, "passthrough">;
160
160
  userId: string;
161
- description: string;
162
161
  category: "general" | "account" | "order_issue" | "billing_payment" | "listing_dispute" | "scam_report" | "refund_request" | "auction_dispute" | "store_change_request" | "order_modification_request" | "unban_request";
162
+ priority: "normal" | "high" | "low" | "urgent";
163
+ description: string;
163
164
  userEmail: string;
164
165
  userDisplayName: string;
165
166
  subject: string;
166
- priority: "normal" | "high" | "low" | "urgent";
167
167
  messages: {
168
168
  id: string;
169
169
  body: string;
@@ -201,12 +201,12 @@ export declare const supportTicketFirestoreSchema: z.ZodObject<{
201
201
  toDate: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodDate>;
202
202
  }, z.ZodTypeAny, "passthrough">;
203
203
  userId: string;
204
- description: string;
205
204
  category: "general" | "account" | "order_issue" | "billing_payment" | "listing_dispute" | "scam_report" | "refund_request" | "auction_dispute" | "store_change_request" | "order_modification_request" | "unban_request";
205
+ priority: "normal" | "high" | "low" | "urgent";
206
+ description: string;
206
207
  userEmail: string;
207
208
  userDisplayName: string;
208
209
  subject: string;
209
- priority: "normal" | "high" | "low" | "urgent";
210
210
  messages: {
211
211
  id: string;
212
212
  body: string;
@@ -3083,6 +3083,30 @@ const rawTesterChecklistItems = [
3083
3083
  description: "Both PATCH routes previously spread the raw request body into Firestore with no schema, so any key and any status string could be written. Confirm the normal Take / Action / Dismiss and Approve / Reject flows still all work — that is what the tightening must not have broken.",
3084
3084
  href: "/admin/reports",
3085
3085
  },
3086
+ {
3087
+ key: "admin-tables-render-badges-not-text",
3088
+ label: "Admin list tables show a coloured STATUS BADGE, a thumbnail and formatted money — not raw text",
3089
+ description: "Fixed 2026-08-25 — `column-renderers.tsx` was promised by its own sibling's docstring and never written (it could not be: a .ts and .tsx of the same name both emit the same .js). Every column without a hand-written renderer fell back to String(value), so a price read `1499` and a date read as a raw ISO string. Check a few different admin lists.",
3090
+ href: "/admin/products",
3091
+ },
3092
+ {
3093
+ key: "admin-table-readable-on-phone",
3094
+ label: "An admin list is readable at phone width — it switches to the card/list view instead of squeezing a table",
3095
+ description: "Fixed 2026-08-25 — no column-level responsive behaviour existed at all (`TableColumn.hidden` was documented but no DataTable ever read it). Below md the table view is now suppressed entirely; from md up, low-priority columns (created/updated dates, ids, view counts) drop out progressively. Resize from 320px to 1400px and confirm columns reappear rather than the row wrapping.",
3096
+ href: "/admin/orders",
3097
+ },
3098
+ {
3099
+ key: "action-buttons-have-icons",
3100
+ label: "Buttons driven by the action registry show an icon beside their label",
3101
+ description: "Fixed 2026-08-25 — `ActionDef.iconKey` existed on the type, was set on 2 of 220 actions, and was rendered by nothing. All 220 now carry one and `<Button action={…}>` renders it. Spot-check a row action menu and a bulk action bar.",
3102
+ href: "/admin/products",
3103
+ },
3104
+ {
3105
+ key: "sold-flag-badge-readable",
3106
+ label: "The \"Sold\" flag chip on an admin product card is legible in BOTH light and dark themes",
3107
+ description: "Fixed 2026-08-25 — the flag list gave `isSold` two backgrounds and two inks on one element, so the painted colour was decided by stylesheet order rather than by the list. The identical bug was found on the scammer status badge the day before. Also check \"Promoted\", which was raw dual-theme purple.",
3108
+ href: "/admin/products",
3109
+ },
3086
3110
  {
3087
3111
  key: "homepage-section-all-types-creatable",
3088
3112
  label: "EVERY section type in the New Section dropdown can actually be created — especially Featured Bundles, Prize Draws, Event Raffles and Collection Cards",
@@ -29,7 +29,7 @@ export declare function useWishlistWithGuest(userId: string | null | undefined,
29
29
  productPrice: number;
30
30
  productSlug: string;
31
31
  addedAt: string | undefined;
32
- type: "classified" | "category" | "auction" | "digital-code" | "live" | "store" | "product" | "preorder";
32
+ type: "category" | "store" | "classified" | "auction" | "digital-code" | "live" | "product" | "preorder";
33
33
  }[];
34
34
  total: number;
35
35
  wishlistedIds: Set<string>;
package/dist/index.d.ts CHANGED
@@ -493,7 +493,7 @@ export type { ResolvedUser } from "./security/index";
493
493
  export type { RoleDefinition } from "./security/index";
494
494
  export type { UserRole } from "./security/index";
495
495
  export { AddressesRepository } from "./repositories/index";
496
- export { type PayoutMethodType, type PayoutMethodDocument, PAYOUT_METHODS_COLLECTION, PAYOUT_METHOD_INDEXED_FIELDS, DEFAULT_PAYOUT_METHOD_DATA, type ShippingMethod as ShippingConfigMethod, type ShippingConfigDocument, SHIPPING_CONFIGS_COLLECTION, SHIPPING_CONFIG_INDEXED_FIELDS, DEFAULT_SHIPPING_CONFIG_DATA, type AnalyticsScope, type AnalyticsCardType, type AnalyticsCardDocument, ANALYTICS_CARDS_COLLECTION, ANALYTICS_CARD_INDEXED_FIELDS, DEFAULT_ANALYTICS_CARD_DATA, type AlertOperator, type AnalyticsAlertDocument, ANALYTICS_ALERTS_COLLECTION, ANALYTICS_ALERT_INDEXED_FIELDS, DEFAULT_ANALYTICS_ALERT_DATA, type StoreCategoryDocument, storeCategoryFormSchema, storeCategoryCreateSchema, type StoreCategoryFormValues, listingTemplateFormSchema, listingTemplateCreateSchema, listingTemplateUpdateSchema, type ListingTemplateFormValues, LISTING_TEMPLATE_TYPES, payoutMethodFormSchema, payoutMethodCreateSchema, payoutMethodUpdateSchema, type PayoutMethodFormValues, shippingConfigFormSchema, shippingConfigCreateSchema, shippingConfigUpdateSchema, type ShippingConfigFormValues, customRoleFormSchema, customRoleCreateSchema, customRoleUpdateSchema, isKnownPermission, type CustomRoleFormValues, moderationReviewFormSchema, moderationReviewUpdateSchema, MODERATION_REVIEWER_STATUSES, type ModerationReviewFormValues, reportReviewFormSchema, reportReviewUpdateSchema, REPORT_REVIEWER_STATUSES, REPORT_TERMINAL_STATUSES, type ReportReviewFormValues, reportCreateSchema, type ReportCreateValues, itemRequestCreateSchema, type ItemRequestCreateValues, REPORT_ENTITY_TYPES, REPORT_REASONS, analyticsAlertCreateSchema, type AnalyticsAlertCreateValues, analyticsCardCreateSchema, type AnalyticsCardCreateValues, ANALYTICS_ALERT_OPERATORS, ANALYTICS_CARD_TYPES, storeGoogleConfigUpdateSchema, type StoreGoogleConfigFormValues, toSellerGoogleConfig, type SellerGoogleConfig, adminNotificationCreateSchema, type AdminNotificationCreateValues, ADMIN_NOTIFICATION_CATEGORIES, ADMIN_NOTIFICATION_SEVERITIES, STORE_CATEGORIES_COLLECTION, STORE_CATEGORY_INDEXED_FIELDS, DEFAULT_STORE_CATEGORY_DATA, type ListingTemplateType, type ListingTemplateDocument, LISTING_TEMPLATES_COLLECTION, LISTING_TEMPLATE_INDEXED_FIELDS, DEFAULT_LISTING_TEMPLATE_DATA, type ModerationStatus, type ModerationMediaType, type ModerationQueueDocument, MODERATION_QUEUE_COLLECTION, MODERATION_QUEUE_INDEXED_FIELDS, DEFAULT_MODERATION_QUEUE_DATA, type ReportEntityType, type ReportStatus, type ReportReason, type ReportDocument, REPORTS_COLLECTION, REPORT_INDEXED_FIELDS, DEFAULT_REPORT_DATA, type AdminNotificationCategory, type AdminNotificationDocument, ADMIN_NOTIFICATIONS_COLLECTION, ADMIN_NOTIFICATION_INDEXED_FIELDS, DEFAULT_ADMIN_NOTIFICATION_DATA, type ItemRequestStatus, type ItemRequestReply, type ItemRequestDocument, ITEM_REQUESTS_COLLECTION, ITEM_REQUEST_INDEXED_FIELDS, DEFAULT_ITEM_REQUEST_DATA, type StoreGoogleConfigDocument, STORE_GOOGLE_CONFIG_COLLECTION, STORE_GOOGLE_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_GOOGLE_CONFIG_DATA, type StoreWhatsAppConfigDocument, STORE_WHATSAPP_CONFIG_COLLECTION, STORE_WHATSAPP_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_WHATSAPP_CONFIG_DATA, type CustomRoleDocument, CUSTOM_ROLES_COLLECTION, CUSTOM_ROLE_INDEXED_FIELDS, DEFAULT_CUSTOM_ROLE_DATA, type RoleOverrideDocument, ROLE_OVERRIDES_COLLECTION, ROLE_OVERRIDE_INDEXED_FIELDS, DEFAULT_ROLE_OVERRIDE_DATA, PayoutMethodsRepository, ShippingConfigsRepository, AnalyticsCardsRepository, AnalyticsAlertsRepository, StoreCategoriesRepository, ListingTemplatesRepository, ModerationQueueRepository, ReportsRepository, AdminNotificationsRepository, ItemRequestsRepository, StoreGoogleConfigRepository, StoreWhatsAppConfigRepository, CustomRolesRepository, RoleOverridesRepository, payoutMethodsRepository, shippingConfigsRepository, analyticsCardsRepository, analyticsAlertsRepository, storeCategoriesRepository, listingTemplatesRepository, moderationQueueRepository, reportsRepository, adminNotificationsRepository, itemRequestsRepository, storeGoogleConfigRepository, storeWhatsAppConfigRepository, customRolesRepository, roleOverridesRepository, } from "./features/store-extensions/index";
496
+ export { type PayoutMethodType, type PayoutMethodDocument, PAYOUT_METHODS_COLLECTION, PAYOUT_METHOD_INDEXED_FIELDS, DEFAULT_PAYOUT_METHOD_DATA, type ShippingMethod as ShippingConfigMethod, type ShippingConfigDocument, SHIPPING_CONFIGS_COLLECTION, SHIPPING_CONFIG_INDEXED_FIELDS, DEFAULT_SHIPPING_CONFIG_DATA, type AnalyticsScope, type AnalyticsCardType, type AnalyticsCardDocument, ANALYTICS_CARDS_COLLECTION, ANALYTICS_CARD_INDEXED_FIELDS, DEFAULT_ANALYTICS_CARD_DATA, type AlertOperator, type AnalyticsAlertDocument, ANALYTICS_ALERTS_COLLECTION, ANALYTICS_ALERT_INDEXED_FIELDS, DEFAULT_ANALYTICS_ALERT_DATA, type StoreCategoryDocument, storeCategoryFormSchema, storeCategoryCreateSchema, storeCategoryUpdateSchema, type StoreCategoryFormValues, listingTemplateFormSchema, listingTemplateCreateSchema, listingTemplateUpdateSchema, type ListingTemplateFormValues, LISTING_TEMPLATE_TYPES, LISTING_TEMPLATE_TYPE_OPTIONS, payoutMethodFormSchema, payoutMethodCreateSchema, payoutMethodUpdateSchema, type PayoutMethodFormValues, shippingConfigFormSchema, SHIPPING_METHOD_OPTIONS, shippingConfigCreateSchema, shippingConfigUpdateSchema, type ShippingConfigFormValues, customRoleFormSchema, customRoleCreateSchema, customRoleUpdateSchema, isKnownPermission, type CustomRoleFormValues, moderationReviewFormSchema, moderationReviewUpdateSchema, MODERATION_REVIEWER_STATUSES, type ModerationReviewFormValues, reportReviewFormSchema, reportReviewUpdateSchema, REPORT_REVIEWER_STATUSES, REPORT_TERMINAL_STATUSES, type ReportReviewFormValues, reportCreateSchema, type ReportCreateValues, itemRequestCreateSchema, type ItemRequestCreateValues, REPORT_ENTITY_TYPES, REPORT_REASONS, analyticsAlertCreateSchema, type AnalyticsAlertCreateValues, analyticsCardCreateSchema, type AnalyticsCardCreateValues, ANALYTICS_ALERT_OPERATORS, ANALYTICS_CARD_TYPES, storeGoogleConfigUpdateSchema, type StoreGoogleConfigFormValues, toSellerGoogleConfig, type SellerGoogleConfig, adminNotificationCreateSchema, type AdminNotificationCreateValues, ADMIN_NOTIFICATION_CATEGORIES, ADMIN_NOTIFICATION_SEVERITIES, STORE_CATEGORIES_COLLECTION, STORE_CATEGORY_INDEXED_FIELDS, DEFAULT_STORE_CATEGORY_DATA, type ListingTemplateType, type ListingTemplateDocument, LISTING_TEMPLATES_COLLECTION, LISTING_TEMPLATE_INDEXED_FIELDS, DEFAULT_LISTING_TEMPLATE_DATA, type ModerationStatus, type ModerationMediaType, type ModerationQueueDocument, MODERATION_QUEUE_COLLECTION, MODERATION_QUEUE_INDEXED_FIELDS, DEFAULT_MODERATION_QUEUE_DATA, type ReportEntityType, type ReportStatus, type ReportReason, type ReportDocument, REPORTS_COLLECTION, REPORT_INDEXED_FIELDS, DEFAULT_REPORT_DATA, type AdminNotificationCategory, type AdminNotificationDocument, ADMIN_NOTIFICATIONS_COLLECTION, ADMIN_NOTIFICATION_INDEXED_FIELDS, DEFAULT_ADMIN_NOTIFICATION_DATA, type ItemRequestStatus, type ItemRequestReply, type ItemRequestDocument, ITEM_REQUESTS_COLLECTION, ITEM_REQUEST_INDEXED_FIELDS, DEFAULT_ITEM_REQUEST_DATA, type StoreGoogleConfigDocument, STORE_GOOGLE_CONFIG_COLLECTION, STORE_GOOGLE_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_GOOGLE_CONFIG_DATA, type StoreWhatsAppConfigDocument, STORE_WHATSAPP_CONFIG_COLLECTION, STORE_WHATSAPP_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_WHATSAPP_CONFIG_DATA, type CustomRoleDocument, CUSTOM_ROLES_COLLECTION, CUSTOM_ROLE_INDEXED_FIELDS, DEFAULT_CUSTOM_ROLE_DATA, type RoleOverrideDocument, ROLE_OVERRIDES_COLLECTION, ROLE_OVERRIDE_INDEXED_FIELDS, DEFAULT_ROLE_OVERRIDE_DATA, PayoutMethodsRepository, ShippingConfigsRepository, AnalyticsCardsRepository, AnalyticsAlertsRepository, StoreCategoriesRepository, ListingTemplatesRepository, ModerationQueueRepository, ReportsRepository, AdminNotificationsRepository, ItemRequestsRepository, StoreGoogleConfigRepository, StoreWhatsAppConfigRepository, CustomRolesRepository, RoleOverridesRepository, payoutMethodsRepository, shippingConfigsRepository, analyticsCardsRepository, analyticsAlertsRepository, storeCategoriesRepository, listingTemplatesRepository, moderationQueueRepository, reportsRepository, adminNotificationsRepository, itemRequestsRepository, storeGoogleConfigRepository, storeWhatsAppConfigRepository, customRolesRepository, roleOverridesRepository, } from "./features/store-extensions/index";
497
497
  export { BaseRepository } from "./repositories/index";
498
498
  export { BlogRepository } from "./repositories/index";
499
499
  export { CartRepository } from "./repositories/index";
package/dist/index.js CHANGED
@@ -910,7 +910,7 @@ export { resolvePermissions } from "./security/index";
910
910
  // AddressesRepository - unified top-level addresses collection (SB-UNI-A 2026-05-13).
911
911
  export { AddressesRepository } from "./repositories/index";
912
912
  // S-STORE foundation — 14 schemas + 14 repositories + RBAC.
913
- export { PAYOUT_METHODS_COLLECTION, PAYOUT_METHOD_INDEXED_FIELDS, DEFAULT_PAYOUT_METHOD_DATA, SHIPPING_CONFIGS_COLLECTION, SHIPPING_CONFIG_INDEXED_FIELDS, DEFAULT_SHIPPING_CONFIG_DATA, ANALYTICS_CARDS_COLLECTION, ANALYTICS_CARD_INDEXED_FIELDS, DEFAULT_ANALYTICS_CARD_DATA, ANALYTICS_ALERTS_COLLECTION, ANALYTICS_ALERT_INDEXED_FIELDS, DEFAULT_ANALYTICS_ALERT_DATA, storeCategoryFormSchema, storeCategoryCreateSchema, listingTemplateFormSchema, listingTemplateCreateSchema, listingTemplateUpdateSchema, LISTING_TEMPLATE_TYPES, payoutMethodFormSchema, payoutMethodCreateSchema, payoutMethodUpdateSchema, shippingConfigFormSchema, shippingConfigCreateSchema, shippingConfigUpdateSchema, customRoleFormSchema, customRoleCreateSchema, customRoleUpdateSchema, isKnownPermission, moderationReviewFormSchema, moderationReviewUpdateSchema, MODERATION_REVIEWER_STATUSES, reportReviewFormSchema, reportReviewUpdateSchema, REPORT_REVIEWER_STATUSES, REPORT_TERMINAL_STATUSES, reportCreateSchema, itemRequestCreateSchema, REPORT_ENTITY_TYPES, REPORT_REASONS, analyticsAlertCreateSchema, analyticsCardCreateSchema, ANALYTICS_ALERT_OPERATORS, ANALYTICS_CARD_TYPES, storeGoogleConfigUpdateSchema, toSellerGoogleConfig, adminNotificationCreateSchema, ADMIN_NOTIFICATION_CATEGORIES, ADMIN_NOTIFICATION_SEVERITIES, STORE_CATEGORIES_COLLECTION, STORE_CATEGORY_INDEXED_FIELDS, DEFAULT_STORE_CATEGORY_DATA, LISTING_TEMPLATES_COLLECTION, LISTING_TEMPLATE_INDEXED_FIELDS, DEFAULT_LISTING_TEMPLATE_DATA, MODERATION_QUEUE_COLLECTION, MODERATION_QUEUE_INDEXED_FIELDS, DEFAULT_MODERATION_QUEUE_DATA, REPORTS_COLLECTION, REPORT_INDEXED_FIELDS, DEFAULT_REPORT_DATA, ADMIN_NOTIFICATIONS_COLLECTION, ADMIN_NOTIFICATION_INDEXED_FIELDS, DEFAULT_ADMIN_NOTIFICATION_DATA, ITEM_REQUESTS_COLLECTION, ITEM_REQUEST_INDEXED_FIELDS, DEFAULT_ITEM_REQUEST_DATA, STORE_GOOGLE_CONFIG_COLLECTION, STORE_GOOGLE_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_GOOGLE_CONFIG_DATA, STORE_WHATSAPP_CONFIG_COLLECTION, STORE_WHATSAPP_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_WHATSAPP_CONFIG_DATA, CUSTOM_ROLES_COLLECTION, CUSTOM_ROLE_INDEXED_FIELDS, DEFAULT_CUSTOM_ROLE_DATA, ROLE_OVERRIDES_COLLECTION, ROLE_OVERRIDE_INDEXED_FIELDS, DEFAULT_ROLE_OVERRIDE_DATA,
913
+ export { PAYOUT_METHODS_COLLECTION, PAYOUT_METHOD_INDEXED_FIELDS, DEFAULT_PAYOUT_METHOD_DATA, SHIPPING_CONFIGS_COLLECTION, SHIPPING_CONFIG_INDEXED_FIELDS, DEFAULT_SHIPPING_CONFIG_DATA, ANALYTICS_CARDS_COLLECTION, ANALYTICS_CARD_INDEXED_FIELDS, DEFAULT_ANALYTICS_CARD_DATA, ANALYTICS_ALERTS_COLLECTION, ANALYTICS_ALERT_INDEXED_FIELDS, DEFAULT_ANALYTICS_ALERT_DATA, storeCategoryFormSchema, storeCategoryCreateSchema, storeCategoryUpdateSchema, listingTemplateFormSchema, listingTemplateCreateSchema, listingTemplateUpdateSchema, LISTING_TEMPLATE_TYPES, LISTING_TEMPLATE_TYPE_OPTIONS, payoutMethodFormSchema, payoutMethodCreateSchema, payoutMethodUpdateSchema, shippingConfigFormSchema, SHIPPING_METHOD_OPTIONS, shippingConfigCreateSchema, shippingConfigUpdateSchema, customRoleFormSchema, customRoleCreateSchema, customRoleUpdateSchema, isKnownPermission, moderationReviewFormSchema, moderationReviewUpdateSchema, MODERATION_REVIEWER_STATUSES, reportReviewFormSchema, reportReviewUpdateSchema, REPORT_REVIEWER_STATUSES, REPORT_TERMINAL_STATUSES, reportCreateSchema, itemRequestCreateSchema, REPORT_ENTITY_TYPES, REPORT_REASONS, analyticsAlertCreateSchema, analyticsCardCreateSchema, ANALYTICS_ALERT_OPERATORS, ANALYTICS_CARD_TYPES, storeGoogleConfigUpdateSchema, toSellerGoogleConfig, adminNotificationCreateSchema, ADMIN_NOTIFICATION_CATEGORIES, ADMIN_NOTIFICATION_SEVERITIES, STORE_CATEGORIES_COLLECTION, STORE_CATEGORY_INDEXED_FIELDS, DEFAULT_STORE_CATEGORY_DATA, LISTING_TEMPLATES_COLLECTION, LISTING_TEMPLATE_INDEXED_FIELDS, DEFAULT_LISTING_TEMPLATE_DATA, MODERATION_QUEUE_COLLECTION, MODERATION_QUEUE_INDEXED_FIELDS, DEFAULT_MODERATION_QUEUE_DATA, REPORTS_COLLECTION, REPORT_INDEXED_FIELDS, DEFAULT_REPORT_DATA, ADMIN_NOTIFICATIONS_COLLECTION, ADMIN_NOTIFICATION_INDEXED_FIELDS, DEFAULT_ADMIN_NOTIFICATION_DATA, ITEM_REQUESTS_COLLECTION, ITEM_REQUEST_INDEXED_FIELDS, DEFAULT_ITEM_REQUEST_DATA, STORE_GOOGLE_CONFIG_COLLECTION, STORE_GOOGLE_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_GOOGLE_CONFIG_DATA, STORE_WHATSAPP_CONFIG_COLLECTION, STORE_WHATSAPP_CONFIG_INDEXED_FIELDS, DEFAULT_STORE_WHATSAPP_CONFIG_DATA, CUSTOM_ROLES_COLLECTION, CUSTOM_ROLE_INDEXED_FIELDS, DEFAULT_CUSTOM_ROLE_DATA, ROLE_OVERRIDES_COLLECTION, ROLE_OVERRIDE_INDEXED_FIELDS, DEFAULT_ROLE_OVERRIDE_DATA,
914
914
  // Repositories — classes
915
915
  PayoutMethodsRepository, ShippingConfigsRepository, AnalyticsCardsRepository, AnalyticsAlertsRepository, StoreCategoriesRepository, ListingTemplatesRepository, ModerationQueueRepository, ReportsRepository, AdminNotificationsRepository, ItemRequestsRepository, StoreGoogleConfigRepository, StoreWhatsAppConfigRepository, CustomRolesRepository, RoleOverridesRepository,
916
916
  // Repositories — singletons