@mohasinac/appkit 4.53.2 → 4.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.build-stamp.json +3 -3
- package/dist/_internal/server/features/auth/capabilities.js +7 -5
- package/dist/_internal/server/features/checkout/actions.d.ts +22 -6
- package/dist/_internal/server/features/checkout/actions.js +96 -51
- package/dist/_internal/server/features/checkout/index.d.ts +1 -1
- package/dist/_internal/server/features/checkout/index.js +1 -1
- package/dist/_internal/server/features/checkout/supplier-identity.js +28 -6
- package/dist/_internal/server/features/orders/adapters.js +1 -3
- package/dist/_internal/server/features/products/listing-tab-counts.js +81 -25
- package/dist/_internal/server/features/search/index-build/sources.js +43 -2
- package/dist/_internal/server/features/site-settings/adapters.js +1 -1
- package/dist/_internal/server/features/stores/adapters.d.ts +1 -1
- package/dist/_internal/server/features/stores/adapters.js +0 -1
- package/dist/_internal/server/jobs/core/analyticsAlertEvaluate.js +2 -5
- package/dist/_internal/server/jobs/core/jobRunners.js +0 -10
- package/dist/_internal/server/jobs/core/onOrderCreate.js +10 -104
- package/dist/_internal/server/jobs/core/onOrderStatusChange.d.ts +0 -2
- package/dist/_internal/server/jobs/core/onOrderStatusChange.js +0 -1
- package/dist/_internal/server/jobs/core/onScamReportCreate.js +0 -1
- package/dist/_internal/server/jobs/core/onScamReportRejected.js +0 -1
- package/dist/_internal/server/jobs/core/onScamReportVerified.js +0 -1
- package/dist/_internal/server/jobs/core/paymentWindowTimeout.js +0 -1
- package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +0 -1
- package/dist/_internal/server/notifications/channel-health.d.ts +7 -3
- package/dist/_internal/server/notifications/channel-health.js +2 -2
- package/dist/_internal/server/notifications/send-guard.d.ts +1 -1
- package/dist/_internal/server/notifications/send-guard.js +2 -4
- package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
- package/dist/_internal/shared/actions/action-registry.js +128 -28
- package/dist/_internal/shared/checkout/order-math.d.ts +1 -1
- package/dist/_internal/shared/checkout/order-math.js +1 -1
- package/dist/_internal/shared/features/categories/bundle-copy.d.ts +1 -1
- package/dist/_internal/shared/features/checkout/config.d.ts +0 -2
- package/dist/_internal/shared/features/checkout/config.js +0 -2
- package/dist/_internal/shared/features/messaging/config.d.ts +7 -5
- package/dist/_internal/shared/features/messaging/config.js +1 -4
- package/dist/_internal/shared/features/site-settings/fees.d.ts +0 -2
- package/dist/_internal/shared/features/site-settings/fees.js +0 -2
- package/dist/_internal/shared/features/site-settings/supplier-of-record.d.ts +56 -0
- package/dist/_internal/shared/features/site-settings/supplier-of-record.js +57 -0
- package/dist/_internal/shared/fees/calculator.d.ts +0 -8
- package/dist/_internal/shared/fees/calculator.js +0 -7
- package/dist/_internal/shared/listing-types/tiers.d.ts +94 -0
- package/dist/_internal/shared/listing-types/tiers.js +150 -0
- package/dist/cli/index.js +0 -2
- package/dist/client.d.ts +25 -4
- package/dist/client.js +36 -5
- package/dist/constants/api-endpoints.d.ts +21 -15
- package/dist/constants/api-endpoints.js +7 -8
- package/dist/constants/field-names.d.ts +1 -0
- package/dist/constants/field-names.js +1 -0
- package/dist/constants/notification-types.d.ts +1 -1
- package/dist/constants/notification-types.js +1 -1
- package/dist/core/integration-keys.d.ts +5 -5
- package/dist/core/integration-keys.js +21 -10
- package/dist/features/about/components/FeesView.js +0 -6
- package/dist/features/about/components/GuidesHubView.js +15 -2
- package/dist/features/account/components/NotificationPreferencesPanel.js +3 -4
- package/dist/features/account/components/UserOrdersView.js +26 -7
- package/dist/features/account/types/index.d.ts +0 -2
- package/dist/features/addresses/utils/postal-autofill.d.ts +39 -0
- package/dist/features/addresses/utils/postal-autofill.js +54 -0
- package/dist/features/admin/actions/notification-actions.d.ts +2 -8
- package/dist/features/admin/actions/notification-actions.js +9 -104
- package/dist/features/admin/components/AdminGuideHubView.js +1 -8
- package/dist/features/admin/components/AdminOrderEditorView.d.ts +1 -1
- package/dist/features/admin/components/AdminOrdersView.js +0 -2
- package/dist/features/admin/components/AdminSectionsView.js +3 -2
- package/dist/features/admin/components/AdminSiteSettingsView.js +22 -68
- package/dist/features/admin/components/AdminStoreEditorView.js +72 -34
- package/dist/features/admin/components/OwnerQuickActions.d.ts +29 -0
- package/dist/features/admin/components/OwnerQuickActions.js +142 -0
- package/dist/features/admin/components/sections/adminSectionsTypes.js +13 -4
- package/dist/features/admin/components/sections/icon-options.d.ts +21 -0
- package/dist/features/admin/components/sections/icon-options.js +23 -0
- package/dist/features/admin/components/sections/sectionTemplates.js +4 -1
- package/dist/features/admin/constants/site-settings-tabs.d.ts +7 -12
- package/dist/features/admin/constants/site-settings-tabs.js +6 -12
- package/dist/features/admin/repository/site-settings.repository.js +1 -1
- package/dist/features/admin/schemas/admin-editor-forms.d.ts +1 -1
- package/dist/features/admin/schemas/admin-editor-forms.js +4 -1
- package/dist/features/admin/schemas/admin-user-form.d.ts +0 -61
- package/dist/features/admin/schemas/admin-user-form.js +3 -44
- package/dist/features/admin/schemas/firestore.d.ts +28 -54
- package/dist/features/admin/schemas/firestore.js +40 -18
- package/dist/features/auctions/components/AuctionDetailPageView.js +4 -3
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +11 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +9 -2
- package/dist/features/auth/checkout-value-otp.d.ts +1 -1
- package/dist/features/auth/checkout-value-otp.js +1 -1
- package/dist/features/auth/permissions/constants.d.ts +29 -2
- package/dist/features/auth/permissions/constants.js +67 -1
- package/dist/features/blog/components/BlogFeaturedCard.d.ts +11 -1
- package/dist/features/blog/components/BlogFeaturedCard.js +9 -2
- package/dist/features/cart/components/CartDrawer.js +3 -2
- package/dist/features/cart/components/CartGroupLineRow.js +2 -1
- package/dist/features/cart/components/CartPriceBreakdown.d.ts +0 -2
- package/dist/features/cart/components/CartPriceBreakdown.js +1 -1
- package/dist/features/cart/components/StoreAddonsPicker.d.ts +2 -5
- package/dist/features/cart/components/StoreAddonsPicker.js +4 -5
- package/dist/features/cart/hooks/useAddToCart.js +10 -5
- package/dist/features/cart/repository/cart.repository.js +1 -2
- package/dist/features/cart/schemas/firestore.d.ts +1 -2
- package/dist/features/cart/utils/pending-ops.d.ts +11 -1
- package/dist/features/cart/utils/pending-ops.js +14 -2
- package/dist/features/categories/components/BrandDetailPageView.js +2 -1
- package/dist/features/categories/components/BundleDetailView.js +2 -1
- package/dist/features/categories/components/CategoryDetailPageView.js +2 -1
- package/dist/features/categories/components/CategoryGrid.d.ts +11 -1
- package/dist/features/categories/components/CategoryGrid.js +9 -2
- package/dist/features/checkout/actions/checkout-value-otp-actions.d.ts +10 -5
- package/dist/features/checkout/actions/checkout-value-otp-actions.js +2 -88
- package/dist/features/classified/components/ClassifiedDetailPageView.js +2 -1
- package/dist/features/digital-codes/components/DigitalCodeDetailPageView.js +2 -1
- package/dist/features/events/components/EventCard.d.ts +11 -1
- package/dist/features/events/components/EventCard.js +9 -2
- package/dist/features/grouped/components/GroupedListingDetailView.js +3 -1
- package/dist/features/homepage/components/CTABannerSection.d.ts +3 -1
- package/dist/features/homepage/components/CTABannerSection.js +6 -3
- package/dist/features/homepage/components/HeroCarousel.js +8 -6
- package/dist/features/homepage/components/MarketplaceHomepageView.js +33 -7
- package/dist/features/homepage/components/SectionCarousel.js +13 -5
- package/dist/features/homepage/components/SecurityHighlightsSection.d.ts +8 -3
- package/dist/features/homepage/components/SecurityHighlightsSection.js +2 -2
- package/dist/features/homepage/components/StatsCounterSection.d.ts +9 -4
- package/dist/features/homepage/components/StatsCounterSection.js +2 -2
- package/dist/features/homepage/components/TestimonialsCarousel.js +1 -1
- package/dist/features/homepage/components/TrustFeaturesSection.d.ts +18 -4
- package/dist/features/homepage/components/TrustFeaturesSection.js +5 -5
- package/dist/features/homepage/components/WelcomeSection.d.ts +13 -2
- package/dist/features/homepage/components/WelcomeSection.js +3 -3
- package/dist/features/homepage/components/WhatsAppCommunitySection.d.ts +28 -0
- package/dist/features/homepage/components/WhatsAppCommunitySection.js +42 -6
- package/dist/features/homepage/components/WhatsAppGlyph.d.ts +20 -0
- package/dist/features/homepage/components/WhatsAppGlyph.js +20 -0
- package/dist/features/homepage/constants/hero-carousel-styles.d.ts +8 -6
- package/dist/features/homepage/constants/hero-carousel-styles.js +8 -6
- package/dist/features/homepage/constants/section-copy.d.ts +12 -10
- package/dist/features/homepage/constants/section-copy.js +28 -6
- package/dist/features/homepage/constants/stat-icons.d.ts +12 -0
- package/dist/features/homepage/constants/stat-icons.js +17 -0
- package/dist/features/homepage/constants/trust-icon-aliases.d.ts +8 -0
- package/dist/features/homepage/constants/trust-icon-aliases.js +75 -0
- package/dist/features/homepage/lib/section-defaults.d.ts +16 -1
- package/dist/features/homepage/lib/section-defaults.js +24 -4
- package/dist/features/homepage/lib/section-renderer.js +48 -8
- package/dist/features/homepage/schemas/firestore.d.ts +18 -1
- package/dist/features/layout/AppLayoutShell.js +2 -1
- package/dist/features/layout/BottomActions.d.ts +1 -0
- package/dist/features/layout/BottomActions.js +330 -0
- package/dist/features/layout/BottomChrome.d.ts +45 -0
- package/dist/features/layout/BottomChrome.js +5 -17
- package/dist/features/layout/SideActionDock.js +36 -13
- package/dist/features/layout/index.d.ts +2 -7
- package/dist/features/layout/index.js +7 -7
- package/dist/features/layout/useIsDesktop.d.ts +36 -0
- package/dist/features/layout/useIsDesktop.js +48 -0
- package/dist/features/live/components/LiveItemDetailPageView.js +2 -1
- package/dist/features/orders/actions/refund-actions.js +0 -1
- package/dist/features/orders/components/OrderAddonBadges.d.ts +1 -3
- package/dist/features/orders/components/OrderAddonBadges.js +3 -4
- package/dist/features/orders/components/OrderPaymentSummary.js +15 -2
- package/dist/features/orders/components/YourPurchaseStrip.d.ts +24 -0
- package/dist/features/orders/components/YourPurchaseStrip.js +77 -0
- package/dist/features/orders/components/index.d.ts +2 -1
- package/dist/features/orders/components/index.js +1 -1
- package/dist/features/orders/repository/orders.repository.d.ts +0 -8
- package/dist/features/orders/repository/orders.repository.js +0 -2
- package/dist/features/orders/schemas/firestore.d.ts +17 -9
- package/dist/features/orders/types/index.d.ts +2 -5
- package/dist/features/orders/utils/order-announcement-message.d.ts +18 -0
- package/dist/features/orders/utils/order-announcement-message.js +16 -0
- package/dist/features/orders/utils/payment-proof-message.d.ts +20 -0
- package/dist/features/orders/utils/payment-proof-message.js +17 -0
- package/dist/features/parts/components/PartDetailPageView.js +96 -1
- package/dist/features/parts/schemas/firestore.d.ts +247 -0
- package/dist/features/parts/schemas/firestore.js +6 -6
- package/dist/features/pre-orders/components/MarketplacePreorderCard.d.ts +11 -1
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +10 -3
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +4 -3
- package/dist/features/products/api/[id]/route.js +8 -1
- package/dist/features/products/api/route.js +16 -4
- package/dist/features/products/components/AvailabilityScopeHint.js +1 -1
- package/dist/features/products/components/InteractiveProductCard.d.ts +7 -1
- package/dist/features/products/components/InteractiveProductCard.js +16 -4
- package/dist/features/products/components/MarketplaceBundleCard.d.ts +11 -1
- package/dist/features/products/components/MarketplaceBundleCard.js +9 -2
- package/dist/features/products/components/MarketplacePrizeDrawCard.d.ts +11 -1
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +9 -2
- package/dist/features/products/components/PrizeDrawDetailPageView.js +2 -1
- package/dist/features/products/components/ProductDetailPageView.js +27 -2
- package/dist/features/products/components/ProductGrid.d.ts +14 -1
- package/dist/features/products/components/ProductGrid.js +22 -5
- package/dist/features/products/components/ProductsIndexListing.js +2 -2
- package/dist/features/reviews/api/[id]/route.js +83 -23
- package/dist/features/reviews/components/PurchaseReviewAffordance.d.ts +6 -0
- package/dist/features/reviews/components/PurchaseReviewAffordance.js +42 -0
- package/dist/features/reviews/components/ReviewFormDrawer.d.ts +34 -0
- package/dist/features/reviews/components/ReviewFormDrawer.js +127 -0
- package/dist/features/reviews/components/index.d.ts +4 -0
- package/dist/features/reviews/components/index.js +2 -0
- package/dist/features/scams/schemas/index.d.ts +10 -10
- package/dist/features/search/action-index/settings-entries.js +0 -9
- package/dist/features/seller/actions/seller-actions.d.ts +1 -1
- package/dist/features/seller/actions/seller-actions.js +49 -3
- package/dist/features/seller/components/SellerPayoutSettingsView.js +30 -2
- package/dist/features/seller/components/SellerProductShell.d.ts +17 -1
- package/dist/features/seller/hooks/useStoreListingEntitlements.d.ts +8 -0
- package/dist/features/seller/hooks/useStoreListingEntitlements.js +70 -0
- package/dist/features/store-extensions/repository/store-extensions.repositories.d.ts +1 -6
- package/dist/features/store-extensions/repository/store-extensions.repositories.js +1 -10
- package/dist/features/store-extensions/schemas/firestore.d.ts +1 -17
- package/dist/features/store-extensions/schemas/firestore.js +0 -10
- package/dist/features/stores/components/InteractiveStoreCard.d.ts +11 -1
- package/dist/features/stores/components/InteractiveStoreCard.js +9 -2
- package/dist/features/stores/components/StoreCapabilitiesGuideView.js +0 -1
- package/dist/features/stores/components/StoreGuideHubView.js +2 -8
- package/dist/features/stores/components/StoreSettingsGuideView.js +2 -6
- package/dist/features/stores/components/index.d.ts +0 -2
- package/dist/features/stores/components/index.js +0 -1
- package/dist/features/stores/repository/store.repository.d.ts +1 -26
- package/dist/features/stores/repository/store.repository.js +5 -60
- package/dist/features/stores/schemas/firestore.d.ts +6 -25
- package/dist/features/stores/schemas/firestore.js +6 -3
- package/dist/features/stores/schemas/index.d.ts +1 -87
- package/dist/features/stores/schemas/index.js +10 -15
- package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -48
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -40
- package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -16
- package/dist/features/tester/seed-data/authored/selling__seller-guide.js +1 -1
- package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -79
- package/dist/features/tester/seed-data/authored/selling__seller-orders.js +1 -1
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +415 -69
- package/dist/index.d.ts +20 -32
- package/dist/index.js +34 -43
- package/dist/next/routing/route-map.d.ts +2 -8
- package/dist/next/routing/route-map.js +21 -4
- package/dist/providers/db-firebase/base.repository.d.ts +1 -1
- package/dist/providers/db-firebase/base.repository.js +1 -1
- package/dist/providers/payment-razorpay/index.d.ts +125 -0
- package/dist/providers/payment-razorpay/index.js +232 -0
- package/dist/providers/payment-razorpay/signature.d.ts +53 -0
- package/dist/providers/payment-razorpay/signature.js +71 -0
- package/dist/providers/shipping-shiprocket/index.d.ts +98 -0
- package/dist/providers/shipping-shiprocket/index.js +356 -0
- package/dist/providers.d.ts +3 -0
- package/dist/providers.js +3 -0
- package/dist/react/hooks/useCanSeePrices.d.ts +0 -27
- package/dist/react/hooks/useCanSeePrices.js +25 -0
- package/dist/repositories/index.d.ts +1 -1
- package/dist/repositories/index.js +1 -1
- package/dist/schemas/registry.d.ts +10 -115
- package/dist/schemas/registry.js +1 -2
- package/dist/security/pii-encrypt.js +1 -1
- package/dist/seed/_helpers/category-forest.js +27 -0
- package/dist/seed/_helpers/category-parts-glossary-map.js +1816 -86
- package/dist/seed/_helpers/category-parts.d.ts +1 -1
- package/dist/seed/_helpers/category-parts.js +13412 -3020
- package/dist/seed/carousel-slides-seed-data.js +47 -10
- package/dist/seed/categories-seed-data.js +48 -6
- package/dist/seed/faq-seed-data.js +2 -2
- package/dist/seed/homepage-sections-seed-data.js +286 -54
- package/dist/seed/index.d.ts +1 -1
- package/dist/seed/index.js +1 -1
- package/dist/seed/manifest.d.ts +1 -1
- package/dist/seed/manifest.js +1 -2
- package/dist/seed/model-composition-seed-data.js +6 -8
- package/dist/seed/part-glossary/chunk0.d.ts +9 -0
- package/dist/seed/part-glossary/chunk0.js +35448 -0
- package/dist/seed/part-glossary/chunk1.d.ts +9 -0
- package/dist/seed/part-glossary/chunk1.js +40494 -0
- package/dist/seed/part-glossary/chunk2.d.ts +9 -0
- package/dist/seed/part-glossary/chunk2.js +51242 -0
- package/dist/seed/part-glossary/chunk3.d.ts +9 -0
- package/dist/seed/part-glossary/chunk3.js +53337 -0
- package/dist/seed/part-glossary/chunk4.d.ts +9 -0
- package/dist/seed/part-glossary/chunk4.js +51454 -0
- package/dist/seed/part-glossary-seed-data.d.ts +1 -1
- package/dist/seed/part-glossary-seed-data.js +23 -47483
- package/dist/seed/site-settings-seed-data.js +34 -35
- package/dist/seed/store-extensions-seed-data.d.ts +1 -2
- package/dist/seed/store-extensions-seed-data.js +1 -23
- package/dist/seed/stores-seed-data.js +0 -1
- package/dist/server-entry.d.ts +1 -1
- package/dist/server-entry.js +1 -1
- package/dist/server.d.ts +8 -10
- package/dist/server.js +16 -22
- package/dist/styles.css +392 -43
- package/dist/tailwind-utilities.css +1 -1
- package/dist/tokens/themes/default-dark.js +1 -1
- package/dist/tokens/themes/default-light.js +2 -1
- package/dist/tokens/tokens.css +6 -2
- package/dist/ui/components/Button.d.ts +11 -0
- package/dist/ui/components/Button.js +11 -0
- package/dist/ui/components/Button.style.css +29 -0
- package/dist/ui/components/CarouselNav.d.ts +57 -0
- package/dist/ui/components/CarouselNav.js +25 -0
- package/dist/ui/components/CarouselNav.style.css +265 -0
- package/dist/ui/components/GatedPrice.js +30 -3
- package/dist/ui/components/GatedPrice.style.css +43 -40
- package/dist/ui/components/HorizontalScroller.d.ts +12 -1
- package/dist/ui/components/HorizontalScroller.js +43 -3
- package/dist/ui/components/ImageMosaic.d.ts +8 -1
- package/dist/ui/components/ImageMosaic.js +3 -2
- package/dist/ui/components/ImageMosaic.style.css +22 -0
- package/dist/ui/components/Layout.style.css +6 -0
- package/dist/ui/components/Semantic.d.ts +3 -2
- package/dist/ui/components/Semantic.js +1 -0
- package/dist/ui/components/Typography.d.ts +2 -0
- package/dist/ui/components/Typography.js +2 -0
- package/dist/ui/components/Typography.style.css +19 -0
- package/dist/ui/components/index.style.css +1 -0
- package/dist/ui/index.d.ts +3 -1
- package/dist/ui/index.js +4 -0
- package/package.json +3 -2
- package/dist/_internal/server/jobs/core/whatsappCatalogImport.d.ts +0 -27
- package/dist/_internal/server/jobs/core/whatsappCatalogImport.js +0 -172
- package/dist/_internal/server/jobs/core/whatsappNotify.d.ts +0 -35
- package/dist/_internal/server/jobs/core/whatsappNotify.js +0 -140
- package/dist/features/admin/components/AdminWhatsAppGuideView.d.ts +0 -2
- package/dist/features/admin/components/AdminWhatsAppGuideView.js +0 -35
- package/dist/features/orders/components/MarketplaceOrderCard.d.ts +0 -36
- package/dist/features/orders/components/MarketplaceOrderCard.js +0 -57
- package/dist/features/stores/components/StoreWhatsAppGuideView.d.ts +0 -3
- package/dist/features/stores/components/StoreWhatsAppGuideView.js +0 -12
- package/dist/features/whatsapp-bot/api/send-status/route.d.ts +0 -12
- package/dist/features/whatsapp-bot/api/send-status/route.js +0 -38
- package/dist/features/whatsapp-bot/api/webhook/route.d.ts +0 -12
- package/dist/features/whatsapp-bot/api/webhook/route.js +0 -43
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.d.ts +0 -6
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +0 -270
- package/dist/features/whatsapp-bot/components/WhatsAppChatButton.d.ts +0 -9
- package/dist/features/whatsapp-bot/components/WhatsAppChatButton.js +0 -7
- package/dist/features/whatsapp-bot/components/index.d.ts +0 -3
- package/dist/features/whatsapp-bot/components/index.js +0 -2
- package/dist/features/whatsapp-bot/helpers/payment-proof-message.d.ts +0 -14
- package/dist/features/whatsapp-bot/helpers/payment-proof-message.js +0 -17
- package/dist/features/whatsapp-bot/helpers/whatsapp.d.ts +0 -52
- package/dist/features/whatsapp-bot/helpers/whatsapp.js +0 -283
- package/dist/features/whatsapp-bot/index.d.ts +0 -3
- package/dist/features/whatsapp-bot/index.js +0 -3
- package/dist/features/whatsapp-bot/manifest.d.ts +0 -2
- package/dist/features/whatsapp-bot/manifest.js +0 -13
- package/dist/features/whatsapp-bot/messages/en.json +0 -7
- package/dist/features/whatsapp-bot/server.d.ts +0 -7
- package/dist/features/whatsapp-bot/server.js +0 -7
- package/dist/features/whatsapp-bot/types/index.d.ts +0 -126
- package/dist/features/whatsapp-bot/types/index.js +0 -1
|
@@ -3657,11 +3657,11 @@ export declare const SCHEMAS: {
|
|
|
3657
3657
|
handle: import("zod").ZodString;
|
|
3658
3658
|
url: import("zod").ZodOptional<import("zod").ZodString>;
|
|
3659
3659
|
}, "strip", import("zod").ZodTypeAny, {
|
|
3660
|
-
platform: "other" | "youtube" | "
|
|
3660
|
+
platform: "other" | "youtube" | "whatsapp" | "instagram" | "facebook" | "telegram" | "twitter" | "olx" | "linkedin";
|
|
3661
3661
|
handle: string;
|
|
3662
3662
|
url?: string | undefined;
|
|
3663
3663
|
}, {
|
|
3664
|
-
platform: "other" | "youtube" | "
|
|
3664
|
+
platform: "other" | "youtube" | "whatsapp" | "instagram" | "facebook" | "telegram" | "twitter" | "olx" | "linkedin";
|
|
3665
3665
|
handle: string;
|
|
3666
3666
|
url?: string | undefined;
|
|
3667
3667
|
}>, "many">;
|
|
@@ -3706,7 +3706,7 @@ export declare const SCHEMAS: {
|
|
|
3706
3706
|
scamType: string;
|
|
3707
3707
|
reportedBy: string;
|
|
3708
3708
|
reportedByAnon: boolean;
|
|
3709
|
-
scamPlatform: "other" | "
|
|
3709
|
+
scamPlatform: "other" | "whatsapp" | "letitrip" | "instagram" | "facebook" | "telegram" | "twitter" | "olx" | "facebook_marketplace" | "in_person" | "phone_call";
|
|
3710
3710
|
evidence: string[];
|
|
3711
3711
|
phones: string[];
|
|
3712
3712
|
upiIds: string[];
|
|
@@ -3715,7 +3715,7 @@ export declare const SCHEMAS: {
|
|
|
3715
3715
|
incidentCount: number;
|
|
3716
3716
|
seoSlug: string;
|
|
3717
3717
|
socialMedia: {
|
|
3718
|
-
platform: "other" | "youtube" | "
|
|
3718
|
+
platform: "other" | "youtube" | "whatsapp" | "instagram" | "facebook" | "telegram" | "twitter" | "olx" | "linkedin";
|
|
3719
3719
|
handle: string;
|
|
3720
3720
|
url?: string | undefined;
|
|
3721
3721
|
}[];
|
|
@@ -3746,7 +3746,7 @@ export declare const SCHEMAS: {
|
|
|
3746
3746
|
scamType: string;
|
|
3747
3747
|
reportedBy: string;
|
|
3748
3748
|
reportedByAnon: boolean;
|
|
3749
|
-
scamPlatform: "other" | "
|
|
3749
|
+
scamPlatform: "other" | "whatsapp" | "letitrip" | "instagram" | "facebook" | "telegram" | "twitter" | "olx" | "facebook_marketplace" | "in_person" | "phone_call";
|
|
3750
3750
|
evidence: string[];
|
|
3751
3751
|
phones: string[];
|
|
3752
3752
|
upiIds: string[];
|
|
@@ -3755,7 +3755,7 @@ export declare const SCHEMAS: {
|
|
|
3755
3755
|
incidentCount: number;
|
|
3756
3756
|
seoSlug: string;
|
|
3757
3757
|
socialMedia: {
|
|
3758
|
-
platform: "other" | "youtube" | "
|
|
3758
|
+
platform: "other" | "youtube" | "whatsapp" | "instagram" | "facebook" | "telegram" | "twitter" | "olx" | "linkedin";
|
|
3759
3759
|
handle: string;
|
|
3760
3760
|
url?: string | undefined;
|
|
3761
3761
|
}[];
|
|
@@ -3814,7 +3814,7 @@ export declare const SCHEMAS: {
|
|
|
3814
3814
|
reportedBy: string;
|
|
3815
3815
|
scammerId: string;
|
|
3816
3816
|
reportedByAnon: boolean;
|
|
3817
|
-
scamPlatform: "other" | "
|
|
3817
|
+
scamPlatform: "other" | "whatsapp" | "letitrip" | "instagram" | "facebook" | "telegram" | "twitter" | "olx" | "facebook_marketplace" | "in_person" | "phone_call";
|
|
3818
3818
|
evidence: string[];
|
|
3819
3819
|
verifiedBy?: string | undefined;
|
|
3820
3820
|
amountLost?: number | undefined;
|
|
@@ -3837,7 +3837,7 @@ export declare const SCHEMAS: {
|
|
|
3837
3837
|
reportedBy: string;
|
|
3838
3838
|
scammerId: string;
|
|
3839
3839
|
reportedByAnon: boolean;
|
|
3840
|
-
scamPlatform: "other" | "
|
|
3840
|
+
scamPlatform: "other" | "whatsapp" | "letitrip" | "instagram" | "facebook" | "telegram" | "twitter" | "olx" | "facebook_marketplace" | "in_person" | "phone_call";
|
|
3841
3841
|
evidence: string[];
|
|
3842
3842
|
verifiedBy?: string | undefined;
|
|
3843
3843
|
amountLost?: number | undefined;
|
|
@@ -4097,7 +4097,7 @@ export declare const SCHEMAS: {
|
|
|
4097
4097
|
totalReviews: number;
|
|
4098
4098
|
averageRating?: number | undefined;
|
|
4099
4099
|
}>>;
|
|
4100
|
-
capabilities: import("zod").ZodOptional<import("zod").ZodArray<import("zod").
|
|
4100
|
+
capabilities: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<[string, ...string[]]>, "many">>;
|
|
4101
4101
|
customCommissionRate: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
4102
4102
|
googleReviews: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
4103
4103
|
placeId: import("zod").ZodString;
|
|
@@ -4216,60 +4216,6 @@ export declare const SCHEMAS: {
|
|
|
4216
4216
|
defaultProviderId: string;
|
|
4217
4217
|
}>>;
|
|
4218
4218
|
emiEnabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
4219
|
-
whatsappConfig: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
4220
|
-
phoneNumber: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4221
|
-
wabaId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4222
|
-
catalogId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4223
|
-
accessToken: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4224
|
-
catalogSyncEnabled: import("zod").ZodBoolean;
|
|
4225
|
-
lastCatalogSyncAt: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodDate, import("zod").ZodString, import("zod").ZodObject<{
|
|
4226
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4227
|
-
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
4228
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4229
|
-
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
4230
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4231
|
-
}, import("zod").ZodTypeAny, "passthrough">>]>>;
|
|
4232
|
-
lastSyncCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
4233
|
-
lastSyncStatus: import("zod").ZodOptional<import("zod").ZodEnum<["success", "partial", "failed"]>>;
|
|
4234
|
-
connected: import("zod").ZodBoolean;
|
|
4235
|
-
connectedAt: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodDate, import("zod").ZodString, import("zod").ZodObject<{
|
|
4236
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4237
|
-
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
4238
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4239
|
-
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
4240
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4241
|
-
}, import("zod").ZodTypeAny, "passthrough">>]>>;
|
|
4242
|
-
}, "strip", import("zod").ZodTypeAny, {
|
|
4243
|
-
catalogSyncEnabled: boolean;
|
|
4244
|
-
connected: boolean;
|
|
4245
|
-
phoneNumber?: string | undefined;
|
|
4246
|
-
accessToken?: string | undefined;
|
|
4247
|
-
wabaId?: string | undefined;
|
|
4248
|
-
catalogId?: string | undefined;
|
|
4249
|
-
lastCatalogSyncAt?: string | Date | import("zod").objectOutputType<{
|
|
4250
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4251
|
-
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
4252
|
-
lastSyncCount?: number | undefined;
|
|
4253
|
-
lastSyncStatus?: "success" | "failed" | "partial" | undefined;
|
|
4254
|
-
connectedAt?: string | Date | import("zod").objectOutputType<{
|
|
4255
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4256
|
-
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
4257
|
-
}, {
|
|
4258
|
-
catalogSyncEnabled: boolean;
|
|
4259
|
-
connected: boolean;
|
|
4260
|
-
phoneNumber?: string | undefined;
|
|
4261
|
-
accessToken?: string | undefined;
|
|
4262
|
-
wabaId?: string | undefined;
|
|
4263
|
-
catalogId?: string | undefined;
|
|
4264
|
-
lastCatalogSyncAt?: string | Date | import("zod").objectInputType<{
|
|
4265
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4266
|
-
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
4267
|
-
lastSyncCount?: number | undefined;
|
|
4268
|
-
lastSyncStatus?: "success" | "failed" | "partial" | undefined;
|
|
4269
|
-
connectedAt?: string | Date | import("zod").objectInputType<{
|
|
4270
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4271
|
-
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
4272
|
-
}>>;
|
|
4273
4219
|
}, "strip", import("zod").ZodTypeAny, {
|
|
4274
4220
|
status: "pending" | "active" | "rejected" | "suspended";
|
|
4275
4221
|
id: string;
|
|
@@ -4339,22 +4285,6 @@ export declare const SCHEMAS: {
|
|
|
4339
4285
|
maxReviews?: number | undefined;
|
|
4340
4286
|
minRating?: number | undefined;
|
|
4341
4287
|
} | undefined;
|
|
4342
|
-
whatsappConfig?: {
|
|
4343
|
-
catalogSyncEnabled: boolean;
|
|
4344
|
-
connected: boolean;
|
|
4345
|
-
phoneNumber?: string | undefined;
|
|
4346
|
-
accessToken?: string | undefined;
|
|
4347
|
-
wabaId?: string | undefined;
|
|
4348
|
-
catalogId?: string | undefined;
|
|
4349
|
-
lastCatalogSyncAt?: string | Date | import("zod").objectOutputType<{
|
|
4350
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4351
|
-
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
4352
|
-
lastSyncCount?: number | undefined;
|
|
4353
|
-
lastSyncStatus?: "success" | "failed" | "partial" | undefined;
|
|
4354
|
-
connectedAt?: string | Date | import("zod").objectOutputType<{
|
|
4355
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4356
|
-
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
4357
|
-
} | undefined;
|
|
4358
4288
|
}, {
|
|
4359
4289
|
status: "pending" | "active" | "rejected" | "suspended";
|
|
4360
4290
|
id: string;
|
|
@@ -4424,22 +4354,6 @@ export declare const SCHEMAS: {
|
|
|
4424
4354
|
maxReviews?: number | undefined;
|
|
4425
4355
|
minRating?: number | undefined;
|
|
4426
4356
|
} | undefined;
|
|
4427
|
-
whatsappConfig?: {
|
|
4428
|
-
catalogSyncEnabled: boolean;
|
|
4429
|
-
connected: boolean;
|
|
4430
|
-
phoneNumber?: string | undefined;
|
|
4431
|
-
accessToken?: string | undefined;
|
|
4432
|
-
wabaId?: string | undefined;
|
|
4433
|
-
catalogId?: string | undefined;
|
|
4434
|
-
lastCatalogSyncAt?: string | Date | import("zod").objectInputType<{
|
|
4435
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4436
|
-
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
4437
|
-
lastSyncCount?: number | undefined;
|
|
4438
|
-
lastSyncStatus?: "success" | "failed" | "partial" | undefined;
|
|
4439
|
-
connectedAt?: string | Date | import("zod").objectInputType<{
|
|
4440
|
-
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4441
|
-
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
4442
|
-
} | undefined;
|
|
4443
4357
|
}>;
|
|
4444
4358
|
readonly supportTickets: import("zod").ZodObject<{
|
|
4445
4359
|
createdAt: import("zod").ZodUnion<[import("zod").ZodDate, import("zod").ZodString, import("zod").ZodObject<{
|
|
@@ -5602,7 +5516,7 @@ export declare const SCHEMAS: {
|
|
|
5602
5516
|
isVerified: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
5603
5517
|
isFeatured: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
5604
5518
|
suspensionReason: import("zod").ZodOptional<import("zod").ZodString>;
|
|
5605
|
-
capabilities: import("zod").ZodOptional<import("zod").ZodArray<import("zod").
|
|
5519
|
+
capabilities: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<[string, ...string[]]>, "many">>;
|
|
5606
5520
|
adminNotes: import("zod").ZodOptional<import("zod").ZodString>;
|
|
5607
5521
|
}, "strip", import("zod").ZodTypeAny, {
|
|
5608
5522
|
storeStatus: import("../features/stores").StoreStatus;
|
|
@@ -6099,25 +6013,6 @@ export declare const SCHEMAS: {
|
|
|
6099
6013
|
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
6100
6014
|
}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
6101
6015
|
}, import("zod").ZodTypeAny, "passthrough">>;
|
|
6102
|
-
readonly whatsappSettings: import("zod").ZodObject<{
|
|
6103
|
-
catalogSyncEnabled: import("zod").ZodBoolean;
|
|
6104
|
-
phoneNumber: import("zod").ZodUnion<[import("zod").ZodOptional<import("zod").ZodString>, import("zod").ZodLiteral<"">]>;
|
|
6105
|
-
wabaId: import("zod").ZodUnion<[import("zod").ZodOptional<import("zod").ZodString>, import("zod").ZodLiteral<"">]>;
|
|
6106
|
-
catalogId: import("zod").ZodUnion<[import("zod").ZodOptional<import("zod").ZodString>, import("zod").ZodLiteral<"">]>;
|
|
6107
|
-
accessToken: import("zod").ZodUnion<[import("zod").ZodOptional<import("zod").ZodString>, import("zod").ZodLiteral<"">]>;
|
|
6108
|
-
}, "strip", import("zod").ZodTypeAny, {
|
|
6109
|
-
catalogSyncEnabled: boolean;
|
|
6110
|
-
phoneNumber?: string | undefined;
|
|
6111
|
-
accessToken?: string | undefined;
|
|
6112
|
-
wabaId?: string | undefined;
|
|
6113
|
-
catalogId?: string | undefined;
|
|
6114
|
-
}, {
|
|
6115
|
-
catalogSyncEnabled: boolean;
|
|
6116
|
-
phoneNumber?: string | undefined;
|
|
6117
|
-
accessToken?: string | undefined;
|
|
6118
|
-
wabaId?: string | undefined;
|
|
6119
|
-
catalogId?: string | undefined;
|
|
6120
|
-
}>;
|
|
6121
6016
|
readonly orderCancel: import("zod").ZodObject<{
|
|
6122
6017
|
reason: import("zod").ZodString;
|
|
6123
6018
|
}, "strip", import("zod").ZodTypeAny, {
|
package/dist/schemas/registry.js
CHANGED
|
@@ -139,7 +139,7 @@ import { reportReviewFormSchema } from "../features/store-extensions/schemas/rep
|
|
|
139
139
|
import { adminStoreUpdateSchema } from "../features/admin/schemas/admin-editor-forms.js";
|
|
140
140
|
import { adminAddressCreateSchema } from "../features/addresses/schemas/address-form.js";
|
|
141
141
|
import { adminOrderUpdateSchema, employeeInviteSchema, adminAdFormSchema } from "../features/admin/schemas/admin-ops-forms.js";
|
|
142
|
-
import { adminUserUpdateSchema,
|
|
142
|
+
import { adminUserUpdateSchema, lotteryPullSchema } from "../features/admin/schemas/admin-user-form.js";
|
|
143
143
|
import { siteSettingsFormSchema } from "../features/admin/schemas/site-settings-form.js";
|
|
144
144
|
import { orderCancelSchema, paymentProofSchema } from "../features/orders/schemas/buyer-forms.js";
|
|
145
145
|
import { scamReportFormSchema } from "../features/scams/schemas/report-form.js";
|
|
@@ -186,7 +186,6 @@ const forms = {
|
|
|
186
186
|
employeeInvite: employeeInviteSchema,
|
|
187
187
|
adminAd: adminAdFormSchema,
|
|
188
188
|
siteSettings: siteSettingsFormSchema,
|
|
189
|
-
whatsappSettings: whatsappSettingsSchema,
|
|
190
189
|
orderCancel: orderCancelSchema,
|
|
191
190
|
paymentProof: paymentProofSchema,
|
|
192
191
|
scamReport: scamReportFormSchema,
|
|
@@ -163,7 +163,7 @@ function setPath(obj, path, value) {
|
|
|
163
163
|
*
|
|
164
164
|
* 🛑 That dotted-path support is also what made it possible to point this
|
|
165
165
|
* function at a field belonging to the OTHER crypto system. A store's
|
|
166
|
-
*
|
|
166
|
+
* A store secret would be encrypted with SETTINGS_ENCRYPTION_KEY;
|
|
167
167
|
* passing it here would encrypt it with the PII key while
|
|
168
168
|
* `StoreRepository.decryptSecrets` kept decrypting with the settings one.
|
|
169
169
|
* Only ever pass fields from this file's own `*_PII_FIELDS` lists.
|
|
@@ -174,6 +174,13 @@ const BEYBLADE_ORIGINAL = {
|
|
|
174
174
|
node("category-original-attack-rings", "Attack Rings", "The upper contact ring — what actually strikes an opponent, and the part that decides a combo's attack profile.", partDefaults("category-original-attack-rings", "Attack Ring"), PART_TEMPLATES),
|
|
175
175
|
node("category-original-weight-disks", "Weight Disks", "The metal disk between ring and base. Heavier disks buy stamina; lighter ones buy speed.", partDefaults("category-original-weight-disks", "Weight Disk"), PART_TEMPLATES),
|
|
176
176
|
node("category-original-blade-bases", "Blade Bases", "The bottom assembly — tip shape, spin gear housing and, on later systems, the magnet or engine.", partDefaults("category-original-blade-bases", "Blade Base"), PART_TEMPLATES),
|
|
177
|
+
/*
|
|
178
|
+
* 🛑 Support Parts had been keyed on THIS BRANCH, which takes explicit
|
|
179
|
+
* children and so never reads `PART_LEAVES` — its 3 leaves were dropped
|
|
180
|
+
* silently. Same cause as the 82 CX leaves under `category-x-custom-cx`;
|
|
181
|
+
* see the note there.
|
|
182
|
+
*/
|
|
183
|
+
node("category-original-support-parts", "Support Parts", "Bolt-on extras that fill no stack position of their own — Cross Survivor, Reverse Attack and the other SP pieces.", partDefaults("category-original-support-parts", "Support Parts"), PART_TEMPLATES),
|
|
177
184
|
/*
|
|
178
185
|
* D13 — five part-type nodes the forest was missing, so every one of the
|
|
179
186
|
* 20 part classifications has a home. Measured before adding: 135 of 753
|
|
@@ -345,6 +352,26 @@ const BEYBLADE_X = {
|
|
|
345
352
|
node("category-x-blades", "Blades", "The upper piece that defines an X combo's attack shape and its ability to hold the rail.", partDefaults("category-x-blades", "Blade"), PART_TEMPLATES),
|
|
346
353
|
node("category-x-ratchets", "Ratchets", "The middle component. Written as protrusions-height — 3-60, 4-60, 9-60 — and the fastest lever on a build.", partDefaults("category-x-ratchets", "Ratchet"), PART_TEMPLATES),
|
|
347
354
|
node("category-x-bits", "Bits", "The floor-contact tip, the X-format equivalent of a Driver.", partDefaults("category-x-bits", "Bit"), PART_TEMPLATES),
|
|
355
|
+
/*
|
|
356
|
+
* 🛑 CX PARTS NEED THEIR OWN NODES, and their absence cost 82 leaves.
|
|
357
|
+
*
|
|
358
|
+
* `PART_SLOT_CATEGORY` pointed all five Custom Line slots at
|
|
359
|
+
* `category-x-custom-cx` — which is a `line()`, so it attaches
|
|
360
|
+
* `MODEL_LEAVES[id]` and never reads `PART_LEAVES[id]` at all. The
|
|
361
|
+
* generated map held 82 leaves under that key and every one of them was
|
|
362
|
+
* silently dropped: not mis-tiered, absent. Together with the 3 under
|
|
363
|
+
* `branch("category-original-parts")` that is exactly the 85-leaf
|
|
364
|
+
* shortfall the tier-4 guard had been reporting as a bare number.
|
|
365
|
+
*
|
|
366
|
+
* One node per classification, matching every other generation here —
|
|
367
|
+
* an 82-leaf grab-bag under a single "CX Parts" node would also have
|
|
368
|
+
* satisfied the count while being the wrong shelf for a buyer.
|
|
369
|
+
*/
|
|
370
|
+
node("category-x-lock-chips", "Lock Chips", "The CX centrepiece. It locks a Main Blade and an Assist Blade together and carries the beast art.", partDefaults("category-x-lock-chips", "Lock Chip"), PART_TEMPLATES),
|
|
371
|
+
node("category-x-main-blades", "Main Blades", "The primary contact blade of a CX build — the piece that sets its attack shape.", partDefaults("category-x-main-blades", "Main Blade"), PART_TEMPLATES),
|
|
372
|
+
node("category-x-assist-blades", "Assist Blades", "The lower CX blade, tuning weight distribution and how the build sits on the rail.", partDefaults("category-x-assist-blades", "Assist Blade"), PART_TEMPLATES),
|
|
373
|
+
node("category-x-over-blades", "Over Blades", "A CX blade that mounts above the Lock Chip, adding an upper contact surface.", partDefaults("category-x-over-blades", "Over Blade"), PART_TEMPLATES),
|
|
374
|
+
node("category-x-metal-blades", "Metal Blades", "A metal CX blade — the heaviest option in the format and the usual choice for an outspin build.", partDefaults("category-x-metal-blades", "Metal Blade"), PART_TEMPLATES),
|
|
348
375
|
]),
|
|
349
376
|
branch("category-x-launchers", "Beyblade X Launchers", "String launchers, winders and grips for the X format.", [
|
|
350
377
|
node("category-x-string-launchers", "String Launchers", "The standard X launcher, with a shot angle designed around reaching the Xtreme Line rail.", launcherDefaults("category-x-string-launchers", "Beyblade X"), PART_TEMPLATES),
|